Scaling with SCALA (or better: aimless)
How to switch off scaling in CORRECT
If one wants to completely switch scaling off in CORRECT, use
MINIMUM_I/SIGMA=50 CORRECTIONS= NBATCH=1
in XDS.INP. MINIMUM_I/SIGMA=50 prevents the sigmas from being adjusted. This also prevents outlier rejection and geometry refinement. Since the latter may be desired it would be most appropriate to use MINIMUM_I/SIGMA=50 only after Optimization (re-cycling of GXPARM.XDS to XPARM.XDS). Prevention of outlier rejection would be also obtained by using (e.g.) WFAC1=2. NBATCH=1 removes any basic scaling done by CORRECT (as referred to by Krojer and van Delft).
This can also be combined with NBATCH=1.
Using pointless and aimless
pointless produces a multi-record MTZ file (suitable for SCALA/aimless and TRUNCATE) from XDS_ASCII.HKL, or the XSCALE reflection output file (see also "Running Pointless and Scala"). Note that this may use XDS for some or most of the scaling. (see above for how to switch off scaling in XDS.INP, partly or fully).
pointless -copy xdsin XDS_ASCII.HKL hklout XDS_ASCII.mtz aimless hklin XDS_ASCII.mtz hklout junk_scaled.mtz | tee aimless.log
Obviously, the aimless run can be modified using suitable options.
See below for how to run TRUNCATE.
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.
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 # if xds wouldn't have already scaled the data, e.g. # scales rotation spacing 5 secondary 4 bfactor on brotation spacing 20 # would be more appropriate (this is what "quickscale" in iMosflm does) 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
COMBAT doesn't seem to write complete and accurate headers.
XDSCONV to get the MTZ file directly (i.e. circumventing SCALA)