GEMMI - GEneral MacroMolecular I/OΒΆ

Gemmi is a library developed primarily for use in macromolecular crystallography (MX) programs. For working with:

  • macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files),
  • refinement restraints (CIF files),
  • reflection data (MTZ and mmCIF formats).
  • data on a 3D grid (electron density maps, masks, MRC/CCP4 format)
  • crystallographic symmetry.

Parts of this library can be useful in structural bioinformatics (for symmetry-aware analysis of protein models), and in other molecular-structure sciences that use CIF files (we have the fastest open-source CIF parser).

Gemmi is open-source (MPL) and portable (Linux, Windows, MacOS). It is written in C++11, with Python (2 and 3) bindings, and with partial C and Fortran 2003 interface. A WebAssembly (and perhaps also JavaScript) port is under consideration.

Gemmi is a joint project of Global Phasing Ltd and CCP4.

Source code repository:


As of 2019 the library is under intensive development and not everything is documented yet. Just ask questions.