INTERNATIONAL TABLES

for CRYSTALLOGRAPHY

Volume G

Definition and Exchange of Crystallographic Data

5.4. CIFtbx: Fortran tools for manipulating CIFS

H. J. Bernstein and S. R. Hall

Abstract

CIFtbx is a Fortran function library for programmers developing CIF applications or adapting existing Fortran applications to work with CIF. The chapter documents the use of CIFtbx, describing the availability of functions, subroutines and variables to:

Commands are described by function; each section lists type, argument list and return values, and supplies a concise description of the purpose of the command or variable. There is a description of the mechanism for handling data-name aliases, and a description of the source file contents. Sample programs are supplied to illustrate the use of the library. Error messages are documented.

A section on internals and programming style instructs the less experienced programmer in techniques of memory management, value passing, file management and other details that are possibly not obvious to programmers with particular experience in numerical computation.

References

Bernstein, F. C. & Bernstein, H. J. (1996). Translating mmCIF data into PDB entries. Acta Cryst. A52 (Suppl.), C-576. Software available at http://www.bernstein-plus-sons.com/software/cif2pdb.

Bernstein, H. J. (1997). cif2cif. CIF copy program. Bernstein + Sons, Bellport, NY, USA. Included in http://www.bernstein-plus-sons.com/software/ciftbx.

Bernstein, H. J., Bernstein, F. C. & Bourne, P. E. (1998). CIF applications. VIII. pdb2cif: translating PDB entries into mmCIF format. J. Appl. Cryst. 31, 282-295. Software available at http://www.bernstein-plus-sons.com/software/pdb2cif.

Bernstein, H. J. & Hall, S. R. (1998). CIF applications. VII. CYCLOPS2: extending the validation of CIF data names. J. Appl. Cryst. 31, 278-281. Software available at http://www.bernstein-plus-sons.com/software/ciftbx/cyclops.src.

Bray, T., Paoli, J. & Sperberg-McQueen, C. (1998). Extensible Markup Language (XML). W3C Recommendation 10-February-1998. http://www.w3.org/TR/1998/REC-xml-19980210.

Hall, S. R. (1993a). CIF applications. II. CIFIO: for CIF input/output in the Xtal system. J. Appl. Cryst. 26, 474-479.

Hall, S. R. (1993b). CIF applications. IV. CIFtbx: a tool box for manipulating CIFs. J. Appl. Cryst. 26, 482-494.

Hall, S. R. & Bernstein, H. J. (1996). CIF applications. V. CIFtbx2: extended tool box for manipulating CIFs. J. Appl. Cryst. 29, 598-603.

Keller, P. A. (1996). A mmCIF toolbox for CCP4 applications. Acta Cryst. A52 (Suppl.), C-576.

Murray-Rust, P. & Rzepa, H. (1999). Chemical markup, XML and the Worldwide Web, Part I: Basic principles. J. Chem. Inf . Comput. Sci. 39, 928-942.