Difference between revisions of "Scaling with SCALA (or better: aimless)"

From XDSwiki
(Using combat)
Line 1: Line 1:
 +
== 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 [http://journals.iucr.org/d/issues/2012/05/00/tz5002/index.html Krojer and van Delft]).
 +
 +
A good option might be to make CORRECT only do MODULATION correction since this is not easily available in SCALA:
 +
CORRECTIONS= MODULATION
 +
 +
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 "[ftp://ftp.ccp4.ac.uk/ccp4/6.0.2/prerelease/runningpointlessandscala.pdf 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 [http://www.ccp4.ac.uk/dist/html/rebatch.html 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 [http://www.ccp4.ac.uk/dist/html/reindex.html REINDEX].
 +
 
== Using combat ==
 
== Using combat ==
 
  
 
An example script (contributed by Clemens Vonrhein) to convert XDS_ASCII.HKL into a [http://www.ccp4.ac.uk CCP4] multi-record MTZ file is:
 
An example script (contributed by Clemens Vonrhein) to convert XDS_ASCII.HKL into a [http://www.ccp4.ac.uk CCP4] multi-record MTZ file is:
Line 41: Line 79:
 
In this way one gets the well-known outputs of [http://www.ccp4.ac.uk/html/scala.html SCALA] and [http://www.ccp4.ac.uk/html/truncate.html TRUNCATE], and the MTZ file junk_truncated.mtz .
 
In this way one gets the well-known outputs of [http://www.ccp4.ac.uk/html/scala.html SCALA] and [http://www.ccp4.ac.uk/html/truncate.html TRUNCATE], and the MTZ file junk_truncated.mtz .
  
If one really wants to completely switch scaling off in CORRECT, one can use
+
[http://www.ccp4.ac.uk/dist/html/combat.html COMBAT] doesn't seem to write complete and accurate headers.  
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 [http://journals.iucr.org/d/issues/2012/05/00/tz5002/index.html Krojer and van Delft]).
 
 
 
A good option might be to make CORRECT only do MODULATION correction since this is not easily available in SCALA:
 
CORRECTIONS= MODULATION
 
 
 
== Using pointless ==
 
 
 
An alternative 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 "[ftp://ftp.ccp4.ac.uk/ccp4/6.0.2/prerelease/runningpointlessandscala.pdf Running Pointless and Scala]"). Note that this way also means that [[XDS]] is used to do most of the scaling (because XDS_ASCII.HKL is written by [[CORRECT]]) but this could be switched off in [[XDS.INP]] (partly or fully).
 
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 - [http://www.ccp4.ac.uk/dist/html/combat.html 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 [http://www.ccp4.ac.uk/dist/html/rebatch.html 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 [http://www.ccp4.ac.uk/dist/html/reindex.html REINDEX].
 
  
 
== See also ==
 
== See also ==
  
 
[[XDSCONV]] to get the MTZ file directly (i.e. circumventing SCALA)
 
[[XDSCONV]] to get the MTZ file directly (i.e. circumventing SCALA)

Revision as of 10:38, 26 April 2012

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).

A good option might be to make CORRECT only do MODULATION correction since this is not easily available in SCALA:

CORRECTIONS= MODULATION

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.

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
# 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

In this way one gets the well-known outputs of SCALA and TRUNCATE, and the MTZ file junk_truncated.mtz .

COMBAT doesn't seem to write complete and accurate headers.

See also

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