ECALC (CCP4: Supported Program)
NAMEecalc - calculate normalised structure amplitudes
SYNOPSISecalc hklin foo.mtz hklout foo_e.mtz
DESCRIPTIONThe program ECALC is used to calculate normalised structure amplitudes for a reflection data set. The normalised structure amplitude for a reflection is taken as the structure amplitude divided by the product of the r.m.s. value of the structure amplitudes at its sin(theta)/lambda value and the epsilon factor which is dependent on the Laue group symmetry. The structure "amplitude" may be a difference term representing the contribution of a sub-structure, either heavy atoms or anomalous scatterers.
Normalised structure amplitudes are used for direct methods programs, molecular replacement searches, etc. ECALC also generates the terms required to calculate origin-removed Pattersons.
The normalisation procedure used is done using the "Karle" approach, and NOT by applying an overall temperature factor taken from a Wilson plot, i.e. the amplitudes are modified so that <E**2> = 1.0 in each resolution shell. This is necessary for macromolecular structures where the low resolution <I> distribution is very different from the Wilson ideal.
The output MTZ file will contain all entries in the input file plus F E SIGE F2OR E2OR. These are described in more detail below.
KEYWORDED INPUTThe various data control lines are identified by keywords, those available being:
LABIN (compulsory), LABOUT, EXCLUDE, MODDIFF, RESOLUTION, SCALE, SHELL, SPACEGROUP, TITLE, MULTAN, REFLECTIONS, SNB
LABIN <program label>=<file label> ...Column label assignments for H, K, L, and optionally FP, SIGFP, FPH, SIGFPH, DPH, SIGDPH.
is one structure amplitude, possibly a native amplitude,
or maybe F(+) for data with an anomalous signal
The behavior of the program is largely governed by the column assignments. Data is assumed missing if the associated SIG is less than or equal to 0, or the missing number flag is set.
EXCLUDE [CENTRIC] [SIGP <nsigp>] [SIGPH <nsigph>] [FPMAX <fpmax>] [FPHMAX <fphmax>] [DIFF <diffmax>]Set criteria for excluding data from the generation of E values. Large errors can distort the normalisation seriously.
Excluded data will still be written to the output file but there will be no associated value for E; it will be flagged as a "Missing number". The default is to include all data.
MODDIFF [ YES | NO ]Default NO.
In general the differences used to estimate the isomorphous or anomalous contributions will be overestimated as a result of noise in the measurements. It is possible to apply a correction and approximate the difference by sqrt( |FPH-FP|**2 - Sqrt*(SIGFP**2 + SIGFPH**2) ) or sqrt( |DPH|**2 - Sqrt*(SIGDPH**2) ). If the term to be square-rooted is negative the difference is set to 0.0. It is obviously important that the standard deviations are reasonably reliable.
LABOUT <program label>=<file label> ...This card is required when outputting reflections to an MTZ file to assign customised labels to the additional output columns.
The following columns will be output and labels can be assigned.
F E SIGE F2OR E2OR
RESOLUTION <resmax>Default: take the maximum resolution from the MTZ header. The value <resmax> is the resolution cutoff in Angstroms. Usually 0 to include all reflections.
SHELL <number>Specifies the approximate number (default 200) of reflections wanted to average for each shell. If this is too small you are likely to get wildly fluctuating
SPACEGROUP <group>The space group is read from file with logical name SYMOP. Default: Take the SPACEGROUP from the MTZ header. Group is the space group name or number in International Tables. Only the rotation part of the symmetry operations is used, so for example 177 (P622), 178 (P6122) and 179 (P6522) are all equivalent. This keyword is required only if the symmetry information in the reflection file header is missing or wrong.
TITLE <title>Title for the output file (up to 80 characters). The text PRODUCED BY ECALC will be appended to this title automatically.
SCALE <scale>The output columns F will be scaled by the value <scale>. The default scale is 1.0.
MULTANNo further data are required on this line. Outputs E values in a formatted ASCII file e.g. for Direct Method packages such as MULTAN. Normally however, most Direct Method programs will calculate Es internally. Default is to output E values in standard MTZ format e.g., for ALMN.
SNBNo further data are required on this line. Outputs E values in a formatted ASCII file suitable for SnB (Shake-and-Bake).
REFLECTIONS <nwant>This only applies when outputting reflections to an ASCII file and not an MTZ file i.e. in conjunction with the MULTAN/SNB cards. The largest <nwant> Es are written to HKLOUT, the default is to write all reflections. This cutoff may be necessary because some programs will only accept a limited number of reflections. Also, when generating Es from isomorphous or anomalous differences, i.e. |FPH-FP| or |F(+)-F(-)|, small E values will not necessarily reflect the true E value calculated from the heavy atom sub-structure. For instance, for anomalous differences all the centric reflections have an E of zero.
INPUT AND OUTPUT FILESThe input files are
The control data file.
For the MULTAN option the output is H K L 1000*E in FORMAT(3I4,I6) terminated by E=-1.
PRINTER OUTPUTThe line printer output may be divided into the following sections:
EXAMPLESExample of the control data for calculating a set of normalised structure factors.
ecalc hklin junk1.mtz hklout junk2.mtz << eof TITLE TEST OF PROGRAM ECALC WITH C2HKL REFLECTION DATA LABI FP=FO SIGFP=SIGFO eof ecalc hklin junk1.mtz hklout junk2.dat << eof TITLE TEST OF PROGRAM ECALC For isomorphous differences LABI FP=FO SIGFP=SIGFO FPH=FPH1 SIGFPH=SIGFPH1 MULTAN REFLECTION 1500 eof ecalc hklin junk1.mtz hklout junk2.dat << eof TITLE TEST OF PROGRAM ECALC For anomalous differences LABI FP=FO(+) SIGFP=SIGFO(+) FPH=FO(-) SIGFP=SIGFO(-) EXCL CENTRIC LABO E=E_ano eof ecalc hklin junk1.mtz hklout junk2.dat << eof TITLE TEST OF PROGRAM ECALC For anomalous differences from DPH LABI DPH=DANO SIGDPH=SIGDANO EXCL CENTRIC LABO E=E_dano eof ecalc hklin junk1.mtz hklout junk2.mtz << eof TITL Es from isomorphous differences removing sigma bias etc LABI FP=FP SIGFP=SIGFP FPH=FPHderv1 SIGFPH=SIGFPHderv1 EXCLUDE SIGP 3 EXCLUDE SIGPH 3 EXCLUDE DIFF 120 MODDIFF YES eof
Using coefficients from ECALC for origin-removed Patterson map
ECALC produces squared F's or square E's with the origin contribution removed in the F2OR or E2OR columns. These can be used as input to FFT to produce an origin-removed Patterson function. Since the terms may be positive or negative you need to assign LABI I=F2OR in the fft, not F1 - see below.
ecalc hklin nat_der_scal.mtz hklout nat_der_scal_e.mtz << eof-ec exclude SIGP 2 SIGPH 2 DIFF 100. scale 1. shell 50 labin FP=F_CNAT2 SIGFP=SIGF_CNAT2 FPH=F_CEMS SIGFPH=SIGF_CEMS labout F=DISO E=E F2OR=F2OR E2OR=E2OR eof-ec fft hklin nat_der_scal_e.mtz mapout pat_der.map << eof-fft title origin removed diff-patterson PATT LABIN I=F2OR END eof-fft
(With thanks to Steve Prince)
PROGRAM STRUCTUREThe program structure is straightforward and involves three passes through the input reflection data file. The structure is outlined below:
AUTHOROriginator: Ian Tickle
Contact: Ian Tickle, Birkbeck College