Indexing images from non-merohedrally twinned crystals (i.e. several lattices)
1. create your XDS.INP file with
JOB= XYCORR INIT COLSPOT IDXREF
2. run for lattice 1:
% mkdir lat1 % cp XDS.INP lat1 % cd lat1 % xds
3. split the indexed/non-indexed spots:
% grep " 0 0 0" SPOT.XDS > SPOT.XDS_bad % grep -v " 0 0 0" SPOT.XDS > SPOT.XDS_good % mv SPOT.XDS SPOT.XDS_orig % cp -p SPOT.XDS_good SPOT.XDS
Change to JOB= IDXREF and run
Now you have (basically) indexed lattice 1. You could repeat this step a bit further:
% grep -v " 0 0 0" SPOT.XDS > SPOT.XDS_tmp % mv SPOT.XDS_tmp SPOT.XDS % xds
This will remove the non-indexed spots and run IDXREF again.
4. index lattice 2:
% mkdir ../lat2 % cp -p * ../lat2 % cd ../lat2 % cp -p SPOT.XDS_bad SPOT.XDS % xds
Are there still too many spots rejected? Check with
% grep -c " 0 0 0" SPOT.XDS # gives non-indexed spots % grep -vc " 0 0 0" SPOT.XDS # gives indexed spots
Maybe you have a third (fourth etc) lattice? Then repeat step 3 for this one ... etc
Afterwards run XDS in the lat1 directory with
and take care to check BKGPIX.pck with the VIEW program (for beamstop/backstop masking)! Afterwards, copy the final BKGPIX.pck into the various directories lat2, ... latN. After changing to
JOB= INTEGRATE CORRECT
you're ready to integrate/process the various lattices.
- just because XDS decides not to use some spots for indexing doesn't mean these initially non-indexed spots really belong to a separate lattice: compare the indexing/orientation matrices for the different solutions to see if they are significantly different (e.g. related by a one degree rotation). Also, check your images visually (ideally with the predictions on top) to make sure you acrtually have several lattices.
- the refinement of parameters (during the INTEGRATE step) can be very unstable: often, the spots of the two (or more) lattices are very close together: during data collection, some orientations of the spindle axis might make them move even closer until full overlap. At that point (or shortly after) the parameter refinement might 'jump' into the wrong lattice by chance. So look out for any jumps in parameters (distance, detector origina, scale, mosaicity etc), or prevent refinement of orientation in INTEGRATE altogether (REFINE(INTEGRATE)= without parameters).