Appendix C - Tables Production from .'cif' and '.fcf' Files using CIFTAB

Appendix C - Tables Production from .'cif' and '.fcf' Files using CIFTAB


The auxiliary program CIFTAB is provided with SHELXL-93 to facilitate the transition to CIF. In contrast to the actual SHELX programs, the FORTRAN code is not intended to be treated as sacrosanct; it may be modified and extended by users as the need arises. CIFTAB should be run interactively from a console; there are no command line options. The program is available as an essentially computer independent FORTRAN-77 source, or in precompiled form for certain hardware configurations. Before compiling it on a new system the comments in the source should be consulted (see also the last paragraph of the PDBINS description immediately above). CIFTAB reads a '.cif' or '.fcf' file written by SHELXL-93 and provides the following facilities, which may be selected from a menu:

1. Some of the items which are unknown to SHELXL-93 and so are present as '?' in the .cif file may be replaced by the corresponding items from other CIF files, written for example by diffractometer control, data reduction or absorption correction programs. Only non-looped '?' items are resolved in this way.

2. Structure factor tables may be output in compressed form on HP-Laserjet compatible printers (or to file in the corresponding format for network transmission to such a printer).

3. Tables of crystal data, atom parameters, bond lengths and angles, anisotropic displacement parameters and hydrogen atom coordinates may be produced in a format specified in a file 'ciftab.???' (where ??? is any three letter combination). A standard ASCII file 'ciftab.def' is provided; users may use it as a model for preparing files to conform with the various journal requirements etc. This means that it is not necessary to modify and recompile the program each time a journal changes its rules. Extra files are provided for users of the Siemens SHELXTL system which produce '.tex' files for printing via the Siemens XTEXT program; this includes the production of tables in German and provides much more flexibility in the handling of Greek and other special characters.

The format file is simply copied to the output file, except that directives (lines beginning with '?' or '$') have a special meaning, '\n\' (where n is a number) is replaced by the ASCII character n (e.g. \12\ starts a new page), and CIF identifiers (which begin with the character '_') are replaced by the appropriate number or string from the CIF file. CIF identifiers may optionally be followed (without an intervening space) by one or more of: 'n', ':n' and '=n' where n is an integer; the CIF identifier (including qualifier) must be terminated by one space, which is not copied to the output file. 'n' right justifies a string or justifies a number so that the figure immediately to the left of the decimal point appears in column n; if there is no decimal point then the last digit appears in column n. In either case the standard deviation (if any) extends to the right with brackets but without intervening spaces. If 'n' are both absent, the CIF item is inserted at the current position. If ':n' is absent the item is treated as a string (see above), otherwise it is treated as a number; n is the power of 10 with which the CIF item should be multiplied, and is useful for converting Angstroms to pm or printing coordinates as integers; n may be negative, zero or positive. '=n' rounds the CIF item (after application of ':n') so that there are not more than n figures after the decimal point; n must be zero or positive.

A line beginning with 'loop_' is repeated until the corresponding loop in the CIF file is exhausted; all the CIF items in the line must be in the same loop in the CIF input file. All CIF data names and the string 'loop_' must be given as lower case in the format file; in the CIF input file the standard CIF rules apply.

A line containing at least 4 consecutive underscores is copied to the output file unchanged, and may be used for drawing a horizontal line. There are also two pseudo-CIF-identifies: '_tabno' is the number of the table, and '_comno' is a number to identify the compound. Both may be set via the CIFTAB menu. '_tabno' but not '_comno' is incremented each time it is used.

An underscore '_' followed by a space may be used to continue on the next line without creating a new line in the output file. Lines beginning with question marks are output to the console (without the leading question mark) as questions; if the answer to the question is not 'Y' or 'y', everything in the format file is skipped until the next line which begins with a question mark. Lines beginning with a dollar '$' are not interpreted as text, but are scanned for the following strings (upper or lower case, quotes not essential):

'xtext': output should be formatted for the Siemens SHELXTL xtext program.

'xtext,deutsch': as above, but translated into German.

The above directive, if present, should be the first line of the format file.

The directive $symops:n, where n is an integer, prints the symmetry operations used to generate equivalent atoms, starting each line of text in column n. These operators are references by '#m' (where m is an integer) after the atom name. The line beginning '$symops:n' usually follows the table of selected bond lengths and angles, but could also be used for a torsion angles table.

The remaining directives may appear at any point in the format file except immediately after a continuation line marker, but always on a line beginning with '$'.

'h=none': leave out all hydrogen atoms.

'h=only': leave out all non-hydrogen atoms.

'h=free': leave out riding or rigid group hydrogens but include the rest.

'h=all': include all hydrogen and all other atoms.

The hydrogen atom directives apply only to coordinates tables; hydrogen atoms are recognised by the .._type_symbol 'H'. The publication flags can be used to control which hydrogen atoms appear in tables of bond lengths, angles etc.

'brack': Atom names should include brackets (if present in the CIF file).

'nobrack': Brackets are deleted from the atom names.

'flag': Only output items for which the publication flag is 'Y' or 'y'.

'noflag': Output all items, ignoring the publication flag.

The default settings are '$h=none,brack,flag'. The standard tables file 'ciftab.def' illustrates the use of most of these facilities. CIFTAB extends some of the standard CIF codes to make them more suitable for tables, and also takes special action when items such as _refine_ls_extinction_coef are missing or undefined.


Ahead to D - Example of an Acta Cryst. Paper in '.cif' Format

Back to B - PDB to '.ins' Format Conversion with PDBINS

Back to Appendices

Back to Table of Contents