International Tables for Crystallography
Volume G: Definition and exchange of crystallographic data
Second online edition (2026) ISBN: 978-1-3944-4588-2 doi: 10.1107/97809553602060000119
Edited by J. R. Hester and B. McMahon
Early view chapters
- Setting the scene
- How to navigate this volume| html | pdf | chapter contents |
- 1.1.1. Introduction| html | pdf |
- 1.1.2. The general reader| html | pdf |
- 1.1.3. The structural scientist| html | pdf |
- 1.1.4. The software developer| html | pdf |
- 1.1.4.1. Refinement or data processing packages| html | pdf |
- 1.1.4.2. General utility programs| html | pdf |
- 1.1.4.3. System developer| html | pdf |
- 1.1.5. The database manager| html | pdf |
- 1.1.6. The non-crystallographer| html | pdf |
- 1.1.7. The dictionary developer| html | pdf |
- References
| html | pdf |
- Specifications
- Specification of the Crystallographic Information Framework format (CIF format)| html | pdf | chapter contents |
- 2.2.1. Introduction| html | pdf |
- 2.2.2. Data model and terminology| html | pdf |
- 2.2.2.1. Case insensitivity| html | pdf |
- 2.2.3. CIF syntax| html | pdf |
- 2.2.3.1. CIF 1.1 syntax| html | pdf |
- 2.2.3.1.1. CIF 1.1 character set| html | pdf |
- 2.2.3.1.2. Inline text| html | pdf |
- 2.2.3.1.3. White space and comments| html | pdf |
- 2.2.3.1.4. Reserved character sequences| html | pdf |
- 2.2.3.1.5. Data values| html | pdf |
- 2.2.3.1.6. Data names| html | pdf |
- 2.2.3.1.7. Data items| html | pdf |
- 2.2.3.1.8. Data blocks and save frames| html | pdf |
- 2.2.3.1.9. CIF 1.1 file| html | pdf |
- 2.2.3.1.10. Comparison with STAR 1.0| html | pdf |
- 2.2.3.1.11. Complete formal grammar| html | pdf |
- 2.2.3.2. CIF 2.0 syntax| html | pdf |
- 2.2.3.2.1. CIF 2.0 character set| html | pdf |
- 2.2.3.2.2. White space and comments| html | pdf |
- 2.2.3.2.3. Reserved character sequences| html | pdf |
- 2.2.3.2.4. Simple data values| html | pdf |
- 2.2.3.2.5. Compound data values| html | pdf |
- 2.2.3.2.6. Data names| html | pdf |
- 2.2.3.2.7. Data items| html | pdf |
- 2.2.3.2.8. Data blocks and save frames| html | pdf |
- 2.2.3.2.9. CIF 2.0 file| html | pdf |
- 2.2.3.2.10. Comparison with STAR 2.0| html | pdf |
- 2.2.3.2.11. Complete formal grammar| html | pdf |
- 2.2.3.3. Differences between CIF 1.1 and CIF 2.0| html | pdf |
- 2.2.3.3.1. Version code| html | pdf |
- 2.2.3.3.2. Character set and encoding| html | pdf |
- 2.2.3.3.3. White space and line termination| html | pdf |
- 2.2.3.3.4. Identifiers| html | pdf |
- 2.2.3.3.5. Data values| html | pdf |
- 2.2.4. CIF semantics| html | pdf |
- 2.2.4.1. Data names| html | pdf |
- 2.2.4.2. Data values| html | pdf |
- 2.2.4.2.1. Null values| html | pdf |
- 2.2.4.2.2. Character values| html | pdf |
- 2.2.4.2.3. Numeric values| html | pdf |
- 2.2.4.2.4. Implicit data typing| html | pdf |
- 2.2.4.2.5. Alternative content types| html | pdf |
- 2.2.4.3. Order independence| html | pdf |
- 2.2.5. Considerations for CIF exchange and archiving| html | pdf |
- 2.2.5.1. CIF 1.1 text| html | pdf |
- 2.2.5.2. CIF 2.0 documents| html | pdf |
- References
| html | pdf |
- Figures
- Tables
- Table 2.2.3.1. EBNF summary| html | pdf |
- Table 2.2.3.2. Complete formal grammar for CIF 1.1| html | pdf |
- Table 2.2.3.3. Complete formal grammar for CIF 2.0| html | pdf |
- Table 2.2.4.1. Mapping from CIF syntax to data values| html | pdf |
- dREL: an embedded dictionary algorithm language| html | pdf | chapter contents |
- 2.5.1. Introduction| html | pdf |
- 2.5.2. dREL concepts| html | pdf |
- 2.5.2.1. The dREL execution context| html | pdf |
- 2.5.2.2. Category objects| html | pdf |
- 2.5.2.3. dREL in the DDLm context| html | pdf |
- 2.5.2.3.1. dREL for evaluation| html | pdf |
- 2.5.2.3.2. dREL for altering definitions| html | pdf |
- 2.5.2.3.3. dREL in category definitions| html | pdf |
- 2.5.2.4. Primitive data types| html | pdf |
- 2.5.2.4.1. Type promotion| html | pdf |
- 2.5.2.4.2. Computations with missing and null values| html | pdf |
- 2.5.2.5. Container data types| html | pdf |
- 2.5.2.6. Scoping| html | pdf |
- 2.5.2.7. Errors| html | pdf |
- 2.5.3. dREL syntax and semantics| html | pdf |
- 2.5.3.1. Annotated grammar| html | pdf |
- 2.5.3.1.1. Comments| html | pdf |
- 2.5.3.1.2. White space| html | pdf |
- 2.5.3.1.3. Delimiters| html | pdf |
- 2.5.3.1.4. Keywords| html | pdf |
- 2.5.3.1.5. Arithmetic operators| html | pdf |
- 2.5.3.1.6. Logical operators| html | pdf |
- 2.5.3.1.7. Bitwise operators| html | pdf |
- 2.5.3.1.8. Relational operators| html | pdf |
- 2.5.3.1.9. Assignment operators| html | pdf |
- 2.5.3.1.10. Literals| html | pdf |
- 2.5.3.1.11. Identifiers| html | pdf |
- 2.5.3.1.12. Enclosures| html | pdf |
- 2.5.3.1.13. Expressions| html | pdf |
- 2.5.3.1.14. Operators| html | pdf |
- 2.5.3.1.15. Statements| html | pdf |
- 2.5.3.1.16. Compound statements| html | pdf |
- 2.5.3.2. Built-in functions and constants| html | pdf |
- 2.5.4. dREL for validation| html | pdf |
- 2.5.5. Historical notes| html | pdf |
- References
| html | pdf |
- Figures
- Tables
- Table 2.5.2.1. Correspondence between DDLm and dREL primitive types| html | pdf |
- Table 2.5.2.2. dREL container types| html | pdf |
- Table 2.5.3.1. Built-in dREL functions| html | pdf |
- Alternative syntaxes| html | pdf | chapter contents |
- 2.6.1. Introduction| html | pdf |
- 2.6.2. Representing CIF data in JSON format| html | pdf |
- 2.6.2.1. Overview of JSON| html | pdf |
- 2.6.2.2. Mapping CIF data to JSON| html | pdf |
- 2.6.2.2.1. General considerations| html | pdf |
- 2.6.2.2.2. Mapping data values| html | pdf |
- 2.6.2.2.3. Mapping data items and loops| html | pdf |
- 2.6.2.2.4. Mapping high-level structure| html | pdf |
- 2.6.2.2.5. JSON Schema| html | pdf |
- 2.6.2.2.6. Comments and recommendations| html | pdf |
- 2.6.3. Data interchange in structural biology| html | pdf |
- 2.6.3.1. PDBML: an XML schema for the PDBx/mmCIF and extension dictionaries| html | pdf |
- 2.6.3.2. mmJSON: supplying a typed data structure to web browsers| html | pdf |
- 2.6.3.3. BinaryCIF: efficient serialization| html | pdf |
- 2.6.3.4. Legacy and informal formats| html | pdf |
- 2.6.4. Other database and interoperability implementations| html | pdf |
- References
| html | pdf |
- Figures
- NeXus HDF5 format for crystallography| html | pdf | chapter contents |
- 2.7.1. Introduction| html | pdf |
- 2.7.1.1. The HDF5 file structure| html | pdf |
- 2.7.1.2. NeXus overview| html | pdf |
- 2.7.1.3. Flexibility, contracts and community feedback| html | pdf |
- 2.7.1.4. The NeXus International Advisory Committee| html | pdf |
- 2.7.2. NXmx overview| html | pdf |
- 2.7.2.1. The data| html | pdf |
- 2.7.2.2. Transformations| html | pdf |
- 2.7.2.3. The detector| html | pdf |
- 2.7.2.3.1. Single-panel detectors| html | pdf |
- 2.7.2.3.2. Multi-panel detectors| html | pdf |
- 2.7.2.3.3. A note on beam centres| html | pdf |
- 2.7.2.3.4. Multiple detectors| html | pdf |
- 2.7.2.4. The goniometer| html | pdf |
- 2.7.2.5. The beam| html | pdf |
- 2.7.2.6. Relationship between NeXus and imgCIF| html | pdf |
- 2.7.2.7. The NeXus coordinate system| html | pdf |
- 2.7.3. Available software| html | pdf |
- 2.7.4. Concluding remarks| html | pdf |
- A2.7.1. | html | pdf |
- A2.7.1.1. Background| html | pdf |
- A2.7.1.2. General mapping issues| html | pdf |
- A2.7.1.3. Mapping from imgCIF to NeXus| html | pdf |
- A2.7.1.4. The NeXus structure into which to map| html | pdf |
- A2.7.1.5. Mapping from NeXus to imgCIF| html | pdf |
- A2.7.1.6. The imgCIF to NeXus mappings| html | pdf |
- References
| html | pdf |
- Figures
- CIF data definitions
- Classification and use of twinning data| html | pdf | chapter contents |
- 3.5.1. Introduction| html | pdf |
- 3.5.2. TLS and TLQS twins| html | pdf |
- 3.5.2.1. Twin by merohedry| html | pdf |
- 3.5.2.2. Twin by reticular merohedry| html | pdf |
- 3.5.2.3. Twin by pseudo-merohedry| html | pdf |
- 3.5.2.4. Twin by reticular pseudo-merohedry| html | pdf |
- 3.5.2.5. Twin by non-merohedry| html | pdf |
- 3.5.3. Twin dictionary design| html | pdf |
- 3.5.4. Twin dictionary examples| html | pdf |
- 3.5.4.1. Twin dictionary example for twinning by merohedry| html | pdf |
- 3.5.4.2. Twin dictionary example for twin by non-merohedry| html | pdf |
- 3.5.5. Future developments| html | pdf |
- References
| html | pdf |
- Figures
- Tables
- Table 3.5.1.1. Frequency of twin-related terms in the Cambridge Structural Database| html | pdf |
- Classification and use of macromolecular data| html | pdf | chapter contents |
Paula M. D. Fitzgerald, John D. Westbrook, Phillip E. Bourne, Brian McMahon, Keith D. Watenpaugh, Helen M. Berman, Ezra Peisach, Kyle L. Morris, Jeffrey C. Hoch, Genji Kurisu, Sameer Velankar and Stephen K. Burley
- Software
- End-user applications| html | pdf | chapter contents |
- 5.6.1. Introduction| html | pdf |
- 5.6.2. publCIF| html | pdf |
- 5.6.2.1. Editing functionality| html | pdf |
- 5.6.2.2. Data integrity| html | pdf |
- 5.6.2.3. Use as a general-purpose tool| html | pdf |
- 5.6.2.4. Implementation, development and availability| html | pdf |
- 5.6.3. enCIFer and Mercury| html | pdf |
- 5.6.3.1. Structure visualization| html | pdf |
- 5.6.3.2. Editing, interpretation and chemical model building| html | pdf |
- 5.6.3.3. Implementation and availability| html | pdf |
- 5.6.4. FinalCIF| html | pdf |
- 5.6.4.1. Editing of data| html | pdf |
- 5.6.4.2. Using templates| html | pdf |
- 5.6.4.3. Saving data| html | pdf |
- 5.6.4.4. Validation| html | pdf |
- 5.6.4.5. Data import| html | pdf |
- 5.6.4.6. CIF deposition| html | pdf |
- 5.6.4.7. Implementation| html | pdf |
- 5.6.5. Jmol and JSmol| html | pdf |
- 5.6.5.1. Loading CIF data| html | pdf |
- 5.6.5.2. Working with structured CIF data and metadata| html | pdf |
- 5.6.5.3. Working with CIF-based symmetry information| html | pdf |
- 5.6.5.4. Modifying CIF data| html | pdf |
- 5.6.5.5. Exporting CIF data| html | pdf |
- 5.6.5.6. Downloading and installing Jmol and JSmol| html | pdf |
- 5.6.5.7. Concluding remarks| html | pdf |
- References
| html | pdf |
- Figures
- Databases
- Chemical crystallography databases| html | pdf | chapter contents |
Ian J. Bruno, Clare A. Tovee, Suzanna C. Ward, Matthew P. Lightfoot, Saulius Gražulis, Stephan Rühl, Annett Steudel, Silke Rehme, Soorya N. Kabekkodu, Jon Gabirondo-Lopez, Emre S. Tasci and Gotzon Madariaga
- Macromolecular databases| html | pdf | chapter contents |
- 7.2.1. Introduction| html | pdf |
- 7.2.2. Representation of macromolecular structure data| html | pdf |
- 7.2.2.1. PDBx/mmCIF-based representation of macromolecular structure data| html | pdf |
- 7.2.2.2. Supporting other data formats and data delivery methods| html | pdf |
- 7.2.2.3. Extensions of the PDBx/mmCIF dictionary supporting related experimental and computational domains| html | pdf |
- 7.2.3. PDB data-processing system overview| html | pdf |
- 7.2.3.1. OneDep: functional description of the deposition and annotation systems| html | pdf |
- 7.2.3.2. Generalized database support| html | pdf |
- 7.2.4. Access| html | pdf |
- 7.2.5. Interoperability with other resources| html | pdf |
- References
| html | pdf |
- Figures
- Historical material
- Specification of the STAR File| html | pdf | chapter contents |
- 8.2.1. Editorial note| html | pdf |
- 8.2.2. Introduction| html | pdf |
- 8.2.3. Universal data language concepts| html | pdf |
- 8.2.4. The syntax of the STAR File| html | pdf |
- 8.2.4.1. Text string| html | pdf |
- 8.2.4.2. Data name| html | pdf |
- 8.2.4.3. Data value| html | pdf |
- 8.2.4.4. Data item| html | pdf |
- 8.2.4.5. Data loop list| html | pdf |
- 8.2.4.6. Save frame| html | pdf |
- 8.2.4.7. Data block| html | pdf |
- 8.2.4.8. Global block| html | pdf |
- 8.2.4.9. Data sets and scopes| html | pdf |
- 8.2.4.10. Privileged constructs| html | pdf |
- 8.2.4.11. Using stop_ in looped lists/data names| html | pdf |
- 8.2.5. Referencing data| html | pdf |
- References
| html | pdf |
- Figures
- Tables
- Table 8.2.4.1. Characters excluded from white-space-delimited text strings| html | pdf |
- Table 8.2.4.2. Reserved keywords excluded from white-space-delimited text strings| html | pdf |