COMBAT (CCP4: Supported Program)
combat - produces an MTZ file in multirecord form suitable for input to SCALA.
combat hklin foo.mtz hklout foo.mtz
COnvert to Multi BATch MTZ files. This program converts output from assorted data processing programs into a multirecord MTZ file suitable for input to the CCP4 scaling and merging programs (SCALA and TRUNCATE). Only mosflm writes such an MTZ file. The program is a replacement program for ROTAPREP which was replaced as it was very difficult to support.
Input types accepted at present are: DATRED_RIGAKU, DENZO, JIMS, MTZF, MTZI, MUF, MUI, RAXISDUMP, SAINT, various SCALEPACK options , TEXHKL, TEXSAN, USER, WEISS, XDSFULL, XDSUNIQUE.
Some of these are quite rare, but it seems sensible to keep them. It would be trivial to extend the program for any format.
Warning: It is quite likely that the authors of processing programs will change their formats without telling CCP4. If you have any queries or knowledge of such changes please contact us.
Datasets and Harvesting
Datasets should be assigned project and dataset names for harvesting (and some other functionality), and these should be assigned in COMBAT using the PNAME and DNAME keywords. These will be written to the the output MTZ file, and be inherited by subsequent programs.
The following arguments to the INPUT keyword are supported. The most commonly used arguments are those used to convert existing MTZ files, or options for DENZO/SCALEPACK outputs (keywords SCALEPACK, SCAL_NM and SCAL_NM2). These are described first. The items in the descriptions of the format have the following interpretations:
Standard MTZ file containing h k l I sigI or h k l I+ sigI+ I- sigI-. It is possible to read in a standard MTZ format file and produce a `multirecord' MTZ file. You should only use merged data as a reference `batch' for SCALA.
Standard MTZ file containing either h k l F sigF or h k l F(+) sigF(+) F(-) sigF(-). It is possible to read such an MTZ format file and produce a `multirecord' MTZ file. You should only use merged data as a reference `batch' for SCALA. This is probably most useful for producing test data from Fcalc
Output from SCALEPACK [h k l I SigI or h k l I+ SigI+ I- SigI-] in format (3i4,4f8.0).
N.B. Run SCALEPACK2MTZ to generate an MTZ file containing h k l I sigI or h k l I+ sigI+ I- sigI- then input this as MTZI.
Output from SCALEPACK option NOMERGE original indices [h k l h0 k0 l0 ibatch I SigI] in format (6I4,i6,7x,2f8.0). Scales have been applied and partials summed. The Friedel pairs are separate in this case.
Output from SCALEPACK option NOMERGE no partials [h k l ibatch isym I SigI (Fpart)] in format (4i4,i3,2f8.0,f7.2). Scales have been applied and partials summed. The Friedel pairs are separate in this case.
[h k l F sigF] in format (3i4,4f8.1).
MADNES for050 files (but using ABSURD is strongly preferred).
For intensities output from the XENTRONICS and XENGEN
data processing packages.
For amplitudes output from the XENTRONICS and XENGEN
data processing packages.
Output from Raxis READBF of mergefile.
This option may cause serious trouble further down the line. Do not use unless you know exactly what you are doing.
Concatenated output files from DENZO. These contain HEADER blocks and reflection data. [h k l fsqp I sigI fpart phi] in format (3I4, 2X, 2F8.0, 7X, F6.0, 6X, 2F7.0, 14X, 2F6.0)
Care is needed when doing this, since no post-refinement has been done. We now prefer to run SCALEPACK to refine the cell and orientation, then either run DENZO again to re-integrate the images without re-refining the cell etc. (however there may still be problems with partiality flags), or output an unmerged file from scalepack (see keywords SCAL_NM and SCAL_NM2).
HKL data processing system Version 1.0 FT1.31 Rev1.4
you need to use the Denzo command
film york output file <filename>
to produce a suitable format for `combat'. The `york' output can also be read into `scalepack' with
Output from SAINT, one batch only (not fully tested).
Output from TEXSAN data processing package for Rigaku diffractometer.
Output from TEXSAN data processing package for Rigaku diffractometer.
ASCII data file in a user-defined format, see LABEL and FORMAT keywords.
Output from the WEISS data processing package for Japanese Weissenberg data. [h k l mpart I sigI ident] in format (5x, 4i4, 2f8.2, i10).
Output from Kabsch's XDS data processing package (or the MAR
Research version) in the standard text file UNIQUE.HKL from the
CORRECT stage. [The output of the MARSCALE program (and possibly
the original XSCALE) can also be put in this form, although there
is probably no reason to prefer these to scala]. This file contains
symmetry averaged reflection intensities and anomalous differences after
Since UNIQUE output is scaled and merged, it is sensible to use `f2mtz' to produce an MTZ file for direct input to `truncate'.
Output from Kabsch's XDS data processing package (or the MAR Research version) in the standard direct access binary file XDS.HKL from the CORRECT stage. This contains scaled intensities of all reflections before symmetry averaging. Note that this file type will not be generally portable between computer systems - run `combat' on the system which generated xds.hkl.
DESCRIPTION OF THE OUTPUT MTZ FILE
The output file has the column labels:
Available keywords are:
ADDBATCH, BATCH, CELL, DETECTOR, DNAME, WAVELENGTH,END, FORMAT, INPUT, LABEL, LABIN, MONITOR, PHIRANGE, PNAME, REINDEX, REJECT, RESOLUTION, SCALE, SYMMETRY, TITLE
Compulsory input keywords for some options:
INPUT <type>The allowed <type>s are those listed above.
BATCH <batch number>This specifies the `batch' number for data in the multirecord MTZ output. (BATCH is not required for DENZO, SCAL_NM, SCAL_NM2, SAINT or USER input if a batch column is present in the input file. It is not required for WEISS or TEXSAN inputs but if given it will override the IDENT value.)
CELL <a> <b> <c> [ <alpha> <beta> <gamma> ]Cell dimensions in Angstroems and angles in degrees; the angles default to 90 degrees. This keyword is not compulsory for MTZF, MTZI, SCAL_NM or DENZO input, but if given it will override the cell dimensions from the file headers. This keyword is compulsory for other input types.
LABIN <program label> = <file label> ...Only compulsory for MTZF or MTZI input.
Column assignments for conventional labels F and SIGF are required for MTZF input, or for I and SIGI for MTZI input.
LABEL <file label 1> <file label 2> ...Column assignments for user-defined input format (INPUT USER). <file label n> must be chosen from H, K, L, M, BATCH, I, SIGI (or F, SIGF, or F(+) SIGF(+) F(-) SIGF(-)), IPR, SIGIPR, FRACTION and given in the order in which they occur in the input file. The indices H, K, L are compulsory. M is optional and defaults to 0, i.e. fully recorded reflexions. The batch number should either be read in from a BATCH column or taken from the BATCH keyword (the former takes precedence if both are present). Either I, SIGI or F, SIGF must be given; if the latter, then F is squared and I/SIGI output. The remaining columns IPR, SIGIPR, FRACTION are optional.
SYMMETRY <SG number> | <SG symbol>Specifies the spacegroup for the data. Compulsory if not MTZF or MTZI input.
Optional input keywords:
For input types which contain batch number information the following two keywords determine the transformation of the input numbers. Note that the "MISBATCH" command is no longer needed to list missing batches and has been removed.
ADDBATCH <offset><offset> is added to all input batch numbers (default 0).
PHIRANGE <divisions>(DENZO only, default 1.) Each batch is split into a number <divisions> of divisions for scaling. The output batch number will be:
<divisions>*(batch - 1) + phi_step_counter + <offset>
FORMAT <format string>Supply a format specifier for user-defined input (see INPUT USER). The argument must be a valid FORTRAN fixed format string, such as might be given in a FORMAT statement, including the brackets and quoted. E.g.:
FORMAT '(6(6X,F8.3))'will read records comprising six numbers each preceded by a six-character-wide field which will be skipped. It is not possible to read more than one reflexion from each input line.
The format should be reading real numbers (F), and not integers (I), so if your input file contains integers, then they should be read as reals with e.g. F6.0 rather than I6. If the supplied FORMAT statement contains I descriptors then COMBAT will automatically convert them to the correct F format for you.
Make use of the X descriptor to skip unwanted columns. Under Unix, the cut (1) command may be useful for reformatting the input columns if, for instance, the relevant fields aren't in fixed positions. If the FORMAT keyword is not given for user-defined input, then the default format specifier '*' is used.
PNAME <project name>[default: 'unknown']
This keyword can be used to assign a project name for HKLOUT. For input options MTZF and MTZI, a project name given by this keyword overrides any in HKLIN.
This keyword is not compulsory, but is advisable to obtain a sensible name.
A dataset, as listed in the MTZ header, is specified by a project-name/dataset-name pair. The project-name specifies a particular structure solution project, while the dataset-name specifies a particular dataset contributing to the structure solution. An entry in the PNAME keyword should therefore be accompanied by a corresponding entry in the DNAME keyword.
DNAME <dataset name>[default: 'unknownddmmyy']
This keyword can be used to assign a dataset name for HKLOUT. For input options MTZF and MTZI, a dataset name given by this keyword overrides any in HKLIN.
This keyword is not compulsory, but is advisable to obtain a sensible name rather than 'unknownddmmyy' (where ddmmyy is the date, with no spaces).
A dataset, as listed in the MTZ header, is specified by a project-name/dataset-name pair. The project-name specifies a particular structure solution project, while the dataset-name specifies a particular dataset contributing to the structure solution. An entry in the DNAME keyword should therefore be accompanied by a corresponding entry in the PNAME keyword.
WAVELENGTH <wavelength>Assign wavelength to dataset.
MONITOR <nmon>Every <nmon>-th reflection is monitored (printed out). Default: no monitoring.
REJECT <hrej> <krej> <lrej>The arguments specify indices of reflections to be excluded from the output file (these indices should lie in the spacegroup's chosen asymmetric unit). All reflections equivalent to this set of indices will be rejected. This is a desperate measure to weed out bad reflections (usually overloads) without repeating the data processing. This line can be repeated up to 200 times.
REINDEX <transformation><transformation> specifies how to transform the original indices for the output. It is specified in the form k,h,-l; h,-k,-h/2-1/2; etc. The default is no transformation.
RESOLUTION <resmin> [ <resmax> ]Rejects reflections outside the given resolution range in Ås or 4s**2/lambda**2.
SCALE <scale>The input intensities are multiplied by <scale> (default 1.0).
TITLE <title><title> is written to the output file.
DETECTOR <xmin> <xmax> <ymin> <ymax>limits of detector coordinates XDET, YDET. These are needed for the detector scaling options in Scala.
scala, f2mtz, Data Harvesting, CAD, `The marxds marscale manual', MAR Research.
combat HKLIN raxis.dump HKLOUT junk.mtz << + CELL 63 63 264 90 90 90 MONITOR 1000 BATCH 1 # first batch number INPUT RAXISDUMP RESOLUTION 0 0.137 SYMMETRY 89 TITLE Test combat PNAME myproject DNAME native END +
combat \ HKLIN ESRF/pcrb/pcrb5_e1.sca \ HKLOUT $SCRATCH/pcrb5_e1.mtz \ << 'END-mtzrwrot' MONI 10000 INPUT SCAL_NM2 ADDBATCH 0 CELL 92.004 92.004 175.229 90.000 90.000 90.000 SYMM P41212 TITLE Test on Scalepack - NoMerge- Original Indices L1 PNAME myproject DNAME native END 'END-mtzrwrot' #
Alun Ashton, CCP4 Daresbury Laboratory.
Origional program was ROTAPREP by Eleanor Dodson, University of York