Hi Rongjin,
 
when I use phenix.refine to refine my structure, the rmsd's of bonds and angles are
pretty large. My data is 2.3 A resolution. 
 
REMARK
REMARK ******************** REFINEMENT SUMMARY: QUICK FACTS *******************
REMARK Start: r_work = 0.2838 r_free = 0.2789 bonds = 0.029 angles = 2.002
REMARK Final: r_work = 0.2407 r_free = 0.2466 bonds = 0.029 angles = 2.002
REMARK ************************************************************************
REMARK

really (just wondering)?
What I would be really worry is the difference between Rfree and Rwork, which apparently is terribly small, indicating that there is something wrong with either free-R flags or refinement strategy.

I tried many options but none worked so far. Here are the options that I tried:
 
phenix.refine mtz_file pdb_file strategy=tls tls_group_selections.params wxc_scale=0.3 wxu_scale=0.8
 
phenix.refine mtz_file pdb_file strategy=tls tls_group_selections.params fix_wxc=0.3 fix_wxu=0.8 
 
phenix.refine mtz_file pdb_file strategy=tls tls_group_selections.params fix_wxc=0.3 fix_wxu=0.8 optimize_wxc=false optimize_wxu=false
 
These gave the same refinement results. Any suggestions?

It's not surprising, because in all refinements above you did not refine the coordinates at all. The keyword "strategy=tls" means you refined B-factors only (more precisely, you did constrained anisotropic refinement, called TLS refinement). And therefore using wxc_scale or fix_wxc or  optimize_wxc would not make any difference. Also, optimize_wxc is set to False by default, so you don't need to explicitly say it.

I would run it like this:

phenix.refine mtz_file pdb_file strategy=tls+individual_adp+individual_sites tls_group_selections.params optimize_wxc=true

and hope that this fixes the "problem".

Let me know if you have any questions!
Pavel.