Scaling with SCALA (or better: aimless)
Using combat
An example script (contributed by Clemens Vonrhein) to convert XDS_ASCII.HKL into a CCP4 multi-record MTZ file is:
#!/bin/csh -f # # Scale data from XDS # combat hklin XDS_ASCII.HKL hklout junk.mtz << end-combat MONITOR 10000 INPUT XDSASCII ADDBATCH 200 # optional: modify batch numbers TITLE Test combat NAME PROJECT myproject CRYSTAL mycrystal DATASET native END end-combat sortmtz hklout junk_sort.mtz << end-sort H K L M/ISYM BATCH I SIGI junk.mtz end-sort scala hklin junk_sort.mtz hklout junk_scaled.mtz << end-scala # scale using default parameters run 1 batch 1 to 1000 scales rotation spacing 5 bfactor off anomalous on end-scala truncate hklin junk_scaled.mtz \ hklout junk_truncated.mtz <<end-trunc anomalous yes nresidue 1049 labout F=FP SIGF=SIGFP DANO=DANO_sulf SIGDANO=SIGDANO_sulf end-trunc
In this way one gets the well-known outputs of SCALA and TRUNCATE, and the MTZ file junk_truncated.mtz .
Using pointless
A better way of going from a XDS formatted reflection file to a multi-record MTZ file (suitable for SCALA and TRUNCATE, but not directly for structure solution which requires single-record MTZ files) is via the pointless program (see also "Running Pointless and Scala"). This way is better (according to PRE), but pointless has only been made available recently (and one needs the latest version of the program). It's very easy to do:
pointless -copy xdsin XDS_ASCII.HKL hklout XDS_ASCII.mtz
The advantage of this route is, that the batch headers of the resulting MTZ file are correct - COMBAT doesn't seem to write complete and accurate headers. If one then needs to edit the batch information in this file, the CCP4 program REBATCH can be used (optional):
rebatch hklin XDS_ASCII.mtz hklout XDS_ASCII_rebatch.mtz <<end_ip BATCH ALL START 1001 BATCH ALL PNAME Lysozyme XNAME Hg-Soak DNAME peak end_ip sortmtz hklout sortmtz.mtz <<end_ip H K L M/ISYM BATCH XDS_ASCII_rebatch.mtz end_ip
Note: another program to work with those multi-record MTZ files is REINDEX.
See also
XDSCONV to get the MTZ file directly (i.e. circumventing SCALA)