If you want to calculate free R's during refinement you will have to select a test set at this time. Since I wish to ensure that the test set is never biased to the model, I separate the test and working sets into independant files using the hkl_segregate command. This command will randomly select 10% of your reflections and place them in one file while all the others are placed in another file. The name of the working set HKL file must be entered on the FO statement in your TNT control file.
You will need a script to calculate the free R. A prototype can be created from $refroot/doc/r-free. This file must be edited to replace the token ``???.hkl" with the name of your test set HKL file.
If your crystal is isomorphous to the crystal your model was originally refined against (i.e. You are solving a mutant or inhibitor structure) you cannot select a test set in the default fashion. Since your starting model has already been refined against a diffraction data set which is very similar to the new data set you must select for your test set exactly the same reflections used in the original refinement. Such a test set can be selected by giving the name of the old test set as the second argument to the hkl_segregate command. If the current crystal diffracts to a higher resolution than the original you will have to be crafty. If the original refinement was performed against all the data you cannot reserve a test set. The model is already biased toward all the reflections and any free R calculation attempted now would give an anonmolusly low free R.