[phenixbb] automatic weight optimization
Pavel Afonine
pafonine at lbl.gov
Sun Jun 30 23:38:23 PDT 2013
Hi Michael,
> I have a few questions about the automatic weight optimization in phenix.refine. I have read the manual, but I feel like maybe I'm missing something. I apologize in advance if these are naive questions, but here goes. I ran phenix.refine with a .def file, in which I set the following parameters:
>
> target_weights {
> optimize_xyz_weight = True
> optimize_adp_weight = True
> wxu_scale = 2.72
> }
>
>
> My goal was to optimize both xyz and adp weights. In the log file, I see something like this:
>
>
> ===================== xyz refinement (lbfgs minimization) =====================
>
> R-FACTORS RMSD CLASH RAMA ROTA CBET WEIGHT TARGETS
> work free delta bonds angl data restr
> 21.06 20.38 -0.67 0.033 2.0 6.1 0.0 6.6 0 none 0.154 0.1685
> 19.79 21.26 1.47 0.012 1.3 7.6 0.0 5.8 0 2.494 0.131 0.0499
>
> Legend:
> - first line corresponds to starting state (before refinement)
> - R-factors reported in percent
> - delta is Rfree-Rwork in percent
> - CLASH is all-atom Molprobity clashscore
> - ROTA is percent of side-chain rotamer outliers
> - RAMA is percent of Ramachandran plot outliers
> - CBET is number of Cbeta deviations
> - WEIGHT is relative weight between X-ray (or neutron) target and restraints
> - TARGETS: the values of X-ray (or neutron) and restraints target functions
>
> ================================ ADP refinement ===============================
>
>
> ----------Individual ADP refinement----------
>
> R-FACTORS <Bi-Bj> <B> WEIGHT TARGETS
> work free delta data restr
> 19.79 21.26 1.47 1.909 20.062 0.661 0.131
> 19.80 21.28 1.49 1.761 20.011 0.007 0.130
> 19.77 21.41 1.64 1.838 19.884 0.030 0.125
> 20.30 22.63 2.34 2.369 19.168 0.122 0.111
> 20.17 22.82 2.64 2.886 18.929 0.243 0.107
> 20.07 23.04 2.97 3.771 18.737 0.365 0.104
> 20.04 23.14 3.10 4.106 18.751 0.486 0.103
> 20.00 23.19 3.19 4.496 18.794 0.608 0.103
> 19.98 23.23 3.25 4.846 18.851 0.729 0.102
> 19.97 23.27 3.29 5.115 18.940 0.851 0.102
> 19.95 23.30 3.36 5.420 18.988 0.972 0.101
> 19.94 23.33 3.39 5.579 19.008 1.094 0.101
> 19.93 23.29 3.36 5.598 18.917 1.215 0.101
> max suggested <Bi-Bj> for this run: 10.00
> max allowed Rfree-Rwork gap: 5.0
> range of equivalent Rfree: 0.0
> Best ADP weight: 0.007
> Accepted refinement result:
> 19.80 21.28 1.49 1.761 20.011 0.007 0.130
>
>
> The output kind of makes me feel like the adp weight is being optimized, but the xyz weight might not be. There is a list of statistics for varying values of the adp weight, but there is no similar list in the output from the xyz refinement stages.
>
> So my questions are:
>
> Is the xyz weight being optimized?
since starting Rfree (=20.38) is less than Rwork (=21.06), weight
optimization is skipped for this macro-cycle. Once the gap between Rwork
and Rfree becomes greater than a certain threshold (I forgot what I put
as the exact value for this, perhaps 1..2%) then weight optimization
will start taking place.
Sorry, it's not in the original paper that describes it:
"Improved target weight optimization in phenix.refine"
http://www.phenix-online.org/newsletter/
since we realized we need to do it later after the publication.
Also, if
optimize_xyz_weight = True
optimize_adp_weight = True
then any values set for wxu_scale or wxc_scale are ignored.
Also note if you have multiple CPU machine you can use
nproc=NUMBER_OF_CPUs - that will speed up refinement (with weights
optimization) significantly!
> Did I miss something in the input that is required to turn on xyz weight optimization?
No, most likely you didn't !
> How can I check to make sure the xyz weight optimization is running?
If it's not obvious from the output logs then just do what you just did
- ask us directly or on mailing list!
All the best,
Pavel
More information about the phenixbb
mailing list