# Difference between revisions of "Indexing"

Line 50: | Line 50: | ||

* 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. | * 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). | * 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). | ||

+ | |||

+ | == Finding out the angular difference between two lattices == | ||

+ | |||

+ | This can be easily found with "cmpmat" from [http://www.globalphasing.com/autoproc/ GlobalPhasing's autoPROC] package. | ||

+ | cmpmat 01/XPARM.XDS 02/XPARM.XDS P212121 | ||

+ | would compare the orientations stored in 01/XPARM.XDS and 02/XPARM.XDS (assuming both were determined for space group P212121), and return the lowest angular difference from all combinations of symmetry-related crystal setting matrices. | ||

+ | cmpmat 01/XPARM.XDS 02/XPARM.XDS P212121 -2 | ||

+ | would return ''all'' angular differences, for ''all'' pairs of symmetry-related crystal setting matrices. |

## Revision as of 07:53, 21 May 2014

## Indexing single images

It may be advisable to increase INDEX_ERROR to (e.g.) a value of 0.2 (from its default of 0.05). This is because the 3-dimensional spotfinding in COLSPOT cannot produce a good phi estimate for the spots, so a larger error can be expected.

## 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 % # for old XDS versions use: 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

% xds

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

JOB= DEFPIX

and take care to check BKGPIX.cbf with the XDS-Viewer program (for beamstop/backstop masking)! Afterwards, copy the final BKGPIX.cbf into the various directories lat2, ... latN. After changing to

JOB= INTEGRATE CORRECT

you're ready to integrate/process the various lattices.

**Notes:**

- 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).

## Finding out the angular difference between two lattices

This can be easily found with "cmpmat" from GlobalPhasing's autoPROC package.

cmpmat 01/XPARM.XDS 02/XPARM.XDS P212121

would compare the orientations stored in 01/XPARM.XDS and 02/XPARM.XDS (assuming both were determined for space group P212121), and return the lowest angular difference from all combinations of symmetry-related crystal setting matrices.

cmpmat 01/XPARM.XDS 02/XPARM.XDS P212121 -2

would return *all* angular differences, for *all* pairs of symmetry-related crystal setting matrices.