Health warning

I'm making this code available in the hope of some useful feedback. However, it is still under development, and probably won't work for you.


  1. core CCIF library
    This is a set of low level C routines written by Peter Keller, which provide a toolbox for mmCIF applications. The role of this library is to perform the lexical and syntactical analysis of mmCIF files, and maintain the contents of the file as a data structure that can be accessed easily by application programs. It has, however, no knowledge of the meaning of the mmCIF data items (the semantics).
  2. cciflib.f, cciflib.fh
    This is to be the intermediate library between Peter's core CCIF library and the CCP4 application programs. Its role is to interpret the mmCIF data items, and to provide functionality for common crystallographic tasks. It is effectively a replacement for rwbrook.f and will be compiled into libccp4.


These are CCP4 programs I have converted to use cciflib.f This is mainly for the purposes of experimentation, and is not necessarily how these programs will end up.
  1. act_cif.f
    An example of reading and analysing an mmCIF file.
  2. vectors_cif.f
    An example of writing a new mmCIF file.
  3. peakmax_cif.f
    Another example of writing a new mmCIF file.
  4. baverage_cif.f
    An example of reading an mmCIF file, and writing another file with the value of some data items (namely the isotropic B factors) changed. In this case, XYZOUT is copied from XYZIN, and then data items are updated where necessary.
  5. gensym_cif.f
    An example of reading an mmCIF file, and writing a substantially different file. Here, XYZOUT is written from scratch, albeit using information obtained from XYZIN.
  6. cifutil.f
    An approximate equivalent to pdbset (just started!)

Conversion utilities

  1. pdb2cif.f, pdb2cif.fh
    Utility for converting PDB files to CCIF files, and vice versa. An additional file (logical name CIFEXTS) is created by CCIF -> PDB to hold lost information, and can be used by PDB -> CCIF.

 Back to mmCIF page...