International Tables for Crystallography (2026). Vol. G. Early view chapter
https://doi.org/10.1107/97809553602060001024

Chapter 5.1. General considerations in programming CIF applications

Contents

  • General considerations in programming CIF applications | html | pdf | chapter contents |
    • 5.1.1. Introduction| html | pdf |
    • 5.1.2. Flavours of CIF| html | pdf |
      • 5.1.2.1. Syntax (CIF 1 versus CIF 2)| html | pdf |
        • 5.1.2.1.1. Converting CIF 1.1 to CIF 2.0| html | pdf |
        • 5.1.2.1.2. Converting CIF 2.0 to CIF 1.1| html | pdf |
    • 5.1.3. Dictionary usage| html | pdf |
      • 5.1.3.1. Managing dictionary updates| html | pdf |
      • 5.1.3.2. Evaluation of methods| html | pdf |
      • 5.1.3.3. Locating the relevant CIF dictionaries| html | pdf |
    • 5.1.4. Strategies and considerations in designing a CIF-aware application| html | pdf |
      • 5.1.4.1. Working with filter utilities| html | pdf |
      • 5.1.4.2. Using existing CIF libraries and APIs| html | pdf |
      • 5.1.4.3. Creating a CIF-aware application from scratch| html | pdf |
        • 5.1.4.3.1. Useful libraries and APIs for application writing| html | pdf |
        • 5.1.4.3.2. Character encoding| html | pdf |
        • 5.1.4.3.3. Handling alternative data names| html | pdf |
        • 5.1.4.3.4. Handling deprecated data items| html | pdf |
        • 5.1.4.3.5. Writing CIF output| html | pdf |
        • 5.1.4.3.6. Multi-block CIF files| html | pdf |
        • 5.1.4.3.7. Recording data provenance and dictionary conformance| html | pdf |
    • 5.1.5. Concluding remarks| html | pdf |
    • References | html | pdf |
    • Figures
      • Fig. 5.1.4.1. Example of using filters to make a PDB-aware application CIF-aware| html | pdf |
      • Fig. 5.1.4.2. Using QUASAR or cif2cif to reorder CIF data for an order-dependent application or filter| html | pdf |
      • Fig. 5.1.4.3. Typical data flow of a generic CIF-aware API| html | pdf |