Hi Robbie,
> I agree that you bias R-free after the real-space refinement > > > > > > well, ok, isn't it enough to realize that this is bad and should be > avoided ? (I > > guess we all know we should never bias Rfree!) > > > > > > My point was that we normally do not calculate R-free after real- > > space refinement, > > > > > > It's not about whether you compute something or not. It's about whether > > you expose free-r reflections to refinement and to current model, given > that > > they should never ever see any refinement or model or optimization under > > any circumstances. Otherwise they immediately become non-free. > Yet we do optimise weights against R-free, both in phenix.refine (from the > manual: "phenix.refine uses automatic procedure to determine the weights > between X-ray target and stereochemistry or ADP restraints. To optimize > these weights (that is to find those resulting in lowest Rfree factors)") > and in PDB_REDO (well against LL-free, but that is the same test set). And > we do not go the distance to use something like an R-sleep set to keep a > set of reflections really independent. Here we are introducing bias as > well, but we seem to have accepted that this is not a big problem. Or we > chose to ignore it. This is all true. There is a subtle line, however, between actively refining your model against free reflections (and therefore against Rfree) in real or reciprocal spaces, and using Rfree at discrete points of time to make certain decisions, like visually inspect the numbers and say I like this model more because it has lower Rfree, or choose weight because one yields a lower Rfree than the other. Technically, I agree, it is also using test reflections, and it would be the best if "sleep" set of reflections is used for this instead! >From practical side, it's easy to demonstrate that if you start with a model and data set composed of work and free reflections, and having Rfree>Rwork with some gap, then compute two maps: one using only work reflections, and another using all work+test. Then refine model against the two maps. In case of refinement against the first map (calculated using work reflections only), both Rfree and Rwork will change, Rfree>Rwork will remain true and the gap will be maintained. In case of refinement against the second map (calculated using all, work+test, reflections), both Rfree and Rwork will change, and Rfree will *very* quickly approach Rwork, so Rwork~Rfree. I've seen it numerous times when developing real-space refinement in Phenix, and I think I can still find the script that demonstrates specifically this scenario. All the best, Pavel