unique hklout foo.mtz
UNIQUE creates a unique list of reflections for a given unit cell with a given symmetry up to a specified high resolution limit. The output file can be used to complete a dataset (i.e. to give an MTZ file with all allowed reflections present whether or not data have been measured for them), and to give completeness information on the measured dataset. The procedure is as follows:
A script to perform steps 1 - 3 is provided in $CETC/uniqueify (see below), and an example of its use is given in $CEXAM/unix/runnable/unique-free-R. Note that this script only gives a high resolution limit to UNIQUE (see RESOLUTION keyword), and so the dataset is extended to the lowest possible resolution. This is the recommended practice.
The 'uniqueify' script is also a part of the Convert to MTZ & Standardise task in the Reflection Data Utilities of the CCP4 Graphical User Interface (CCP4I).
If a column of free-R flags is already present in the incomplete dataset, then a modified procedure should be followed:
This sequence is performed using the -f switch of the $CETC/uniqueify script.
The old procedure using COMPLETE is now obsolete.
The various data control lines are identified by keywords. Only the first 4 letters of each keyword are necessary.
CELL, RESOLUTION, SYMMETRY.
DEFAULT, LABOUT, RUN/GO/END, TITLE.
Specify the unit cell. At least 3 numbers must be entered. Alpha, beta and gamma default to 90.0.
Maximum resolution - either 4(sin theta/lambda)**2 or d in Angstrom. Unique reflections up to this limit are output to the MTZ file.
Symmetry of the output file.
<default> is a real number or missing data value (NaN) output in the F and SIGF columns. It defaults to NaN.
Title on the printer output and output MTZ file
Specify output column labels.
The default column labels are H K L F SIGF, where F and SIGF have dummy values <default> (see DEFAULT keyword).
Terminates keyworded input and runs the program.
The output file is a reflection data file in standard MTZ format (i.e. one record/reflection) containing 5 items per reflection (see the LABOUT keyword for labels used).
The F and SIGF columns all take the <default> value (see the DEFAULT keyword).
The printer output starts with details of the control data and the symmetry. Limits of the Miller indices are printed for this resolution range. Details of the output MTZ file followed by the total number of reflections tested and written out end the output.
The program UNIQUE reads in control data and calculates a reciprocal cell. From this cell the range of Miller indices for the required resolution range is calculated. The program then loops through each potential reflection and tests whether it satisfies the limiting conditions for this Laue group and/or whether the reflection is a systematic absence before outputting to the MTZ file.
The full syntax of $CETC/uniqueify is:
uniqueify [-s] [-f <label> | -p <fraction>] <input file>[.mtz] [<output file>]
freerflag, cad, mtzdump
unique HKLOUT x_unq.mtz << EOF TITLE Unique data for protease LABOUT F=FP SIGF=SIGFP SYMM P212121 RESOL 1.40 CELL 40.0 50.0 71.0 EOF
#! first make the unique data # unique hklout x_unq.mtz <<eof-unique TITLE Unique data for protease LABOUT F=FP SIGF=SIGFP SYMM P212121 RESOL 1.40 CELL 40.0 50.0 71.0 eof-unique # #! Now add free-R column # freerflag HKLIN x_unq.mtz HKLOUT x_unq2.mtz <<eof-freerflag END eof-freerflag # #! Now merge the free-R column of the unique file with the #! measured data # cad HKLIN1 x_unq2.mtz HKLIN2 p14_tru.mtz HKLOUT p14_tru_complete.mtz << eof-cad LABI FILE 1 E1=FreeR_flag LABI FILE 2 ALLIN END eof-cad # # ! Now run the merged file through MTZDUMP # mtzdump HKLIN p14_tru_complete.mtz << eof-mtzdump NREF 100 END eof-mtzdump