MTZMNF (CCP4: Supported Program)
NAMEmtzmnf - Identify missing data entries in an MTZ file and replace with a Missing Number Flag (MNF).
SYNOPSISmtzmnf hklin foo_in.mtz hklout foo_out.mtz
[Keyworded input] TRUNCATE some reflexion data records may be entirely missing from the MTZ file, although the reflexion indices lie within the measured resolution range. It is strongly recommended that index sets are made complete within the desired resolution range - a script to do this is provided in $CETC/uniqueify. The MTZ file will then contain records where there are indices but no measured data. This means that it is easy to estimate completeness and later programs can `restore' values if possible. Furthermore, a particular reflexion may be recorded for the native protein but not for a derivative, and the corresponding combined reflexion data record should indicate `missing data' for the derivative.
To-date, missing data has been indicated in a variety of ways. For example, a zero standard deviation is taken to mean that the corresponding datum (e.g. structure factor amplitude) is missing. In all cases, however, the indicator is a number upon which arithmetic operations can (erroneously) be performed. This convention has now been discarded in favour of representing missing data by Missing Number Flags (MNF), which by default take the value of an IEEE NaN or VMS Rop. All relevant programs check for the presence of MNFs in input MTZ files, and take appropriate action. In particular, when displaying MTZ files using the program MTZDUMP (or the script $CETC/mtzdmp) missing data can be identified and are subsequently represented in the output in an unambiguous manner.
All programs will now output MNFs where appropriate. Where such values occur in an input MTZ file, they will be carried through to the output. Alternatively, MNFs may be generated when for some reason no value can be calculated for a particular reflection and column.
The program MTZMNF has been provided to convert old-style MTZ files to the new convention. The program relies on being able to identify `missing data', and to this end a number of cases are checked. These cases are explained in detail in the section PROGRAM FUNCTION below. When a missing datum is identified, the corresponding entry in the MTZ file is replaced by a MNF. The value of the MNF is taken from the header of the MTZ file, and will typically be a NaN or Rop. For old MTZ files, which have no MNF specified in the header, the MNF is automatically set to NaN or Rop.
As a safety feature, only columns which are explicitly specified with the LABIN keyword are converted. Columns which are not specified via the LABIN keyword are written unchanged to HKLOUT. Old-style MTZ files may still be used with all CCP4 programs, and old-style checks on missing data remain in place (occurring after the check for a MNF). However, new data sets, completed with $CETC/uniqueify and combined with CAD, should automatically include the necessary MNF entries.
A line giving the labels of the input columns from HKLIN to be converted. Only the columns specified will be converted to the MNF format; the remainder are output unchanged. The allowed program labels are Fi SIGFi Di SIGDi (i=1,20), FCi PHICi (i=1,5), Ii SIGIi (i=1,5), PHIBi FOMi HLAi HLBi HLCi HLDi (i=1,5). The numbering used must be consistent. In particular, if Di and SIGDi are specified then Fi and SIGFi must also be specified, and must refer to the structure factor amplitude associated with the anomalous difference data, see example below. Futhermore Fi/SIGFi, Di/SIGDi, FCi/PHICi, Ii/SIGIi and PHIBi/FOMi must be specified in pairs, e.g. it is an error to specify F1 but not SIGF1. Columns for which an appropriate program label is not supplied by the program cannot be converted. This is usually because an appropriate conversion protocol does not exist.
Note: The conversion of FCi/PHICi columns may in some cases be dangerous - see the section PROGRAM FUNCTION below.
The output file is a reflection data file in MTZ format.LABIN, is given.
mtzmnf hklin $CEXAM/toxd/toxd_old.mtz hklout $CCP4_SCR/toxd_mnf.mtz <<eof TITLE testing LABI F1=FTOXD3 SIGF1=SIGFTOXD3 - D2=ANAU20 SIGD2=SIGANAU20 - F2=FAU20 SIGF2=SIGFAU20 - F3=FMM11 SIGF3=SIGFMM11 - F4=FI100 SIGF4=SIGFI100 END eof
AUTHORSMartyn Winn, Daresbury
Eleanor Dodson, York University