Hi Wenchang, nothing really to add to Nat's reply - this is exactly what I would suggest! One small comment: if starting Rwork ~ Rfree the program will not optimize weights for the first one or a few macro-cycles until Rwork and Rfree naturally diverge up to a certain gap (default is 1% as I just figured out looking at the code). In this case you just need to run more than default 3 macro-cycles to achieve a meaningful result. Now explaining what you are seeing: - if you let phenix.refine to find and use weights automatically, then the refinement target is T = wxc * wxc_scale * Txray + wc * Trestraints where wxc is determined from ratio of target gradients, wc = 1, and wxc_scale is user-adjustable parameter by default set to something like 1 or 0.5. - if you let phenix.refine to optimize weights automatically, then the refinement target is T = weight * Txray + wc * Trestraints where weight is optimal weight found as described here: "Improved target weight optimization in phenix.refine" http://www.phenix-online.org/newsletter/ - finally, if you specify weights manually (as you attempted to do using fix_wxc), then T = fix_wxc * Txray + wc * Trestraints which internally done by setting wxc=fix_wxc and wxc_scale=1. Sorry for flood of cryptic technicalities, but you asked for that! Pavel On 6/25/12 1:28 PM, Nathaniel Echols wrote:
Last week, I played a little bit with geometry weight in phenix refinement. When I check the log file, what I found is that if I use wxc_scale and fix_wxc in my refinement, actually phenix will ignore the wxc_scale, while if I only use wxc_scale, phenix will follow the value specified in the command line, but the wxc value will change from one macro cycle to another cycle. I don't know the explanation for what you're seeing (this is Pavel's territory), but I do have a more general piece of advice: don't waste time trying to set the weights manually. Just use the automatic weight optimization (i.e. optimize_xyz_weight=True), using as many
On Mon, Jun 25, 2012 at 1:18 PM, 周文昌
wrote: processor cores as you can spare (nproc=X), and leave the computer for a few hours. The only time this doesn't work, in my experience, is when R-work and R-free are nearly the same (or R-free< R-work), because the optimization will be skipped in these circumstances. -Nat