Xdsconv
XDSCONV is the conversion program of the XDS suite.
Possible output formats are SHELX, CNS, CCP4 (for F SIGF DANO SIGDANO), CCP4_F (for F+ F- SIGF+ SIGF-) and CCP4_I (for I+ I- SIGI+ SIGI-).
A typical input file XDSCONV.INP might look like
INPUT_FILE=XDS_ASCII.HKL INCLUDE_RESOLUTION_RANGE=50 1 ! optional OUTPUT_FILE=temp.hkl CCP4 ! Warning: do _not_ name this file "temp.mtz" ! FRIEDEL'S_LAW=FALSE ! default is FRIEDEL'S_LAW=TRUE
This produces the file temp.hkl which is then converted to a MTZ file XDS_ASCII.mtz with (these lines are also printed out by XDSCONV):
f2mtz HKLOUT temp.mtz<F2MTZ.INP cad HKLIN1 temp.mtz HKLOUT XDS_ASCII.mtz<<EOF LABIN FILE 1 ALL END EOF
This latter step is not necessary for CNS and SHELX output formats, which are written directly by XDSCONV. For these output formats, one might use MERGE=FALSE to keep observations separate.
To have control over the column labels, one might want to modify the simple example above as:
f2mtz HKLOUT temp.mtz<F2MTZ.INP cad HKLIN1 temp.mtz HKLOUT junk_xdsconv.mtz<<EOF LABIN FILE 1 E1=FP E2=SIGFP E3=DANO E4=SIGDANO E5=ISYM LABOUT FILE 1 E1=FP E2=SIGFP E3=DANO_sulf E4=SIGDANO_sulf E5=ISYM_sulf END EOF
ISYM column is important if you want to run SHARP afterwards.
In the case of a MTZ file that should be used for molecular replacement and refinement, the CAD step could be used to transfer the R_free flag from a different dataset to this new dataset. Alternatively, change of labels and transfer of columns can be done in the ccp4i GUI.
XDSCONV does outlier rejection in some modes (FIXME: give formula and modes).
It is good practice to always use FRIEDEL'S_LAW=FALSE - see Tips and Tricks.
Hint for long-time XDSCONV users
The latest versions of the program do not require
SPACE_GROUP_NUMBER= UNIT_CELL_PARAMETERS=
because these are picked up from the header of the input reflection file.