[phenixbb] freeR syntax question in phenix.refine

Ralf W. Grosse-Kunstleve rwgk at cci.lbl.gov
Tue Mar 20 11:40:29 PDT 2007

> I was running refinement from an mtz file from sigmaa in ccp4 with an  
> appropriate FreeR flag designated in the MTZ file.  phenix.refine  
> worked fine and seemed to exclude the test reflections, but I wanted  
> to know what these commands do.



> r_free_flags {
>      file_name = "S19_sigmaa1.mtz"
>      label = "FreeR_flag"
>      test_flag_value = 0 --> don't know what this means?
>      disable_suitability_test = False --> implications of this?

phenix.refine is designed to figure everything out automatically.
You will have to specify file_name and label only if you have multiple
R-free-flag arrays in the reflection files you give to phenix.refine,
which is very unusual.

phenix.refine does some sanity checks to determine if arrays that
"look like" R-free-flag arrays are actually suitable for refinement,
and reject them if "it doesn't think so". It will then tell you that
you can override the sanity checks by setting disable_suitability_test
to True. Again, this is very unusual.

The test_flag_value could potentially be important. phenix.refine
analyses the putative R-free-flag array(s) to guess if they came from
CNS, where 0 usually means work set, 1 free set, or CCP4, which mostly
uses values from 0 to 19, 0 is the default free set in REFMAC.
Therefore, roughly, if phenix.refine "thinks" it is a CNS R-free-flag
array it assigns test_flag_value=1, or 0 if it "thinks" it is a CCP4

Only if you used REFMAC before for refinement, and only if you manually
instructed REFMAC to use a value different from 0 for the free set,
will you have to manually tell phenix.refine about it, e.g. via

If you are interested in more details, inspect the script
iotbx/iotbx/reflection_file_utils.py, which does all the guesswork.
Look for "get_r_free_flags_scores".

More information about the phenixbb mailing list