Scaling with SCALA (or better: aimless)

From XDSwiki
Jump to navigation Jump to search

Using combat

An example script 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

Another 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) is via the pointless program (see also "Running Pointless and Scala"):

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.

Using xdsconv to get the MTZ file directly (i.e. circumventing SCALA)

The XDSCONV way of obtaining a MTZ file would be just:

INPUT_FILE=XDS_ASCII.HKL
INCLUDE_RESOLUTION_RANGE=50 1  ! optional 
OUTPUT_FILE=temp.hkl  CCP4    FRIEDEL'S_LAW=FALSE

(XDSCONV picks up space group and cell parameters from XDS_ASCII.HKL.) After running XDSCONV one would then run

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.