Many good points have been made on this thread so far, but mostly addressing the question "how many free reflections is enough", whereas the original question was "how many is too many".

I suppose a reasonable definition of "too many" is when the error introduced into the map by leaving out all those reflections start to become a problem. It is easy to calculate this error: it is simply the difference between the map made using all reflections (regardless of Free-R flag) and the map made with 5% of the reflections left out. Of course, this "difference map" is identical to a map calculated using only the 5% "free" reflections, setting all others to zero. The RMS variation of this "error map" is actually independent of the phases used (Parseval's theorem), and it ends up being:

RMSerror = RMSall * sqrt( free_frac )
where:
RMSerror is the RMS variation of the "error map"
RMSall is the RMS variation of the map calculated with all reflections
free_frac is the fraction of hkls left out of the calculation.

So, with 5% free reflections, the errors induced in the electron density will have an RMS variation that is 22.3% of the full map's RMS variation, or 0.223 "sigma units". 1% free reflections will result in RMS 10% error, or 0.1 "sigmas". This means, for example, that with 5% free reflections a 1.0 "sigma" peak might come up as a 1.2 or 0.8 "sigma" feature. Note that these are not the "sigmas" of the Fo-Fc map, (which changes as you build) but rather the "sigma" of the Fo map. Most of us don't look at Fo maps, but rather 2Fo-Fc or 2mFo-DFc maps, with or without the missing reflections "filled in". These are a bit different from a straight "Fo" map. The absolute electron number density (e-/A^3) of the 1 "sigma" contour for all these maps is about the same, but no doubt the "fill in", extra Fo-Fc term, and the likelihood weights reduces the overall RMS error. By how much? That is a good question.

Still, we can take this RMS 0.223 "sigma" variation from 5% free reflections as a worst-case scenario, and then ask the question: is this a "problem"? Well, any source of error can be a problem, but when you are trying to find the best compromise between two difficult-to-reconcile considerations (such as the stability of Rfree and the interpretability of the map), it is usually helpful to bring in a third consideration: such as how much noise is in the map already due to other sources? My colleagues and I measured this recently (doi: 10.1073/pnas.1302823110), and found that the 1-sigma contour ranges from 0.8 to 1.2 e-/A^3 (relative to vacuum), experimental measurement errors are RMS ~0.04 e-/A^3 and map errors from the model-data difference is about RMS 0.13 e-/A^3. So, 22.3% of "sigma" is around RMS 0.22 e-/A^3. This is a bit larger than our biggest empirically-measured error: the "modelling error", indicating that 5% free flags may indeed be "too much".

However, 22.3% is the worst-case error, in the absence of all the corrections used to make 2mFo-DFc maps, so in reality the modelling error and the omitted-reflection errors are probably comparable, indicating that 5% is about the right amount. Any more and the error from omitted reflections starts to dominate the total error. On the other hand, the modelling error is (by definition) the Fo-Fc difference, so as Rwork/Rfree get smaller the RMS map variation due to modelling errors gets smaller as well, eventually exposing the omitted-reflection error. So, once your Rwork/Rfree get to be less than ~22%, the errors in the map are starting to be dominated by the missing Fs of the 5% free set.

However, early in the refinement, when your R factors are in the 30%s, 40%s, or even 50%s, I don't think the errors due to missing 5% of the reflections are going to be important. Then again, late in refinement, it might be a good idea to start including some or all of the "free" reflections back into the working set in order to reduce the overall map error (cue lamentations from validation experts such as Jane Richardson).

This is perhaps the most important topic on this thread. There are so many ways to "contaminate", "bias" or otherwise compromise the free set, and once done we don't have generally accepted procedures for re-sanctifying the free reflections, other that starting over again from scratch. This is especially problematic if your starting structure for molecular replacement was refined against all reflections, and your ligand soak is nice and isomorphous to those original crystals. How do you remove the evil "bias" from this model? You can try shaking it, but that only really removes bias at high spatial frequencies and is not so effective at low resolution. So, if bias is so easy to generate why not use it to our advantage? Instead of leaving the free-flagged reflections out of the refinement, put them in, but give them random F values. Then do everything you can to "bias" your model toward these random values. Loosen the geometry weights, turn on B-factors, build dummy atoms into all the "noise peaks" in the maps, and refine for a lot of cycles. Now you've got a model that is highly biased, but to a completely unrelated "free" set. It stands to reason that a model cannot be biased toward two completely unrelated things. Now you can take this model and put it back into normal refinement against your original data (with the true free-set Fs restored and flagged as "free"). Your Rfree will start out very high, but then rapidly drop to what can only be an un-biased value. You can then try different random number seeds for the over-refine-against-randomized-free-set run, and see how consistent the final Rfree becomes. Theoretically, you could do this "bias misdirection" with as little as one reflection at a time. This would be more true to classical cross-validation, where you are supposed to do ~20 parallel optimizations with 20 different free sets, and look at the combined Rfree across them. Takes a lot longer, but these days what do we have if not lots of CPUs lying around?

Anyway, to answer the OP question: 5% is close to being "too many", so less than that is preferable as long as you have "enough" as others on this thread have so aptly described. In cases where observations/parameters is becoming too precious, then perhaps more robust (aka time-consuming) cross-validation protocols are called for?

-James Holton
MAD Scientist

On 6/2/2015 3:26 AM, Graeme Winter wrote:
Hi Folks

Had a vague comment handed my way that "xia2 assigns too many free reflections" - I have a feeling that by default it makes a free set of 5% which was OK back in the day (like I/sig(I) = 2 was OK) but maybe seems excessive now.

This was particularly in the case of high resolution data where you have a lot of reflections, so 5% could be several thousand which would be more than you need to just check Rfree seems OK.

Since I really don't know what is the right # reflections to assign to a free set thought I would ask here - what do you think? Essentially I need to assign a minimum %age or minimum # - the lower of the two presumably?

Any comments welcome!

Thanks & best wishes Graeme

Reply via email to