[phenixbb] geometry weight help
Pavel Afonine
pafonine at lbl.gov
Mon Jun 25 13:50:29 PDT 2012
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:
> On Mon, Jun 25, 2012 at 1:18 PM, 周文昌<wenchangyu2006 at gmail.com> 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
> 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
More information about the phenixbb
mailing list