This program may be useful, for example when:
It is generally better to rerun the data reduction from the beginning if you can.
The program operates on each reflection in turn, without sorting them. Therefore, the output file will normally need to be resorted before further use (see CAD or SORTMTZ). For the reindex option, the new unit cell is determined and written to the output file. For unmerged data, the orientation data (cell and Umat) are updated for all batches.
The following operations are carried out on each reflection
Available keywords are:
END, LEFTHAND, MATCH, NOREDUCE, REINDEX, SYMMETRY
Sub key words HKL or AXIS (default HKL) followed by a transformation.
The transform can be given a similar way to symmetry operations (see below for examples).reindex HKL k, h, -limplies hnew = kold, knew = hold, lnew = -lold i.e. this defines a matrix to reindex the reflection data, such that
[hn kn ln] = [ho ko lo] [M]
reindex HKL k, h, -l
generates a reindexing matrix:
[M] = [ 0 1 0]
[ 1 0 0]
[ 0 0 -1]
reindex HKL h, -k, -h/2-l/2
would generate a matrix
[M] = [ 1.0 0.0 0.0]
[ 0.0 -1.0 0.0]
[-0.5 0.0 -0.5]
reindex HKL h-1, k, l
would result in all h indices being reduced by 1.
If the program AXISSEARCH has been used to find possible alternative reciprocal axes, the reindexing matrix can be specified in terms of reciprocal axes, for example:
reindex AXIS a*+c*,c*,-b*
implies a*new = a*old+c*old, b*new = -c*old, c*new = -b*old (which is in fact equivalent to reindex HKL h,l-k,-k)
If
[a*new] = [M]**-1 [a*old]
[b*new] [b*old]
[c*new] [c*old]
Since [hn kn ln] [a*n] = [ho ko lo] [a*o]
[b*n] [b*o]
[c*n] [c*o]
[hn kn ln] [M] **-1 [a*o] = [ho ko lo] [a*o]
[b*o] [b*o]
[c*o] [c*o]
and [hn kn ln] = [ho ko lo] [M] as before
Cell dimensions will be recalculated for the redefined cell. Be careful that the index transformation preserves the hand of the axes (unless you want to invert the hand), i.e. that the matrix has a positive determinant. If it does invert the hand, the program will change the sign of all reindexing elements unless the keyword LEFTHAND is present.
If the transformation leads to fractional indices for some cases (as in the 2nd example above), these reflections will be rejected. If the reindexing operations include translations, then the orientation data in the output file will not be strictly correct.
match 2h'=h +k -l * 2k'= -h +k + l * 1l'= 1h
Converting P1 cell to approximate C2 form:
# Reindex
reindex hklin $CCP4_SCR/P1.mtz hklout $SCRATCH/C2.mtz <<eof
match 2h'=h +k -l * 2k'= -h +k + l * 1l'= 1h
eof
Changing P21 with h+l = 2n +1 absent to standard P21 form:
# Reindex
reindex hklin $CCP4_SCR/bigcell.mtz hklout $SCRATCH/JUNK.mtz <<eof
reindex h/2-l/2, k, h/2+l/2
eof
# Same transformation given in terms of reciprocal axes
#
reindex hklin $CCP4_SCR/bigcell.mtz hklout $SCRATCH/JUNK.mtz <<eof
reindex AXIS a*-c*,b*,a*+c*
eof
# Sort and reconvert to asymmetric unit again
cad hklin1 $SCRATCH/JUNK hklout $CCP4_SCR/newcell <<eof
LABI FILE 1 ALLIN
eof