Difficult datasets
The following suggestions apply not only to small-molecule datasets, but also to very weak or low-resolution, or otherwise difficult macromolecular datasets.
These datasets have few (or few strong, or few well-defined) reflections per frame. Therefore, the multitude of parameters describing the diffraction experiment needs to be reduced (in refinement one would say: to avoid overfitting). This means that some parameters may need adjustment.
optimizing the parameters for COLSPOT
IDXREF depends on the reflection positions stored in SPOT.XDS . This file is written by COLSPOT, and its contents can be visualized e.g. with GNUPLOT:
plot "SPOT.XDS" using 1:2
Obviously, only if the true reflection pattern is represented well by SPOT.XDS can IDXREF be successful. So, play with the following parameters, and use GNUPLOT to find their influence:
STRONG_PIXEL= MINIMUM_NUMBER_OF_PIXELS_IN_A_SPOT=
It should be noted that it is important to correctly mask any shadowed areas on the detector; if not done properly, the variation at the edges will lead to spurious "spots" being picked up by COLSPOT.
optimizing the parameters for IDXREF
Don't refine the DISTANCE in REFINE(IDXREF) !
For close reflections, you may want to reduce SEPMIN below its default of 6, and set CLUSTER_RADIUS to half of the new value.
optimizing the parameters for INTEGRATE
- DELPHI=45 ! (or 60, or even 90; the default is 5) to base reflection profiles and refinements on more reflections - try this first if you get error messages about incomplete profiles or failure to allocate memory in the INTEGRATE step, or if the geometric parameters during INTEGRATE refinements "run away"
- REFINE(INTEGRATE)= ! do not refine anything in INTEGRATE; be sure to recycle GXPARM.XDS to XPARM.XDS. Also try REFINE(INTEGRATE)=ORIENTATION DISTANCE ! maybe add BEAM, but probably AXIS or CELL should not be refined.
Furthermore, you may grab the lines e.g.
BEAM_DIVERGENCE= 2.067 BEAM_DIVERGENCE_E.S.D.= 0.207 REFLECTING_RANGE= 2.303 REFLECTING_RANGE_E.S.D.= 0.329
from INTEGRATE.LP, and insert them into XDS.INP . The latter is accomplished easily with
grep _E INTEGRATE.LP | tail -2 > x grep -v _E.S.D XDS.INP >> x mv x XDS.INP
or similar. These values then serve as a Bayesian prior for the values that will actually be used for integrating.
If you used larger OSCILLATION_RANGE than 1°, you should increase MAXIMUM_ERROR_OF_SPINDLE_POSITION= (default is 2°) because you expect larger deviations of experimentally determined and calculated phi positions of reflections. Same might apply to MAXIMUM_ERROR_OF_SPOT_POSITION= ; the default is 3 pixels which may be too low to account for broad reflections. If you don't do this, many reflections that violate these limits will not be used for geometry refinement, which may turn out to be unstable.
If your crystal diffracts to high angles (e.g. small molecules) then the absorption in the detector surface affects both position and intensity of the recorded x-rays. XDS has two parameters, SENSOR_THICKNESS and SILICON, to take care of that. If the data are measured with a Pilatus detector, the defaults are ok. If however a CCD is used then both SENSOR_THICKNESS and SILICON should be adjusted manually - see SILICON.
optimizing the parameters for CORRECT
- NBATCH= (total angular rotation range)/45 ! to reduce the number of scale factors; the value of NBATCH is shown as NXBIN in CORRECT.LP for the ABSORB and DECAY correction; default is (total angular rotation range)/5. Other values, like (total rotation range)/60 or (total rotation range)/90 might also be tried. Try to match NBATCH with DELPHI (see above).
- maybe CORRECTIONS= ABSORB ! don't try to correct for MODULATION and DECAY in scaling because these may be poorly determined; however in general it helps to correct for them
- FRIEDEL'S_LAW=TRUE unless the multiplicity is high. A clear sign that FRIEDEL'S_LAW=TRUE is required is that the CHI^2-VALUE OF FIT OF CORRECTION FACTORS is significantly below 1 (e.g. 0.5). If in doubt use the setting that maximizes ISa.
optimizing the parameters for XSCALE
If you use XSCALE to merge several XDS datasets, you should make sure that you specify in XSCALE.INP the same values for NBATCH and CORRECTIONS as you do, in XDS.INP, for the CORRECT step.