##############################################################################
#                                                                            #
#  NOTE: This version of the mmCIF Dictionary is a draft being considered    #
#        for approval by the IUCr Committee for the Maintenance of the CIF   #
#        Standard. It is being released to the general community for comment #
#        and criticism. Production software should not rely on any           #
#        features within this draft being available in the future.           #
#                                                                            #
#        The review process is being administered through a discussion on a  #
#        the mmCIF List Server being run out of Rutgers University.          #
#                                                                            # 
#        To subscribe to the mmCIF List Server, send a one line message      #
#        containing the text:                                                #
#                                                                            #
#            subscribe mmciflist Your Name                                   #
#                                                                            #
#        to the email address:                                               #
#                                                                            #
#            requests@ndbserver.rutgers.edu                                  #
#                                                                            #
#        To post to the list, send messages to the email address:            #
#                                                                            #
#            mmciflist@ndbserver.rutgers.edu                                 #
#                                                                            #
#        Please use the list server for all questions, comments, and         #
#        corrections that you may have concerning the draft dictionary.      #
#                                                                            #
#        Should you have a question that you do not feel is appropriate      #
#        for posting to the list, please feel free to contact the Chair      #
#        of the IUCr Working Group on mmCIF, Paula Fitzgerald,               #
#        Merck Research Laboratories, P.O. Box 2000, Ry50-105,               #
#        Rahway, New Jersey, 07065 USA (paula_fitzgerald@merck.com).         #
#                                                                            #
#        Questions concerning the process of review and approval of the      #
#        mmCIF dictionary by the International Union of Crystallography      #
#        should be addressed to the Coordinating Secretary of the IUCr       #
#        Committee for the Maintenance of the CIF Standard, Brian McMahon,   #
#        IUCr, 5 Abbey Square, Chester CH1 2HU, England (bm@iucr.ac.uk).     #
#                                                                            #
##############################################################################
#                                                                            #
#                       Macromolecular CIF Dictionary                        #
#                                                                            #
#          Paula Fitzgerald, Helen Berman, Phil Bourne, Brian McMahon,       #
#                       Keith Watenpaugh, John Westbrook                     #
#                                                                            #
#                          Version of 1997-01-31                             #
#                                                                            #
#           Copyright International Union of Crystallography, 1997           #
#                                                                            #
##############################################################################
#                                                                            #
#        This dictionary is compliant with DDL v2.1. As such, it looks       #
#        substantially different from the previously approved and released   #
#        versions of the CIF core dictionary. This dictionary contains all   #
#        data items that were present in the CIF core dictionary. To those   #
#        data items have been added the large number of data items needed to #
#        describe the macromolecular crystallographic experiment and its     #
#        results.                                                            #
#                                                                            #
##############################################################################
#                                                                            #
#        Resources for understanding this dictionary and the mmCIF data      #
#        structure:                                                          #
#                                                                            #
#        Data Description Language (DDL) v2.1:                               #
#                  http://ndbserver.rutgers.edu/NDB/DDL                      #
#        mmCIF Dictionary:                                                   #
#                  http://ndbserver.rutgers.edu/NDB/mmcif                    #
#        mmCIF tutorial:                                                     #
#                  http://ndbserver.rutgers.edu/NDB/mmcif/background         #
#        example files:                                                      #
#                  http://ndbserver.rutgers.edu/NDB/mmcif/examples           #
#                                                                            #
##############################################################################
#                                                                            #
# For some data items, a standard syntax is assumed. The syntax is           #
#   described for each data item in the dictionary, but is summarized here:  #
#                                                                            #
#   Names:     The family name(s) followed by a comma, precedes the first    #
#              name(s) or initial(s).                                        #
#                                                                            #
#   Telephone numbers:                                                       #
#              The international code is given in brackets and any extension #
#              number is preceded by 'ext'.                                  #
#                                                                            #
#   Dates:     In the form yyyy-mm-dd.                                       #
#                                                                            #
##############################################################################

data_cif_mm.dic

    _dictionary.title           cif_mm.dic
    _dictionary.version         0.9.01
    _dictionary.datablock_id    cif_mm.dic

##################
## SUB_CATEGORY ##
##################

     loop_
    _sub_category.id
    _sub_category.description
              'cartesian_coordinate'
;              The collection of x, y, and z components of a position specified
               with references to a Cartesian (orthogonal angstrom) coordinate
               system.
;
              'cartesian_coordinate_esd'
;              The collection of estimated standard deviations of the x, y, and
               z components of a position specified with references to a
               Cartesian (orthogonal angstrom) coordinate system.
;
              'fractional_coordinate'
;              The collection of x, y, and z components of a position specified
               with references to unit cell directions.
;
              'fractional_coordinate_esd'
;              The collection of estimated standard deviations of the x, y, and
               z components of a position specified with references to unit cell
               directions.
;
              'matrix'
;              The collection of elements of a matrix.
;
               miller_index
;              The collection of h, k, and l components of a the Miller index of
               a reflection.
;
              'cell_length'
;              The collection of a, b, and c axis lengths of a unit cell.
;
              'cell_length_esd'
;              The collection of estimated standard deviations of the a, b, and
               c axis lengths of a unit cell.
;
              'cell_angle'
;              The collection of alpha, beta, and gamma angles of a unit cell.
;
              'cell_angle_esd'
;              The collection of estimated standard deviations of the alpha,
               beta, and gamma angles of a unit cell.
;
              'mm_atom_site_auth_label'
;              The collection of asym id, atom id, comp id and seq id
               components of an author's alternative specification for 
               a macromolecular atom site.
;
              'mm_atom_site_label'
;              The collection of alt id, asym id, atom id, comp id and seq id
               components of the label for a macromolecular atom site.
;
              'vector'
;              The collection of elements of a vector.
;

#########################
## CATEGORY_GROUP_LIST ##
#########################

     loop_
    _category_group_list.id
    _category_group_list.parent_id
    _category_group_list.description
              'inclusive_group'   .
;              Categories that belong to the macromolecular dictionary.
;
              'atom_group'
              'inclusive_group'
;              Categories that describe the properties of atoms.
;
              'audit_group'
              'inclusive_group'
;              Categories that describe dictionary maintenance and
               identification.
;
              'cell_group'
              'inclusive_group'
;              Categories that describe the unit cell.
;
              'chemical_group'
              'inclusive_group'
;              Categories that describe chemical properties and nomenclature.
;
              'chem_comp_group'
              'inclusive_group'
;              Categories that describe components of chemical structure.
;
              'chem_link_group'
              'inclusive_group'
;              Categories that describe linkages between components of
               chemical structure.
;
              'citation_group'
              'inclusive_group'
;              Categories that provide bibliographic references.
;
              'computing_group'
              'inclusive_group'
;              Categories that describe the computational details of the
               experiment.
;
              'compliance_group'
              'inclusive_group'
;              Categories that are included in this dictionary specifically to
               comply with previous dictionaries.
;
              'database_group'
              'inclusive_group'
;              Categories that hold references to other databases with related
               information.
;
              'diffrn_group'
              'inclusive_group'
;              Categories that describe details of the diffraction experiment.
;
              'entity_group'
              'inclusive_group'
;              Categories that describe chemical entities.
;
              'entry_group'
              'inclusive_group'
;              Categories that pertain to the entire data block.
;
              'exptl_group'
              'inclusive_group'
;              Categories which hold details of the experimental conditions.
;
              'geom_group'
              'inclusive_group'
;              Categories which hold internal coordinates.
;
              'iucr_group'
              'inclusive_group'
;              Categories which are used for internal processing and
               manuscript submission by the International Union of
               Crystallography staff.
;
              'pdb_group'
              'inclusive_group'
;              Categories which pertain to the file format or data processing
               codes used by the Brookhaven Protein Data Bank.
;
              'phasing_group'
              'inclusive_group'
;              Categories that describe phasing.
;
              'refine_group'
              'inclusive_group'
;              Categories that describe refinement.
;
              'refln_group'
              'inclusive_group'
;              Categories that describe the details of reflection measurements.
;
              'struct_group'
              'inclusive_group'
;              Categories that contain details about the crystallographic
               structure.
;
              'symmetry_group'
              'inclusive_group'
;              Categories that describe symmetry information.
;

###############
## ATOM_SITE ##
###############

save_ATOM_SITE
    _category.description
;              Data items in the ATOM_SITE category record details about
               the atom sites in a macromolecular crystal structure, such as
               the positional coordinates, atomic displacement parameters,
               magnetic moments and directions, and so on.

               The data items for describing anisotropic temperature or thermal
               displacement factors are only used if the corresponding items
               are not given in the ATOM_SITE_ANISOTROP category.
;
    _category.id                  atom_site
    _category.mandatory_code      no
    _category_key.name          '_atom_site.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _atom_site.group_PDB
    _atom_site.type_symbol
    _atom_site.label_atom_id
    _atom_site.label_comp_id
    _atom_site.label_asym_id
    _atom_site.label_seq_id
    _atom_site.label_alt_id
    _atom_site.Cartn_x
    _atom_site.Cartn_y
    _atom_site.Cartn_z
    _atom_site.occupancy
    _atom_site.B_iso_or_equiv
    _atom_site.footnote_id
    _atom_site.auth_seq_id
    _atom_site.id
    ATOM N  N   VAL  A  11  .  25.369  30.691  11.795  1.00  17.93  .  11   1
    ATOM C  CA  VAL  A  11  .  25.970  31.965  12.332  1.00  17.75  .  11   2
    ATOM C  C   VAL  A  11  .  25.569  32.010  13.808  1.00  17.83  .  11   3
    ATOM O  O   VAL  A  11  .  24.735  31.190  14.167  1.00  17.53  .  11   4
    ATOM C  CB  VAL  A  11  .  25.379  33.146  11.540  1.00  17.66  .  11   5
    ATOM C  CG1 VAL  A  11  .  25.584  33.034  10.030  1.00  18.86  .  11   6
    ATOM C  CG2 VAL  A  11  .  23.933  33.309  11.872  1.00  17.12  .  11   7
    ATOM N  N   THR  A  12  .  26.095  32.930  14.590  1.00  18.97  4  12   8
    ATOM C  CA  THR  A  12  .  25.734  32.995  16.032  1.00  19.80  4  12   9
    ATOM C  C   THR  A  12  .  24.695  34.106  16.113  1.00  20.92  4  12  10
    ATOM O  O   THR  A  12  .  24.869  35.118  15.421  1.00  21.84  4  12  11
    ATOM C  CB  THR  A  12  .  26.911  33.346  17.018  1.00  20.51  4  12  12
    ATOM O  OG1 THR  A  12  3  27.946  33.921  16.183  0.50  20.29  4  12  13
    ATOM O  OG1 THR  A  12  4  27.769  32.142  17.103  0.50  20.59  4  12  14
    ATOM C  CG2 THR  A  12  3  27.418  32.181  17.878  0.50  20.47  4  12  15
    ATOM C  CG2 THR  A  12  4  26.489  33.778  18.426  0.50  20.00  4  12  16
    ATOM N  N   ILE  A  13  .  23.664  33.855  16.884  1.00  22.08  .  13  17
    ATOM C  CA  ILE  A  13  .  22.623  34.850  17.093  1.00  23.44  .  13  18
    ATOM C  C   ILE  A  13  .  22.657  35.113  18.610  1.00  25.77  .  13  19
    ATOM O  O   ILE  A  13  .  23.123  34.250  19.406  1.00  26.28  .  13  20
    ATOM C  CB  ILE  A  13  .  21.236  34.463  16.492  1.00  22.67  .  13  21
    ATOM C  CG1 ILE  A  13  .  20.478  33.469  17.371  1.00  22.14  .  13  22
    ATOM C  CG2 ILE  A  13  .  21.357  33.986  15.016  1.00  21.75  .  13  23
    # - - - - data truncated for brevity - - - -
    HETATM C C1 APS  C   .  1   4.171  29.012   7.116  0.58  17.27  1 300  101
    HETATM C C2 APS  C   .  1   4.949  27.758   6.793  0.58  16.95  1 300  102
    HETATM O O3 APS  C   .  1   4.800  26.678   7.393  0.58  16.85  1 300  103
    HETATM N N4 APS  C   .  1   5.930  27.841   5.869  0.58  16.43  1 300  104
    # - - - - data truncated for brevity - - - -
;
     save_

save__atom_site.aniso_B[1][1]
    _item_description.description
;              The [1][1] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.aniso_B[1][1]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[1][1]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[1][1]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][1]'
                                  conversion_constant
                                '_atom_site.aniso_U[1][1]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][1]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][1]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[1][1]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_B[1][1].
;
    _item.name                  '_atom_site.aniso_B[1][1]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[1][1]'
                                  associated_value
                                '_atom_site.aniso_U[1][1]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][1]_esd'
                                  conversion_constant
                                '_atom_site.aniso_U[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][1]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[1][2]
    _item_description.description
;              The [1][2] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.aniso_B[1][2]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[1][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[1][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][2]'
                                  conversion_constant
                                '_atom_site.aniso_U[1][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][2]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[1][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_B[1][2].
;
    _item.name                  '_atom_site.aniso_B[1][2]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[1][2]'
                                  associated_value
                                '_atom_site.aniso_U[1][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_U[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[1][3]
    _item_description.description
;              The [1][3] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.aniso_B[1][3]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[1][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[1][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][3]'
                                  conversion_constant
                                '_atom_site.aniso_U[1][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[1][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_B[1][3].
;
    _item.name                  '_atom_site.aniso_B[1][3]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[1][3]'
                                  associated_value
                                '_atom_site.aniso_U[1][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_U[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[2][2]
    _item_description.description
;              The [2][2] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.aniso_B[2][2]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[2][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[2][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][2]'
                                  conversion_constant
                                '_atom_site.aniso_U[2][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][2]'
                                  alternate_exclusive
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[2][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_B[2][2].
;
    _item.name                  '_atom_site.aniso_B[2][2]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[2][2]'
                                  associated_value
                                '_atom_site.aniso_U[2][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_U[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[2][3]
    _item_description.description
;              The [2][3] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.aniso_B[2][3]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[2][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[2][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][3]'
                                  conversion_constant
                                '_atom_site.aniso_U[2][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[2][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_B[2][3].
;
    _item.name                  '_atom_site.aniso_B[2][3]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[2][3]'
                                  associated_value
                                '_atom_site.aniso_U[2][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_U[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[3][3]
    _item_description.description
;              The [3][3] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.aniso_B[3][3]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[3][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[3][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[3][3]'
                                  conversion_constant
                                '_atom_site.aniso_U[3][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[3][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[3][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_B[3][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_B[3][3].
;
    _item.name                  '_atom_site.aniso_B[3][3]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_B[3][3]'
                                  associated_value
                                '_atom_site.aniso_U[3][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[3][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_U[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[3][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.aniso_ratio
    _item_description.description
;              Ratio of the maximum to minimum principal axes of
               displacement (thermal) ellipsoids.
;
    _item.name                  '_atom_site.aniso_ratio'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_related.related_name  '_atom_site_anisotrop.ratio'
    _item_related.function_code   alternate_exclusive
     loop_
    _item_range.maximum           
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_type.code               float
     save_

save__atom_site.aniso_U[1][1]
    _item_description.description
;              The [1][1] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site.aniso_U[1][1]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[1][1]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[1][1]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][1]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][1]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][1]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][1]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[1][1]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_U[1][1].
;
    _item.name                  '_atom_site.aniso_U[1][1]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[1][1]'
                                  associated_value
                                '_atom_site.aniso_B[1][1]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][1]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][1]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[1][2]
    _item_description.description
;              The [1][2] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site.aniso_U[1][2]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[1][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[1][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][2]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][2]'
                                  alternate_exclusive
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[1][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_U[1][2].
;
    _item.name                  '_atom_site.aniso_U[1][2]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[1][2]'
                                  associated_value
                                '_atom_site.aniso_B[1][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[1][3]
    _item_description.description
;              The [1][3] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site.aniso_U[1][3]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[1][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[1][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[1][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_U[1][3].
;
    _item.name                  '_atom_site.aniso_U[1][3]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[1][3]'
                                  associated_value
                                '_atom_site.aniso_B[1][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[2][2]
    _item_description.description
;              The [2][2] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site.aniso_U[2][2]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[2][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[2][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][2]'
                                  conversion_constant
                                '_atom_site.aniso_B[2][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][2]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[2][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_U[2][2].
;
    _item.name                  '_atom_site.aniso_U[2][2]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[2][2]'
                                  associated_value
                                '_atom_site.aniso_B[2][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[2][3]
    _item_description.description
;              The [2][3] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site.aniso_U[2][3]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[2][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[2][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[2][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[2][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_U[2][3].
;
    _item.name                  '_atom_site.aniso_U[2][3]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[2][3]'
                                  associated_value
                                '_atom_site.aniso_B[2][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[3][3]
    _item_description.description
;              The [3][3] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site.aniso_U[3][3]'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[3][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[3][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[3][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[3][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[3][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[3][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.aniso_U[3][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.aniso_U[3][3].
;
    _item.name                  '_atom_site.aniso_U[3][3]_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.aniso_U[3][3]'
                                  associated_value
                                '_atom_site.aniso_B[3][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[3][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[3][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.attached_hydrogens
    _item_description.description
;              The number of hydrogen atoms attached to the atom at this site
               excluding any H atoms for which coordinates (measured or
               calculated) are given.
;
    _item.name                  '_atom_site.attached_hydrogens'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_attached_hydrogens'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0
     loop_
    _item_range.maximum           
    _item_range.minimum           4   4
                                  4   0
                                  0   0
    _item_type.code               int
     loop_
    _item_examples.case
    _item_examples.detail         2  'water oxygen'
                                  1  'hydroxyl oxygen'
                                  4  'ammonium nitrogen'
     save_

save__atom_site.auth_asym_id
    _item_description.description
;              An alternative identifier for _atom_site.label_asym_id that
               may be provided by an author in order to match the identification
               used in the publication that describes the structure.
;
     loop_
    _item.name                  
    _item.category_id
    _item.mandatory_code         
       '_atom_site.auth_asym_id'                     atom_site           no
       '_geom_angle.atom_site_auth_asym_id_1'        geom_angle          no
       '_geom_angle.atom_site_auth_asym_id_2'        geom_angle          no
       '_geom_angle.atom_site_auth_asym_id_3'        geom_angle          no
       '_geom_bond.atom_site_auth_asym_id_1'         geom_bond           no
       '_geom_bond.atom_site_auth_asym_id_2'         geom_bond           no
       '_geom_contact.atom_site_auth_asym_id_1'      geom_contact        no
       '_geom_contact.atom_site_auth_asym_id_2'      geom_contact        no
       '_geom_hbond.atom_site_auth_asym_id_A'        geom_hbond          no
       '_geom_hbond.atom_site_auth_asym_id_D'        geom_hbond          no
       '_geom_hbond.atom_site_auth_asym_id_H'        geom_hbond          no
       '_geom_torsion.atom_site_auth_asym_id_1'      geom_torsion        no
       '_geom_torsion.atom_site_auth_asym_id_2'      geom_torsion        no
       '_geom_torsion.atom_site_auth_asym_id_3'      geom_torsion        no
       '_geom_torsion.atom_site_auth_asym_id_4'      geom_torsion        no
       '_struct_conf.beg_auth_asym_id'               struct_conf         no
       '_struct_conf.end_auth_asym_id'               struct_conf         no
       '_struct_conn.ptnr1_auth_asym_id'             struct_conn         no
       '_struct_conn.ptnr2_auth_asym_id'             struct_conn         no
       '_struct_mon_nucl.auth_asym_id'               struct_mon_nucl     no
       '_struct_mon_prot.auth_asym_id'               struct_mon_prot     no
       '_struct_mon_prot_cis.auth_asym_id'           struct_mon_prot_cis no
       '_struct_ncs_dom_lim.beg_auth_asym_id'        struct_ncs_dom_lim  no
       '_struct_ncs_dom_lim.end_auth_asym_id'        struct_ncs_dom_lim  no
       '_struct_sheet_range.beg_auth_asym_id'        struct_sheet_range  no
       '_struct_sheet_range.end_auth_asym_id'        struct_sheet_range  no
       '_struct_site_gen.auth_asym_id'               struct_site_gen     no
     loop_
    _item_linked.child_name
    _item_linked.parent_name
       '_geom_angle.atom_site_auth_asym_id_1'         '_atom_site.auth_asym_id'
       '_geom_angle.atom_site_auth_asym_id_2'         '_atom_site.auth_asym_id'
       '_geom_angle.atom_site_auth_asym_id_3'         '_atom_site.auth_asym_id'
       '_geom_bond.atom_site_auth_asym_id_1'          '_atom_site.auth_asym_id'
       '_geom_bond.atom_site_auth_asym_id_2'          '_atom_site.auth_asym_id'
       '_geom_contact.atom_site_auth_asym_id_1'       '_atom_site.auth_asym_id'
       '_geom_contact.atom_site_auth_asym_id_2'       '_atom_site.auth_asym_id'
       '_geom_hbond.atom_site_auth_asym_id_A'         '_atom_site.auth_asym_id'
       '_geom_hbond.atom_site_auth_asym_id_D'         '_atom_site.auth_asym_id'
       '_geom_hbond.atom_site_auth_asym_id_H'         '_atom_site.auth_asym_id'
       '_geom_torsion.atom_site_auth_asym_id_1'       '_atom_site.auth_asym_id'
       '_geom_torsion.atom_site_auth_asym_id_2'       '_atom_site.auth_asym_id'
       '_geom_torsion.atom_site_auth_asym_id_3'       '_atom_site.auth_asym_id'
       '_geom_torsion.atom_site_auth_asym_id_4'       '_atom_site.auth_asym_id'
       '_struct_conf.beg_auth_asym_id'                '_atom_site.auth_asym_id'
       '_struct_conf.end_auth_asym_id'                '_atom_site.auth_asym_id'
       '_struct_conn.ptnr1_auth_asym_id'              '_atom_site.auth_asym_id'
       '_struct_conn.ptnr2_auth_asym_id'              '_atom_site.auth_asym_id'
       '_struct_mon_nucl.auth_asym_id'                '_atom_site.auth_asym_id'
       '_struct_mon_prot.auth_asym_id'                '_atom_site.auth_asym_id'
       '_struct_mon_prot_cis.auth_asym_id'            '_atom_site.auth_asym_id'
       '_struct_ncs_dom_lim.beg_auth_asym_id'         '_atom_site.auth_asym_id'
       '_struct_ncs_dom_lim.end_auth_asym_id'         '_atom_site.auth_asym_id'
       '_struct_sheet_range.beg_auth_asym_id'         '_atom_site.auth_asym_id'
       '_struct_sheet_range.end_auth_asym_id'         '_atom_site.auth_asym_id'
       '_struct_site_gen.auth_asym_id'                '_atom_site.auth_asym_id'
    _item_sub_category.id         mm_atom_site_auth_label
    _item_type.code               code
     save_

save__atom_site.auth_atom_id
    _item_description.description
;              An alternative identifier for _atom_site.label_atom_id that
               may be provided by an author in order to match the identification
               used in the publication that describes the structure.
;
     loop_
    _item.name                  
    _item.category_id
    _item.mandatory_code         
       '_atom_site.auth_atom_id'                      atom_site           no
       '_geom_angle.atom_site_auth_atom_id_1'         geom_angle          no
       '_geom_angle.atom_site_auth_atom_id_2'         geom_angle          no
       '_geom_angle.atom_site_auth_atom_id_3'         geom_angle          no
       '_geom_bond.atom_site_auth_atom_id_1'          geom_bond           no
       '_geom_bond.atom_site_auth_atom_id_2'          geom_bond           no
       '_geom_contact.atom_site_auth_atom_id_1'       geom_contact        no
       '_geom_contact.atom_site_auth_atom_id_2'       geom_contact        no
       '_geom_hbond.atom_site_auth_atom_id_A'         geom_hbond          no
       '_geom_hbond.atom_site_auth_atom_id_D'         geom_hbond          no
       '_geom_hbond.atom_site_auth_atom_id_H'         geom_hbond          no
       '_geom_torsion.atom_site_auth_atom_id_1'       geom_torsion        no
       '_geom_torsion.atom_site_auth_atom_id_2'       geom_torsion        no
       '_geom_torsion.atom_site_auth_atom_id_3'       geom_torsion        no
       '_geom_torsion.atom_site_auth_atom_id_4'       geom_torsion        no
       '_struct_conn.ptnr1_auth_atom_id'              struct_conn         no
       '_struct_conn.ptnr2_auth_atom_id'              struct_conn         no
       '_struct_sheet_hbond.range_1_beg_auth_atom_id' struct_sheet_hbond  no
       '_struct_sheet_hbond.range_1_end_auth_atom_id' struct_sheet_hbond  no
       '_struct_sheet_hbond.range_2_beg_auth_atom_id' struct_sheet_hbond  no
       '_struct_sheet_hbond.range_2_end_auth_atom_id' struct_sheet_hbond  no
       '_struct_site_gen.auth_atom_id'                struct_site_gen     no
     loop_
    _item_linked.child_name
    _item_linked.parent_name
       '_geom_angle.atom_site_auth_atom_id_1'         '_atom_site.auth_atom_id'
       '_geom_angle.atom_site_auth_atom_id_2'         '_atom_site.auth_atom_id'
       '_geom_angle.atom_site_auth_atom_id_3'         '_atom_site.auth_atom_id'
       '_geom_bond.atom_site_auth_atom_id_1'          '_atom_site.auth_atom_id'
       '_geom_bond.atom_site_auth_atom_id_2'          '_atom_site.auth_atom_id'
       '_geom_contact.atom_site_auth_atom_id_1'       '_atom_site.auth_atom_id'
       '_geom_contact.atom_site_auth_atom_id_2'       '_atom_site.auth_atom_id'
       '_geom_hbond.atom_site_auth_atom_id_A'         '_atom_site.auth_atom_id'
       '_geom_hbond.atom_site_auth_atom_id_D'         '_atom_site.auth_atom_id'
       '_geom_hbond.atom_site_auth_atom_id_H'         '_atom_site.auth_atom_id'
       '_geom_torsion.atom_site_auth_atom_id_1'       '_atom_site.auth_atom_id'
       '_geom_torsion.atom_site_auth_atom_id_2'       '_atom_site.auth_atom_id'
       '_geom_torsion.atom_site_auth_atom_id_3'       '_atom_site.auth_atom_id'
       '_geom_torsion.atom_site_auth_atom_id_4'       '_atom_site.auth_atom_id'
       '_struct_conn.ptnr1_auth_atom_id'              '_atom_site.auth_atom_id'
       '_struct_conn.ptnr2_auth_atom_id'              '_atom_site.auth_atom_id'
       '_struct_sheet_hbond.range_1_beg_auth_atom_id' '_atom_site.auth_atom_id'
       '_struct_sheet_hbond.range_1_end_auth_atom_id' '_atom_site.auth_atom_id'
       '_struct_sheet_hbond.range_2_beg_auth_atom_id' '_atom_site.auth_atom_id'
       '_struct_sheet_hbond.range_2_end_auth_atom_id' '_atom_site.auth_atom_id'
       '_struct_site_gen.auth_atom_id'                '_atom_site.auth_atom_id'
    _item_sub_category.id         mm_atom_site_auth_label
    _item_type.code               code
     save_

save__atom_site.auth_comp_id
    _item_description.description
;              An alternative identifier for _atom_site.label_comp_id that
               may be provided by an author in order to match the identification
               used in the publication that describes the structure.
;
     loop_
    _item.name                  
    _item.category_id
    _item.mandatory_code         
       '_atom_site.auth_comp_id'                     atom_site           no
       '_geom_angle.atom_site_auth_comp_id_1'        geom_angle          no
       '_geom_angle.atom_site_auth_comp_id_2'        geom_angle          no
       '_geom_angle.atom_site_auth_comp_id_3'        geom_angle          no
       '_geom_bond.atom_site_auth_comp_id_1'         geom_bond           no
       '_geom_bond.atom_site_auth_comp_id_2'         geom_bond           no
       '_geom_contact.atom_site_auth_comp_id_1'      geom_contact        no
       '_geom_contact.atom_site_auth_comp_id_2'      geom_contact        no
       '_geom_hbond.atom_site_auth_comp_id_A'        geom_hbond          no
       '_geom_hbond.atom_site_auth_comp_id_D'        geom_hbond          no
       '_geom_hbond.atom_site_auth_comp_id_H'        geom_hbond          no
       '_geom_torsion.atom_site_auth_comp_id_1'      geom_torsion        no
       '_geom_torsion.atom_site_auth_comp_id_2'      geom_torsion        no
       '_geom_torsion.atom_site_auth_comp_id_3'      geom_torsion        no
       '_geom_torsion.atom_site_auth_comp_id_4'      geom_torsion        no
       '_struct_conf.beg_auth_comp_id'               struct_conf         no
       '_struct_conf.end_auth_comp_id'               struct_conf         no
       '_struct_conn.ptnr1_auth_comp_id'             struct_conn         no
       '_struct_conn.ptnr2_auth_comp_id'             struct_conn         no
       '_struct_mon_nucl.auth_comp_id'               struct_mon_nucl     no
       '_struct_mon_prot.auth_comp_id'               struct_mon_prot     no
       '_struct_mon_prot_cis.auth_comp_id'           struct_mon_prot_cis no
       '_struct_ncs_dom_lim.beg_auth_comp_id'        struct_ncs_dom_lim  no
       '_struct_ncs_dom_lim.end_auth_comp_id'        struct_ncs_dom_lim  no
       '_struct_sheet_range.beg_auth_comp_id'        struct_sheet_range  no
       '_struct_sheet_range.end_auth_comp_id'        struct_sheet_range  no
       '_struct_site_gen.auth_comp_id'               struct_site_gen     no
     loop_
    _item_linked.child_name
    _item_linked.parent_name
       '_geom_angle.atom_site_auth_comp_id_1'         '_atom_site.auth_comp_id'
       '_geom_angle.atom_site_auth_comp_id_2'         '_atom_site.auth_comp_id'
       '_geom_angle.atom_site_auth_comp_id_3'         '_atom_site.auth_comp_id'
       '_geom_bond.atom_site_auth_comp_id_1'          '_atom_site.auth_comp_id'
       '_geom_bond.atom_site_auth_comp_id_2'          '_atom_site.auth_comp_id'
       '_geom_contact.atom_site_auth_comp_id_1'       '_atom_site.auth_comp_id'
       '_geom_contact.atom_site_auth_comp_id_2'       '_atom_site.auth_comp_id'
       '_geom_hbond.atom_site_auth_comp_id_A'         '_atom_site.auth_comp_id'
       '_geom_hbond.atom_site_auth_comp_id_D'         '_atom_site.auth_comp_id'
       '_geom_hbond.atom_site_auth_comp_id_H'         '_atom_site.auth_comp_id'
       '_geom_torsion.atom_site_auth_comp_id_1'       '_atom_site.auth_comp_id'
       '_geom_torsion.atom_site_auth_comp_id_2'       '_atom_site.auth_comp_id'
       '_geom_torsion.atom_site_auth_comp_id_3'       '_atom_site.auth_comp_id'
       '_geom_torsion.atom_site_auth_comp_id_4'       '_atom_site.auth_comp_id'
       '_struct_conf.beg_auth_comp_id'                '_atom_site.auth_comp_id'
       '_struct_conf.end_auth_comp_id'                '_atom_site.auth_comp_id'
       '_struct_conn.ptnr1_auth_comp_id'              '_atom_site.auth_comp_id'
       '_struct_conn.ptnr2_auth_comp_id'              '_atom_site.auth_comp_id'
       '_struct_mon_nucl.auth_comp_id'                '_atom_site.auth_comp_id'
       '_struct_mon_prot.auth_comp_id'                '_atom_site.auth_comp_id'
       '_struct_mon_prot_cis.auth_comp_id'            '_atom_site.auth_comp_id'
       '_struct_ncs_dom_lim.beg_auth_comp_id'         '_atom_site.auth_comp_id'
       '_struct_ncs_dom_lim.end_auth_comp_id'         '_atom_site.auth_comp_id'
       '_struct_sheet_range.beg_auth_comp_id'         '_atom_site.auth_comp_id'
       '_struct_sheet_range.end_auth_comp_id'         '_atom_site.auth_comp_id'
       '_struct_site_gen.auth_comp_id'                '_atom_site.auth_comp_id'
    _item_sub_category.id         mm_atom_site_auth_label
    _item_type.code               code
     save_

save__atom_site.auth_seq_id
    _item_description.description
;              An alternative identifier for _atom_site.label_seq_id that
               may be provided by an author in order to match the identification
               used in the publication that describes the structure.

               Note that this is not necessarily a number, that the values do
               not have to be positive, and that the value does not have to
               correspond to the value of _atom_site.label_seq_id. The value
               of _atom_site.label_seq_id is required to be a sequential list 
               of positive integers.

               The author may assign values to _atom_site.auth_seq_id in any
               way they choose. For instance, the values may be used to relate
               this structure to a numbering scheme in a homologous structure,
               including sequence gaps or insertion codes. Alternatively, a
               scheme may to used for a truncated polymer that maintains the
               numbering scheme of the full length polymer. In all cases, the
               scheme used here must match the scheme used in the publication
               that describes the structure.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
       '_atom_site.auth_seq_id'                      atom_site           no
       '_geom_angle.atom_site_auth_seq_id_1'         geom_angle          no
       '_geom_angle.atom_site_auth_seq_id_2'         geom_angle          no
       '_geom_angle.atom_site_auth_seq_id_3'         geom_angle          no
       '_geom_bond.atom_site_auth_seq_id_1'          geom_bond           no
       '_geom_bond.atom_site_auth_seq_id_2'          geom_bond           no
       '_geom_contact.atom_site_auth_seq_id_1'       geom_contact        no
       '_geom_contact.atom_site_auth_seq_id_2'       geom_contact        no
       '_geom_hbond.atom_site_auth_seq_id_A'         geom_hbond          no
       '_geom_hbond.atom_site_auth_seq_id_D'         geom_hbond          no
       '_geom_hbond.atom_site_auth_seq_id_H'         geom_hbond          no
       '_geom_torsion.atom_site_auth_seq_id_1'       geom_torsion        no
       '_geom_torsion.atom_site_auth_seq_id_2'       geom_torsion        no
       '_geom_torsion.atom_site_auth_seq_id_3'       geom_torsion        no
       '_geom_torsion.atom_site_auth_seq_id_4'       geom_torsion        no
       '_struct_conf.beg_auth_seq_id'                struct_conf         no
       '_struct_conf.end_auth_seq_id'                struct_conf         no
       '_struct_conn.ptnr1_auth_seq_id'              struct_conn         no
       '_struct_conn.ptnr2_auth_seq_id'              struct_conn         no
       '_struct_mon_nucl.auth_seq_id'                struct_mon_nucl     no
       '_struct_mon_prot.auth_seq_id'                struct_mon_prot     no
       '_struct_mon_prot_cis.auth_seq_id'            struct_mon_prot_cis no
       '_struct_ncs_dom_lim.beg_auth_seq_id'         struct_ncs_dom_lim  no
       '_struct_ncs_dom_lim.end_auth_seq_id'         struct_ncs_dom_lim  no
       '_struct_sheet_hbond.range_1_beg_auth_seq_id' struct_sheet_hbond  no
       '_struct_sheet_hbond.range_1_end_auth_seq_id' struct_sheet_hbond  no
       '_struct_sheet_hbond.range_2_beg_auth_seq_id' struct_sheet_hbond  no
       '_struct_sheet_hbond.range_2_end_auth_seq_id' struct_sheet_hbond  no
       '_struct_sheet_range.beg_auth_seq_id'         struct_sheet_range  no
       '_struct_sheet_range.end_auth_seq_id'         struct_sheet_range  no
       '_struct_site_gen.auth_seq_id'                struct_site_gen     no
     loop_
    _item_linked.child_name
    _item_linked.parent_name
       '_geom_angle.atom_site_auth_seq_id_1'         '_atom_site.auth_seq_id'
       '_geom_angle.atom_site_auth_seq_id_2'         '_atom_site.auth_seq_id'
       '_geom_angle.atom_site_auth_seq_id_3'         '_atom_site.auth_seq_id'
       '_geom_bond.atom_site_auth_seq_id_1'          '_atom_site.auth_seq_id'
       '_geom_bond.atom_site_auth_seq_id_2'          '_atom_site.auth_seq_id'
       '_geom_contact.atom_site_auth_seq_id_1'       '_atom_site.auth_seq_id'
       '_geom_contact.atom_site_auth_seq_id_2'       '_atom_site.auth_seq_id'
       '_geom_hbond.atom_site_auth_seq_id_A'         '_atom_site.auth_seq_id'
       '_geom_hbond.atom_site_auth_seq_id_D'         '_atom_site.auth_seq_id'
       '_geom_hbond.atom_site_auth_seq_id_H'         '_atom_site.auth_seq_id'
       '_geom_torsion.atom_site_auth_seq_id_1'       '_atom_site.auth_seq_id'
       '_geom_torsion.atom_site_auth_seq_id_2'       '_atom_site.auth_seq_id'
       '_geom_torsion.atom_site_auth_seq_id_3'       '_atom_site.auth_seq_id'
       '_geom_torsion.atom_site_auth_seq_id_4'       '_atom_site.auth_seq_id'
       '_struct_conf.beg_auth_seq_id'                '_atom_site.auth_seq_id'
       '_struct_conf.end_auth_seq_id'                '_atom_site.auth_seq_id'
       '_struct_conn.ptnr1_auth_seq_id'              '_atom_site.auth_seq_id'
       '_struct_conn.ptnr2_auth_seq_id'              '_atom_site.auth_seq_id'
       '_struct_mon_nucl.auth_seq_id'                '_atom_site.auth_seq_id'
       '_struct_mon_prot.auth_seq_id'                '_atom_site.auth_seq_id'
       '_struct_mon_prot_cis.auth_seq_id'            '_atom_site.auth_seq_id'
       '_struct_ncs_dom_lim.beg_auth_seq_id'         '_atom_site.auth_seq_id'
       '_struct_ncs_dom_lim.end_auth_seq_id'         '_atom_site.auth_seq_id'
       '_struct_sheet_hbond.range_1_beg_auth_seq_id' '_atom_site.auth_seq_id'
       '_struct_sheet_hbond.range_1_end_auth_seq_id' '_atom_site.auth_seq_id'
       '_struct_sheet_hbond.range_2_beg_auth_seq_id' '_atom_site.auth_seq_id'
       '_struct_sheet_hbond.range_2_end_auth_seq_id' '_atom_site.auth_seq_id'
       '_struct_sheet_range.beg_auth_seq_id'         '_atom_site.auth_seq_id'
       '_struct_sheet_range.end_auth_seq_id'         '_atom_site.auth_seq_id'
       '_struct_site_gen.auth_seq_id'                '_atom_site.auth_seq_id'
    _item_sub_category.id         mm_atom_site_auth_label
    _item_type.code               code
     save_

save__atom_site.B_equiv_geom_mean
    _item_description.description
;              Equivalent isotropic atomic displacement parameter, B~equiv~,
               in angstroms squared, calculated as the geometric mean of
               the anisotropic atomic displacement parameters.

               B~equiv~ = (B~i~ B~j~ B~k~)^1/3^

               B~n~ = the principal components of the orthogonalised B^ij^

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.B_equiv_geom_mean'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_B_equiv_geom_mean'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.B_equiv_geom_mean_esd'
                                  associated_esd
                                '_atom_site.U_equiv_geom_mean'
                                  conversion_constant
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.B_equiv_geom_mean_esd
    _item_description.description
;              The estimated standard deviation of
               _atom_site.B_equiv_geom_mean.
;
    _item.name                  '_atom_site.B_equiv_geom_mean_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.B_equiv_geom_mean'
                                  associated_value
                                '_atom_site.U_equiv_geom_mean'
                                  conversion_constant
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.B_iso_or_equiv
    _item_description.description
;              Isotropic temperature factor parameter, or equivalent isotropic
               temperature factor, B~equiv~, calculated from anisotropic
               temperature factor parameters.

               B~equiv~ = (1/3) sum~i~[sum~j~(B~ij~ A~i~ A~j~ a*~i~ a*~j~)] 

               A     = the real space cell lengths
               a*    = the reciprocal space cell lengths
               B~ij~ = 8 pi^2^ U~ij~

               Ref: Fischer, R. X. & Tillmanns, E. (1988). Acta Cryst. C44,
                    775-776.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site.B_iso_or_equiv'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_B_iso_or_equiv'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.B_iso_or_equiv_esd'
                                  associated_esd
                                '_atom_site.U_iso_or_equiv'
                                  conversion_constant
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.B_iso_or_equiv_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.B_iso_or_equiv.
;
    _item.name                  '_atom_site.B_iso_or_equiv_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.B_iso_or_equiv'
                                  associated_value
                                '_atom_site.U_iso_or_equiv_esd'
                                  conversion_constant
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site.calc_attached_atom
    _item_description.description
;              The _atom_site.id of the atom site to which the 'geometry-
               calculated' atom site is attached.
;
    _item.name                  '_atom_site.calc_attached_atom'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_calc_attached_atom'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     save_

save__atom_site.calc_flag
    _item_description.description
;              A standard code to signal if the site data have been determined
               from the intensities or calculated from the geometry of
               surrounding sites, or have been assigned dummy coordinates. The
               abbreviation 'c' may be used in place of 'calc'.
;
    _item.name                  '_atom_site.calc_flag'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_calc_flag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           d
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      d
                                 'determined from experimental measurements'
                                  calc
                                 'calculated from molecular geometry'
                                  c
                                 'abbreviation for "calc"'
                                  dum
                                 'dummy site with meaningless coordinates'
     save_

save__atom_site.Cartn_x
    _item_description.description
;              The x atom site coordinate in angstroms specified according to
               a set of orthogonal Cartesian axes related to the cell axes as
               specified by the description given in
               _atom_sites.Cartn_transform_axes.
;
    _item.name                  '_atom_site.Cartn_x'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_Cartn_x'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_site.Cartn_y'
                                '_atom_site.Cartn_z'
    _item_related.related_name  '_atom_site.Cartn_x_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__atom_site.Cartn_x_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.Cartn_x.
;
    _item.name                  '_atom_site.Cartn_x_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_atom_site.Cartn_y_esd'
                                '_atom_site.Cartn_z_esd'
    _item_related.related_name  '_atom_site.Cartn_x'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__atom_site.Cartn_y
    _item_description.description
;              The y atom site coordinate in angstroms specified according to
               a set of orthogonal Cartesian axes related to the cell axes as
               specified by the description given in
               _atom_sites.Cartn_transform_axes.
;
    _item.name                  '_atom_site.Cartn_y'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_Cartn_y'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_site.Cartn_x'
                                '_atom_site.Cartn_z'
    _item_related.related_name  '_atom_site.Cartn_y_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__atom_site.Cartn_y_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.Cartn_y.
;
    _item.name                  '_atom_site.Cartn_y_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_atom_site.Cartn_x_esd'
                                '_atom_site.Cartn_z_esd'
    _item_related.related_name  '_atom_site.Cartn_y'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__atom_site.Cartn_z
    _item_description.description
;              The z atom site coordinate in angstroms specified according to
               a set of orthogonal Cartesian axes related to the cell axes as
               specified by the description given in
               _atom_sites.Cartn_transform_axes.
;
    _item.name                  '_atom_site.Cartn_z'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_Cartn_z'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_site.Cartn_x'
                                '_atom_site.Cartn_y'
    _item_related.related_name  '_atom_site.Cartn_z_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__atom_site.Cartn_z_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.Cartn_z.
;
    _item.name                  '_atom_site.Cartn_z_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_atom_site.Cartn_x_esd'
                                '_atom_site.Cartn_y_esd'
    _item_related.related_name  '_atom_site.Cartn_z'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__atom_site.chemical_conn_number
    _item_description.description
;              This data item is a pointer to _chemical_conn_atom.number in the
               CHEMICAL_CONN_ATOM category.
;
    _item.name                  '_atom_site.chemical_conn_number'
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_chemical_conn_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__atom_site.constraints
    _item_description.description
;              A description of the constraints applied to parameters at this
               site during refinement. See also _atom_site.refinement_flags
               and _refine.ls_number_constraints.
;
    _item.name                  '_atom_site.constraints'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_constraints'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          'pop=1.0-pop(Zn3)'
     save_

save__atom_site.details
    _item_description.description
;              A description of special aspects of this site. See also
               _atom_site.refinement_flags.
;
    _item.name                  '_atom_site.details'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_description'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'Ag/Si disordered'
     save_

save__atom_site.disorder_assembly
    _item_description.description
;              A code which identifies a cluster of atoms that show long range
               positional disorder but are locally ordered. Within each such
               cluster of atoms, _atom_site.disorder_group is used to identify
               the sites that are simultaneously occupied. This field is only
               needed if there is more than one cluster of disordered atoms
               showing independent local order.

               *** This data item would not in general be used in a
               macromolecular data block. ***
;
    _item.name                  '_atom_site.disorder_assembly'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_disorder_assembly'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     save_

save__atom_site.disorder_group
    _item_description.description
;              A code that identifies a group of positionally disordered atom
               sites that are locally simultaneously occupied. Atoms that are
               positionally disordered over two or more sites (e.g. the H
               atoms of a methyl group that exists in two orientations) can
               be assigned to two or more groups. Sites belonging to the same
               group are simultaneously occupied, but those belonging to
               different groups are not. A minus prefix (e.g. "-1") is used to
               indicate sites disordered about a special position.

               *** This data item would not in general be used in a
               macromolecular data block. ***
;
    _item.name                  '_atom_site.disorder_group'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_disorder_group'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           .
    _item_type.code               code
     save_

save__atom_site.footnote_id
    _item_description.description
;              The value of _atom_site.footnote_id must match an id
               specified by _atom_sites_footnote.id in the
               ATOM_SITES_FOOTNOTE list.
;
    _item.name                  '_atom_site.footnote_id'
    _item.mandatory_code          no
     save_

save__atom_site.fract_x
    _item_description.description
;              The x coordinate of the atom site position specified as a
               fraction of _cell.length_a.
;
    _item.name                  '_atom_site.fract_x'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_fract_x'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_site.fract_y'
                                '_atom_site.fract_z'
    _item_related.related_name  '_atom_site.fract_x_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         fractional_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__atom_site.fract_x_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.fract_x.
;
    _item.name                  '_atom_site.fract_x_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_atom_site.fract_y_esd'
                                '_atom_site.fract_z_esd'
    _item_related.related_name  '_atom_site.fract_x'
    _item_related.function_code   associated_value
    _item_sub_category.id         fractional_coordinate_esd
    _item_type.code               float
     save_

save__atom_site.fract_y
    _item_description.description
;              The y coordinate of the atom site position specified as a
               fraction of _cell.length_b.
;
    _item.name                  '_atom_site.fract_y'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_fract_y'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_site.fract_x'
                                '_atom_site.fract_z'
    _item_related.related_name  '_atom_site.fract_y_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         fractional_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__atom_site.fract_y_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.fract_y.
;
    _item.name                  '_atom_site.fract_y_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_atom_site.fract_x_esd'
                                '_atom_site.fract_z_esd'
    _item_related.related_name  '_atom_site.fract_y'
    _item_related.function_code   associated_value
    _item_sub_category.id         fractional_coordinate_esd
    _item_type.code               float
     save_

save__atom_site.fract_z
    _item_description.description
;              The z coordinate of the atom site position specified as a
               fraction of _cell.length_c.
;
    _item.name                  '_atom_site.fract_z'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_fract_z'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_site.fract_x'
                                '_atom_site.fract_y'
    _item_related.related_name  '_atom_site.fract_z_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         fractional_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__atom_site.fract_z_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.fract_z.
;
    _item.name                  '_atom_site.fract_z_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_atom_site.fract_x_esd'
                                '_atom_site.fract_y_esd'
    _item_related.related_name  '_atom_site.fract_z'
    _item_related.function_code   associated_value
    _item_sub_category.id         fractional_coordinate_esd
    _item_type.code               float
     save_

save__atom_site.group_PDB
    _item_description.description
;              The group of atoms to which the _atom_site. belongs. This
               data item is provided for compatibility with the original Protein
               Data Bank format, and only for that purpose.
;
    _item.name                  '_atom_site.group_PDB'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_type.code               code
     loop_
    _item_enumeration.value       ATOM
                                  HETATM
     save_

save__atom_site.id
    _item_description.description
;              The value of _atom_site.id must uniquely identify a record in the
               ATOM_SITE list.

               Note that this item need not be a number; it can be any unique
               identifier.

               This data item was introduced to facilitate compatibility between
               small molecule and macromolecular files. In the small molecule
               files, _atom_site_label is the identifier for the atom. In the
               macromolecular files, the atom identifier is the aggregate of
               _atom_site.label_alt_id, _atom_site.label_asym_id,
               _atom_site.label_atom_id, _atom_site.label_comp_id and
               atom_site.label_seq_id. For the two types of files to be
               compatible, a formal identifier for the category had to be
               introduced that was independent of the different modes of
               identifying atoms. For compatibility with older files,
               _atom_site_label is aliased to _atom_site.id.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_atom_site.id'                 atom_site            yes
               '_atom_site_anisotrop.id'       atom_site_anisotrop  yes
               '_geom_angle.atom_site_id_1'    geom_angle           yes
               '_geom_angle.atom_site_id_2'    geom_angle           yes
               '_geom_angle.atom_site_id_3'    geom_angle           yes
               '_geom_bond.atom_site_id_1'     geom_bond            yes
               '_geom_bond.atom_site_id_2'     geom_bond            yes
               '_geom_contact.atom_site_id_1'  geom_contact         yes
               '_geom_contact.atom_site_id_2'  geom_contact         yes
               '_geom_hbond.atom_site_id_A'    geom_hbond           yes
               '_geom_hbond.atom_site_id_D'    geom_hbond           yes
               '_geom_hbond.atom_site_id_H'    geom_hbond           yes
               '_geom_torsion.atom_site_id_1'  geom_torsion         yes
               '_geom_torsion.atom_site_id_2'  geom_torsion         yes
               '_geom_torsion.atom_site_id_3'  geom_torsion         yes
               '_geom_torsion.atom_site_id_4'  geom_torsion         yes
    _item_aliases.alias_name    '_atom_site_label'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_site_anisotrop.id'       '_atom_site.id'
               '_geom_angle.atom_site_id_1'    '_atom_site.id'
               '_geom_angle.atom_site_id_2'    '_atom_site.id'
               '_geom_angle.atom_site_id_3'    '_atom_site.id'
               '_geom_bond.atom_site_id_1'     '_atom_site.id'
               '_geom_bond.atom_site_id_2'     '_atom_site.id'
               '_geom_contact.atom_site_id_1'  '_atom_site.id'
               '_geom_contact.atom_site_id_2'  '_atom_site.id'
               '_geom_hbond.atom_site_id_A'    '_atom_site.id'
               '_geom_hbond.atom_site_id_D'    '_atom_site.id'
               '_geom_hbond.atom_site_id_H'    '_atom_site.id'
               '_geom_torsion.atom_site_id_1'  '_atom_site.id'
               '_geom_torsion.atom_site_id_2'  '_atom_site.id'
               '_geom_torsion.atom_site_id_3'  '_atom_site.id'
               '_geom_torsion.atom_site_id_4'  '_atom_site.id'
    _item_type.code               code
     loop_
    _item_examples.case          '5'
                                 'C12'
                                 'Ca3g28'
                                 'Fe3+17'
                                 'H*251'
                                 'boron2a'
                                 'C_a_phe_83_a_0'
                                 'Zn_Zn_301_A_0'
     save_

save__atom_site.label_alt_id
    _item_description.description
;              A component of the macromolecular identifier for this atom site.
               For further details, see the definition of the ATOM_SITE_ALT
               category.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_atom_site.label_alt_id'
    _item.mandatory_code          no
    _item_sub_category.id         mm_atom_site_label
     save_

save__atom_site.label_asym_id
    _item_description.description
;              A component of the macromolecular identifier for this atom site.
               For further details, see the definition of the STRUCT_ASYM
               category.

               This data item is a pointer to _struct_asym.id in the
               STRUCT_ASYM category.
;
    _item.name                  '_atom_site.label_asym_id'
    _item.mandatory_code          no
    _item_sub_category.id         mm_atom_site_label
     save_

save__atom_site.label_atom_id
    _item_description.description
;              A component of the macromolecular identifier for this atom site.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_atom_site.label_atom_id'
    _item.mandatory_code          no
    _item_sub_category.id         mm_atom_site_label
     save_

save__atom_site.label_comp_id
    _item_description.description
;              A component of the macromolecular identifier for this atom site.

               This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_atom_site.label_comp_id'
    _item.mandatory_code          no
    _item_sub_category.id         mm_atom_site_label
     save_

save__atom_site.label_entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_atom_site.label_entity_id'
    _item.mandatory_code          no
     save_

save__atom_site.label_seq_id
    _item_description.description
;              This data item is a pointer to _entity_poly_seq.num in the 
               ENTITY_POLY_SEQ category.
;
    _item.name                  '_atom_site.label_seq_id'
    _item.mandatory_code          no
     save_

save__atom_site.occupancy
    _item_description.description
;              The fraction of the atom type present at this site.
               The sum of the occupancies of all the atom types at this site
               may not significantly exceed 1.0 unless it is a dummy site.
;
    _item.name                  '_atom_site.occupancy'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_occupancy'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1.0
     loop_
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_related.related_name  '_atom_site.occupancy_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__atom_site.occupancy_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.occupancy.
;
    _item.name                  '_atom_site.occupancy_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_atom_site.occupancy'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__atom_site.refinement_flags
    _item_description.description
;              A concatenated series of single-letter codes which indicate the
               refinement restraints or constraints applied to this site.
;
    _item.name                  '_atom_site.refinement_flags'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_refinement_flags'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      .
                                 'no refinement constraints'
                                  S
                                 'special position constraint on site'
                                  G
                                 'rigid group refinement of site'
                                  R
                                 'riding atom site attached to non-riding atom'
                                  D
                                 'distance or angle restraint on site'
                                  T
                                 'thermal displacement constraints'
                                  U
                                 'Uiso or Uij restraint (rigid bond)'
                                  P
                                 'partial occupancy constraint'
     save_

save__atom_site.restraints
    _item_description.description
;              A description of restraints applied to specific parameters at
               this site during refinement. See also _atom_site.refinement_flags
               and _refine.ls_number_restraints.
;
    _item.name                  '_atom_site.restraints'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_restraints'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'restrained to planar ring'
     save_

save__atom_site.symmetry_multiplicity
    _item_description.description
;              The multiplicity of a site due to the space-group symmetry as is
               given in International Tables for Crystallography, Vol. A (1987).
;
    _item.name                  '_atom_site.symmetry_multiplicity'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_symmetry_multiplicity'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           192   192
                                  192     1
                                    1     1
    _item_type.code               int
     save_

save__atom_site.thermal_displace_type
    _item_description.description
;              A standard code used to describe the type of atomic displacement
               parameters used for the site.
;
    _item.name                  '_atom_site.thermal_displace_type'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_thermal_displace_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      Uani  'anisotropic Uij'
                                  Uiso  'isotropic U'
                                  Uovl  'overall U'
                                  Umpe  'multipole expansion U'
                                  Bani  'anisotropic Bij'
                                  Biso  'isotropic B'
                                  Bovl  'overall B'
     save_

save__atom_site.type_symbol
    _item_description.description
;              This data item is a pointer to _atom_type.symbol in the
               ATOM_TYPE category.
;
    _item.name                  '_atom_site.type_symbol'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_atom_site_type_symbol'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__atom_site.U_equiv_geom_mean
    _item_description.description
;              Equivalent isotropic atomic displacement parameter, U~equiv~,
               in angstroms squared, calculated as the geometric mean of
               the anisotropic atomic displacement parameters.

               U~equiv~ = (U~i~ U~j~ U~k~)^1/3^

               U~n~ = the principal components of the orthogonalised U~ij~
;
    _item.name                  '_atom_site.U_equiv_geom_mean'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_U_equiv_geom_mean'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           10.0   10.0
                                  10.0    0.0
                                   0.0    0.0
     loop_                        
    _item_related.related_name
    _item_related.function_code '_atom_site.U_equiv_geom_mean_esd'
                                  associated_esd
                                '_atom_site.B_equiv_geom_mean'
                                  conversion_constant
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.U_equiv_geom_mean_esd
    _item_description.description
;              The estimated standard deviation of
               _atom_site.U_equiv_geom_mean.
;
    _item.name                  '_atom_site.U_equiv_geom_mean_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.U_equiv_geom_mean'
                                  associated_value
                                '_atom_site.B_equiv_geom_mean'
                                  conversion_constant
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.U_iso_or_equiv
    _item_description.description
;              Isotropic atomic displacement parameter, or equivalent isotropic
               atomic  displacement parameter, U~equiv~, calculated from
               anisotropic atomic displacement  parameters.

               U~equiv~ = (1/3) sum~i~[sum~j~(U~ij~ A~i~ A~j~ a*~i~ a*~j~)]

               A  = the real space cell lengths
               a* = the reciprocal space cell lengths

               Ref: Fischer, R. X. & Tillmanns, E. (1988). Acta Cryst. C44,
                    775-776.
;
    _item.name                  '_atom_site.U_iso_or_equiv'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_U_iso_or_equiv'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           10.0   10.0
                                  10.0    0.0
                                   0.0    0.0
     loop_                        
    _item_related.related_name
    _item_related.function_code '_atom_site.U_iso_or_equiv_esd'
                                  associated_esd
                                '_atom_site.B_iso_or_equiv'
                                  conversion_constant
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site.U_iso_or_equiv_esd
    _item_description.description
;              The estimated standard deviation of _atom_site.U_iso_or_equiv.
;
    _item.name                  '_atom_site.U_iso_or_equiv_esd'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site.U_iso_or_equiv'
                                  associated_value
                                '_atom_site.B_iso_or_equiv_esd'
                                  conversion_constant
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site.Wyckoff_symbol
    _item_description.description
;              The Wyckoff symbol (letter) as listed in the space-group section
               of International Tables for Crystallography, Vol. A (1987).
;
    _item.name                  '_atom_site.Wyckoff_symbol'
    _item.category_id             atom_site
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_Wyckoff_symbol'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

#########################
## ATOM_SITE_ANISOTROP ##
#########################

save_ATOM_SITE_ANISOTROP
    _category.description
;              Data items in the ATOM_SITE_ANISOTROP category record details
               about temperature or thermal displacement factors, if those data
               items are contained in a separate list from the ATOM_SITE list.
               If the ATOM_SITE_ANISOTROP category is used for storing these
               data, the corresponding ATOM_SITE data items are not used.
;
    _category.id                  atom_site_anisotrop
    _category.mandatory_code      no
    _category_key.name          '_atom_site_anisotrop.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on NDB structure BDL005 of Holbrook, Dickerson &
                Kim [(1985). Acta Cryst. B41 255-262].
;
;
     loop_
    _atom_site_anisotrop.id
    _atom_site_anisotrop.type_symbol
    _atom_site_anisotrop.U[1][1]
    _atom_site_anisotrop.U[1][2]
    _atom_site_anisotrop.U[1][3]
    _atom_site_anisotrop.U[2][2]
    _atom_site_anisotrop.U[2][3]
    _atom_site_anisotrop.U[3][3]
     1  O   8642   4866   7299   -342   -258  -1427
     2  C   5174   4871   6243  -1885  -2051  -1377
     3  C   6202   5020   4395  -1130   -556   -632
     4  O   4224   4700   5046   1105   -161    345
     5  C   8684   4688   4171  -1850   -433   -292
     6  O  11226   5255   3532   -341   2685   1328
     7  C  10214   2428   5614  -2610  -1940    902
     8  C   4590   3488   5827    751   -770    986
     9  N   5014   4434   3447    -17  -1593    539
    # ----   abbreviated  ----
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_site_anisotrop.B[1][1]
    _item_description.description
;              The [1][1] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site_anisotrop.B[1][1]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_B_11'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[1][1]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[1][1]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][1]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][1]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][1]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][1]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[1][1]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.B[1][1].
;
    _item.name                  '_atom_site_anisotrop.B[1][1]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[1][1]'
                                  associated_value
                                '_atom_site.aniso_U[1][1]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][1]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][1]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[1][2]
    _item_description.description
;              The [1][2] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site_anisotrop.B[1][2]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_B_12'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[1][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[1][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][2]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][2]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][2]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[1][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.B[1][2].
;
    _item.name                  '_atom_site_anisotrop.B[1][2]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[1][2]'
                                  associated_value
                                '_atom_site.aniso_U[1][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[1][3]
    _item_description.description
;              The [1][3] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site_anisotrop.B[1][3]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_B_13'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[1][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[1][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][3]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[1][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.B[1][3].
;
    _item.name                  '_atom_site_anisotrop.B[1][3]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[1][3]'
                                  associated_value
                                '_atom_site.aniso_U[1][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[1][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[1][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[2][2]
    _item_description.description
;              The [2][2] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site_anisotrop.B[2][2]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_B_22'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[2][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[2][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][2]'
                                  conversion_constant
                                '_atom_site.aniso_B[2][2]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][2]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[2][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.B[2][2].
;
    _item.name                  '_atom_site_anisotrop.B[2][2]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[2][2]'
                                  associated_value
                                '_atom_site.aniso_U[2][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[2][3]
    _item_description.description
;              The [2][3] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site_anisotrop.B[2][3]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_B_23'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[2][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[2][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[2][3]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[2][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.B[2][3].
;
    _item.name                  '_atom_site_anisotrop.B[2][3]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[2][3]'
                                  associated_value
                                '_atom_site.aniso_U[2][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[2][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[2][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[3][3]
    _item_description.description
;              The [3][3] element of the anisotropic thermal displacement
               matrix B, which appears in the structure factor term as:

               T = exp{-1/4 sum~i~[sum~j~(B~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.

               The IUCr Commission on Nomenclature recommends against the use
               of B for reporting atomic displacement parameters. U, being
               directly proportional to B, is preferred.
;
    _item.name                  '_atom_site_anisotrop.B[3][3]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_B_33'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[3][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_U[3][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.U[3][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[3][3]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[3][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[3][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.B[3][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.B[3][3].
;
    _item.name                  '_atom_site_anisotrop.B[3][3]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.B[3][3]'
                                  associated_value
                                '_atom_site.aniso_U[3][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.U[3][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.U[3][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              8pi2_angstroms_squared
     save_

save__atom_site_anisotrop.ratio
    _item_description.description
;              Ratio of the maximum to minimum principal axes of
               displacement (thermal) ellipsoids.
;
    _item.name                  '_atom_site_anisotrop.ratio'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_ratio'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1

     loop_
    _item_range.maximum          
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_related.related_name  '_atom_site.aniso_ratio'
    _item_related.function_code   alternate_exclusive
    _item_type.code               float
     save_

save__atom_site_anisotrop.id
    _item_description.description
;              This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_atom_site_anisotrop.id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_atom_site_aniso_label'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__atom_site_anisotrop.type_symbol
    _item_description.description
;              This data item is a pointer to _atom_type.symbol in the
               ATOM_TYPE category.
;
    _item.name                  '_atom_site_anisotrop.type_symbol'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_atom_site_aniso_type_symbol'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__atom_site_anisotrop.U[1][1]
    _item_description.description
;              The [1][1] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site_anisotrop.U[1][1]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_U_11'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[1][1]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[1][1]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][1]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][1]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][1]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][1]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[1][1]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.U[1][1].
;
    _item.name                  '_atom_site_anisotrop.U[1][1]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[1][1]'
                                  associated_value
                                '_atom_site.aniso_B[1][1]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][1]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][1]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][1]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[1][2]
    _item_description.description
;              The [1][2] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site_anisotrop.U[1][2]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_U_12'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[1][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[1][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][2]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][2]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][2]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[1][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.U[1][2].
;
    _item.name                  '_atom_site_anisotrop.U[1][2]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[1][2]'
                                  associated_value
                                '_atom_site.aniso_B[1][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[1][3]
    _item_description.description
;              The [1][3] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site_anisotrop.U[1][3]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_U_13'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[1][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[1][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[1][3]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[1][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.U[1][3].
;
    _item.name                  '_atom_site_anisotrop.U[1][3]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[1][3]'
                                  associated_value
                                '_atom_site.aniso_B[1][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[1][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[1][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[1][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[2][2]
    _item_description.description
;              The [2][2] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site_anisotrop.U[2][2]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_U_22'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[2][2]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[2][2]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][2]'
                                  conversion_constant
                                '_atom_site.aniso_B[2][2]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][2]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][2]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[2][2]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.U[2][2].
;
    _item.name                  '_atom_site_anisotrop.U[2][2]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[2][2]'
                                  associated_value
                                '_atom_site.aniso_B[2][2]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][2]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][2]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][2]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[2][3]
    _item_description.description
;              The [2][3] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site_anisotrop.U[2][3]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_U_23'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[2][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[2][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[2][3]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[2][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.U[2][3].
;
    _item.name                  '_atom_site_anisotrop.U[2][3]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[2][3]'
                                  associated_value
                                '_atom_site.aniso_B[2][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[2][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[2][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[2][3]_esd'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[3][3]
    _item_description.description
;              The [3][3] element of the standard anisotropic atomic
               displacement matrix U, which appears in the structure factor
               term:

               T = exp{-2 pi^2^ sum~i~[sum~j~(U~ij~ h~i~ h~j~ a*~i~ a*~j~)]}

               h  = the Miller indices
               a* = the reciprocal space cell lengths

               These matrix elements may appear with atomic coordinates
               in the ATOM_SITE category, or they may appear in the separate
               ATOM_SITE_ANISOTROP category, but they may not appear in both
               places. Similarly, anisotropic displacements may appear as
               either B's or U's, but not as both.

               The unique elements of the real symmetric matrix are
               entered by row.
;
    _item.name                  '_atom_site_anisotrop.U[3][3]'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_site_aniso_U_33'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[3][3]_esd'
                                  associated_esd
                                '_atom_site.aniso_B[3][3]'
                                  conversion_constant
                                '_atom_site_anisotrop.B[3][3]'
                                  conversion_constant
                                '_atom_site.aniso_B[3][3]'
                                  alternate_exclusive
                                '_atom_site.aniso_U[3][3]'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[3][3]'
                                  alternate_exclusive
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_squared
     save_

save__atom_site_anisotrop.U[3][3]_esd
    _item_description.description
;              The estimated standard deviation of _atom_site_anisotrop.U[3][3].
;
    _item.name                  '_atom_site_anisotrop.U[3][3]_esd'
    _item.category_id             atom_site_anisotrop
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_atom_site_anisotrop.U[3][3]'
                                  associated_value
                                '_atom_site.aniso_B[3][3]_esd'
                                  conversion_constant
                                '_atom_site_anisotrop.B[3][3]_esd'
                                  conversion_constant
                                '_atom_site.aniso_B[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site.aniso_U[3][3]_esd'
                                  alternate_exclusive
                                '_atom_site_anisotrop.B[3][3]_esd'
                                  alternate_exclusive
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

################
## ATOM_SITES ##
################

save_ATOM_SITES
    _category.description
;              Data items in the ATOM_SITES category record details about
               the crystallographic cell and cell transformations, which are
               common to all atom sites.
;
    _category.id                  atom_sites
    _category.mandatory_code      no
    _category_key.name          '_atom_sites.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and/or laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _atom_sites.entry_id                   '5HVP'
    _atom_sites.Cartn_transform_axes       'c along z, astar along x, b along y'
    _atom_sites.Cartn_transf_matrix[1][1]  58.39
    _atom_sites.Cartn_transf_matrix[1][2]   0.00
    _atom_sites.Cartn_transf_matrix[1][3]   0.00
    _atom_sites.Cartn_transf_matrix[2][1]   0.00
    _atom_sites.Cartn_transf_matrix[2][2]  86.70
    _atom_sites.Cartn_transf_matrix[2][3]   0.00
    _atom_sites.Cartn_transf_matrix[3][1]   0.00
    _atom_sites.Cartn_transf_matrix[3][2]   0.00
    _atom_sites.Cartn_transf_matrix[3][3]  46.27
    _atom_sites.Cartn_transf_vector[1]      0.00
    _atom_sites.Cartn_transf_vector[2]      0.00
    _atom_sites.Cartn_transf_vector[3]      0.00

;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_sites.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_atom_sites.entry_id'
    _item.mandatory_code          yes
     save_

save__atom_sites.Cartn_transf_matrix[1][1]
    _item_description.description
;              The [1][1] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[1][1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_11'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[1][2]
    _item_description.description
;              The [1][2] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[1][2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_12'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[1][3]
    _item_description.description
;              The [1][3] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[1][3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_13'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[2][1]
    _item_description.description
;              The [2][1] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[2][1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_21'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[2][2]
    _item_description.description
;              The [2][2] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[2][2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_22'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[2][3]
    _item_description.description
;              The [2][3] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[2][3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_23'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[3][1]
    _item_description.description
;              The [3][1] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[3][1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_31'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[3][2]
    _item_description.description
;              The [3][2] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[3][2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_32'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_matrix[3][3]
    _item_description.description
;              The [3][3] element of the 3x3 matrix and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.Cartn_transf_vector[].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_matrix[3][3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_matrix_33'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_vector[1]
    _item_description.description
;              The [1] element of the 3 element vector and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The rotation matrix is defined in
               _atom_sites.Cartn_transf_matrix[][].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_vector[1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_vector_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_vector[2]
    _item_description.description
;              The [2] element of the 3 element vector and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The rotation matrix is defined in
               _atom_sites.Cartn_transf_matrix[][].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_vector[2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_vector_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__atom_sites.Cartn_transf_vector[3]
    _item_description.description
;              The [3] element of the 3 element vector and used to transform
               fractional coordinates in the ATOM_SITE category to Cartesian
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The rotation matrix is defined in
               _atom_sites.Cartn_transf_matrix[][].

               |x'|              |11 12 13| |x|               |1|
               |y'|~Cartesian~ = |21 22 23| |y|~fractional~ + |2|
               |z'|              |31 32 33| |z|               |3|
;
    _item.name                  '_atom_sites.Cartn_transf_vector[3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_tran_vector_3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__atom_sites.Cartn_transform_axes
    _item_description.description
;              A description of the relative alignment of the crystal cell
               axes to the Cartesian orthogonal axes as applied in the
               transformation matrix _atom_sites.Cartn_transf_matrix.
;
    _item.name                  '_atom_sites.Cartn_transform_axes'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_Cartn_transform_axes'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'a parallel to x; b in the plane of y & z'
     save_

save__atom_sites.fract_transf_matrix[1][1]
    _item_description.description
;              The [1][1] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[1][1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_11'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[1][2]
    _item_description.description
;              The [1][2] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[1][2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_12'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[1][3]
    _item_description.description
;              The [1][3] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[1][3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_13'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[2][1]
    _item_description.description
;              The [2][1] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[2][1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_21'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[2][2]
    _item_description.description
;              The [2][3] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[2][2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_22'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[2][3]
    _item_description.description
;              The [2][3] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[2][3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_23'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[3][1]
    _item_description.description
;              The [3][1] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[3][1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_31'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[3][2]
    _item_description.description
;              The [3][2] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[3][2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_32'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_matrix[3][3]
    _item_description.description
;              The [3][3] element of the 3x3 matrix used to transform Cartesian
               coordinates in the ATOM_SITE category to fractional coordinates
               in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x1 translation is defined in
               _atom_sites.fract_transf_vector[].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_matrix[3][3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_matrix_33'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__atom_sites.fract_transf_vector[1]
    _item_description.description
;              The [1] element of the 3 element vector used to transform
               Cartesian coordinates in the ATOM_SITE category to fractional
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x3 rotation is defined in
               _atom_sites.fract_transf_matrix[][].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_vector[1]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_vector_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__atom_sites.fract_transf_vector[2]
    _item_description.description
;              The [2] element of the 3 element vector used to transform
               Cartesian coordinates in the ATOM_SITE category to fractional
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x3 rotation is defined in
               _atom_sites.fract_transf_matrix[][].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_vector[2]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_vector_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__atom_sites.fract_transf_vector[3]
    _item_description.description
;              The [3] element of the 3 element vector used to transform
               Cartesian coordinates in the ATOM_SITE category to fractional
               coordinates in the same category. The axial alignments of this
               transformation are described in _atom_sites.Cartn_transform_axes.
               The 3x3 rotation is defined in
               _atom_sites.fract_transf_matrix[][].

               |x'|               |11 12 13| |x|              |1|
               |y'|~fractional~ = |21 22 23| |y|~Cartesian~ + |2|
               |z'|               |31 32 33| |z|              |3|
;
    _item.name                  '_atom_sites.fract_transf_vector[3]'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_fract_tran_vector_3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__atom_sites.solution_primary
    _item_description.description
;              A code which identifies the methods used to locate the initial
               atomic sites. The solution_primary code identifies how the first
               atom sites were determined.

               *** This data item would not in general be used in a
               macromolecular data block. ***
;
    _item.name                  '_atom_sites.solution_primary'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_solution_primary'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      difmap  'difference Fourier map'
                                  vecmap  'real-space vector search'
                                  heavy   'heavy-atom method'
                                  direct  'structure-invariant direct methods'
                                  geom    'inferred from neighbouring sites'
                                  disper  'anomalous-dispersion techniques'
                                  isomor  'isomorphous structure methods'
     save_

save__atom_sites.solution_secondary
    _item_description.description
;              A code which identifies the methods used to locate the initial
               atomic sites. The solution_secondary code identifies
               how the non-hydrogen sites not include in solution_primary
               were located.

               *** This data item would not in general be used in a
               macromolecular data block. ***
;
    _item.name                  '_atom_sites.solution_secondary'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_solution_secondary'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      difmap  'difference Fourier map'
                                  vecmap  'real-space vector search'
                                  heavy   'heavy-atom method'
                                  direct  'structure-invariant direct methods'
                                  geom    'inferred from neighbouring sites'
                                  disper  'anomalous-dispersion techniques'
                                  isomor  'isomorphous structure methods'
     save_

save__atom_sites.solution_hydrogens
    _item_description.description
;              A code which identifies the methods used to locate the initial
               atomic sites. The solution_hydrogens code identifies how the
               hydrogens were located.

               *** This data item would not in general be used in a
               macromolecular data block. ***
;
    _item.name                  '_atom_sites.solution_hydrogens'
    _item.category_id             atom_sites
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_sites_solution_hydrogens'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      difmap  'difference Fourier map'
                                  vecmap  'real-space vector search'
                                  heavy   'heavy-atom method'
                                  direct  'structure-invariant direct methods'
                                  geom    'inferred from neighbouring sites'
                                  disper  'anomalous-dispersion techniques'
                                  isomor  'isomorphous structure methods'
     save_

####################
## ATOM_SITES_ALT ##
####################

save_ATOM_SITES_ALT
    _category.description
;              Data items in the ATOM_SITES_ALT category record details
               about the structural ensembles that should be generated from
               atom sites or groups of atom sites that are modeled in
               alternative conformations in this data block.
;
    _category.id                  atom_sites_alt
    _category.mandatory_code      no
    _category_key.name          '_atom_sites_alt.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _atom_sites_alt.id
    _atom_sites_alt.details
     '.'
    ; Atom sites with the alternative id set to null are not modeled in
      alternative conformations
    ;
     '1'
    ; Atom sites with the alternative id set to 1 have been modeled in
      alternative conformations with respect to atom sites marked with
      alternative id 2. The conformations of amino acid side chains
      and solvent atoms with alternative id set to 1 correlate with the
      conformation of the inhibitor marked with alternative id 1. They
      have been given an occupancy of 0.58 to match the occupancy assigned
      to the inhibitor.
    ;
     '2'
    ; Atom sites with the alternative id set to 2 have been modeled in
      alternative conformations with respect to atom sites marked with
      alternative id 1. The conformations of amino acid side chains
      and solvent atoms with alternative id set to 2 correlate with the
      conformation of the inhibitor marked with alternative id 2. They
      have been given an occupancy of 0.42 to match the occupancy assigned
      to the inhibitor.
    ;
     '3'
    ; Atom sites with the alternative id set to 3 have been modeled in
      alternative conformations with respect to atoms marked with alternative
      id 4. The conformations of amino acid side chains and solvent atoms with
      alternative id set to 3 do not correlate with the conformation of the
      inhibitor. These atom sites have arbitrarily been given an occupancy of
      0.50.
    ;
     '4'
    ; Atom sites with the alternative id set to 4 have been modeled in
      alternative conformations with respect to atoms marked with alternative
      id 3. The conformations of amino acid side chains and solvent atoms with
      alternative id set to 4 do not correlate with the conformation of the
      inhibitor. These atom sites have arbitrarily been given an occupancy of
      0.50.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_sites_alt.details
    _item_description.description
;              A description of special aspects of the modeling of atoms in
               alternative conformations.
;
    _item.name                  '_atom_sites_alt.details'
    _item.category_id             atom_sites_alt
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__atom_sites_alt.id
    _item_description.description
;              The value of _atom_sites_alt.id must uniquely identify
               a record in the _atom_sites_alt. list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
         '_atom_sites_alt.id'                       atom_sites_alt      yes
         '_atom_site.label_alt_id'                  atom_site           no
         '_atom_sites_alt_gen.alt_id'               atom_sites_alt_gen  yes
         '_geom_angle.atom_site_label_alt_id_1'     geom_angle          no
         '_geom_angle.atom_site_label_alt_id_2'     geom_angle          no
         '_geom_angle.atom_site_label_alt_id_3'     geom_angle          no
         '_geom_bond.atom_site_label_alt_id_1'      geom_bond           no
         '_geom_bond.atom_site_label_alt_id_2'      geom_bond           no
         '_geom_contact.atom_site_label_alt_id_1'   geom_contact        no
         '_geom_contact.atom_site_label_alt_id_2'   geom_contact        no
         '_geom_hbond.atom_site_label_alt_id_A'     geom_hbond          no
         '_geom_hbond.atom_site_label_alt_id_D'     geom_hbond          no
         '_geom_hbond.atom_site_label_alt_id_H'     geom_hbond          no
         '_geom_torsion.atom_site_label_alt_id_1'   geom_torsion        no
         '_geom_torsion.atom_site_label_alt_id_2'   geom_torsion        no
         '_geom_torsion.atom_site_label_alt_id_3'   geom_torsion        no
         '_geom_torsion.atom_site_label_alt_id_4'   geom_torsion        no
         '_struct_conn.ptnr1_label_alt_id'          struct_conn         no
         '_struct_conn.ptnr2_label_alt_id'          struct_conn         no
         '_struct_mon_nucl.label_alt_id'            struct_mon_nucl     yes
         '_struct_mon_prot.label_alt_id'            struct_mon_prot     yes
         '_struct_mon_prot_cis.label_alt_id'        struct_mon_prot_cis yes
         '_struct_ncs_dom_lim.beg_label_alt_id'     struct_ncs_dom_lim  yes
         '_struct_ncs_dom_lim.end_label_alt_id'     struct_ncs_dom_lim  yes
         '_struct_site_gen.label_alt_id'            struct_site_gen     yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
         '_atom_site.label_alt_id'                 '_atom_sites_alt.id'
         '_atom_sites_alt_gen.alt_id'              '_atom_sites_alt.id'
         '_geom_angle.atom_site_label_alt_id_1'    '_atom_site.label_alt_id'
         '_geom_angle.atom_site_label_alt_id_2'    '_atom_site.label_alt_id'
         '_geom_angle.atom_site_label_alt_id_3'    '_atom_site.label_alt_id'
         '_geom_bond.atom_site_label_alt_id_1'     '_atom_site.label_alt_id'
         '_geom_bond.atom_site_label_alt_id_2'     '_atom_site.label_alt_id'
         '_geom_contact.atom_site_label_alt_id_1'  '_atom_site.label_alt_id'
         '_geom_contact.atom_site_label_alt_id_2'  '_atom_site.label_alt_id'
         '_geom_hbond.atom_site_label_alt_id_A'    '_atom_site.label_alt_id'
         '_geom_hbond.atom_site_label_alt_id_D'    '_atom_site.label_alt_id'
         '_geom_hbond.atom_site_label_alt_id_H'    '_atom_site.label_alt_id'
         '_geom_torsion.atom_site_label_alt_id_1'  '_atom_site.label_alt_id'
         '_geom_torsion.atom_site_label_alt_id_2'  '_atom_site.label_alt_id'
         '_geom_torsion.atom_site_label_alt_id_3'  '_atom_site.label_alt_id'
         '_geom_torsion.atom_site_label_alt_id_4'  '_atom_site.label_alt_id'
         '_struct_conn.ptnr1_label_alt_id'         '_atom_site.label_alt_id'
         '_struct_conn.ptnr2_label_alt_id'         '_atom_site.label_alt_id'
         '_struct_mon_nucl.label_alt_id'           '_atom_site.label_alt_id'
         '_struct_mon_prot.label_alt_id'           '_atom_site.label_alt_id'
         '_struct_mon_prot_cis.label_alt_id'       '_atom_site.label_alt_id'
         '_struct_ncs_dom_lim.beg_label_alt_id'    '_atom_site.label_alt_id'
         '_struct_ncs_dom_lim.end_label_alt_id'    '_atom_site.label_alt_id'
         '_struct_site_gen.label_alt_id'           '_atom_site.label_alt_id'
    _item_type.code               code
     loop_
    _item_examples.case          'orientation 1'
                                 'molecule abc'
     save_

########################
## ATOM_SITES_ALT_ENS ##
########################

save_ATOM_SITES_ALT_ENS
    _category.description
;              Data items in the ATOM_SITES_ALT_ENS category record details
               about the ensemble structure generated from atoms with various
               alternative conformation ids.
;
    _category.id                  atom_sites_alt_ens
    _category.mandatory_code      no
    _category_key.name          '_atom_sites_alt_ens.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _atom_sites_alt_ens.id
    _atom_sites_alt_ens.details
     'Ensemble 1-A'
    ; The inhibitor binds to the enzyme in two, roughly twofold symmetric,
      alternative conformations.

      This conformational ensemble includes the more populated conformation of
      the inhibitor (id=1) and the amino acid side chains and solvent structure
      that correlate with this inhibitor conformation.

      Also included are one set (id=3) of side chains with alternative
      conformations when the conformations are not correlated with the
      inhibitor conformation.
    ;
     'Ensemble 1-B'
    ; The inhibitor binds to the enzyme in two, roughly twofold symmetric
      alternative conformations.

      This conformational ensemble includes the more populated conformation of
      the inhibitor (id=1) and the amino acid side chains and solvent structure
      that correlate with this inhibitor conformation.

      Also included are one set (id=4) of side chains with alternative
      conformations when the conformations are not correlated with the
      inhibitor conformation.
    ;
     'Ensemble 2-A'
    ; The inhibitor binds to the enzyme in two, roughly twofold symmetric
      alternative conformations.

      This conformational ensemble includes the less populated conformation of
      the inhibitor (id=2) and the amino acid side chains and solvent structure
      that correlate with this inhibitor conformation.

      Also included are one set (id=3) of side chains with alternative
      conformations when the conformations are not correlated with the
      inhibitor conformation.
    ;
     'Ensemble 2-B'
    ; The inhibitor binds to the enzyme in two, roughly twofold symmetric
      alternative conformations.

      This conformational ensemble includes the less populated conformation of
      the inhibitor (id=2) and the amino acid side chains and solvent structure
      that correlate with this inhibitor conformation.

      Also included are one set (id=4) of side chains with alternative
      conformations when the conformations are not correlated with the
      inhibitor conformation.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_sites_alt_ens.details
    _item_description.description
;              A description of special aspects of the ensemble structure
               generated from atoms with various alternative ids.
;
    _item.name                  '_atom_sites_alt_ens.details'
    _item.category_id             atom_sites_alt_ens
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__atom_sites_alt_ens.id
    _item_description.description
;              The value of _atom_sites_alt_ens.id must uniquely identify a
               record in the _atom_sites_alt_ens. list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_atom_sites_alt_ens.id'      atom_sites_alt_ens  yes
               '_atom_sites_alt_gen.ens_id'  atom_sites_alt_gen  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_sites_alt_gen.ens_id'  '_atom_sites_alt_ens.id'
    _item_type.code               code
     save_

########################
## ATOM_SITES_ALT_GEN ##
########################

save_ATOM_SITES_ALT_GEN
    _category.description
;              Data items in the ATOM_SITES_ALT_GEN category record details
               about the interpretation of multiple conformations in the
               structure.
;
    _category.id                  atom_sites_alt_gen
    _category.mandatory_code      no
     loop_
    _category_key.name          '_atom_sites_alt_gen.ens_id'
                                '_atom_sites_alt_gen.alt_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _atom_sites_alt_gen.ens_id
    _atom_sites_alt_gen.alt_id
     'Ensemble 1-A' '.'
     'Ensemble 1-A' '1'
     'Ensemble 1-A' '3'
     'Ensemble 1-B' '.'
     'Ensemble 1-B' '1'
     'Ensemble 1-B' '4'
     'Ensemble 2-A' '.'
     'Ensemble 2-A' '2'
     'Ensemble 2-A' '3'
     'Ensemble 2-B' '.'
     'Ensemble 2-B' '2'
     'Ensemble 2-B' '4'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_sites_alt_gen.alt_id
    _item_description.description
;              This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_atom_sites_alt_gen.alt_id'
    _item.mandatory_code          yes
     save_

save__atom_sites_alt_gen.ens_id
     _item_description.description
;              This data item is a pointer to _atom_sites_alt_ens.id in the
               ATOM_SITES_ALT_ENS category.
;
    _item.name                  '_atom_sites_alt_gen.ens_id'
    _item.mandatory_code          yes
     save_

#########################
## ATOM_SITES_FOOTNOTE ##
#########################

save_ATOM_SITES_FOOTNOTE
    _category.description
;              Data items in the ATOM_SITES_FOOTNOTE category record detailed
               comments about an atom site or group of atom sites.
;
    _category.id                  atom_sites_footnote
    _category.mandatory_code      no
    _category_key.name          '_atom_sites_footnote.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _atom_sites_footnote.id
    _atom_sites_footnote.text
      1
    ; The inhibitor binds to the enzyme in two alternative orientations. The
      two orientations have been assigned alternative ids *1* and *2*.
    ;
      2
    ; Side chains of these residues adopt alternative orientations that
      correlate with the alternative orientations of the inhibitor.
      Side chains with alternative id *1* and occupancy 0.58 correlate with
      inhibitor orientation *1*.
      Side chains with alternative id *2* and occupancy 0.42 correlate with
      inhibitor orientation *2*.
    ;
      3
    ; The positions of these water molecules correlate with the alternative
      orientations of the inhibitor.
      Water molecules with alternative id *1* and occupancy 0.58 correlate with
      inhibitor orientation *1*.
      Water molecules with alternative id *2* and occupancy 0.42 correlate with
      inhibitor orientation *2*.
    ;
      4
    ; Side chains of these residues adopt alternative orientations that do not
      correlate with the alternative orientation of the inhibitor. 
    ;
      5
    ; The positions of these water molecules correlate with alternative
      orientations of amino acid side chains that do not correlate with
      alternative orientations of the inhibitor.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_sites_footnote.id
    _item_description.description
;              A code that identifies the footnote.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_atom_sites_footnote.id'  atom_sites_footnote  yes
               '_atom_site.footnote_id'   atom_site            no
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_site.footnote_id'  '_atom_sites_footnote.id'
    _item_type.code               code
     loop_
    _item_examples.case          'a'
                                 'b'
                                 '1'
                                 '2'
     save_

save__atom_sites_footnote.text
    _item_description.description
;              The text of the footnote. Footnotes are used to describe
               an atom site or group of atom sites in the ATOM_SITE list.

               For example, footnotes may be used to indicate atoms for which
               the electron density is very weak, or atoms for which static
               disorder has been modeled, among many other possibilities.
;
    _item.name                  '_atom_sites_footnote.text'
    _item.category_id             atom_sites_footnote
    _item.mandatory_code          no
    _item_type.code               text
     save_

###############
## ATOM_TYPE ##
###############

save_ATOM_TYPE
    _category.description
;              Data items in the ATOM_TYPE category record details about
               properties of the atoms that occupy the atom sites, such as the
               atomic scattering factors.
;
    _category.id                  atom_type
    _category.mandatory_code      no
    _category_key.name          '_atom_type.symbol'
     loop_
    _category_group.id           'inclusive_group'
                                 'atom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _atom_type.symbol
    _atom_type.oxidation_number
    _atom_type.scat_Cromer_Mann_a1
    _atom_type.scat_Cromer_Mann_a2
    _atom_type.scat_Cromer_Mann_a3
    _atom_type.scat_Cromer_Mann_a4
    _atom_type.scat_Cromer_Mann_b1
    _atom_type.scat_Cromer_Mann_b2
    _atom_type.scat_Cromer_Mann_b3
    _atom_type.scat_Cromer_Mann_b4
    _atom_type.scat_Cromer_Mann_c
      C   0   2.31000  20.8439    1.02000   10.2075
              1.58860   0.568700  0.865000  51.6512      0.21560
      N   0  12.2126    0.005700  3.13220    9.89330
              2.01250  28.9975    1.16630    0.582600  -11.529
      O   0   3.04850  13.2771    2.28680    5.70110
              1.54630   0.323900  0.867000  32.9089      0.250800
      S   0   6.90530   1.46790   5.20340   22.2151
              1.43790   0.253600  1.58630   56.1720      0.866900
      CL -1  18.2915    0.006600  7.20840    1.17170
              6.53370  19.5424    2.33860   60.4486    -16.378
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
     loop_
    _atom_type.symbol
    _atom_type.oxidation_number
    _atom_type.number_in_cell
    _atom_type.scat_dispersion_real
    _atom_type.scat_dispersion_imag
    _atom_type.scat_source
      C  0  72  .017  .009  International_Tables_Vol_IV_Table_2.2B
      H  0  100  0  0  International_Tables_Vol_IV_Table_2.2B
      O  0  12  .047  .032  International_Tables_Vol_IV_Table_2.2B
      N  0  4  .029  .018  International_Tables_Vol_IV_Table_2.2B
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__atom_type.analytical_mass_percent
    _item_description.description
;              Mass percentage of this atom type derived from chemical analysis.
;
    _item.name                  '_atom_type.analytical_mass_percent'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_analytical_mass_%'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0 
                                  0.0   0.0
    _item_type.code               float
     save_

save__atom_type.description
    _item_description.description
;              A description of the atom(s) designated by this atom type. In
               most cases this is the element name and oxidation state of
               a single atom species. For disordered or nonstoichiometric
               structures it will describe a combination of atom species.
;
    _item.name                  '_atom_type.description'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_description'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'deuterium'
                                 '0.34Fe+0.66Ni'
     save_

save__atom_type.number_in_cell
    _item_description.description
;              Total number of atoms of this atom type in the unit cell.
;
    _item.name                  '_atom_type.number_in_cell'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_number_in_cell'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__atom_type.oxidation_number
    _item_description.description
;              Formal oxidation state of this atom type in the structure.
;
    _item.name                  '_atom_type.oxidation_number'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_oxidation_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0
     loop_
    _item_range.maximum           
    _item_range.minimum           6    6
                                  6   -6
                                 -6   -6
    _item_type.code               int
     save_

save__atom_type.radius_bond
    _item_description.description
;              The effective intramolecular bonding radius in angstroms
               of this atom type.
;
    _item.name                  '_atom_type.radius_bond'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_radius_bond'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           4.0   4.0
                                  4.0   0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__atom_type.radius_contact
    _item_description.description
;              The effective intermolecular bonding radius in angstroms
               of this atom type.
;
    _item.name                  '_atom_type.radius_contact'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_radius_contact'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           4.0   4.0
                                  4.0   0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__atom_type.scat_Cromer_Mann_a1
    _item_description.description
;              The a1 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_a1'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_a1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_a2
    _item_description.description
;              The a2 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_a2'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_a2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_a3
    _item_description.description
;              The a3 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_a3'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_a3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_a4
    _item_description.description
;              The a4 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_a4'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_a4'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_b1
    _item_description.description
;              The b1 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_b1'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_b1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_b2
    _item_description.description
;              The b2 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_b2'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_b2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_b3
    _item_description.description
;              The b3 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_b3'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_b3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b4'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_b4
    _item_description.description
;              The b4 Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_b4'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_b4'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_c'
    _item_type.code               float
     save_

save__atom_type.scat_Cromer_Mann_c
    _item_description.description
;              The c Cromer-Mann scattering-factor coefficient used to
               calculate the scattering factors for this atom type.

               Ref: International Tables for X-ray Crystallography, Vol. IV,
                    (1974). Table 2.2B.
                or: International Tables for Crystallography, Vol. C,
                    (1991). Tables 6.1.1.4 and 6.1.1.5.
;
    _item.name                  '_atom_type.scat_Cromer_Mann_c'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_Cromer_Mann_c'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_atom_type.scat_Cromer_Mann_a1'
                                '_atom_type.scat_Cromer_Mann_a2'
                                '_atom_type.scat_Cromer_Mann_a3'
                                '_atom_type.scat_Cromer_Mann_a4'
                                '_atom_type.scat_Cromer_Mann_b1'
                                '_atom_type.scat_Cromer_Mann_b2'
                                '_atom_type.scat_Cromer_Mann_b3'
                                '_atom_type.scat_Cromer_Mann_b4'
    _item_type.code               float
     save_

save__atom_type.scat_dispersion_imag
    _item_description.description
;              The imaginary component of the anomalous dispersion
               scattering factors, f'' (in electrons) for this atom type
               and the radiation identified by _diffrn_radiation_wavelength.id.
;
    _item.name                  '_atom_type.scat_dispersion_imag'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_dispersion_imag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_dependent.dependent_name
                                '_atom_type.scat_dispersion_real'
    _item_type.code               float
     save_

save__atom_type.scat_dispersion_real
    _item_description.description
;              The real component of the anomalous dispersion
               scattering factors, and f' (in electrons) for this atom type
               and the radiation identified by _diffrn_radiation_wavelength.id.
;
    _item.name                  '_atom_type.scat_dispersion_real'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_dispersion_real'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0.0
    _item_dependent.dependent_name
                                '_atom_type.scat_dispersion_imag'
    _item_type.code               float
     save_

save__atom_type.scat_length_neutron
    _item_description.description
;              The bound coherent scattering length in femtometres for the
               atom type at the isotopic composition used for the diffraction
               experiment.
;
    _item.name                  '_atom_type.scat_length_neutron'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_length_neutron'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_units.code              femtometres
     save_

save__atom_type.scat_source
    _item_description.description
;              Reference to source of scattering factors used for this atom
               type.
;
    _item.name                  '_atom_type.scat_source'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_source'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'International Tables Vol IV Table 2.4.6B'
     save_

save__atom_type.scat_versus_stol_list
    _item_description.description
;              A table of scattering factors as a function of sin theta over
               lambda. This table should be well commented to indicate the
               items present. Regularly formatted lists are strongly
               recommended.
;
    _item.name                  '_atom_type.scat_versus_stol_list'
    _item.category_id             atom_type
    _item.mandatory_code          no
    _item_aliases.alias_name    '_atom_type_scat_versus_stol_list'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__atom_type.symbol
    _item_description.description
;              The code used to identify the atom specie(s) representing this
               atom type. Normally this code is the element symbol. The code
               may be composed of any character except an underline with the
               additional proviso that digits designate an oxidation state and
               must be followed by a + or - character.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_atom_type.symbol'                   atom_type            yes
               '_atom_site.type_symbol'              atom_site            yes
               '_atom_site_anisotrop.type_symbol'    atom_site_anisotrop  yes
               '_chemical_conn_atom.type_symbol'     chemical_conn_atom   yes
               '_chem_comp_atom.type_symbol'         chem_comp_atom       yes
               '_phasing_MIR_der_site.atom_type_symbol'
                                                 phasing_MIR_der_site     yes

    _item_aliases.alias_name    '_atom_type_symbol'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_site.type_symbol'              '_atom_type.symbol'
               '_atom_site_anisotrop.type_symbol'    '_atom_type.symbol'
               '_chemical_conn_atom.type_symbol'     '_atom_type.symbol'
               '_chem_comp_atom.type_symbol'         '_atom_type.symbol'
               '_phasing_MIR_der_site.atom_type_symbol'  '_atom_type.symbol'
    _item_type.code               code
     loop_
    _item_examples.case          'C'
                                 'Cu2+'
                                 'H(SDS)'
                                 'dummy'
                                 'FeNi'
     save_

###########
## AUDIT ##
###########

save_AUDIT
    _category.description
;              Data items in the AUDIT category record details about the
               creation and subsequent updating of the data block.

               Note that these items apply only to the creation and updating of
               the data block, and should not be confused with the data items
               (in the JOURNAL category) that describe the time course of
               publication of the material in the data block.
;
    _category.id                  audit
    _category.mandatory_code      no
    _category_key.name          '_audit.revision_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'audit_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _audit.revision_id                   1
    _audit.creation_date                '1992-12-08'

    _audit.creation_method
    ; Created by hand from PDB entry 5HVP, from the JBC paper describing this
      structure and from laboratory records
    ;

    _audit.update_record
    ; 1992-12-09         adjusted to reflect comments from Brian McKeever
      1992-12-10         adjusted to reflect comments from Helen Berman
      1992-12-12         adjusted to reflect comments from Keith Watenpaugh
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _audit.creation_date               1991-03-20
    _audit.creation_method             from_xtal_archive_file_using_CIFIO
    _audit.update_record
    ; 1991-04-09           text and data added by Tony Willis.
      1991-04-15           rec'd by co-editor with diagram as manuscript HL7.
      1991-04-17           adjustments based on first referees report.
      1991-04-18           adjustments based on second referees report.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__audit.creation_date
    _item_description.description
;              A date that the data block was created. The date format is
               yyyy-mm-dd.
;
    _item.name                  '_audit.creation_date'
    _item.category_id             audit
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_creation_date'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
    _item_examples.case          '1990-07-12'
     save_

save__audit.creation_method
    _item_description.description
;              A description of how data were entered into the data block.
;
    _item.name                  '_audit.creation_method'
    _item.category_id             audit
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_creation_method'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'spawned by the program QBEE'
     save_

save__audit.revision_id
    _item_description.description
;              The value of _audit.revision_id must uniquely identify a record
               in the AUDIT list.
;
    _item.name                  '_audit.revision_id'
    _item.category_id             audit
    _item.mandatory_code          yes
    _item_type.code               code
    _item_examples.case          'rev1'
     save_

save__audit.update_record
    _item_description.description
;              A record of any changes to the data block. The update format is
               a date (yyyy-mm-dd) followed by a description of the changes.
               The latest update entry is added to the bottom of this record.
;
    _item.name                  '_audit.update_record'
    _item.category_id             audit
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_update_record'
    _item_aliases.dictionary      cif_core.dic 
    _item_aliases.version         2.0.1 
    _item_type.code               text 
    _item_examples.case          '1990-07-15   Updated by the Co-editor'
     save_

##################
## AUDIT_AUTHOR ##
##################

save_AUDIT_AUTHOR
    _category.description
;              Data items in the AUDIT_AUTHOR category record details about
               the author(s) of the data block.
;
    _category.id                  audit_author
    _category.mandatory_code      no
    _category_key.name          '_audit_author.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'audit_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _audit_author.name
    _audit_author.address
     'Fitzgerald, Paula M.D.'
    ; Department of Biophysical Chemistry
      Merck Research Laboratories
      P. O. Box 2000, Ry80M203
      Rahway, New Jersey  07065
      USA
    ;
     'McKeever, Brian M.'
    ; Department of Biophysical Chemistry
      Merck Research Laboratories
      P. O. Box 2000, Ry80M203
      Rahway, New Jersey  07065
      USA
    ;
     'Van Middlesworth, J.F.'
    ; Department of Biophysical Chemistry
      Merck Research Laboratories
      P. O. Box 2000, Ry80M203
      Rahway, New Jersey  07065
      USA
    ;
     'Springer, James P.'
    ; Department of Biophysical Chemistry
      Merck Research Laboratories
      P. O. Box 2000, Ry80M203
      Rahway, New Jersey  07065
      USA
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__audit_author.address
    _item_description.description
;              The address of an author of this data block. If there are
               multiple authors, _audit_author.address is looped with
               _audit_author.name.
;
    _item.name                  '_audit_author.address'
    _item.category_id             audit_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_author_address'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Department
                                  Institute
                                  Street
                                  City and postcode
                                  COUNTRY
;
     save_

save__audit_author.name
    _item_description.description
;              The name of an author of this data block. If there are multiple
               authors, _audit_author.name is looped with _audit_author.address.
               The family name(s), followed by a comma and including any
               dynastic compoents, precedes the first name(s) or initial(s).
;
    _item.name                  '_audit_author.name'
    _item.category_id             audit_author
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_audit_author_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'Bleary, Percival R.'
                                 "O'Neil, F.K."
                                 'Van den Bossche, G.'
                                 'Yang, D.-L.'
                                 'Simonov, Yu.A'
     save_

###################
## AUDIT_CONFORM ##
###################

save_AUDIT_CONFORM
    _category.description
;              Data items in the AUDIT_CONFORM category described the
               dictionary versions against which the data names appearing in
               the current data block are conformant.
;
    _category.id                  audit_conform
    _category.mandatory_code      no
     loop_
    _category_key.name          '_audit_conform.dict_name'
                                '_audit_conform.dict_version'
     loop_
    _category_group.id           'inclusive_group'
                                 'audit_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - Any file conforming to the current CIF core dictionary.
;
;
    _audit_conform.dict_name         cif_core.dic
    _audit_conform.dict_version      2.0
    _audit_conform.dict_location     ftp://ftp.iucr.ac.uk/pub/cifdic.c96
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__audit_conform.dict_location
    _item_description.description
;              A file name or uniform resource locator (URL) where the
               conformant dictionary resides.
;
    _item.name                  '_audit_conform.dict_location'
    _item.category_id             audit_conform
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_conform_dict_location'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__audit_conform.dict_name
    _item_description.description
;              The string identifying the highest-level dictionary defining
               datanames used in this file.
;
    _item.name                  '_audit_conform.dict_name'
    _item.category_id             audit_conform
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_conform_dict_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__audit_conform.dict_version
    _item_description.description
;              The version number of the conformant dictionary.
;
    _item.name                  '_audit_conform.dict_version'
    _item.category_id             audit_conform
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_conform_dict_version'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

##########################
## AUDIT_CONTACT_AUTHOR ##
##########################

save_AUDIT_CONTACT_AUTHOR
    _category.description
;              Data items in the AUDIT_CONTACT_AUTHOR category record details
               about the name and address of the author to be contacted
               concerning the contents of this data block.
;
    _category.id                  audit_contact_author
    _category.mandatory_code      no
    _category_key.name          '_audit_contact_author.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'audit_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _audit_contact_author.name          'Fitzgerald, Paula M.D.'
    _audit_contact_author.address
    ;                                   Department of Biophysical Chemistry
                                        Merck Research Laboratories
                                        P. O. Box 2000, Ry80M203
                                        Rahway, New Jersey  07065
                                        USA
    ;
    _audit_contact_author.phone         '908 594 5510'
    _audit_contact_author.fax           '908 594 6645'
    _audit_contact_author.email         'paula_fitzgerald@merck.com'

;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__audit_contact_author.address
    _item_description.description
;              The mailing address of the author of the data block to whom
               correspondence should be addressed.
;
    _item.name                  '_audit_contact_author.address'
    _item.category_id             audit_contact_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_contact_author_address'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Department
                                  Institute
                                  Street
                                  City and postcode
                                  COUNTRY
;
     save_

save__audit_contact_author.email
    _item_description.description
;              The electronic mail address of the author of the data block to
               whom correspondence should be addressed, in a form recognisable
               to international networks.
;
    _item.name                  '_audit_contact_author.email'
    _item.category_id             audit_contact_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_contact_author_email'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'name@host.domain.country'
                                 'bm@iucr.ac.uk'
     save_

save__audit_contact_author.fax
    _item_description.description
;              The facsimile telephone number of the author of the data
               block to whom correspondence should be addressed.

               The recommended style includes the international dialing
               prefix, the area code in parentheses, followed by the
               local number with no spaces. The earlier convention of including
               the international dialing prefixes in parentheses is no longer
               recommended.
;
    _item.name                  '_audit_contact_author.fax'
    _item.category_id             audit_contact_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_contact_author_fax'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          '12(34)9477334'
                                 '12()349477334'
     save_

save__audit_contact_author.name
    _item_description.description
;              The name of the author of the data block to whom correspondence
               should be addressed.

               The family name(s), followed by a comma and including any 
               dynastic components, precedes the first name(s) or initial(s).
;
    _item.name                  '_audit_contact_author.name'
    _item.category_id             audit_contact_author
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_audit_contact_author_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'Bleary, Percival R.'
                                 "O'Neil, F.K."
                                 'Van den Bossche, G.'
                                 'Yang, D.-L.'
                                 'Simonov, Yu.A'
     save_

save__audit_contact_author.phone
    _item_description.description
;              The telephone number of the author of the data block to whom
               correspondence should be addressed.

               The recommended style includes the international dialing
               prefix, the area code in parentheses, followed by the
               local number and any extension number prefixed by 'x',
               with no spaces. The earlier convention of including
               the international dialing prefixes in parentheses is no longer
               recommended.
;
    _item.name                  '_audit_contact_author.phone'
    _item.category_id             audit_contact_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_contact_author_phone'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          '12(34)9477330'
                                 '12()349477330'
                                 '12(34)9477330x5543'
     save_

##########
## CELL ##
##########

save_CELL
    _category.description
;              Data items in the CELL category record details about the
               crystallographic cell parameters.
;
    _category.id                  cell
    _category.mandatory_code      no
    _category_key.name          '_cell.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'cell_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _cell.entry_id                         '5HVP'
    _cell.length_a                         58.39
    _cell.length_a_esd                      0.05
    _cell.length_b                         86.70
    _cell.length_b_esd                      0.12
    _cell.length_c                         46.27
    _cell.length_c_esd                      0.06
    _cell.angle_alpha                      90.00
    _cell.angle_beta                       90.00
    _cell.angle_gamma                      90.00
    _cell.volume                           234237
    _cell.details
    ; The cell parameters were refined every twenty frames during data
      integration. The cell lengths given are the mean of 55 such refinements;
      the esds given are the root mean square deviations of these 55
      observations from that mean.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _cell.length_a                      5.959
    _cell.length_a_esd                  0.001
    _cell.length_b                     14.956
    _cell.length_b_esd                  0.001
    _cell.length_c                     19.737
    _cell.length_c_esd                  0.003
    _cell.angle_alpha                  90.0
    _cell.angle_beta                   90.0
    _cell.angle_gamma                  90.0
    _cell.volume                       1759.0
    _cell.volume_esd                      0.3
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__cell.angle_alpha
    _item_description.description
;              Unit-cell angle alpha in degrees of the reported structure.
;
    _item.name                  '_cell.angle_alpha'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_angle_alpha'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           90.0
     loop_
    _item_dependent.dependent_name
                                '_cell.angle_beta'
                                '_cell.angle_gamma'
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_cell.angle_alpha_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cell_angle
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__cell.angle_alpha_esd
    _item_description.description
;              The estimated standard deviation of _cell.angle_alpha.
;
    _item.name                  '_cell.angle_alpha_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_cell.angle_beta_esd'
                                '_cell.angle_gamma_esd'
    _item_related.related_name  '_cell.angle_alpha'
    _item_related.function_code   associated_value
    _item_sub_category.id         cell_angle_esd
    _item_type.code               float
    _item_units.code              degrees
     save_

save__cell.angle_beta
    _item_description.description
;              Unit-cell angle beta in degrees of the reported structure.
;
    _item.name                  '_cell.angle_beta'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_angle_beta'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           90.0
     loop_
    _item_dependent.dependent_name
                                '_cell.angle_alpha'
                                '_cell.angle_gamma'
     loop_
    _item_range.maximum          
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_cell.angle_beta_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cell_angle
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__cell.angle_beta_esd
    _item_description.description
;              The estimated standard deviation of _cell.angle_beta.
;
    _item.name                  '_cell.angle_beta_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_cell.angle_alpha_esd'
                                '_cell.angle_gamma_esd'
    _item_related.related_name  '_cell.angle_beta'
    _item_related.function_code   associated_value
    _item_sub_category.id         cell_angle_esd
    _item_type.code               float
    _item_units.code              degrees
     save_

save__cell.angle_gamma
    _item_description.description
;              Unit-cell angle gamma in degrees of the reported structure.
;
    _item.name                  '_cell.angle_gamma'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_angle_gamma'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           90.0
     loop_
    _item_dependent.dependent_name
                                '_cell.angle_alpha'
                                '_cell.angle_beta'
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_cell.angle_gamma_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cell_angle
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__cell.angle_gamma_esd
    _item_description.description
;              The estimated standard deviation of _cell.angle_gamma.
;
    _item.name                  '_cell.angle_gamma_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_cell.angle_alpha_esd'
                                '_cell.angle_beta_esd'
    _item_related.related_name  '_cell.angle_gamma'
    _item_related.function_code   associated_value
    _item_sub_category.id         cell_angle_esd
    _item_type.code               float
    _item_units.code              degrees
     save_

save__cell.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_cell.entry_id'
    _item.mandatory_code          yes
     save_

save__cell.details
    _item_description.description
;              A description of special aspects of the cell choice, noting
               possible alternative settings.
;
    _item.name                  '_cell.details'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'pseudo-orthorhombic'
;                                 standard setting from 45 deg rotation
                                  around c
;
     save_

save__cell.formula_units_Z
    _item_description.description
;              The number of the formula units in the unit cell as specified
               by _chemical_formula.structural, _chemical_formula.moiety or
               _chemical_formula.sum.
;
    _item.name                  '_cell.formula_units_Z'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_formula_units_Z'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

save__cell.length_a
    _item_description.description
;              Unit-cell length a corresponding to the structure reported.
;
    _item.name                  '_cell.length_a'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_length_a'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_cell.length_b'
                                '_cell.length_c'
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_cell.length_a_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cell_length
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__cell.length_a_esd
    _item_description.description
;              The estimated standard deviation of _cell.length_a.
;
    _item.name                  '_cell.length_a_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_cell.length_b_esd'
                                '_cell.length_c_esd'
    _item_related.related_name  '_cell.length_a'
    _item_related.function_code   associated_value
    _item_sub_category.id         cell_length_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__cell.length_b
    _item_description.description
;              Unit-cell length b corresponding to the structure reported.
;
    _item.name                  '_cell.length_b'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_length_b'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_cell.length_b'
                                '_cell.length_c'
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_cell.length_b_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cell_length
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__cell.length_b_esd
    _item_description.description
;              The estimated standard deviation of _cell.length_b.
;
    _item.name                  '_cell.length_b_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_cell.length_a_esd'
                                '_cell.length_c_esd'
    _item_related.related_name  '_cell.length_b'
    _item_related.function_code   associated_value
    _item_sub_category.id         cell_length_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__cell.length_c
    _item_description.description
;              Unit-cell length c corresponding to the structure reported.
;
    _item.name                  '_cell.length_c'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_length_c'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_cell.length_a'
                                '_cell.length_b'
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_cell.length_c_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cell_length
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__cell.length_c_esd
    _item_description.description
;              The estimated standard deviation of _cell.length_c.
;
    _item.name                  '_cell.length_c_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_cell.length_a_esd'
                                '_cell.length_b_esd'
    _item_related.related_name  '_cell.length_c'
    _item_related.function_code   associated_value
    _item_sub_category.id         cell_length_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__cell.volume
    _item_description.description
;              Cell volume V in angstroms cubed.

               V = a b c (1 - cos^2^~alpha~ - cos^2^~beta~ - cos^2^~gamma~
                          + 2 cos~alpha~ cos~beta~ cos~gamma~)^1/2^

               a     = _cell.length_a
               b     = _cell.length_b
               c     = _cell.length_c
               alpha = _cell.angle_alpha
               beta  = _cell.angle_beta
               gamma = _cell.angle_gamma
;
    _item.name                  '_cell.volume'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_volume'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_cell.volume_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_cubed
     save_

save__cell.volume_esd
    _item_description.description
;              The estimated standard deviation of _cell.volume.
;
    _item.name                  '_cell.volume_esd'
    _item.category_id             cell
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_cell.volume'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms_cubed
     save_

save__cell.Z_PDB
    _item_description.description
;              The number of the polymeric chains in a unit cell. In the case
               of heteropolymers, Z is the number of occurrences of the most
               populous chain.

               This data item is provided for compatibility with the original
               Protein Data Bank format, and only for that purpose. This is
               not a very satisfactory definition, as the multiplicity of
               macromolecular structures can be different for the different
               components of the cell. A more useful measure of a "macro-
               molecular Z" could be obtained by counting the number of times
               each molecular entity appears in the STRUCT_ASYM list and
               multiplying by the number of equivalent positions in the unit
               cell. There would be one such number for each type of 
               molecular entity. 
;
    _item.name                  '_cell.Z_PDB'
    _item.category_id             cell
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

######################
## CELL_MEASUREMENT ##
######################

save_CELL_MEASUREMENT
    _category.description
;              Data items in the CELL_MEASUREMENT category record details
               about the measurement of the crystallographic cell parameters.
;
    _category.id                  cell_measurement
    _category.mandatory_code      no
    _category_key.name          '_cell_measurement.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'cell_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _cell_measurement.entry_id             '5HVP'
    _cell_measurement.temp                 293
    _cell_measurement.temp_esd             3
    _cell_measurement.theta_min            11
    _cell_measurement.theta_max            31
    _cell_measurement.wavelength           1.54
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _cell_measurement.temp                 293
    _cell_measurement.reflns_used          25
    _cell_measurement.theta_min            25
    _cell_measurement.theta_max            31
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__cell_measurement.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_cell_measurement.entry_id'
    _item.mandatory_code          yes
     save_

save__cell_measurement.pressure
    _item_description.description
;              The pressure in kilopascals at which the unit-cell parameters
               were measured (not the pressure used to synthesize the sample).
;
    _item.name                  '_cell_measurement.pressure'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_pressure'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_cell_measurement.pressure_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              kilopascals
     save_

save__cell_measurement.pressure_esd
    _item_description.description
;              The estimated standard deviation of _cell_measurement.pressure.
;
    _item.name                  '_cell_measurement.pressure_esd'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_cell_measurement.pressure'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              kilopascals
     save_

save__cell_measurement.radiation
    _item_description.description
;              Description of the radiation used to measure the unit-cell data.
               See also _cell_measurement.wavelength.
;
    _item.name                  '_cell_measurement.radiation'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_radiation'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'neutron'
                                 'Cu K\a'
                                 'synchrotron'
     save_

save__cell_measurement.reflns_used
    _item_description.description
;              The total number of reflections used to determine the unit cell.
               These reflections may be specified as CELL_MEASUREMENT_REFLN
               data items.
;
    _item.name                  '_cell_measurement.reflns_used'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_reflns_used'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__cell_measurement.temp
    _item_description.description
;              The temperature in kelvins at which the unit-cell parameters
               were measured (not the temperature of synthesis).
;
    _item.name                  '_cell_measurement.temp'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_temperature'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_cell_measurement.temp_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              kelvins
     save_

save__cell_measurement.temp_esd
    _item_description.description
;              The estimated standard deviation of _cell_measurement.temp.
;
    _item.name                  '_cell_measurement.temp_esd'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_cell_measurement.temp'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              kelvins
     save_

save__cell_measurement.theta_max
    _item_description.description
;              The maximum theta angle in degrees of reflections used to measure
               the unit cell.
;
    _item.name                  '_cell_measurement.theta_max'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_theta_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__cell_measurement.theta_min
    _item_description.description
;              The minimum theta angle in degrees of reflections used to measure
               the unit cell.
;
    _item.name                  '_cell_measurement.theta_min'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_theta_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__cell_measurement.wavelength
    _item_description.description
;              The wavelength in angstroms of the radiation used to measure
               the unit cell. If this is not specified, the wavelength is
               assumed to be the specified in the category
               DIFFRN_RADIATION_WAVELENGTH.
;
    _item.name                  '_cell_measurement.wavelength'
    _item.category_id             cell_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_wavelength'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

############################
## CELL_MEASUREMENT_REFLN ##
############################

save_CELL_MEASUREMENT_REFLN
    _category.description
;              Data items in the CELL_MEASUREMENT_REFLN category record
               details about the reflections used in determination of the
               crystallographic cell parameters.

               The CELL_MEASUREMENT_REFLN data items would in general be used
               only for diffractometer data.
;
    _category.id                  cell_measurement_refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_cell_measurement_refln.index_h'
                                '_cell_measurement_refln.index_k'
                                '_cell_measurement_refln.index_l'
     loop_
    _category_group.id           'inclusive_group'
                                 'cell_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - extracted from the CAD-4 listing of Rb~2~S~2~O~6~ at room
                temperature (not yet published).
;
;
     loop_
    _cell_measurement_refln.index_h
    _cell_measurement_refln.index_k
    _cell_measurement_refln.index_l
    _cell_measurement_refln.theta
       -2    4    1          8.67
        0    3    2          9.45
        3    0    2          9.46
       -3    4    1          8.93
       -2    1   -2          7.53
       10    0    0         23.77
        0   10    0         23.78
       -5    4    1         11.14
      # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__cell_measurement_refln.index_h
    _item_description.description
;              Miller index h of a reflection used for measurement of the unit
               cell.
;
    _item.name                  '_cell_measurement_refln.index_h'
    _item.category_id             cell_measurement_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_cell_measurement_refln_index_h'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_cell_measurement_refln.index_k'
                                '_cell_measurement_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__cell_measurement_refln.index_k
    _item_description.description
;              Miller index k of a reflection used for measurement of the unit
               cell.
;
    _item.name                  '_cell_measurement_refln.index_k'
    _item.category_id             cell_measurement_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_cell_measurement_refln_index_k'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_cell_measurement_refln.index_h'
                                '_cell_measurement_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__cell_measurement_refln.index_l
    _item_description.description
;              Miller index l of a reflection used for measurement of the unit
               cell.
;
    _item.name                  '_cell_measurement_refln.index_l'
    _item.category_id             cell_measurement_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_cell_measurement_refln_index_l'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_cell_measurement_refln.index_h'
                                '_cell_measurement_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__cell_measurement_refln.theta
    _item_description.description
;              Theta angle in degrees of a reflection used for measurement of
               the unit cell.
;
    _item.name                  '_cell_measurement_refln.theta'
    _item.category_id             cell_measurement_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_cell_measurement_refln_theta'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

###############
## CHEM_COMP ##
###############

save_CHEM_COMP
    _category.description
;              Data items in the CHEM_COMP category give details (such as
               name, mass, charge, etc.) about each of the chemical components
               from which the relevant chemical structures can be constructed.

               The related CHEM_COMP_ATOM, CHEM_COMP_BOND, CHEM_COMP_ANGLE, etc.
               categories describe the detailed geometry of these chemical
               components.
;
    _category.id                  chem_comp
    _category.mandatory_code      no
    _category_key.name          '_chem_comp.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp.id
    _chem_comp.model_source
    _chem_comp.name
      phe  '1987 Protin/Prolsq Ideals file' phenylalanine
      val  '1987 Protin/Prolsq Ideals file' alanine
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp.formula
    _item_description.description
;              The formula for the chemical component. Formulae are written
               according to the rules:

               1. Only recognised element symbols may be used.

               2. Each element symbol is followed by a 'count' number. A count
                  of '1' may be omitted.

               3. A space or parenthesis must separate each element symbol and
                  its count, but in general parentheses are not used.

               4. The order of elements depends on whether or not carbon is
                  present. If carbon is present, the order should be: C, then
                  H, then the other elements in alphabetical order of their
                  symbol. If carbon is not present, the elements are listed
                  purely in alphabetic order of their symbol. This is the
                  'Hill' system used by Chemical Abstracts.
;
    _item.name                  '_chem_comp.formula'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'C18 H19 N7 O8 S'
     save_

save__chem_comp.formula_weight
    _item_description.description
;              Formula mass in daltons of the chemical component.
;
    _item.name                  '_chem_comp.formula_weight'
    _item.category_id             chem_comp
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_type.code               float
     save_

save__chem_comp.id
    _item_description.description
;              The value of _chem_comp.id must uniquely identify each item in
               the CHEM_COMP list.

               For protein polymer entities, this is the three-letter code for
               amino acids.

               For nucleic acid polymer entities, this is the one-letter code
               for the bases.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
        '_chem_comp.id'                             chem_comp            yes
        '_atom_site.label_comp_id'                  atom_site            no
        '_chem_comp.mon_nstd_parent_comp_id'        chem_comp            no
        '_chem_comp_atom.comp_id'                   chem_comp_atom       yes
        '_chem_comp_angle.comp_id'                  chem_comp_angle      yes
        '_chem_comp_bond.comp_id'                   chem_comp_bond       yes
        '_chem_comp_chir.comp_id'                   chem_comp_chir       yes
        '_chem_comp_chir_atom.comp_id'              chem_comp_chir_atom  yes
        '_chem_comp_plane.comp_id'                  chem_comp_plane      yes
        '_chem_comp_plane_atom.comp_id'             chem_comp_plane_atom yes
        '_chem_comp_tor.comp_id'                    chem_comp_tor        yes
        '_chem_comp_tor_value.comp_id'              chem_comp_tor_value  yes
        '_entity_poly_seq.mon_id'                   entity_poly_seq      yes
        '_geom_angle.atom_site_label_comp_id_1'     geom_angle           no
        '_geom_angle.atom_site_label_comp_id_2'     geom_angle           no
        '_geom_angle.atom_site_label_comp_id_3'     geom_angle           no
        '_geom_bond.atom_site_label_comp_id_1'      geom_bond            no
        '_geom_bond.atom_site_label_comp_id_2'      geom_bond            no
        '_geom_contact.atom_site_label_comp_id_1'   geom_contact         no
        '_geom_contact.atom_site_label_comp_id_2'   geom_contact         no
        '_geom_hbond.atom_site_label_comp_id_A'     geom_hbond           no
        '_geom_hbond.atom_site_label_comp_id_D'     geom_hbond           no
        '_geom_hbond.atom_site_label_comp_id_H'     geom_hbond           no
        '_geom_torsion.atom_site_label_comp_id_1'   geom_torsion         no
        '_geom_torsion.atom_site_label_comp_id_2'   geom_torsion         no
        '_geom_torsion.atom_site_label_comp_id_3'   geom_torsion         no
        '_geom_torsion.atom_site_label_comp_id_4'   geom_torsion         no
        '_struct_conf.beg_label_comp_id'            struct_conf          yes
        '_struct_conf.end_label_comp_id'            struct_conf          yes
        '_struct_conn.ptnr1_label_comp_id'          struct_conn          yes
        '_struct_conn.ptnr2_label_comp_id'          struct_conn          yes
        '_struct_mon_nucl.label_comp_id'            struct_mon_nucl      yes
        '_struct_mon_prot.label_comp_id'            struct_mon_prot      yes
        '_struct_mon_prot_cis.label_comp_id'        struct_mon_prot_cis  yes
        '_struct_ncs_dom_lim.beg_label_comp_id'     struct_ncs_dom_lim   yes
        '_struct_ncs_dom_lim.end_label_comp_id'     struct_ncs_dom_lim   yes
        '_struct_ref_seq_dif.db_mon_id'             struct_ref_seq_dif   yes
        '_struct_ref_seq_dif.mon_id'                struct_ref_seq_dif   yes
        '_struct_sheet_range.beg_label_comp_id'     struct_sheet_range   yes
        '_struct_sheet_range.end_label_comp_id'     struct_sheet_range   yes
        '_struct_site_gen.label_comp_id'            struct_site_gen      yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
         '_atom_site.label_comp_id'                 '_chem_comp.id'
         '_chem_comp.mon_nstd_parent_comp_id'       '_chem_comp.id'
         '_chem_comp_atom.comp_id'                  '_chem_comp.id'
         '_chem_comp_chir.comp_id'                  '_chem_comp.id'
         '_chem_comp_chir_atom.comp_id'             '_chem_comp.id'
         '_chem_comp_plane.comp_id'                 '_chem_comp.id'
         '_chem_comp_plane_atom.comp_id'            '_chem_comp.id'
         '_entity_poly_seq.mon_id'                  '_chem_comp.id'
         '_chem_comp_angle.comp_id'                 '_chem_comp_atom.comp_id'
         '_chem_comp_bond.comp_id'                  '_chem_comp_atom.comp_id'
         '_chem_comp_tor.comp_id'                   '_chem_comp_atom.comp_id'
         '_chem_comp_tor_value.comp_id'             '_chem_comp_atom.comp_id'
         '_geom_angle.atom_site_label_comp_id_1'    '_atom_site.label_comp_id'
         '_geom_angle.atom_site_label_comp_id_2'    '_atom_site.label_comp_id'
         '_geom_angle.atom_site_label_comp_id_3'    '_atom_site.label_comp_id'
         '_geom_bond.atom_site_label_comp_id_1'     '_atom_site.label_comp_id'
         '_geom_bond.atom_site_label_comp_id_2'     '_atom_site.label_comp_id'
         '_geom_contact.atom_site_label_comp_id_1'  '_atom_site.label_comp_id'
         '_geom_contact.atom_site_label_comp_id_2'  '_atom_site.label_comp_id'
         '_geom_hbond.atom_site_label_comp_id_A'    '_atom_site.label_comp_id'
         '_geom_hbond.atom_site_label_comp_id_D'    '_atom_site.label_comp_id'
         '_geom_hbond.atom_site_label_comp_id_H'    '_atom_site.label_comp_id'
         '_geom_torsion.atom_site_label_comp_id_1'  '_atom_site.label_comp_id'
         '_geom_torsion.atom_site_label_comp_id_2'  '_atom_site.label_comp_id'
         '_geom_torsion.atom_site_label_comp_id_3'  '_atom_site.label_comp_id'
         '_geom_torsion.atom_site_label_comp_id_4'  '_atom_site.label_comp_id'
         '_struct_conf.beg_label_comp_id'           '_atom_site.label_comp_id'
         '_struct_conf.end_label_comp_id'           '_atom_site.label_comp_id'
         '_struct_conn.ptnr1_label_comp_id'         '_atom_site.label_comp_id'
         '_struct_conn.ptnr2_label_comp_id'         '_atom_site.label_comp_id'
         '_struct_mon_nucl.label_comp_id'           '_atom_site.label_comp_id'
         '_struct_mon_prot.label_comp_id'           '_atom_site.label_comp_id'
         '_struct_mon_prot_cis.label_comp_id'       '_atom_site.label_comp_id'
         '_struct_ncs_dom_lim.beg_label_comp_id'    '_atom_site.label_comp_id'
         '_struct_ncs_dom_lim.end_label_comp_id'    '_atom_site.label_comp_id'
         '_struct_ref_seq_dif.db_mon_id'            '_chem_comp.id'
         '_struct_ref_seq_dif.mon_id'               '_chem_comp.id'
         '_struct_sheet_range.beg_label_comp_id'    '_atom_site.label_comp_id'
         '_struct_sheet_range.end_label_comp_id'    '_atom_site.label_comp_id'
         '_struct_site_gen.label_comp_id'           '_atom_site.label_comp_id'
    _item_type.code               ucode
     loop_
    _item_examples.case          'ala'
                                 'val'
                                 'A'
                                 'C'
     save_

save__chem_comp.model_details
    _item_description.description
;              A description of special aspects of the generation of the
               coordinates for the model of the component.
;
    _item.name                  '_chem_comp.model_details'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          'geometry idealized but not minimized'
     save_

save__chem_comp.model_erf
    _item_description.description
;              A pointer to an 'external reference file', if the atomic
               description of the component is taken from such a file.
;
    _item.name                  '_chem_comp.model_erf'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               line
     save_

save__chem_comp.model_source
    _item_description.description
;              The source of the coordinates for the model of the component.
;
    _item.name                  '_chem_comp.model_source'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'CSD entry ABCDEF'
                                 'built using Quanta/Charmm'
     save_

save__chem_comp.mon_nstd_class
    _item_description.description
;              A description of the class of a non-standard monomer, if the
               group represents a modification of a standard monomer.
;
    _item.name                  '_chem_comp.mon_nstd_class'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'iodinated base'
                                 'phosphorylated amino acid'
                                 'bromined base'
                                 'modified amino acid'
                                 'glycosylated amino acid'
     save_

save__chem_comp.mon_nstd_details
    _item_description.description
;              A description of special details of a non-standard monomer.
;
    _item.name                  '_chem_comp.mon_nstd_details'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__chem_comp.mon_nstd_flag
    _item_description.description
;              'yes' indicates that this is a "standard" monomer, 'no' that it
               is "non-standard."  Non-standard monomers should be further
               described using the _chem_comp.mon_nstd_parent,
               _chem_comp.mon_nstd_class, and _chem_comp.mon_nstd_details data
               items.
;
    _item.name                  '_chem_comp.mon_nstd_flag'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               ucode
    _item_default.value           no
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'the monomer is non-standard'
                                  n    'abbreviation for "no"'
                                  yes  'the monomer is standard'
                                  y    'abbreviation for "yes"'
     save_

save__chem_comp.mon_nstd_parent
    _item_description.description
;              A name of the parent monomer of the non-standard monomer,
               if this group represents a modification of a standard monomer.
;
    _item.name                  '_chem_comp.mon_nstd_parent'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               code
     loop_
    _item_examples.case          'tyrosine'
                                 'cytosine'
     save_

save__chem_comp.mon_nstd_parent_comp_id
    _item_description.description
;              The identifier for the parent component of the non-standard
               component.

               This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp.mon_nstd_parent_comp_id'
    _item.mandatory_code          no
     save_

save__chem_comp.name
    _item_description.description
;              The full name of the component.
;
    _item.name                  '_chem_comp.name'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          'alanine'
                                 'valine'
                                 'adenine'
                                 'cytosine'
     save_

save__chem_comp.number_atoms_all
    _item_description.description
;              The total number of atoms in the component.
;
    _item.name                  '_chem_comp.number_atoms_all'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_comp.number_atoms_nh
    _item_description.description
;              The number of non-hydrogen atoms in the component.
;
    _item.name                  '_chem_comp.number_atoms_nh'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_comp.one_letter_code
    _item_description.description
;              For standard polymer components, the one-letter code for
               the component. If there is not a standard one letter code
               for this component, or if this is a non-polymer
               component, the one-letter code should be given as 'X'.
               This code may be preceded by a '+' character to indicate
               that the component is a modification of a standard 
               component.
;
    _item.name                  '_chem_comp.one_letter_code'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               uchar1
     loop_
    _item_examples.case
    _item_examples.detail         A  'alanine or adenine'
                                  B  'ambiguous asparagine/aspartic-acid'
                                  R  'arginine'
                                  N  'asparagine'
                                  D  'aspartic-acid'
                                  C  'cysteine or cystine or cytosine'
                                  Q  'glutamine'
                                  E  'glutamic-acid'
                                  Z  'ambiguous glutamine/glutamic acid'
                                  G  'glycine or guanine'
                                  H  'histidine'
                                  I  'isoleucine'
                                  L  'leucine'
                                  K  'lysine'
                                  M  'methionine'
                                  F  'phenylalanine'
                                  P  'proline'
                                  S  'serine'
                                  T  'threonine or thymine'
                                  W  'tryptophan'
                                  Y  'tyrosine'
                                  V  'valine'
                                  U  'uracil'
                                  O  'water'
                                  X  'other'
     save_

save__chem_comp.three_letter_code
    _item_description.description
;              For standard polymer components, the three-letter code for
               the component. If there is not a standard three letter code
               for this component, or if this is a non-polymer
               component, the three-letter code should be given as 'UNK'.
               This code may be preceded by a '+' character to indicate
               that the component is a modification of a standard 
               component.
;
    _item.name                  '_chem_comp.three_letter_code'
    _item.category_id             chem_comp
    _item.mandatory_code          no
    _item_type.code               uchar3
     loop_
    _item_examples.case
    _item_examples.detail         ALA  'alanine'
                                  ARG  'arginine'
                                  ASN  'asparagine'
                                  ASP  'aspartic-acid'
                                  ASX  'ambiguous asparagine/aspartic-acid'
                                  CYS  'cysteine'
                                  GLN  'glutamine'
                                  GLU  'glutamic-acid'
                                  GLY  'glycine'
                                  GLX  'ambiguous glutamine/glutamic acid'
                                  HIS  'histidine'
                                  ILE  'isoleucine'
                                  LEU  'leucine'
                                  LYS  'lysine'
                                  MET  'methionine'
                                  PHE  'phenylalanine'
                                  PRO  'proline'
                                  SER  'serine'
                                  THR  'threonine'
                                  TRP  'tryptophan'
                                  TRY  'tyrosine'
                                  VAL  'valine'
                                  1MA  '1-methyladenosine'
                                  5MC  '5-methycytosine'
                                  OMC  '2(prime)-O-methycytodine'
                                  1MG  '1-methyguanosine'
                                  2MG  'N(2)-methyguanosine'
                                  M2G  'N(2)-dimethyguanosine'
                                  7MG  '7-methyguanosine'
                                  0MG  '2(prime)-O-methyguanosine'
                                  H2U  'diydrouridine'
                                  5MU  'ribosylthymidine'
                                  PSU  'pseudouridine'
                                  ACE  'acetic acid'
                                  FOR  'formic acid'
                                  HOH  'water'
                                  UNK  'other'
     save_

save__chem_comp.type
    _item_description.description
;              For standard polymer components, the type of the monomer.
               Note that monomers that will form polymers are of three types:
               linking monomers, monomers with some type of N-terminal (or 5')
               cap, and monomers with some type of C-terminal (or 3') cap.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
        '_chem_comp.type'              chem_comp       yes
        '_chem_comp_link.type_comp_1'  chem_comp_link  yes
        '_chem_comp_link.type_comp_2'  chem_comp_link  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
        '_chem_comp_link.type_comp_1'  '_chem_comp.type'
        '_chem_comp_link.type_comp_2'  '_chem_comp.type'
    _item_type.code               uline
     loop_
    _item_enumeration.value      'D-peptide linking'
                                 'L-peptide linking'
                                 'D-peptide NH3 amino terminus'
                                 'L-peptide NH3 amino terminus'
                                 'D-peptide COOH carboxy terminus'
                                 'L-peptide COOH carboxy terminus'
                                 'DNA linking'
                                 'RNA linking'
                                 'DNA OH 5 prime terminus'
                                 'RNA OH 5 prime terminus'
                                 'DNA OH 3 prime terminus'
                                 'RNA OH 3 prime terminus'
                                 'D-saccharide 1,4 and 1,4 linking'
                                 'L-saccharide 1,4 and 1,4 linking'
                                 'D-saccharide 1,4 and 1,6 linking'
                                 'L-saccharide 1,4 and 1,6 linking'
                                 'non-polymer'
                                 'other'
     save_

######################
## CHEM_COMP_ANGLE ##
######################

save_CHEM_COMP_ANGLE
    _category.description
;              Data items in the CHEM_COMP_ANGLE category record details about
               angles in a chemical component. Angles are designated by three
               atoms, with the second atom forming the vertex of the angle.
               Target values may be specified as angles in degrees, as a
               distance between the first and third atoms, or both.
;
    _category.id                  chem_comp_angle
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_angle.comp_id'
                                '_chem_comp_angle.atom_id_1'
                                '_chem_comp_angle.atom_id_2'
                                '_chem_comp_angle.atom_id_3'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_angle.comp_id
    _chem_comp_angle.atom_id_1
    _chem_comp_angle.atom_id_2
    _chem_comp_angle.atom_id_3
    _chem_comp_angle.value_angle
    _chem_comp_angle.value_dist
      phe  N    CA   C    xxx.xx   x.xx
      phe  CA   C    O    xxx.xx   x.xx
      phe  CB   CA   C    xxx.xx   x.xx
      phe  CB   CA   N    xxx.xx   x.xx
      phe  CA   CB   CG   xxx.xx   x.xx
      phe  CB   CG   CD1  xxx.xx   x.xx
      phe  CB   CG   CD2  xxx.xx   x.xx
      phe  CD1  CG   CD2  xxx.xx   x.xx
      phe  CG   CD1  CE1  xxx.xx   x.xx
      phe  CD1  CE1  CZ   xxx.xx   x.xx
      phe  CE1  CZ   CE2  xxx.xx   x.xx
      phe  CZ   CE2  CD2  xxx.xx   x.xx
      phe  CG   CD2  CE2  xxx.xx   x.xx
      val  N    CA   C    xxx.xx   x.xx
      val  CA   C    O    xxx.xx   x.xx
      val  CB   CA   C    xxx.xx   x.xx
      val  CB   CA   N    xxx.xx   x.xx
      val  CA   CB   CG1  xxx.xx   x.xx
      val  CA   CB   CG2  xxx.xx   x.xx
      val  CG1  CB   CG2  xxx.xx   x.xx
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_angle.atom_id_1
    _item_description.description
;              The id of the first of the three atoms that define the angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               chem_comp_atom category.
;
    _item.name                  '_chem_comp_angle.atom_id_1'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_angle.atom_id_2'
                                '_chem_comp_angle.atom_id_3'
     save_

save__chem_comp_angle.atom_id_2
    _item_description.description
;              The id of the second of the three atoms that define the angle.
               The second atom is taken to be the apex of the angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               chem_comp_atom category.
;
    _item.name                  '_chem_comp_angle.atom_id_2'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_angle.atom_id_1'
                                '_chem_comp_angle.atom_id_3'
     save_

save__chem_comp_angle.atom_id_3
    _item_description.description
;              The id of the third of the three atoms that define the angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               chem_comp_atom category.
;
    _item.name                  '_chem_comp_angle.atom_id_3'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_angle.atom_id_1'
                                '_chem_comp_angle.atom_id_2'
     save_

save__chem_comp_angle.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_angle.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_angle.value_angle
    _item_description.description
;              The value that should be taken as the target value for the angle
               associated with the specified atoms, expressed in degrees.
;
    _item.name                  '_chem_comp_angle.value_angle'
    _item.category_id             chem_comp_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0 
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_chem_comp_angle.value_angle_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__chem_comp_angle.value_angle_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_angle.value_angle.
;
    _item.name                  '_chem_comp_angle.value_angle_esd'
    _item.category_id             chem_comp_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_chem_comp_angle.value_angle'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              degrees
     save_

save__chem_comp_angle.value_dist
    _item_description.description
;              The value that should be taken as the target value for the angle
               associated with the specified atoms, expressed as the distance
               between the atoms specified by _chem_comp_angle.atom_id_1 and
               _chem_comp_angle.atom_id_3.
;
    _item.name                  '_chem_comp_angle.value_dist'
    _item.category_id             chem_comp_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_comp_angle.value_dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_comp_angle.value_dist_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_angle.value_dist_esd.
;
    _item.name                  '_chem_comp_angle.value_dist_esd'
    _item.category_id             chem_comp_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_comp_angle.value_dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

#####################
## CHEM_COMP_ATOM ##
#####################

save_CHEM_COMP_ATOM
    _category.description
;              Data items in the CHEM_COMP_ATOM category record details about
               the atoms in a chemical component. Atomic coordinates can be
               given for the components; specifying coordinates is an
               alternative to specifying the structure of the component
               via bonds, angles, planes, etc., in the appropriate
               CHEM_COMP subcategories.
;
    _category.id                  chem_comp_atom
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_atom.comp_id'
                                '_chem_comp_atom.atom_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_atom.comp_id
    _chem_comp_atom.atom_id
    _chem_comp_atom.type_symbol
    _chem_comp_atom.substruct_code
    _chem_comp_atom.model_Cartn_x
    _chem_comp_atom.model_Cartn_y
    _chem_comp_atom.model_Cartn_z
      phe  N    N  main   1.20134   0.84658   0.00000
      phe  CA   C  main   0.00000   0.00000   0.00000
      phe  C    C  main  -1.25029   0.88107   0.00000
      phe  O    O  main  -2.18525   0.66029  -0.78409
      phe  CB   C  side   0.00662  -1.03603   1.11081
      phe  CG   C  side   0.03254  -0.49711   2.50951
      phe  CD1  C  side  -1.15813  -0.12084   3.13467
      phe  CE1  C  side  -1.15720   0.38038   4.42732
      phe  CZ   C  side   0.05385   0.51332   5.11032
      phe  CE2  C  side   1.26137   0.11613   4.50975
      phe  CD2  C  side   1.23668  -0.38351   3.20288
      val  N    N  main   1.20134   0.84658   0.00000
      val  CA   C  main   0.00000   0.00000   0.00000
      val  C    C  main  -1.25029   0.88107   0.00000
      val  O    O  main  -2.18525   0.66029  -0.78409
      val  CB   C  side   0.05260  -0.99339   1.17429
      val  CG1  C  side  -0.13288  -0.31545   2.52668
      val  CG2  C  side  -0.94265  -2.12930   0.99811
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_atom.alt_atom_id
    _item_description.description
;              An alternative identifier for the atom. This data item would be
               used in cases where alternative nomenclatures exist for labeling
               atoms in a group.
;
    _item.name                  '_chem_comp_atom.alt_atom_id'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_type.code               line
     save_

save__chem_comp_atom.atom_id
    _item_description.description
;              The value of _chem_comp_atom.atom_id must uniquely identify
               each atom in each monomer in the CHEM_COMP_ATOM list.

               The atom identifiers need not be unique over all atoms in the
               data block; they need only be unique for each atom in a
               component.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
        '_chem_comp_atom.atom_id'                   chem_comp_atom        yes
        '_atom_site.label_atom_id'                  atom_site             no
        '_chem_comp_angle.atom_id_1'                chem_comp_angle       yes
        '_chem_comp_angle.atom_id_2'                chem_comp_angle       yes
        '_chem_comp_angle.atom_id_3'                chem_comp_angle       yes
        '_chem_comp_bond.atom_id_1'                 chem_comp_bond        yes
        '_chem_comp_bond.atom_id_2'                 chem_comp_bond        yes
        '_chem_comp_chir.atom_id'                   chem_comp_chir        yes
        '_chem_comp_chir_atom.atom_id'              chem_comp_chir_atom   yes
        '_chem_comp_plane_atom.atom_id'             chem_comp_plane_atom  yes
        '_chem_comp_tor.atom_id_1'                  chem_comp_tor         yes
        '_chem_comp_tor.atom_id_2'                  chem_comp_tor         yes
        '_chem_comp_tor.atom_id_3'                  chem_comp_tor         yes
        '_chem_comp_tor.atom_id_4'                  chem_comp_tor         yes
        '_geom_angle.atom_site_label_atom_id_1'     geom_angle            no
        '_geom_angle.atom_site_label_atom_id_2'     geom_angle            no
        '_geom_angle.atom_site_label_atom_id_3'     geom_angle            no
        '_geom_bond.atom_site_label_atom_id_1'      geom_bond             no
        '_geom_bond.atom_site_label_atom_id_2'      geom_bond             no
        '_geom_contact.atom_site_label_atom_id_1'   geom_contact          no
        '_geom_contact.atom_site_label_atom_id_2'   geom_contact          no
        '_geom_hbond.atom_site_label_atom_id_A'     geom_hbond            no
        '_geom_hbond.atom_site_label_atom_id_D'     geom_hbond            no
        '_geom_hbond.atom_site_label_atom_id_H'     geom_hbond            no
        '_geom_torsion.atom_site_label_atom_id_1'   geom_torsion          no
        '_geom_torsion.atom_site_label_atom_id_2'   geom_torsion          no
        '_geom_torsion.atom_site_label_atom_id_3'   geom_torsion          no
        '_geom_torsion.atom_site_label_atom_id_4'   geom_torsion          no
        '_struct_conn.ptnr1_label_atom_id'          struct_conn           yes
        '_struct_conn.ptnr2_label_atom_id'          struct_conn           yes
        '_struct_sheet_hbond.range_1_beg_label_atom_id'
                                            struct_sheet_hbond    yes
        '_struct_sheet_hbond.range_1_end_label_atom_id'
                                            struct_sheet_hbond    yes
        '_struct_sheet_hbond.range_2_beg_label_atom_id'
                                            struct_sheet_hbond    yes
        '_struct_sheet_hbond.range_2_end_label_atom_id'
                                            struct_sheet_hbond    yes
        '_struct_site_gen.label_atom_id'    struct_site_gen       yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
        '_atom_site.label_atom_id'          '_chem_comp_atom.atom_id'
        '_chem_comp_angle.atom_id_1'        '_chem_comp_atom.atom_id'
        '_chem_comp_angle.atom_id_2'        '_chem_comp_atom.atom_id'
        '_chem_comp_angle.atom_id_3'        '_chem_comp_atom.atom_id'
        '_chem_comp_bond.atom_id_1'         '_chem_comp_atom.atom_id'
        '_chem_comp_bond.atom_id_2'         '_chem_comp_atom.atom_id'
        '_chem_comp_chir.atom_id'           '_chem_comp_atom.atom_id'
        '_chem_comp_chir_atom.atom_id'      '_chem_comp_atom.atom_id'
        '_chem_comp_plane_atom.atom_id'     '_chem_comp_atom.atom_id'
        '_chem_comp_tor.atom_id_1'          '_chem_comp_atom.atom_id'
        '_chem_comp_tor.atom_id_2'          '_chem_comp_atom.atom_id'
        '_chem_comp_tor.atom_id_3'          '_chem_comp_atom.atom_id'
        '_chem_comp_tor.atom_id_4'          '_chem_comp_atom.atom_id'
        '_geom_angle.atom_site_label_atom_id_1'    '_atom_site.label_atom_id'
        '_geom_angle.atom_site_label_atom_id_2'    '_atom_site.label_atom_id'
        '_geom_angle.atom_site_label_atom_id_3'    '_atom_site.label_atom_id'
        '_geom_bond.atom_site_label_atom_id_1'     '_atom_site.label_atom_id'
        '_geom_bond.atom_site_label_atom_id_2'     '_atom_site.label_atom_id'
        '_geom_contact.atom_site_label_atom_id_1'  '_atom_site.label_atom_id'
        '_geom_contact.atom_site_label_atom_id_2'  '_atom_site.label_atom_id'
        '_geom_hbond.atom_site_label_atom_id_A'    '_atom_site.label_atom_id'
        '_geom_hbond.atom_site_label_atom_id_D'    '_atom_site.label_atom_id'
        '_geom_hbond.atom_site_label_atom_id_H'    '_atom_site.label_atom_id'
        '_geom_torsion.atom_site_label_atom_id_1'  '_atom_site.label_atom_id'
        '_geom_torsion.atom_site_label_atom_id_2'  '_atom_site.label_atom_id'
        '_geom_torsion.atom_site_label_atom_id_3'  '_atom_site.label_atom_id'
        '_geom_torsion.atom_site_label_atom_id_4'  '_atom_site.label_atom_id'
        '_struct_conn.ptnr1_label_atom_id'  '_atom_site.label_atom_id'
        '_struct_conn.ptnr2_label_atom_id'  '_atom_site.label_atom_id'
        '_struct_sheet_hbond.range_1_beg_label_atom_id'
                                            '_atom_site.label_atom_id'
        '_struct_sheet_hbond.range_1_end_label_atom_id'
                                            '_atom_site.label_atom_id'
        '_struct_sheet_hbond.range_2_beg_label_atom_id'
                                            '_atom_site.label_atom_id'
        '_struct_sheet_hbond.range_2_end_label_atom_id'
                                            '_atom_site.label_atom_id'
        '_struct_site_gen.label_atom_id'    '_atom_site.label_atom_id'
    _item_type.code               code
     save_

save__chem_comp_atom.charge
    _item_description.description
;              The net integer charge assigned to this atom. This is the
               formal charge assignment normally found in chemical diagrams.
;
    _item.name                  '_chem_comp_atom.charge'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_default.value           0
     loop_
    _item_range.maximum          
    _item_range.minimum           6    6
                                  6   -6
                                 -6   -6
    _item_type.code               int
     loop_
    _item_examples.case
    _item_examples.detail         1   'for an ammonium nitrogen'
                                  -1  'for a chloride ion'
     save_

save__chem_comp_atom.model_Cartn_x
    _item_description.description
;              The x component of the coordinates for this atom in this
               component specified as orthogonal angstroms. The choice of
               reference axis frame for the coordinates is arbitrary.

               The set of coordinates input for the entity here is intended to
               correspond to the atomic model used to generate restraints for
               structure refinement, and not to atom sites in the _atom_site
               list.
;
    _item.name                  '_chem_comp_atom.model_Cartn_x'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_atom.model_Cartn_y'
                                '_chem_comp_atom.model_Cartn_z'
    _item_related.related_name  '_chem_comp_atom.model_Cartn_x_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_comp_atom.model_Cartn_x_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_atom.model_Cartn_x.
;
    _item.name                  '_chem_comp_atom.model_Cartn_x_esd'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_atom.model_Cartn_y_esd'
                                '_chem_comp_atom.model_Cartn_z_esd'
    _item_related.related_name  '_chem_comp_atom.model_Cartn_x'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__chem_comp_atom.model_Cartn_y
    _item_description.description
;              The y component of the coordinates for this atom in this
               component specified as orthogonal angstroms. The choice of
               reference axis frame for the coordinates is arbitrary.

               The set of coordinates input for the entity here is intended to
               correspond to the atomic model used to generate restraints for
               structure refinement, and not to atom sites in the _atom_site
               list.
;
    _item.name                  '_chem_comp_atom.model_Cartn_y'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_atom.model_Cartn_x'
                                '_chem_comp_atom.model_Cartn_z'
    _item_related.related_name  '_chem_comp_atom.model_Cartn_y_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_comp_atom.model_Cartn_y_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_atom.model_Cartn_y.
;
    _item.name                  '_chem_comp_atom.model_Cartn_y_esd'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_atom.model_Cartn_x_esd'
                                '_chem_comp_atom.model_Cartn_z_esd'
    _item_related.related_name  '_chem_comp_atom.model_Cartn_y'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__chem_comp_atom.model_Cartn_z
    _item_description.description
;              The x component of the coordinates for this atom in this
               component specified as orthogonal angstroms. The choice of
               reference axis frame for the coordinates is arbitrary.

               The set of coordinates input for the entity here is intended to
               correspond to the atomic model used to generate restraints for
               structure refinement, and not to atom sites in the _atom_site
               list.
;
    _item.name                  '_chem_comp_atom.model_Cartn_z'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_atom.model_Cartn_x'
                                '_chem_comp_atom.model_Cartn_y'
    _item_related.related_name  '_chem_comp_atom.model_Cartn_z_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_comp_atom.model_Cartn_z_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_atom.model_Cartn_z.
;
    _item.name                  '_chem_comp_atom.model_Cartn_z_esd'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_atom.model_Cartn_x_esd'
                                '_chem_comp_atom.model_Cartn_y_esd'
    _item_related.related_name  '_chem_comp_atom.model_Cartn_z'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__chem_comp_atom.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_atom.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_atom.partial_charge
    _item_description.description
;              The partial charge assigned to this atom.
;
    _item.name                  '_chem_comp_atom.partial_charge'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__chem_comp_atom.substruct_code
    _item_description.description
;              This data item assigns the atom to a substructure of the
               component, if appropriate.
;
    _item.name                  '_chem_comp_atom.substruct_code'
    _item.category_id             chem_comp_atom
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      main   'main chain of an amino acid'
                                  side   'side chain of an amino acid'
                                  base   'base of a nucleic acid'
                                  phos   'phosphate of a nucleic acid'
                                  sugar  'sugar of a nucleic acid'
                                  none   'not appropriate for this monomer'
     save_

#save_chem_comp_atom.type_energy
#    _item_description.description
#;              This data item is a pointer to _atom_type_energy.type in the
#               ATOM_TYPE_ENERGY category.
#;
#     save_

save__chem_comp_atom.type_symbol
    _item_description.description
;              This data item is a pointer to _atom_type.symbol in the
               ATOM_TYPE category.
;
    _item.name                  '_chem_comp_atom.type_symbol'
    _item.mandatory_code          yes
     save_

#####################
## CHEM_COMP_BOND ##
#####################

save_CHEM_COMP_BOND
    _category.description
;              Data items in the CHEM_COMP_BOND category record details about
               the bonds between atoms in a chemical component. Target values
               may be specified as bond orders, as a distance between the two
               atoms, or both.
;
    _category.id                  chem_comp_bond
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_bond.comp_id'
                                '_chem_comp_bond.atom_id_1'
                                '_chem_comp_bond.atom_id_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_bond.comp_id
    _chem_comp_bond.atom_id_1
    _chem_comp_bond.atom_id_2
    _chem_comp_bond.value_order
    _chem_comp_bond.value_dist
      phe  N    CA   sing  x.xx
      phe  CA   C    sing  x.xx
      phe  C    O    doub  x.xx
      phe  CB   CA   sing  x.xx
      phe  CB   CG   sing  x.xx
      phe  CG   CD1  arom  x.xx
      phe  CD1  CE1  arom  x.xx
      phe  CE1  CZ   arom  x.xx
      phe  CZ   CE2  arom  x.xx
      phe  CE2  CD2  arom  x.xx
      phe  CD2  CG   arom  x.xx
      val  N    CA   sing  x.xx
      val  CA   C    sing  x.xx
      val  C    O    doub  x.xx
      val  CB   CA   sing  x.xx
      val  CB   CG1  sing  x.xx
      val  CB   CG2  sing  x.xx
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_bond.atom_id_1
    _item_description.description
;              The id of the first of the two atoms that define the bond.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_bond.atom_id_1'
    _item.mandatory_code          yes
    _item_dependent.dependent_name
                                '_chem_comp_bond.atom_id_2'
     save_

save__chem_comp_bond.atom_id_2
    _item_description.description
;              The id of the second of the two atoms that define the bond.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_bond.atom_id_2'
    _item.mandatory_code          yes
    _item_dependent.dependent_name
                                '_chem_comp_bond.atom_id_1'
     save_

save__chem_comp_bond.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_bond.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_bond.value_order
    _item_description.description
;              The value that should be taken as the target for the chemical
               bond associated with the specified atoms, expressed as a bond
               order.
;
    _item.name                  '_chem_comp_bond.value_order'
    _item.category_id             chem_comp_bond
    _item.mandatory_code          no
    _item_default.value           sing
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      sing  'single bond'
                                  doub  'double bond'
                                  trip  'triple bond'
                                  quad  'quadruple bond'
                                  arom  'aromatic bond'
                                  poly  'polymeric bond'
                                  delo  'delocalised double bond'
                                  pi    'pi bond'
     save_

save__chem_comp_bond.value_dist
    _item_description.description
;              The value that should be taken as the target for the chemical
               bond associated with the specified atoms, expressed as a
               distance.
;
    _item.name                  '_chem_comp_bond.value_dist'
    _item.category_id             chem_comp_bond
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_comp_bond.value_dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_comp_bond.value_dist_esd
    _item_description.description
;              The estimated standard deviation of _chem_comp_bond.value_dist.
;
    _item.name                  '_chem_comp_bond.value_dist_esd'
    _item.category_id             chem_comp_bond
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_comp_bond.value_dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

####################
## CHEM_COMP_CHIR ##
####################

save_CHEM_COMP_CHIR
    _category.description
;              Data items in the CHEM_COMP_CHIR category provide detail about
               the chiral centers in a chemical component. The atoms bonded
               to the chiral atom are specified in the CHEM_COMP_CHIR_ATOM
               category.
;
    _category.id                  chem_comp_chir
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_chir.comp_id'
                                '_chem_comp_chir.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_chir.comp_id
    _chem_comp_chir.id
    _chem_comp_chir.atom_id
      phe  phe1  CA
      val  val1  CA
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_chir.atom_id
    _item_description.description
;              The id of the atom that is a chiral center.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_chir.atom_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_chir.atom_config
    _item_description.description
;              The chiral configuration of the atom that is a chiral center.
;
    _item.name                  '_chem_comp_chir.atom_config'
    _item.category_id             chem_comp_chir
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      R  'absolute configuration R'
                                  S  'absolute configuration S'
     save_

save__chem_comp_chir.id
    _item_description.description
;              The value of _chem_comp_chir.id must uniquely identify a record
               in the CHEM_COMP_CHIR list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_comp_chir.id'            chem_comp_chir        yes
               '_chem_comp_chir_atom.chir_id'  chem_comp_chir_atom   yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_comp_chir_atom.chir_id'  '_chem_comp_chir.id'
    _item_type.code               code
     save_

save__chem_comp_chir.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_chir.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_chir.number_atoms_all
    _item_description.description
;              The total number of atoms bonded to the atom specified by
               _chem_comp_chir.atom_id.
;
    _item.name                  '_chem_comp_chir.number_atoms_all'
    _item.category_id             chem_comp_chir
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_comp_chir.number_atoms_nh
    _item_description.description
;              The number of non-hydrogen atoms bonded to the atom specified by
               _chem_comp_chir.atom_id.
;
    _item.name                  '_chem_comp_chir.number_atoms_nh'
    _item.category_id             chem_comp_chir
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_comp_chir.volume_flag
    _item_description.description
;              A flag to indicate whether a chiral volume should match the
               standard value in both magnitude and sign, or in magnitude only.
;
    _item.name                  '_chem_comp_chir.volume_flag'
    _item.category_id             chem_comp_chir
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      sign    'match magnitude and sign'
                                  nosign  'match magnitude only'
     save_

save__chem_comp_chir.volume_three
    _item_description.description
;              The chiral volume V(c), for chiral centers that involve a chiral
               atom bonded to three non-hydrogen atoms and one hydrogen atom.

               V~c~ = V1 * (V2 X V3)

               V1 = the vector distance from the atom specified by
                    _chem_comp_chir.atom_id to the first atom in the
                    CHEM_COMP_CHIR_ATOM list
               V2 = the vector distance from the atom specified by
                    _chem_comp_chir.atom_id to the second atom in the
                    CHEM_COMP_CHIR_ATOM list
               V3 = the vector distance from the atom specified by
                    _chem_comp_chir.atom_id to the third atom in the
                    CHEM_COMP_CHIR_ATOM list
               *  = the vector dot product
               X  = the vector cross product
;
    _item.name                  '_chem_comp_chir.volume_three'
    _item.category_id             chem_comp_chir
    _item.mandatory_code          no
    _item_related.related_name  '_chem_comp_chir.volume_three_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_cubed
     save_

save__chem_comp_chir.volume_three_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_chir.volume_three.
;
    _item.name                  '_chem_comp_chir.volume_three_esd'
    _item.category_id             chem_comp_chir
    _item.mandatory_code          no
    _item_related.related_name  '_chem_comp_chir.volume_three'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms_cubed
     save_

#########################
## CHEM_COMP_CHIR_ATOM ##
#########################

save_CHEM_COMP_CHIR_ATOM
    _category.description
;              Data items in the CHEM_COMP_CHIR_ATOM category enumerate the
               atoms bonded to a chiral atom within a chemical component.
;
    _category.id                  chem_comp_chir_atom
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_chir_atom.chir_id'
                                '_chem_comp_chir_atom.atom_id'
                                '_chem_comp_chir_atom.comp_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_chir_atom.comp_id
    _chem_comp_chir_atom.chir_id
    _chem_comp_chir_atom.atom_id
      phe  1  N
      phe  1  C
      phe  1  CB
      val  1  N
      val  1  C
      val  1  CB
   # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_chir_atom.atom_id
    _item_description.description
;              The id of an atom bonded to the chiral atom.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_chir_atom.atom_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_chir_atom.chir_id
    _item_description.description
;              This data item is a pointer to _chem_comp_chir.id in the
               CHEM_COMP_CHIR category.
;
    _item.name                  '_chem_comp_chir_atom.chir_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_chir_atom.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the
               CHEM_COMP category.
;
    _item.name                  '_chem_comp_chir_atom.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_chir_atom.dev
    _item_description.description
;              The estimated standard deviation of the position of this atom
               from the plane defined by all of the atoms in the plane.
;
    _item.name                  '_chem_comp_chir_atom.dev'
    _item.category_id             chem_comp_chir_atom
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

####################
## CHEM_COMP_LINK ##
####################

save_CHEM_COMP_LINK
    _category.description
;              Data items in the CHEM_COMP_LINK category give details about
               the linkages between chemical components.
;
    _category.id                  chem_comp_link
    _category.mandatory_code      no
    _category_key.name          '_chem_comp_link.link_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - from nucleotide external refererence dictionary
                Nucleic Database Project 1997.
;
;
    _chem_comp_link.link_id        ribose_adenine
    _chem_comp_link.type_comp_1    ribose
    _chem_comp_link.type_comp_2    adenine
    _chem_comp_link.details
    ;
      Defines the linkage between adenine base and ribose sugar
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_link.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the 
               CHEM_LINK category.
;
    _item.name                  '_chem_comp_link.link_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_link.details
    _item_description.description
;              A description of special aspects of a linkage between
               chemical components in the structure.
;
    _item.name                  '_chem_comp_link.details'
    _item.category_id             chem_comp_link
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__chem_comp_link.type_comp_1
    _item_description.description
;              The type of the first of the two components joined by the
               linkage. 

               This data item is a pointer to _chem_comp.type in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_link.type_comp_1'
    _item.mandatory_code          yes
     save_

save__chem_comp_link.type_comp_2
    _item_description.description
;              The type of the second of the two components joined by the
               linkage.

               This data item is a pointer to _chem_comp.type in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_link.type_comp_2'
    _item.mandatory_code          yes
     save_

######################
## CHEM_COMP_PLANE ##
######################

save_CHEM_COMP_PLANE
    _category.description
;              Data items in the CHEM_COMP_PLANE category provide identifiers
               for the planes in a chemical component.  The atoms in the plane
               are specified in the CHEM_COMP_PLANE_ATOM category.
;
    _category.id                  chem_comp_plane
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_plane.comp_id'
                                '_chem_comp_plane.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_plane.comp_id
    _chem_comp_plane.id
      phe  phe1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_plane.id
    _item_description.description
;              The value of _chem_comp_plane.id must uniquely identify a record
               in the CHEM_COMP_PLANE list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_comp_plane.id'             chem_comp_plane       yes
               '_chem_comp_plane_atom.plane_id'  chem_comp_plane_atom  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_comp_plane_atom.plane_id'  '_chem_comp_plane.id'
    _item_type.code               code
     save_

save__chem_comp_plane.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_plane.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_plane.number_atoms_all
    _item_description.description
;              The total number of atoms in the plane.
;
    _item.name                  '_chem_comp_plane.number_atoms_all'
    _item.category_id             chem_comp_plane
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_comp_plane.number_atoms_nh
    _item_description.description
;              The number of non-hydrogen atoms in the plane.
;
    _item.name                  '_chem_comp_plane.number_atoms_nh'
    _item.category_id             chem_comp_plane
    _item.mandatory_code          no
    _item_type.code               int
     save_

###########################
## CHEM_COMP_PLANE_ATOM ##
###########################

save_CHEM_COMP_PLANE_ATOM
    _category.description
;              Data items in the CHEM_COMP_PLANE_ATOM category enumerate the
               atoms in a plane within a chemical component.
;
    _category.id                  chem_comp_plane_atom
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_plane_atom.plane_id'
                                '_chem_comp_plane_atom.atom_id'
                                '_chem_comp_plane_atom.comp_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_plane_atom.plane_id
    _chem_comp_plane_atom.comp_id
    _chem_comp_plane_atom.atom_id
      phe1  phe  CB
      phe1  phe  CG
      phe1  phe  CD1
      phe1  phe  CE1
      phe1  phe  CZ
      phe1  phe  CE2
      phe1  phe  CD2
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_plane_atom.atom_id
    _item_description.description
;              The id of an atom involved in the plane.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_plane_atom.atom_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_plane_atom.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_plane_atom.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_plane_atom.plane_id
    _item_description.description
;              This data item is a pointer to _chem_comp_plane.id in the
               CHEM_COMP_PLANE category.
;
    _item.name                  '_chem_comp_plane_atom.plane_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_plane_atom.dist_esd
    _item_description.description
;              This data item is the standard deviation of the
               out of plane distance for this atom.
;
    _item.name                  '_chem_comp_plane_atom.dist_esd'
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

####################
## CHEM_COMP_TOR ##
####################

save_CHEM_COMP_TOR
    _category.description
;              Data items in the CHEM_COMP_TOR category record details about
               the torsion angles in a chemical component. As torsion angles
               can have more than one target value, the target values are
               specified in the CHEM_COMP_TOR_VALUE category.
;
    _category.id                  chem_comp_tor
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_tor.comp_id'
                                '_chem_comp_tor.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_tor.comp_id
    _chem_comp_tor.id
    _chem_comp_tor.atom_id_1
    _chem_comp_tor.atom_id_2
    _chem_comp_tor.atom_id_3
    _chem_comp_tor.atom_id_4
      phe  phe_chi1   N    CA   CB   CG
      phe  phe_chi2   CA   CB   CG   CD1
      phe  phe_ring1  CB   CG   CD1  CE1
      phe  phe_ring2  CB   CG   CD2  CE2
      phe  phe_ring3  CG   CD1  CE1  CZ
      phe  phe_ring4  CD1  CE1  CZ   CE2
      phe  phe_ring5  CE1  CZ   CE2  CD2
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_tor.atom_id_1
    _item_description.description
;              The id of the first of the four atoms that define the torsion
               angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_tor.atom_id_1'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_tor.atom_id_2'
                                '_chem_comp_tor.atom_id_3'
                                '_chem_comp_tor.atom_id_4'
     save_

save__chem_comp_tor.atom_id_2
    _item_description.description
;              The id of the second of the four atoms that define the torsion
               angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_tor.atom_id_2'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_tor.atom_id_1'
                                '_chem_comp_tor.atom_id_3'
                                '_chem_comp_tor.atom_id_4'
     save_

save__chem_comp_tor.atom_id_3
    _item_description.description
;              The id of the third of the four atoms that define the torsion
               angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_tor.atom_id_3'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_tor.atom_id_1'
                                '_chem_comp_tor.atom_id_2'
                                '_chem_comp_tor.atom_id_4'
     save_

save__chem_comp_tor.atom_id_4
    _item_description.description
;              The id of the fourth of the four atoms that define the torsion
               angle.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_tor.atom_id_4'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_comp_tor.atom_id_1'
                                '_chem_comp_tor.atom_id_2'
                                '_chem_comp_tor.atom_id_3'
     save_

save__chem_comp_tor.id
    _item_description.description
;              The value of _chem_comp_tor.id must uniquely identify a
               record in the CHEM_COMP_TOR list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_comp_tor.id'            chem_comp_tor        yes
               '_chem_comp_tor_value.tor_id'  chem_comp_tor_value  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_comp_tor_value.tor_id'  '_chem_comp_tor.id'
    _item_type.code               code
     save_

save__chem_comp_tor.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_chem_comp_tor.comp_id'
    _item.mandatory_code          yes
     save_

##########################
## CHEM_COMP_TOR_VALUE ##
##########################

save_CHEM_COMP_TOR_VALUE
    _category.description
;              Data items in the CHEM_COMP_TOR_VALUE category record details
               about the target values for the torsion angles enumerated in the
               CHEM_COMP_TOR list. Target values may be specified as angles
               in degrees, as a distance between the first and fourth atoms, or
               both.
;
    _category.id                  chem_comp_tor_value
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_comp_tor_value.tor_id'
                                '_chem_comp_tor_value.comp_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_comp_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _chem_comp_tor_value.tor_id
    _chem_comp_tor_value.comp_id
    _chem_comp_tor_value.angle
    _chem_comp_tor_value.dist
      phe_chi1   phe  -60.0  2.88
      phe_chi1   phe  180.0  3.72
      phe_chi1   phe   60.0  2.88
      phe_chi2   phe   90.0  3.34
      phe_chi2   phe  -90.0  3.34
      phe_ring1  phe  180.0  3.75
      phe_ring2  phe  180.0  3.75
      phe_ring3  phe    0.0  2.80
      phe_ring4  phe    0.0  2.80
      phe_ring5  phe    0.0  2.80
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_comp_tor_value.comp_id
    _item_description.description
;              This data item is a pointer to _chem_comp_atom.comp_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_chem_comp_tor_value.comp_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_tor_value.tor_id
    _item_description.description
;              This data item is a pointer to _chem_comp_tor.id in the
               CHEM_COMP_TOR category.
;
    _item.name                  '_chem_comp_tor_value.tor_id'
    _item.mandatory_code          yes
     save_

save__chem_comp_tor_value.angle
    _item_description.description
;              A value that should be taken as a potential target value for the
               torsion angle associated with the specified atoms, expressed in
               degrees.
;
    _item.name                  '_chem_comp_tor_value.angle'
    _item.category_id             chem_comp_tor_value
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0    180.0
                                  180.0   -180.0
                                 -180.0   -180.0
    _item_related.related_name  '_chem_comp_tor_value.angle_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__chem_comp_tor_value.angle_esd
    _item_description.description
;              The estimated standard deviation of _chem_comp_tor_value.angle.
;
    _item.name                  '_chem_comp_tor_value.angle_esd'
    _item.category_id             chem_comp_tor_value
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0    180.0
                                  180.0   -180.0
                                 -180.0   -180.0
    _item_related.related_name  '_chem_comp_tor_value.angle'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              degrees
     save_

save__chem_comp_tor_value.dist
    _item_description.description
;              A value that should be taken as a potential target value for the
               torsion angle associated with the specified atoms, expressed as
               the distance between the atoms specified by
               _chem_comp_tor.atom_id_1 and _chem_comp_tor.atom_id_4 in the
               referenced record in the CHEM_COMP_TOR list. Note that the
               torsion angle cannot be fully specified by a distance (for
               instance, a torsion angle of -60 will yield the same distance as
               a 60 degree angle). However the distance specification can be
               useful for refinement in situations in which the angle is already
               close to the desired value.
;
    _item.name                  '_chem_comp_tor_value.dist'
    _item.category_id             chem_comp_tor_value
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_comp_tor_value.dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_comp_tor_value.dist_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_tor_value.dist_esd.
;
    _item.name                  '_chem_comp_tor_value.dist_esd'
    _item.category_id             chem_comp_tor_value
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_comp_tor_value.dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

###############
## CHEM_LINK ##
###############

save_CHEM_LINK
    _category.description
;              Data items in the CHEM_LINK category give details about
               the linkages between chemical groups.
;
    _category.id                  chem_link
    _category.mandatory_code      no
    _category_key.name          '_chem_link.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     save_

save__chem_link.id
    _item_description.description
;              The value of _chem_link.id must uniquely identify each
               item in the CHEM_LINK list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_link.id'                 chem_link         yes
               '_chem_link_angle.link_id'      chem_link_angle   yes
               '_chem_link_bond.link_id'       chem_link_bond    yes
               '_chem_link_chir.link_id'       chem_link_chir    yes
               '_chem_link_plane.link_id'      chem_link_plane   yes
               '_chem_link_tor.link_id'        chem_link_tor     yes
               '_chem_comp_link.link_id'       chem_comp_link    yes
               '_entity_link.link_id'          entity_link       yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_link_angle.link_id'      '_chem_link.id'
               '_chem_link_bond.link_id'       '_chem_link.id'
               '_chem_link_chir.link_id'       '_chem_link.id'
               '_chem_link_plane.link_id'      '_chem_link.id'
               '_chem_link_tor.link_id'        '_chem_link.id'
               '_chem_comp_link.link_id'       '_chem_link.id'
               '_entity_link.link_id'          '_chem_link.id'
    _item_type.code               code
     loop_
    _item_examples.case          'peptide'
                                 'oligosaccharide 1,4'
                                 'DNA'
     save_

save__chem_link.details
    _item_description.description
;              A description of special aspects of a linkage between
               chemical components in the structure.
;
    _item.name                  '_chem_link.details'
    _item.category_id             chem_link
    _item.mandatory_code          no
    _item_type.code               text
     save_

#####################
## CHEM_LINK_ANGLE ##
#####################

save_CHEM_LINK_ANGLE
    _category.description
;              Data items in the CHEM_LINK_ANGLE category record details
               about angles in a linkage between chemical groups.
;
    _category.id                  chem_link_angle
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_angle.link_id'
                                '_chem_link_angle.atom_id_1'
                                '_chem_link_angle.atom_id_2'
                                '_chem_link_angle.atom_id_3'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - Engh and Huber parameters as interpreted by J. P. Priestle
;
;
     loop_
    _chem_link_angle.link_id
    _chem_link_angle.value_angle
    _chem_link_angle.value_angle_esd
    _chem_link_angle.atom_id_1
    _chem_link_angle.atom_1_comp_id
    _chem_link_angle.atom_id_2
    _chem_link_angle.atom_2_comp_id
    _chem_link_angle.atom_id_3
    _chem_link_angle.atom_3_comp_id
     PEPTIDE  111.2  2.8  N  1  CA 1  C  1
     PEPTIDE  120.8  1.7  CA 1  C  1  O  1
     PEPTIDE  116.2  2.0  CA 1  C  1  N  2
     PEPTIDE  123.0  1.6  O  1  C  1  N  2
     PEPTIDE  121.7  1.8  C  1  N  2  CA 2
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_angle.atom_1_comp_id
    _item_description.description
;              This data item indicates whether atom 1 is found in the first
               or the second of the two component connected by the linkage.
;
    _item.name                  '_chem_link_angle.atom_1_comp_id'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_angle.atom_2_comp_id'
                                '_chem_link_angle.atom_3_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_angle.atom_2_comp_id
    _item_description.description
;              This data item indicates whether atom 2 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_angle.atom_2_comp_id'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_angle.atom_1_comp_id'
                                '_chem_link_angle.atom_3_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_angle.atom_3_comp_id
    _item_description.description
;              This data item indicates whether atom 3 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_angle.atom_3_comp_id'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_angle.atom_1_comp_id'
                                '_chem_link_angle.atom_2_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_angle.atom_id_1
    _item_description.description
;              The id of the first of the three atoms that define the angle.

               As this data item does not point to a specific atom in a
               specific component, it is not a child in the linkage sense.
;
    _item.name                  '_chem_link_angle.atom_id_1'
    _item.category_id             chem_link_angle
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_angle.atom_id_2'
                                '_chem_link_angle.atom_id_3'
    _item_type.code               code
     save_

save__chem_link_angle.atom_id_2
    _item_description.description
;              The id of the second of the three atoms that define the angle.
               The second atom is taken to be the apex of the angle.

               As this data item does not point to a specific atom in a
               specific component, it is not a child in the linkage sense.
;
    _item.name                  '_chem_link_angle.atom_id_2'
    _item.category_id             chem_link_angle
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_angle.atom_id_1'
                                '_chem_link_angle.atom_id_3'
    _item_type.code               code
     save_

save__chem_link_angle.atom_id_3
    _item_description.description
;              The id of the third of the three atoms that define the angle.

               As this data item does not point to a specific atom in a
               specific component, it is not a child in the linkage sense.
;
    _item.name                  '_chem_link_angle.atom_id_3'
    _item.category_id             chem_link_angle
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_angle.atom_id_1'
                                '_chem_link_angle.atom_id_2'
    _item_type.code               code
     save_

save__chem_link_angle.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the CHEM_LINK
               category.
;
    _item.name                  '_chem_link_angle.link_id'
    _item.mandatory_code          yes
     save_
 
save__chem_link_angle.value_angle
    _item_description.description
;              The value that should be taken as the target value for the angle
               associated with the specified atoms, expressed in degrees.
;
    _item.name                  '_chem_link_angle.value_angle'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum          
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_chem_link_angle.value_angle_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__chem_link_angle.value_angle_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_link_angle.value_angle.
;
    _item.name                  '_chem_link_angle.value_angle_esd'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_related.related_name  '_chem_link_angle.value_angle'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              degrees
     save_

save__chem_link_angle.value_dist
    _item_description.description
;              The value that should be taken as the target value for the angle
               associated with the specified atoms, expressed as the distance
               between the atoms specified by _chem_comp_angle.atom_id_1 and
               _chem_comp_angle.atom_id_3.
;
    _item.name                  '_chem_link_angle.value_dist'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_link_angle.value_dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_link_angle.value_dist_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_comp_angle.value_dist_esd.
;
    _item.name                  '_chem_link_angle.value_dist_esd'
    _item.category_id             chem_link_angle
    _item.mandatory_code          no
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_link_angle.value_dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

####################
## CHEM_LINK_BOND ##
####################

save_CHEM_LINK_BOND
    _category.description
;              Data items in the CHEM_LINK_BOND category record details about
               bonds in a linkage between components in the chemical structure.
;
    _category.id                  chem_link_bond
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_bond.link_id'
                                '_chem_link_bond.atom_id_1'
                                '_chem_link_bond.atom_id_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - Engh and Huber parameters as interpreted by J. P. Priestle
;
;
     loop_
    _chem_link_bond.link_id
    _chem_link_bond.value_dist
    _chem_link_bond.value_dist_esd
    _chem_link_bond.atom_id_1
    _chem_link_bond.atom_1_comp_id
    _chem_link_bond.atom_id_2
    _chem_link_bond.atom_2_comp_id
     PEPTIDE  1.458  0.019  N  1  CA 1
     PEPTIDE  1.525  0.021  CA 1  C  1
     PEPTIDE  1.329  0.014  C  1  N  2
     PEPTIDE  1.231  0.020  C  1  O  1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_bond.atom_1_comp_id
    _item_description.description
;              This data item indicates whether atom 1 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_bond.atom_1_comp_id'
    _item.category_id             chem_link_bond
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_bond.atom_2_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_bond.atom_2_comp_id
    _item_description.description
;              This data item indicates whether atom 2 is found in the first
               or the second of the two chemical components connected by
               the linkage.
;
    _item.name                  '_chem_link_bond.atom_2_comp_id'
    _item.category_id             chem_link_bond
    _item.mandatory_code          no
    _item_dependent.dependent_name
                                '_chem_link_bond.atom_1_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_bond.atom_id_1
    _item_description.description
;              The id of the first of the two atoms that define the bond.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the
               linkage sense.
;
    _item.name                  '_chem_link_bond.atom_id_1'
    _item.category_id             chem_link_bond
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_bond.atom_id_2'
    _item_type.code               code
     save_

save__chem_link_bond.atom_id_2
    _item_description.description
;              The id of the second of the two atoms that define the bond.

               As this data item does not point to a specific atom in a
               specific component, it is not a child in the linkage sense.
;
    _item.name                  '_chem_link_bond.atom_id_2'
    _item.category_id             chem_link_bond
    _item.mandatory_code          yes
    _item_dependent.dependent_name
                                '_chem_link_bond.atom_id_1'
    _item_type.code               code
     save_

save__chem_link_bond.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the CHEM_LINK
               category.
;
    _item.name                  '_chem_link_bond.link_id'
    _item.mandatory_code          yes
     save_

save__chem_link_bond.value_dist
    _item_description.description
;              The value that should be taken as the target for the chemical
               bond associated with the specified atoms, expressed as a
               distance.
;
    _item.name                  '_chem_link_bond.value_dist'
    _item.category_id             chem_link_bond
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_link_bond.value_dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_link_bond.value_dist_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_link_bond.value_dist_esd.
;
    _item.name                  '_chem_link_bond.value_dist_esd'
    _item.category_id             chem_link_bond
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_link_bond.value_dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__chem_link_bond.value_order
    _item_description.description
;              The value that should be taken as the target for the chemical
               bond associated with the specified atoms, expressed as a bond
               order.
;
    _item.name                  '_chem_link_bond.value_order'
    _item.category_id             chem_link_bond
    _item.mandatory_code          no
    _item_default.value           sing
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      sing  'single bond'
                                  doub  'double bond'
                                  trip  'triple bond'
                                  quad  'quadruple bond'
                                  arom  'aromatic bond'
                                  poly  'polymeric bond'
                                  delo  'delocalised double bond'
                                  pi    'pi bond'
     save_

####################
## CHEM_LINK_CHIR ##
####################

save_CHEM_LINK_CHIR
    _category.description
;              Data items in the CHEM_LINK_CHIR category provide detail about
               the chiral centers in a linkage between two chemical components.
               The atoms bonded to the chiral atom are specified in the 
               CHEM_LINK_CHIR_ATOM category.
;
    _category.id                  chem_link_chir
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_chir.link_id'
                                '_chem_link_chir.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_chir.atom_comp_id
    _item_description.description
;              This data item indicates whether the chiral atom is found in the
               first or the second of the two component connected by the
               linkage.
;
    _item.name                  '_chem_link_chir.atom_comp_id'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_chir.atom_id
    _item_description.description
;              The id of the atom that is a chiral center.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_chir.atom_id'
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__chem_link_chir.atom_config
    _item_description.description
;              The chiral configuration of the atom that is a chiral center.
;
    _item.name                  '_chem_link_chir.atom_config'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      R  'absolute configuration R'
                                  S  'absolute configuration S'
     save_

save__chem_link_chir.id
    _item_description.description
;              The value of _chem_link_chir.id must uniquely identify a record
               in the CHEM_LINK_CHIR list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_link_chir.id'            chem_link_chir        yes
               '_chem_link_chir_atom.chir_id'  chem_link_chir_atom   yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_link_chir_atom.chir_id'  '_chem_link_chir.id'
    _item_type.code               code
     save_

save__chem_link_chir.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the CHEM_LINK
               category.
;
    _item.name                  '_chem_link_chir.link_id'
    _item.mandatory_code          yes
     save_

save__chem_link_chir.number_atoms_all
    _item_description.description
;              The total number of atoms bonded to the atom specified by
               _chem_link_chir.atom_id.
;
    _item.name                  '_chem_link_chir.number_atoms_all'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_link_chir.number_atoms_nh
    _item_description.description
;              The number of non-hydrogen atoms bonded to the atom specified by
               _chem_link_chir.atom_id.
;
    _item.name                  '_chem_link_chir.number_atoms_nh'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_link_chir.volume_flag
    _item_description.description
;              A flag to indicate whether a chiral volume should match the
               standard value in both magnitude and sign, or in magnitude only.
;
    _item.name                  '_chem_link_chir.volume_flag'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      sign    'match magnitude and sign'
                                  nosign  'match magnitude only'
     save_

save__chem_link_chir.volume_three
    _item_description.description
;              The chiral volume V(c), for chiral centers that involve a chiral
               atom bonded to three non-hydrogen atoms and one hydrogen atom.

               V~c~ = V1 * (V2 X V3)

               V1 = the vector distance from the atom specified by
                    _chem_link_chir.atom_id to the first atom in the
                    CHEM_LINK_CHIR_ATOM list
               V2 = the vector distance from the atom specified by
                    _chem_link_chir.atom_id to the second atom in the
                    CHEM_LINK_CHIR_ATOM list
               V3 = the vector distance from the atom specified by
                    _chem_link_chir.atom_id to the third atom in the
                    CHEM_LINK_CHIR_ATOM list
               *  = the vector dot product
               X  = the vector cross product
;
    _item.name                  '_chem_link_chir.volume_three'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
    _item_related.related_name  '_chem_link_chir.volume_three_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms_cubed
     save_

save__chem_link_chir.volume_three_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_link_chir.volume_three.
;
    _item.name                  '_chem_link_chir.volume_three_esd'
    _item.category_id             chem_link_chir
    _item.mandatory_code          no
    _item_related.related_name  '_chem_link_chir.volume_three'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms_cubed
     save_

#########################
## CHEM_LINK_CHIR_ATOM ##
#########################

save_CHEM_LINK_CHIR_ATOM
    _category.description
;              Data items in the CHEM_LINK_CHIR_ATOM category enumerate the
               atoms bonded to a chiral atom in a linkage between two
               chemical components.
;
    _category.id                  chem_link_chir_atom
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_chir_atom.chir_id'
                                '_chem_link_chir_atom.atom_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_chir_atom.atom_comp_id
    _item_description.description
;              This data item indicates whether the atom bonded to a chiral
               atom is found in the first or the second of the two components
               connected by the linkage.
;
    _item.name                  '_chem_link_chir_atom.atom_comp_id'
    _item.category_id             chem_link_chir_atom
    _item.mandatory_code          no
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_chir_atom.atom_id
    _item_description.description
;              The id of an atom bonded to the chiral atom.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_chir_atom.atom_id'
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__chem_link_chir_atom.chir_id
    _item_description.description
;              This data item is a pointer to _chem_link_chir.id in the
               CHEM_LINK_CHIR category.
;
    _item.name                  '_chem_link_chir_atom.chir_id'
    _item.mandatory_code          yes
     save_

save__chem_link_chir_atom.dev
    _item_description.description
;              The estimated standard deviation of the position of this atom
               from the plane defined by all of the atoms in the plane.
;
    _item.name                  '_chem_link_chir_atom.dev'
    _item.category_id             chem_link_chir_atom
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

######################
## CHEM_LINK_PLANE ##
######################

save_CHEM_LINK_PLANE
    _category.description
;              Data items in the CHEM_LINK_PLANE category provide identifiers
               for the planes in a linkage between two chemical components.
               The atoms in the plane are specified in the CHEM_LINK_PLANE_ATOM
               category.
;
    _category.id                  chem_link_plane
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_plane.link_id'
                                '_chem_link_plane.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_plane.id
    _item_description.description
;              The value of _chem_link_plane.id must uniquely identify a record
               in the CHEM_LINK_PLANE list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_link_plane.id'             chem_link_plane       yes
               '_chem_link_plane_atom.plane_id'  chem_link_plane_atom  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_link_plane_atom.plane_id'  '_chem_link_plane.id'
    _item_type.code               code
     save_

save__chem_link_plane.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the CHEM_LINK
               category.
;
    _item.name                  '_chem_link_plane.link_id'
    _item.mandatory_code          yes
     save_

save__chem_link_plane.number_atoms_all
    _item_description.description
;              The total number of atoms in the plane.
;
    _item.name                  '_chem_link_plane.number_atoms_all'
    _item.category_id             chem_link_plane
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__chem_link_plane.number_atoms_nh
    _item_description.description
;              The number of non-hydrogen atoms in the plane.
;
    _item.name                  '_chem_link_plane.number_atoms_nh'
    _item.category_id             chem_link_plane
    _item.mandatory_code          no
    _item_type.code               int
     save_

###########################
## CHEM_LINK_PLANE_ATOM ##
###########################

save_CHEM_LINK_PLANE_ATOM
    _category.description
;              Data items in the CHEM_LINK_PLANE_ATOM category enumerate the
               atoms in a plane in a linkage between two chemical components.
;
    _category.id                  chem_link_plane_atom
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_plane_atom.plane_id'
                                '_chem_link_plane_atom.atom_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on 
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_plane_atom.atom_comp_id
    _item_description.description
;              This data item indicates whether the atom in a plane is found in
               the first or the second of the two components connected by the
               linkage.
;
    _item.name                  '_chem_link_plane_atom.atom_comp_id'
    _item.category_id             chem_link_plane_atom
    _item.mandatory_code          no
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_plane_atom.atom_id
    _item_description.description
;              The id of an atom involved in the plane.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_plane_atom.atom_id'
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__chem_link_plane_atom.plane_id
    _item_description.description
;              This data item is a pointer to _chem_link_plane.id in the
               CHEM_LINK_PLANE category.
;
    _item.name                  '_chem_link_plane_atom.plane_id'
    _item.mandatory_code          yes
     save_

####################
## CHEM_LINK_TOR ##
####################

save_CHEM_LINK_TOR
    _category.description
;              Data items in the CHEM_LINK_TOR category record details about
               the torsion angles in a linkage between two chemical components.
               As torsion angles can have more than one target value, the
               target values are specified in the CHEM_LINK_TOR_VALUE category.
;
    _category.id                  chem_link_tor
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chem_link_tor.link_id'
                                '_chem_link_tor.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_tor.atom_1_comp_id
    _item_description.description
;              This data item indicates whether atom 1 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_tor.atom_1_comp_id'
    _item.category_id             chem_link_tor
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_2_comp_id'
                                '_chem_link_tor.atom_3_comp_id'
                                '_chem_link_tor.atom_4_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_tor.atom_2_comp_id
    _item_description.description
;              This data item indicates whether atom 2 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_tor.atom_2_comp_id'
    _item.category_id             chem_link_tor
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_1_comp_id'
                                '_chem_link_tor.atom_3_comp_id'
                                '_chem_link_tor.atom_4_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_tor.atom_3_comp_id
    _item_description.description
;              This data item indicates whether atom 3 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_tor.atom_3_comp_id'
    _item.category_id             chem_link_tor
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_1_comp_id'
                                '_chem_link_tor.atom_2_comp_id'
                                '_chem_link_tor.atom_4_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_tor.atom_4_comp_id
    _item_description.description
;              This data item indicates whether atom 4 is found in the first
               or the second of the two components connected by the linkage.
;
    _item.name                  '_chem_link_tor.atom_4_comp_id'
    _item.category_id             chem_link_tor
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_1_comp_id'
                                '_chem_link_tor.atom_2_comp_id'
                                '_chem_link_tor.atom_3_comp_id'
     loop_
    _item_enumeration.value
    _item_enumeration.detail      1  'the atom is in component 1'
                                  2  'the atom is in component 2'
    _item_type.code               ucode
     save_

save__chem_link_tor.atom_id_1
    _item_description.description
;              The id of the first of the four atoms that define the torsion
               angle.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_tor.atom_id_1'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_id_2'
                                '_chem_link_tor.atom_id_3'
                                '_chem_link_tor.atom_id_4'
    _item_type.code               code
     save_

save__chem_link_tor.atom_id_2
    _item_description.description
;              The id of the second of the four atoms that define the torsion
               angle.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_tor.atom_id_2'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_id_1'
                                '_chem_link_tor.atom_id_3'
                                '_chem_link_tor.atom_id_4'
    _item_type.code               code
     save_

save__chem_link_tor.atom_id_3
    _item_description.description
;              The id of the third of the four atoms that define the torsion
               angle.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_tor.atom_id_3'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_id_1'
                                '_chem_link_tor.atom_id_2'
                                '_chem_link_tor.atom_id_4'
    _item_type.code               code
     save_

save__chem_link_tor.atom_id_4
    _item_description.description
;              The id of the fourth of the four atoms that define the torsion
               angle.

               As this data item does not point to a specific atom in a
               specific chemical component, it is not a child in the linkage
               sense.
;
    _item.name                  '_chem_link_tor.atom_id_4'
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_chem_link_tor.atom_id_1'
                                '_chem_link_tor.atom_id_2'
                                '_chem_link_tor.atom_id_3'
    _item_type.code               code
     save_

save__chem_link_tor.id
    _item_description.description
;              The value of _chem_link_tor.id must uniquely identify a
               record in the CHEM_LINK_TOR list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chem_link_tor.id'            chem_link_tor        yes
               '_chem_link_tor_value.tor_id'  chem_link_tor_value  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_chem_link_tor_value.tor_id'  '_chem_link_tor.id'
    _item_type.code               code
     save_

save__chem_link_tor.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the CHEM_LINK
               category.
;
    _item.name                  '_chem_link_tor.link_id'
    _item.mandatory_code          yes
     save_

##########################
## CHEM_LINK_TOR_VALUE ##
##########################

save_CHEM_LINK_TOR_VALUE
    _category.description
;              Data items in the CHEM_LINK_TOR_VALUE category record details
               about the target values for the torsion angles enumerated in the
               CHEM_LINK_TOR list. Target values may be specified as angles
               in degrees, as a distance between the first and fourth atoms, or
               both.
;
    _category.id                  chem_link_tor_value
    _category.mandatory_code      no
    _category_key.name          '_chem_link_tor_value.tor_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chem_link_tor_value.tor_id
    _item_description.description
;              This data item is a pointer to _chem_link_tor.id in the
               CHEM_LINK_TOR category.
;
    _item.name                  '_chem_link_tor_value.tor_id'
    _item.mandatory_code          yes
     save_

save__chem_link_tor_value.angle
    _item_description.description
;              A value that should be taken as a potential target value for the
               torsion angle associated with the specified atoms, expressed in
               degrees.
;
    _item.name                  '_chem_link_tor_value.angle'
    _item.category_id             chem_link_tor_value
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0    180.0
                                  180.0   -180.0
                                 -180.0   -180.0
    _item_related.related_name  '_chem_link_tor_value.angle_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__chem_link_tor_value.angle_esd
    _item_description.description
;              The estimated standard deviation of _chem_link_tor_value.angle.
;
    _item.name                  '_chem_link_tor_value.angle_esd'
    _item.category_id             chem_link_tor_value
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0    180.0
                                  180.0   -180.0
                                 -180.0   -180.0
    _item_related.related_name  '_chem_link_tor_value.angle'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              degrees
     save_

save__chem_link_tor_value.dist
    _item_description.description
;              A value that should be taken as a potential target value for the
               torsion angle associated with the specified atoms, expressed as
               the distance between the atoms specified by
               _chem_link_tor.atom_id_1 and _chem_link_tor.atom_id_4 in the
               referenced record in the CHEM_LINK_TOR list. Note that the
               torsion angle cannot be fully specified by a distance (for
               instance, a torsion angle of -60 will yield the same distance as
               a 60 degree angle). However the distance specification can be
               useful for refinement in situations in which the angle is already
               close to the desired value.
;
    _item.name                  '_chem_link_tor_value.dist'
    _item.category_id             chem_link_tor_value
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_link_tor_value.dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__chem_link_tor_value.dist_esd
    _item_description.description
;              The estimated standard deviation of
               _chem_link_tor_value.dist_esd.
;
    _item.name                  '_chem_link_tor_value.dist_esd'
    _item.category_id             chem_link_tor_value
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_chem_link_tor_value.dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

##############
## CHEMICAL ##
##############

save_CHEMICAL
    _category.description
;              Data items in the CHEMICAL category would not in general be
               used in a macromolecular CIF. See instead the ENTITY data
               items.

               Data items in the CHEMICAL category record details about the
               composition and chemical properties of the compounds. The
               formula data items must agree with those that specify the
               density, unit-cell and Z values.
;
    _category.id                  chemical
    _category.mandatory_code      no
    _category_key.name          '_chemical.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chemical_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set 9597gaus of Alyea, Ferguson & Kannan [(1996).
                Acta Cryst. C52, 765-767].
;
;
    _chemical.entry_id        '9597gaus'
    _chemical.name_systematic
         trans-bis(tricyclohexylphosphine)tetracarbonylmolybdenum(0)
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chemical.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_chemical.entry_id'
    _item.mandatory_code          yes
     save_

save__chemical.compound_source
    _item_description.description
;              Description of the source of the compound under study, or of the
               parent  molecule if a simple derivative is studied. This includes
               the place of discovery for minerals or the actual source of a
               natural product.
;
    _item.name                  '_chemical.compound_source'
    _item.category_id             chemical
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_compound_source'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'From Norilsk (USSR)'
                                 'Extracted from the bark of Cinchona Naturalis'
     save_

save__chemical.melting_point
    _item_description.description
;              The temperature in kelvins at which a crystalline solid changes
               to a liquid.
;
    _item.name                  '_chemical.melting_point'
    _item.category_id             chemical
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_melting_point'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              kelvins
     save_

save__chemical.name_common
    _item_description.description
;              Trivial name by which the compound is commonly known.
;
    _item.name                  '_chemical.name_common'
    _item.category_id             chemical
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_name_common'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          '1-bromoestradiol'
     save_

save__chemical.name_mineral
    _item_description.description
;              Mineral name accepted by the International Mineralogical
               Association. Use only for natural minerals. See also
               _chemical.compound_source.
;
    _item.name                  '_chemical.name_mineral'
    _item.category_id             chemical
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_name_mineral'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'chalcopyrite'
     save_

save__chemical.name_structure_type
    _item_description.description
;              Commonly used structure-type name. Usually only applied to
               minerals or inorganic compounds.
;
    _item.name                  '_chemical.name_structure_type'
    _item.category_id             chemical
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_name_structure_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'perovskite'
                                 'sphalerite'
                                 'A15'
     save_

save__chemical.name_systematic
    _item_description.description
;              IUPAC or Chemical Abstracts full name of compound.
;

    _item.name                  '_chemical.name_systematic'
    _item.category_id             chemical
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_name_systematic'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          '1-bromoestra-1,3,5(10)-triene-3,17\b-diol'
     save_

########################
## CHEMICAL_CONN_ATOM ##
########################

save_CHEMICAL_CONN_ATOM
    _category.description
;              Data items in the CHEMICAL_CONN_ATOM category would not, in
               general, be used in a macromolecular CIF. See instead the
               ENTITY data items.

               Data items in the CHEMICAL_CONN_ATOM and CHEMICAL_CONN_BOND
               categories record details about the 2D chemical structure of the
               molecular species. They allow a 2D chemical diagram to be
               reconstructed for use in a publication or in a database search
               for structural and substructural relationships.

               The CHEMICAL_CONN_ATOM data items provide information about the
               chemical properties of the atoms in the structure. In cases
               where crystallographic and molecular symmetry elements coincide
               they must also contain symmetry-generated atoms, so that the
               CHEMICAL_CONN_ATOM and CHEMICAL_CONN_BOND data items will always
               describe a complete chemical entity.
;
    _category.id                  chemical_conn_atom
    _category.mandatory_code      no
    _category_key.name          '_chemical_conn_atom.number'
     loop_
    _category_group.id           'inclusive_group'
                                 'chemical_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set DPTD of Yamin, Suwandi, Fun, Sivakumar &
                bin Shawkataly [(1996). Acta Cryst. C52, 951-953].
;
;
     loop_
    _chemical_conn_atom.number
    _chemical_conn_atom.type_symbol
    _chemical_conn_atom.display_x
    _chemical_conn_atom.display_y
    _chemical_conn_atom.NCA
    _chemical_conn_atom.NH
        1   S    .39  .81   1   0
        2   S    .39  .96   2   0
        3   N    .14  .88   3   0
        4   C    .33  .88   3   0
        5   C    .11  .96   2   2
        6   C    .03  .96   2   2
        7   C    .03  .80   2   2
        8   C    .11  .80   2   2
        9   S    .54  .81   1   0
        10  S    .54  .96   2   0
        11  N    .80  .88   3   0
        12  C    .60  .88   3   0
        13  C    .84  .96   2   2
        14  C    .91  .96   2   2
        15  C    .91  .80   2   2
        16  C    .84  .80   2   2
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chemical_conn_atom.charge
    _item_description.description
;              The net integer charge assigned to this atom. This is the
               formal charge assignment normally found in chemical diagrams.
;
    _item.name                  '_chemical_conn_atom.charge'
    _item.category_id             chemical_conn_atom
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_conn_atom_charge'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0
     loop_
    _item_range.maximum           
    _item_range.minimum           6    6
                                  6   -6
                                 -6   -6
    _item_type.code               int
     loop_
    _item_examples.case
    _item_examples.detail         1   'for an ammonium nitrogen'
                                  -1  'for a chloride ion'
     save_

save__chemical_conn_atom.display_x
    _item_description.description
;              The 2D Cartesian x coordinate of the position of this atom in a
               recognisable chemical diagram. The coordinate origin is at the
               lower left corner, the x axis is horizontal and the y axis
               is vertical. The coordinates must lie in the range 0.0 to 1.0.
               These coordinates can be obtained from projections of a suitable
               uncluttered view of the molecular structure. If absent, values
               will be assigned by the journal or database staff.
;
    _item.name                  '_chemical_conn_atom.display_x'
    _item.category_id             chemical_conn_atom
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_conn_atom_display_x'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_chemical_conn_atom.display_y'
     loop_
    _item_range.maximum          
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__chemical_conn_atom.display_y
    _item_description.description
;              The 2D Cartesian y coordinate of the position of this atom in a
               recognisable chemical diagram. The coordinate origin is at the
               lower left corner, the x axis is horizontal and the y axis
               is vertical. The coordinates must lie in the range 0.0 to 1.0.
               These coordinates can be obtained from projections of a suitable
               uncluttered view of the molecular structure. If absent, values
               will be assigned by the journal or database staff.
;
    _item.name                  '_chemical_conn_atom.display_y'
    _item.category_id             chemical_conn_atom
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_conn_atom_display_y'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_chemical_conn_atom.display_x'
     loop_
    _item_range.maximum          
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__chemical_conn_atom.NCA
    _item_description.description
;              The number of connected atoms excluding terminal hydrogen atoms.
;
    _item.name                  '_chemical_conn_atom.NCA'
    _item.category_id             chemical_conn_atom
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_conn_atom_NCA'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__chemical_conn_atom.NH
    _item_description.description
;              The total number of hydrogen atoms attached to this atom,
               regardless of whether they are included in the refinement or
               the ATOM_SITE list. This number is the same as
               _atom_site.attached_hydrogens only if none of the hydrogen
               atoms appear in the ATOM_SITE list.
;
    _item.name                  '_chemical_conn_atom.NH'
    _item.category_id             chemical_conn_atom
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_conn_atom_NH'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__chemical_conn_atom.number
    _item_description.description
;              The chemical sequence number to be associated with this atom.
               Within an ATOM_SITE list this number must match with one of
               the _atom_site.chemical_conn_number values.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_chemical_conn_atom.number'       chemical_conn_atom  yes
               '_atom_site.chemical_conn_number'  atom_site           no
               '_chemical_conn_bond.atom_1'       chemical_conn_bond  yes
               '_chemical_conn_bond.atom_2'       chemical_conn_bond  yes
    _item_aliases.alias_name    '_chemical_conn_atom_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_site.chemical_conn_number'  '_chemical_conn_atom.number'
               '_chemical_conn_bond.atom_1'       '_chemical_conn_atom.number'
               '_chemical_conn_bond.atom_2'       '_chemical_conn_atom.number'
     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

save__chemical_conn_atom.type_symbol
    _item_description.description
;              This data item is a pointer to _atom_type.symbol in the
               ATOM_TYPE category.
;
    _item.name                  '_chemical_conn_atom.type_symbol'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_chemical_conn_atom_type_symbol'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

########################
## CHEMICAL_CONN_BOND ##
########################

save_CHEMICAL_CONN_BOND
    _category.description
;              Data items in the CHEMICAL_CONN_BOND category would not, in
               general, be used in a macromolecular CIF. See instead the
               ENTITY data items.

               Data items in the CHEMICAL_CONN_ATOM and CHEMICAL_CONN_BOND
               categories record details about the 2D chemical structure of the
               molecular species. They allow a 2D chemical diagram to be
               reconstructed for use in a publication or in a database search
               for structural and substructural relationships.

               The CHEMICAL_CONN_BOND data items specify the connections
               between the atoms in the _chemical_conn_atom. list and the nature
               of the chemical bond between these atoms.
;
    _category.id                  chemical_conn_bond
    _category.mandatory_code      no
     loop_
    _category_key.name          '_chemical_conn_bond.atom_1'
                                '_chemical_conn_bond.atom_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'chemical_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set DPTD of Yamin, Suwandi, Fun, Sivakumar &
                bin Shawkataly [(1996). Acta Cryst. C52, 951-953].
;
;
     loop_
    _chemical_conn_bond.atom_1
    _chemical_conn_bond.atom_2
    _chemical_conn_bond.type
       4     1     doub     4     3     sing
       4     2     sing     5     3     sing
       6     5     sing     7     6     sing
       8     7     sing     8     3     sing
       10    2     sing     12    9     doub
       12    11    sing     12    10    sing
       13    11    sing     14    13    sing
       15    14    sing     16    15    sing
       16    11    sing     17    5     sing
       18    5     sing     19    6     sing
       20    6     sing     21    7     sing
       22    7     sing     23    8     sing
       24    8     sing     25    13    sing
       26    13    sing     27    14    sing
       28    14    sing     29    15    sing
       30    15    sing     31    16    sing
       32    16    sing
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chemical_conn_bond.atom_1
    _item_description.description
;              This data item is a pointer to _chemical_conn_atom.number in the
               CHEMICAL_CONN_ATOM category.
;
    _item.name                  '_chemical_conn_bond.atom_1'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_chemical_conn_bond_atom_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_chemical_conn_bond.atom_2'
     save_

save__chemical_conn_bond.atom_2
    _item_description.description
;              This data item is a pointer to _chemical_conn_atom.number in the
               CHEMICAL_CONN_ATOM category.
;
    _item.name                  '_chemical_conn_bond.atom_2'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_chemical_conn_bond_atom_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_chemical_conn_bond.atom_1'
     save_

save__chemical_conn_bond.type
    _item_description.description
;              The chemical bond type associated with the connection between
               the two sites _chemical_conn_bond.atom_1 and 
               _chemical_conn_bond.atom_2.
;
    _item.name                  '_chemical_conn_bond.type'
    _item.category_id             chemical_conn_bond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_conn_bond_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           sing
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      sing  'single bond'
                                  doub  'double bond'
                                  trip  'triple bond'
                                  quad  'quadruple bond'
                                  arom  'aromatic bond'
                                  poly  'polymeric bond'
                                  delo  'delocalised double bond'
                                  pi    'pi bond'
     save_

######################
## CHEMICAL_FORMULA ##
######################

save_CHEMICAL_FORMULA
    _category.description
;              Data items in the CHEMICAL_FORMULA category would not, in
               general, be used in a macromolecular CIF. See instead the
               ENTITY data items.

               Data items in the CHEMICAL_FORMULA category specify the
               composition and chemical properties of the compound. The formula
               data items must agree with those that specify the density, unit
               cell and Z values.

               The following rules apply to the construction of the data items
               _chemical_formula.analytical, _chemical_formula.structural and
               _chemical_formula.sum. For the data item
               _chemical_formula.moiety the formula construction is broken up
               into residues or moieties, i.e. groups of atoms that form a
               molecular unit or molecular ion. The rules given below apply
               within each moiety but different requirements apply to the way
               that moieties are connected (see _chemical_formula.moiety).

               1. Only recognised element symbols may be used.

               2. Each element symbol is followed by a 'count' number. A count
                  of '1' may be omitted.

               3. A space or parenthesis must separate each element symbol and
                  its count.

               4. Where a group of elements is enclosed in parentheses, the
                  multiplier for the group must follow the closing parentheses.
                  That is, all element and group multipliers are assumed to be
                  printed as subscripted numbers. [An exception to this rule
                  exists for _chemical_formula.moiety formulae where pre- and
                  post-multipliers are permitted for molecular units].

               5. Unless the elements are ordered in a manner that corresponds
                  to their chemical structure, as in
                  _chemical_formula.structural, the order of the elements within
                  any group or moiety should be:  C, H followed by the other
                  elements in alphabetical order of their symbol. This is the
                  'Hill' system used by Chemical Abstracts. This ordering is
                  used in _chemical_formula.moiety and _chemical_formula.sum.
;
    _category.id                  chemical_formula
    _category.mandatory_code      no
    _category_key.name          '_chemical_formula.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chemical_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _chemical_formula.entry_id          'TOZ'
    _chemical_formula.moiety            'C18 H25 N O3'
    _chemical_formula.sum               'C18 H25 N O3'
    _chemical_formula.weight            303.40
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__chemical_formula.analytical
    _item_description.description
;              Formula determined by standard chemical analysis including trace
               elements. See the CHEMICAL_FORMULA category description for 
               rules for writing chemical formulae. Parentheses are used only
               for standard uncertainties (e.s.d.'s).
;
    _item.name                  '_chemical_formula.analytical'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_analytical'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'Fe2.45(2)  Ni1.60(3)  S4'
     save_

save__chemical_formula.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_chemical_formula.entry_id'
    _item.mandatory_code          yes
     save_

save__chemical_formula.iupac
    _item_description.description
;              Formula expressed in conformance with IUPAC rules for inorganic
               and metal-organic compounds where these conflict with the rules
               for any other _chemical_formula_ entries. Typically used for
               formatting a formula in accordance with journal rules. This
               should appear in the data block in addition to the most
               appropriate of the other _chemical_formula_ data names.

               Ref: IUPAC (1990). Nomenclature of Inorganic Chemistry.
                    Oxford: Blackwell Scientific Publications.
;
    _item.name                  '_chemical_formula.iupac'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_iupac'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          '[Co Re (C12 H22 P)2 (C O)6].0.5C H3 O H'
     save_

save__chemical_formula.moiety
    _item_description.description
;              Formula with each discrete bonded residue or ion shown as a
               separate moiety. See the CHEMICAL_FORUMULA category description
               for rules for writing chemical formulae. In addition to the 
               general formulae requirements, the following rules apply:
                  1. Moieties are separated by commas ','.
                  2. The order of elements within a moiety follows general rule
                     5 in the CHEMICAL_FORMULA category description.
                  3. Parentheses are not used within moieties but may surround
                     a moiety. Parentheses may not be nested.
                  4. Charges should be placed at the end of the moiety. The
                     charge '+' or '-' may be preceded by a numerical multiplier
                     and should be separated from the last (element symbol +
                     count) by a space. Pre- or post-multipliers may be used for
                     individual moieties.
;
    _item.name                  '_chemical_formula.moiety'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_moiety'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'C7 H4 Cl Hg N O3 S'
                                 'C12 H17 N4 O S 1+, C6 H2 N3 O7 1-'
                                 'C12 H16 N2 O6, 5(H2 O1)'
                                 "(Cd 2+)3, (C6 N6 Cr 3-)2, 2(H2 O)"
     save_

save__chemical_formula.structural
    _item_description.description
;              See the CHEMICAL_FORMULA category description for the rules for
               writing chemical formulae for inorganics, organometallics, metal
               complexes etc., in which bonded groups are preserved as
               discrete entities within parentheses, with post-multipliers as
               required. The order of the elements should give as much
               information as possible about the chemical structure.
               Parentheses may be used and nested as required. This formula
               should correspond to the structure as actually reported, i.e.
               trace elements not included in atom type and atom site data
               should not be included in this formula (see also
               _chemical_formula.analytical).
;
    _item.name                  '_chemical_formula.structural'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_structural'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'Ca ((Cl O3)2 O)2 (H2 O)6'
                                 '(Pt (N H3)2 (C5 H7 N3 O)2) (Cl O4)2'
     save_

save__chemical_formula.sum
    _item_description.description
;              See the CHEMICAL_FORMULA category description for the rules
               for writing chemical formulae in which all discrete bonded
               residues and ions are summed over the constituent elements,
               following the ordering given in general rule 5 in the
               CHEMICAL_FORMULA category description. Parentheses are not
               normally used.
;
    _item.name                  '_chemical_formula.sum'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_sum'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'C18 H19 N7 O8 S'
     save_

save__chemical_formula.weight
    _item_description.description
;              Formula mass in daltons. This mass should correspond to the
               formulae given under _chemical_formula.structural, 
               chemical_formula.moiety or chemical_forumula.sum and, 
               together with the Z value and cell parameters, should
               yield the density given as _exptl_crystal.density_diffrn.
;
    _item.name                  '_chemical_formula.weight'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_weight'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_type.code               float
     save_

save__chemical_formula.weight_meas
    _item_description.description
;              Formula mass in daltons measured by a non-diffraction experiment.
;
    _item.name                  '_chemical_formula.weight_meas'
    _item.category_id             chemical_formula
    _item.mandatory_code          no
    _item_aliases.alias_name    '_chemical_formula_weight_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_type.code               float
     save_

##############
## CITATION ##
##############

save_CITATION
    _category.description
;              Data items in the CITATION category record details about the
               literature cited relevant to the contents of the data block.
;
    _category.id                  citation
    _category.mandatory_code      no
    _category_key.name          '_citation.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'citation_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _citation.id
    _citation.coordinate_linkage
    _citation.title
    _citation.country
    _citation.journal_abbrev
    _citation.journal_volume
    _citation.journal_issue
    _citation.page_first
    _citation.page_last
    _citation.year
    _citation.journal_id_ASTM
    _citation.journal_id_ISSN
    _citation.journal_id_CSD
    _citation.book_title
    _citation.book_publisher
    _citation.book_id_ISBN
    _citation.details
      primary  yes
    ; Crystallographic analysis of a complex between human immunodeficiency
      virus type 1 protease and acetyl-pepstatin at 2.0-Angstroms resolution.
    ;
      US  'J. Biol. Chem.'  265  .  14209  14219  1990
      HBCHA3  0021-9258  071  .  .  .
    ; The publication that directly relates to this coordinate set.
    ;
      2  no
    ; Three-dimensional structure of aspartyl-protease from human
      immunodeficiency virus HIV-1.
    ;
      UK  'Nature'  337  .  615  619  1989
      NATUAS  0028-0836  006  .  .  .
    ; Determination of the structure of the unliganded enzyme.
    ;
      3 no
    ; Crystallization of the aspartylprotease from human immunodeficiency
      virus, HIV-1.
    ;
      US  'J. Biol. Chem.'  264  .  1919  1921  1989
      HBCHA3  0021-9258  071  .  .  .
    ; Crystallization of the unliganded enzyme.
    ;
      4 no
    ; Human immunodeficiency virus protease.  Bacterial expression and
      characterization of the purified aspartic protease.
    ;
      US  'J. Biol. Chem.'  264  .  2307  2312  1989
      HBCHA3  0021-9258  071  .  .  .
    ; Expression and purification of the enzyme.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__citation.abstract
    _item_description.description
;              Abstract for the citation. This is used most when the
               citation is extracted from a bibliographic database that
               contains full text or abstract information.
;
    _item.name                  '_citation.abstract'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_abstract'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__citation.abstract_id_CAS
    _item_description.description
;              The Chemical Abstracts Service (CAS) abstract identifier;
               relevant for journal articles.
;
    _item.name                  '_citation.abstract_id_CAS'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_abstract_id_CAS'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__citation.book_id_ISBN
    _item_description.description
;              The International Standard Book Number (ISBN) code assigned to
               the book cited; relevant for book chapters.
;
    _item.name                  '_citation.book_id_ISBN'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_book_id_ISBN'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__citation.book_publisher
    _item_description.description
;              The name of the publisher of the citation; relevant
               for book chapters.
;
    _item.name                  '_citation.book_publisher'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_book_publisher'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'John Wiley and Sons'
     save_

save__citation.book_publisher_city
    _item_description.description
;              The location of the publisher of the citation; relevant
               for book chapters.
;
    _item.name                  '_citation.book_publisher_city'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_book_publisher_city'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'London'
     save_

save__citation.book_title
    _item_description.description
;              The title of the book in which the citation appeared; relevant
               for book chapters.
;
    _item.name                  '_citation.book_title'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_book_title'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__citation.coordinate_linkage
    _item_description.description
;              _citation.coordinate_linkage states whether or not this citation
               is concerned with precisely the set of coordinates given in the
               data block. If, for instance, the publication described the same
               structure, but the coordinates had undergone further refinement
               prior to creation of the data block, the value of this data item
               would be 'no'.
;
    _item.name                  '_citation.coordinate_linkage'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_coordinate_linkage'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no
                                 'citation unrelated to current coordinates'
                                  n
                                 'abbreviation for "no"'
                                  yes
                                 'citation related to current coordinates'
                                  y
                                 'abbreviation for "yes"'
     save_

save__citation.country
    _item_description.description
;              The country of publication; relevant for both journal articles
               and book chapters.
;
    _item.name                  '_citation.country'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_country'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__citation.database_id_Medline
    _item_description.description
;              Ascession number used by Medline to categorize a specific
               bibliographic entry.
;
    _item.name                  '_citation.database_id_Medline'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_database_id_Medline'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
    _item_examples.case           89064067
     save_

save__citation.details
    _item_description.description
;              A description of special aspects that describe the relationship
               of the contents of the data block to the literature item cited.
;
    _item.name                  '_citation.details'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case
;                                 citation relates to this precise
                                  coordinate set
;
;                                 citation relates to earlier low-resolution
                                  structure
;
;                                 citation relates to further refinement of
                                  structure reported in citation 2
;
     save_

save__citation.id
    _item_description.description
;              The value of _citation.id must uniquely identify a record in the
               CITATION list.

               The _citation.id 'primary' should be used to indicate the
               citation that the author(s) consider to be the most pertinent to
               the contents of the data block.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_citation.id'                  citation         yes
               '_citation_author.citation_id'  citation_author  yes
               '_citation_editor.citation_id'  citation_editor  yes
               '_software.citation_id'         software         yes
    _item_aliases.alias_name    '_citation_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_citation_author.citation_id'  '_citation.id'
               '_citation_editor.citation_id'  '_citation.id'
               '_software.citation_id'         '_citation.id'
    _item_type.code               code
     loop_
    _item_examples.case          'primary'
                                 '1'
                                 '2'
     save_

save__citation.journal_abbrev
    _item_description.description
;              Abbreviated name of the journal cited as given in the Chemical
               Abstracts Service Source Index.
;
    _item.name                  '_citation.journal_abbrev'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_abbrev'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          'J. Mol. Biol.'
     save_

save__citation.journal_id_ASTM
    _item_description.description
;              The American Society for the Testing of Materials (ASTM) code
               assigned to the journal cited (also referred to as the CODEN
               designator of the Chemical Abstracts Service); relevant for
               journal articles.
;
    _item.name                  '_citation.journal_id_ASTM'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_id_ASTM'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__citation.journal_id_CSD
   _item_description.description
;              The Cambridge Structural Database (CSD) code assigned to the 
               journal cited; relevant for journal articles. This is also the 
               system used at the Brookhaven Protein Data Bank (PDB).
;
    _item.name                  '_citation.journal_id_CSD'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_id_CSD'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          '070'
     save_

save__citation.journal_id_ISSN
    _item_description.description
;              The International Standard Serial Number (ISSN) code assigned to
               the journal cited; relevant for journal articles.
;
    _item.name                  '_citation.journal_id_ISSN'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_id_ISSN'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__citation.journal_full
    _item_description.description
;              Full name of the journal cited; relevant for journal articles.
;
    _item.name                  '_citation.journal_full'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_full'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'Journal of Molecular Biology'
     save_

save__citation.journal_issue
    _item_description.description
;              Issue number of the journal cited; relevant for journal
               articles.
;
    _item.name                  '_citation.journal_issue'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_issue'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          '2'
     save_

save__citation.journal_volume
    _item_description.description
;              Volume number of the journal cited; relevant for journal
               articles.
;
    _item.name                  '_citation.journal_volume'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_journal_volume'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          '174'
     save_

save__citation.language
    _item_description.description
;              Language in which the citation appears.
;
    _item.name                  '_citation.language'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_language'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          'german'
     save_

save__citation.page_first
    _item_description.description
;              The first page of the citation; relevant for journal
               articles and book chapters.
;
    _item.name                  '_citation.page_first'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_page_first'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__citation.page_last
    _item_description.description
;              The last page of the citation; relevant for journal
               articles and book chapters.
;
    _item.name                  '_citation.page_last'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_page_last'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__citation.title
    _item_description.description
;              The title of the citation; relevant for both journal articles
               and book chapters.
;
    _item.name                  '_citation.title'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_title'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Structure of Blah-Blah at 2.1 \%Angstr\"om
                                  Resolution.
;
     save_

save__citation.year
    _item_description.description
;              The year of the citation; relevant for both journal articles
               and book chapters.
;
    _item.name                  '_citation.year'
    _item.category_id             citation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_year'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
    _item_examples.case           1984
     save_

#####################
## CITATION_AUTHOR ##
#####################

save_CITATION_AUTHOR
    _category.description
;              Data items in the CITATION_AUTHOR category record details
               about the authors associated with the citations in the
               CITATION list.
;
    _category.id                  citation_author
    _category.mandatory_code      no
     loop_
    _category_key.name          '_citation_author.citation_id'
                                '_citation_author.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'citation_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and/or laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _citation_author.citation_id
    _citation_author.ordinal
    _citation_author.name
      primary  1  'Fitzgerald, P.M.D.'
      primary  2  'McKeever, B.M.'
      primary  3  'Van Middlesworth, J.F.'
      primary  4  'Springer, J.P.'
      primary  5  'Heimbach, J.C.'
      primary  6  'Leu, C.-T.'
      primary  7  'Herber, W.K.'
      primary  8  'Dixon, R.A.F.'
      primary  9  'Darke, P.L.'
      2        1  'Navia, M.A.'
      2        2  'Fitzgerald, P.M.D.'
      2        3  'McKeever, B.M.'
      2        4  'Leu, C.-T.'
      2        5  'Heimbach, J.C.'
      2        6  'Herber, W.K.'
      2        7  'Sigal, I.S.'
      2        8  'Darke, P.L.'
      2        9  'Springer, J.P.'
      3        1  'McKeever, B.M.'
      3        2  'Navia, M.A.'
      3        3  'Fitzgerald, P.M.D.'
      3        4  'Springer, J.P.'
      3        5  'Leu, C.-T.'
      3        6  'Heimbach, J.C.'
      3        7  'Herber, W.K.'
      3        8  'Sigal, I.S.'
      3        9  'Darke, P.L.'
      4        1  'Darke, P.L.'
      4        2  'Leu, C.-T.'
      4        3  'Davis, L.J.'
      4        4  'Heimbach, J.C.'
      4        5  'Diehl, R.E.'
      4        6  'Hill, W.S.'
      4        7  'Dixon, R.A.F.'
      4        8  'Sigal, I.S.'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__citation_author.citation_id
    _item_description.description
;              This data item is a pointer to _citation.id in the CITATION
               category.
;
    _item.name                  '_citation_author.citation_id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_citation_author_citation_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__citation_author.name
    _item_description.description
;              Name of an author of the citation; relevant for both journal
               articles and book chapters.

               The family name(s), followed by a comma and including any
               dynastic components, precedes the first name(s) or initial(s).
;
    _item.name                  '_citation_author.name'
    _item.category_id             citation_author
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_citation_author_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'Bleary, Percival R.'
                                 "O'Neil, F.K."
                                 'Van den Bossche, G.'
                                 'Yang, D.-L.'
                                 'Simonov, Yu.A'
     save_

save__citation_author.ordinal
    _item_description.description
;              This data item defines the order of the author's name in the
               list of authors of a citation.
;
    _item.name                  '_citation_author.ordinal'
    _item.category_id             citation_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_author_ordinal'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

#####################
## CITATION_EDITOR ##
#####################

save_CITATION_EDITOR
    _category.description
;              Data items in the CITATION_EDITOR category record details
               about the editor associated with book chapter citations in
               the CITATION list.
;
    _category.id                  citation_editor
    _category.mandatory_code      no
     loop_
    _category_key.name          '_citation_editor.citation_id'
                                '_citation_editor.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'citation_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - example is completely hypothetical
;
;
     loop_
    _citation_editor.citation_id
    _citation_editor.name
      5        'McKeever, B.M.'
      5        'Navia, M.A.'
      5        'Fitzgerald, P.M.D.'
      5        'Springer, J.P.'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__citation_editor.citation_id
    _item_description.description
;              This data item is a pointer to _citation.id in the CITATION
               category.
;
    _item.name                  '_citation_editor.citation_id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_citation_editor_citation_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__citation_editor.name
    _item_description.description
;              Names of an editor of the citation; relevant for book chapters.

               The family name(s), followed by a comma and including any
               dynastic components, precedes the first name(s) or initial(s).
;
    _item.name                  '_citation_editor.name'
    _item.category_id             citation_editor
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_editor_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'Bleary, Percival R.'
                                 "O'Neil, F.K."
                                 'Van den Bossche, G.'
                                 'Yang, D.-L.'
                                 'Simonov, Yu.A'
     save_

save__citation_editor.ordinal
    _item_description.description
;              This data item defines the order of the editor's name in the
               list of editors of a citation.
;
    _item.name                  '_citation_editor.ordinal'
    _item.category_id             citation_editor
    _item.mandatory_code          no
    _item_aliases.alias_name    '_citation_editor_ordinal'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

###############
## COMPUTING ##
###############

save_COMPUTING
    _category.description
;              Data items in the COMPUTING category record details about the
               computer programs used in the crystal structure analysis.
;
    _category.id                  computing
    _category.mandatory_code      no
    _category_key.name          '_computing.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'computing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _computing.entry_id                    '5HVP'
    _computing.data_collection             'Collect (Siemens)'
    _computing.data_reduction              'Xengen (Howard)'
    _computing.molecular_graphics          'Protein (Steigemann), Frodo (Jones)'
    _computing.structure_refinement        
    ; Protin/Prolsq (Konnert, Hendrickson)
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _computing.data_collection         'Philips PW1100/20 software 1976'
    _computing.cell_refinement         'LATCON (Xtal: Schwarzenbach & King)'
    _computing.data_reduction
          'pwredu (McLaughlin) ADDREF SORTRF (Xtal)'
    _computing.structure_solution      'SHELXS86 (Sheldrick)'
    _computing.structure_refinement
          'SHELX76 (Sheldrick) CRYLSQ (Xtal: Olthof)'
    _computing.publication_material    'BONDLA CIFIO (Xtal: Hall)'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__computing.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_computing.entry_id'
    _item.mandatory_code          yes
     save_

save__computing.cell_refinement
    _item_description.description
;              Software used in refining the cell.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.cell_refinement'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_cell_refinement'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'CAD4 (Enraf Nonius)'
     save_

save__computing.data_collection
    _item_description.description
;              Software used for data collection.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.data_collection'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_data_collection'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'CAD4 (Enraf Nonius)'
     save_

save__computing.data_reduction
    _item_description.description
;              Software used for data reduction.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.data_reduction'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_data_reduction'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'DIFDAT, SORTRF, ADDREF (XTAL3.0, 1990)'
     save_

save__computing.molecular_graphics
    _item_description.description
;              Software used for molecular graphics.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.molecular_graphics'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_molecular_graphics'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'FRODO (Jones, 1986) & ORTEP (Johnson, 1965)'
     save_

save__computing.publication_material
    _item_description.description
;              Software used for generating material for publication.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.publication_material'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_publication_material'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__computing.structure_refinement
    _item_description.description
;              Software used for refinement of the structure.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.structure_refinement'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_structure_refinement'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'SHELX85 (Sheldrick, 1985)'
                                 'X-PLOR (Brunger, 198?)'
     save_

save__computing.structure_solution
    _item_description.description
;              Software used for solution of the structure.

               Give the program or package name and a brief reference.
;
    _item.name                  '_computing.structure_solution'
    _item.category_id             computing
    _item.mandatory_code          no
    _item_aliases.alias_name    '_computing_structure_solution'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'SHELX85 (Sheldrick, 1985)'
     save_

##############
## DATABASE ##
##############

save_DATABASE
    _category.description
;              Data items in the DATABASE category have been superseded by
               data items in the DATABASE_2 category. They are included
               here only for compliance with older files.
;
    _category.id                  database
    _category.mandatory_code      no
    _category_key.name          '_database.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'compliance_group'
     save_

save__database.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_database.entry_id'
    _item.mandatory_code          yes
     save_

save__database.code_CAS
    _item_description.description
;              The code assigned by Chemical Abstracts.
;
    _item.name                  '_database.code_CAS'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_code_CAS'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_database_2.database_id'
                                  replacedby
                                '_database_2.database_code'
                                  replacedby
    _item_type.code               line
     save_

save__database.code_CSD
    _item_description.description
;              The code assigned by Cambridge Structural Database (organic and
               metal-organic compounds).
;
    _item.name                  '_database.code_CSD'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_code_CSD'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_database_2.database_id'
                                  replacedby
                                '_database_2.database_code'
                                  replacedby
    _item_type.code               line
     save_

save__database.code_ICSD
    _item_description.description
;              The code assigned by the Inorganic Crystal Structure Data Base.
;
    _item.name                  '_database.code_ICSD'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_code_ICSD'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_database_2.database_id'
                                  replacedby
                                '_database_2.database_code'
                                  replacedby
    _item_type.code               line
     save_

save__database.code_MDF
    _item_description.description
;              The code assigned by the Metals Data File (metal structures).
;
    _item.name                  '_database.code_MDF'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_code_MDF'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_database_2.database_id'
                                  replacedby
                                '_database_2.database_code'
                                  replacedby
    _item_type.code               line
     save_

save__database.code_NBS
    _item_description.description
;              The code assigned by the NBS (NIST) Crystal Data Database
               (lattice parameters).
;
    _item.name                  '_database.code_NBS'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_code_NBS'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_database_2.database_id'
                                  replacedby
                                '_database_2.database_code'
                                  replacedby
    _item_type.code               line
     save_

save__database.code_PDF
    _item_description.description
;              The code assigned by the Powder Diffraction File (JCPDS/ICDD).
;
    _item.name                  '_database.code_PDF'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_code_PDF'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_database_2.database_id'
                                  replacedby
                                '_database_2.database_code'
                                  replacedby
    _item_type.code               line
     save_

save__database.journal_ASTM
    _item_description.description
;              The ASTM CODEN designatorfor a journal as given in the Chemical
               Source List maintained by the Chemical Astracts Service.
;
    _item.name                  '_database.journal_ASTM'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_journal_ASTM'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__database.journal_CSD
    _item_description.description
;              The journal code used in the Cambridge Structural Database.
;
    _item.name                  '_database.journal_CSD'
    _item.category_id             database
    _item.mandatory_code          no
    _item_aliases.alias_name    '_database_journal_CSD'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

################
## DATABASE_2 ##
################

save_DATABASE_2
    _category.description
;              Data items in the DATABASE_2 category record details about the
               database identifiers of the data block.

               These data items are assigned by database managers and should
               only appear in a data block if they originate from that source.

               The somewhat clunky name of this category (DATABASE_2) is a
               consequence of the name DATABASE having been already used in
               the CIF core, but used in a manner different than the usage
               in mmCIF. Since CIF data names, once adopted, cannot be
               changed, a new category was created.
;
    _category.id                  database_2
    _category.mandatory_code      no
     loop_
    _category_key.name          '_database_2.database_id'
                                '_database_2.database_code'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _database_2.database_id                'PDB'
    _database_2.database_code              '5HVP'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__database_2.database_id
    _item_description.description
;              An abbreviation that identifies the database.
;
    _item.name                  '_database_2.database_id'
    _item.category_id             database_2
    _item.mandatory_code          yes
     loop_
    _item_related.related_name
    _item_related.function_code '_database.code_CAS'
                                  replaces
                                '_database.code_CSD'
                                  replaces
                                '_database.code_ICSD'
                                  replaces
                                '_database.code_MDF'
                                  replaces
                                '_database.code_NBS'
                                  replaces
                                '_database.code_PDF'
                                  replaces
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      CAS
;                                 Chemical Abstracts
;
                                  CSD
;                                 Cambridge Structural Database
                                  (organic and metal-organic compounds)
;
                                  ICSD
;                                 Inorganic Crystal Structure Data Base
;
                                  MDF
;                                 Metals Data File (metal structures)
;
                                  NDB
;                                 Nucleic Acid Database
;
                                  NBS
;                                 NBS (NIST) Crystal Data Database
                                  (lattice parameters)
;
                                  PDB
;                                 Protein Data Bank
;
                                  PDF
;                                 Powder Diffraction File (JCPDS/ICDD)
;
     save_

save__database_2.database_code
    _item_description.description
;              The code assigned by the database identified in
               _database_2.database_id.
;
    _item.name                  '_database_2.database_code'
    _item.category_id             database_2
    _item.mandatory_code          yes
     loop_
    _item_related.related_name
    _item_related.function_code '_database.code_CAS'
                                  replaces
                                '_database.code_CSD'
                                  replaces
                                '_database.code_ICSD'
                                  replaces
                                '_database.code_MDF'
                                  replaces
                                '_database.code_NBS'
                                  replaces
                                '_database.code_PDF'
                                  replaces
    _item_type.code               line
     loop_
    _item_examples.case           1ABC
                                  ABCDEF
     save_

#########################
## DATABASE_PDB_CAVEAT ##
#########################

save_DATABASE_PDB_CAVEAT
    _category.description
;              Data items in the DATABASE_PDB_CAVEAT category record details
               about features of the data block flagged as 'caveats' by the
               Protein Data Bank (PDB).

               These data items are included only for consistency with PDB
               format files. They should appear in a data block only if that
               data block was created by reformatting a PDB format file.
;
    _category.id                  database_PDB_caveat
    _category.mandatory_code      no
    _category_key.name          '_database_PDB_caveat.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
                                 'pdb_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - completely hypothetical
;
;
     loop_
    _database_PDB_caveat.id
    _database_PDB_caveat.text
    1
    ;
    CAVEAT     1ABC    THE CRYSTAL TRANSFORMATION IS IN ERROR BUT IS
    ;
    2
    ;
    CAVEAT   2 1ABC    UNCORRECTABLE AT THIS TIME
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__database_PDB_caveat.id
    _item_description.description
;              A unique identifier for the PDB caveat record.
;
    _item.name                  '_database_PDB_caveat.id'
    _item.category_id             database_PDB_caveat
    _item.mandatory_code          yes
    _item_type.code               int
     save_

save__database_PDB_caveat.text
    _item_description.description
;              The full text of the PDB caveat record.
;
    _item.name                  '_database_PDB_caveat.text'
    _item.category_id             database_PDB_caveat
    _item.mandatory_code          no
    _item_type.code               text
     save_

#########################
## DATABASE_PDB_MATRIX ##
#########################

save_DATABASE_PDB_MATRIX
    _category.description
;              The DATABASE_PDB_MATRIX category provides placeholders for
               transformation matrices and vectors used by the Protein Data
               Bank (PDB).

               These data items are included only for consistency with older
               PDB format files. They should appear in a data block only if
               that data block was created by reformatting a PDB format file.
;
    _category.id                  database_PDB_matrix
    _category.mandatory_code      no
    _category_key.name          '_database_PDB_matrix.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
                                 'pdb_group'
     save_

save__database_PDB_matrix.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_database_PDB_matrix.entry_id'
    _item.mandatory_code          yes
     save_

save__database_PDB_matrix.origx[1][1]
    _item_description.description
;              The [1][1] element of the PDB ORIGX matrix. 
;

    _item.name                  '_database_PDB_matrix.origx[1][1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           1.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[1][2]
    _item_description.description
;              The [1][2] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[1][2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[1][3]
    _item_description.description
;              The [1][3] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[1][3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[2][1]
    _item_description.description
;              The [2][1] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[2][1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[2][2]
    _item_description.description
;              The [2][2] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[2][2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           1.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[2][3]
    _item_description.description
;              The [2][3] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[2][3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[3][1]
    _item_description.description
;              The [3][1] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[3][1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[3][2]
    _item_description.description
;              The [3][2] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[3][2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx[3][3]
    _item_description.description
;              The [1][1] element of the PDB ORIGX matrix. 
;
    _item.name                  '_database_PDB_matrix.origx[3][3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           1.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.origx_vector[1]
    _item_description.description
;              The [1] element of the PDB ORIGX vector. 
;
    _item.name                  '_database_PDB_matrix.origx_vector[1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_matrix.origx_vector[2]
    _item_description.description
;              The [2] element of the PDB ORIGX vector. 
;
    _item.name                  '_database_PDB_matrix.origx_vector[2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_matrix.origx_vector[3]
    _item_description.description
;              The [3] element of the PDB ORIGX vector. 
;
    _item.name                  '_database_PDB_matrix.origx_vector[3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[1][1]
    _item_description.description
;              The [1][1] element of the PDB SCALE matrix. 
;

    _item.name                  '_database_PDB_matrix.scale[1][1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           1.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[1][2]
    _item_description.description
;              The [1][2] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[1][2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[1][3]
    _item_description.description
;              The [1][3] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[1][3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[2][1]
    _item_description.description
;              The [2][1] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[2][1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[2][2]
    _item_description.description
;              The [2][2] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[2][2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           1.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[2][3]
    _item_description.description
;              The [2][3] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[2][3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[3][1]
    _item_description.description
;              The [3][1] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[3][1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[3][2]
    _item_description.description
;              The [3][2] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[3][2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale[3][3]
    _item_description.description
;              The [1][1] element of the PDB SCALE matrix. 
;
    _item.name                  '_database_PDB_matrix.scale[3][3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           1.0
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__database_PDB_matrix.scale_vector[1]
    _item_description.description
;              The [1] element of the PDB SCALE vector. 
;
    _item.name                  '_database_PDB_matrix.scale_vector[1]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_matrix.scale_vector[2]
    _item_description.description
;              The [2] element of the PDB SCALE vector. 
;
    _item.name                  '_database_PDB_matrix.scale_vector[2]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_matrix.scale_vector[3]
    _item_description.description
;              The [3] element of the PDB SCALE vector. 
;
    _item.name                  '_database_PDB_matrix.scale_vector[3]'
    _item.category_id             database_PDB_matrix
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

#########################
## DATABASE_PDB_REMARK ##
#########################

save_DATABASE_PDB_REMARK
    _category.description
;              Data items in the DATABASE_PDB_REMARK category record details
               about the data block as archived by the Protein Data Bank (PDB).

               Some data appearing in PDB REMARK records can be
               algorithmically extracted into the appropriate data items
               in the data block.

               These data items are included only for consistency with older
               PDB format files. They should appear in a data block only if
               that data block was created by reformatting a PDB format file.
;
    _category.id                  database_PDB_remark
    _category.mandatory_code      no
    _category_key.name          '_database_PDB_remark.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
                                 'pdb_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _database_PDB_remark.id
    _database_PDB_remark.text
    3
    ;
    REMARK   3                                                              5HVP
    REMARK   3 REFINEMENT. BY THE RESTRAINED LEAST-SQUARES PROCEDURE OF J.  5HVP
    REMARK   3  KONNERT AND W. HENDRICKSON (PROGRAM *PROLSQ*).  THE R       5HVP
    REMARK   3  VALUE IS 0.176 FOR 12901 REFLECTIONS IN THE RESOLUTION      5HVP
    REMARK   3  RANGE 8.0 TO 2.0 ANGSTROMS WITH I .GT. SIGMA(I).            5HVP
    REMARK   3                                                              5HVP
    REMARK   3  RMS DEVIATIONS FROM IDEAL VALUES (THE VALUES OF             5HVP
    REMARK   3      SIGMA, IN PARENTHESES, ARE THE INPUT ESTIMATED          5HVP
    REMARK   3      STANDARD DEVIATIONS THAT DETERMINE THE RELATIVE         5HVP
    REMARK   3      WEIGHTS OF THE CORRESPONDING RESTRAINTS)                5HVP
    REMARK   3    DISTANCE RESTRAINTS (ANGSTROMS)                           5HVP
    REMARK   3      BOND DISTANCE                            0.018(0.020)   5HVP
    REMARK   3      ANGLE DISTANCE                           0.038(0.030)   5HVP
    REMARK   3      PLANAR 1-4 DISTANCE                      0.043(0.040)   5HVP
    REMARK   3    PLANE RESTRAINT (ANGSTROMS)                0.015(0.020)   5HVP
    REMARK   3    CHIRAL-CENTER RESTRAINT (ANGSTROMS**3)     0.177(0.150)   5HVP
    REMARK   3    NON-BONDED CONTACT RESTRAINTS (ANGSTROMS)                 5HVP
    REMARK   3      SINGLE TORSION CONTACT                   0.216(0.500)   5HVP
    REMARK   3      MULTIPLE TORSION CONTACT                 0.207(0.500)   5HVP
    REMARK   3      POSSIBLE HYDROGEN BOND                   0.245(0.500)   5HVP
    REMARK   3    CONFORMATIONAL TORSION ANGLE RESTRAINT (DEGREES)          5HVP
    REMARK   3      PLANAR (OMEGA)                             2.6(3.0)     5HVP
    REMARK   3      STAGGERED                                 17.4(15.0)    5HVP
    REMARK   3      ORTHONORMAL                               18.1(20.0)    5HVP
    ;
    4
    ;
    REMARK   4                                                              5HVP
    REMARK   4 THE TWO CHAINS OF THE DIMERIC ENZYME HAS BEEN ASSIGNED THE   5HVP
    REMARK   4 THE CHAIN INDICATORS *A* AND *B*.                            5HVP
    ;
    #  - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__database_PDB_remark.id
    _item_description.description
;              A unique identifier for the PDB remark record.
;
    _item.name                  '_database_PDB_remark.id'
    _item.category_id             database_PDB_remark
    _item.mandatory_code          yes
    _item_type.code               int
     save_

save__database_PDB_remark.text
    _item_description.description
;              The full text of the PDB remark record.
;
    _item.name                  '_database_PDB_remark.text'
    _item.category_id             database_PDB_remark
    _item.mandatory_code          no
    _item_type.code               text
     save_

######################
## DATABASE_PDB_REV ##
######################

save_DATABASE_PDB_REV
    _category.description
;              Data items in the DATABASE_PDB_REV category record details
               about the history of the data block as archived by the Protein
               Data Bank (PDB).

               These data items are assigned by the PDB database managers and
               should only appear in a data block if they originate from that
               source.
;
    _category.id                  database_PDB_rev
    _category.mandatory_code      no
    _category_key.name          '_database_PDB_rev.num'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
                                 'pdb_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _database_PDB_rev.num
    _database_PDB_rev.author_name
    _database_PDB_rev.date
    _database_PDB_rev.date_original
    _database_PDB_rev.status
    _database_PDB_rev.mod_type
      1  'Fitzgerald, Paula M.D' 1991-10-15  1990-04-30  'full release'  0
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__database_PDB_rev.author_name
    _item_description.description
;              The name of the person responsible for submitting this revision
               to the PDB.

               The family name(s) followed by a comma, precedes the first
               name(s) or initial(s).
;
    _item.name                  '_database_PDB_rev.author_name'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          'Bleary, Percival R.'
                                 "O'Neil, F.K."
                                 'Van den Bossche, G.'
                                 'Yang, D.-L.'
                                 'Simonov, Yu.A'
     save_

save__database_PDB_rev.date
    _item_description.description
;              Date the PDB revision took place. Taken from the REVDAT record.
;
    _item.name                  '_database_PDB_rev.date'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               yyyy-mm-dd
     save_

save__database_PDB_rev.date_original
    _item_description.description
;              Date the entry first entered the PDB database in the form:
               yyyy-mm-dd. Taken from the PDB HEADER record.
;
    _item.name                  '_database_PDB_rev.date_original'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               yyyy-mm-dd
    _item_examples.case          '1980-08-21'
     save_

save__database_PDB_rev.mod_type
    _item_description.description
;              Taken from the REVDAT record. Refer to the Protein Data Bank
               format description for details.
;
    _item.name                  '_database_PDB_rev.mod_type'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               int
     loop_
    _item_enumeration.value
    _item_enumeration.detail      0  'initial entry'
                                  1  'all other types of modification'
                                  2  'modifications to CONECT records'
                                  3
;                                     modifications affecting the coordinates
                                      or their transforms (CRYST1, ORIGX, SCALE,
                                      MTRIX, TVECT, ATOM, HETATM, SIGATM
                                      records)
;
     save_

save__database_PDB_rev.num
    _item_description.description
;              The value of _database_PDB_rev.num must uniquely and
               sequentially identify a record in the _database_PDB_rev. list.

               Note that this item must be a number, and that modification
               numbers are assigned in increasing numerical order.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_database_PDB_rev.num'             database_PDB_rev         yes
               '_database_PDB_rev_record.rev_num'  database_PDB_rev_record  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_database_PDB_rev_record.rev_num'  '_database_PDB_rev.num'
    _item_type.code               int
     save_

save__database_PDB_rev.replaced_by
    _item_description.description
;              The PDB code for a subsequent PDB entry that replaced the
               PDB file corresponding to this data block.
;
    _item.name                  '_database_PDB_rev.replaced_by'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               line
     save_

save__database_PDB_rev.replaces
    _item_description.description
;              The PDB code for a previous PDB entry that was replaced by
               the PDB file corresponding to this data block.
;
    _item.name                  '_database_PDB_rev.replaces'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               line
     save_

save__database_PDB_rev.status
    _item_description.description
;              This definition is preliminary - need to consult with PDB about
               what they need here.
;
    _item.name                  '_database_PDB_rev.status'
    _item.category_id             database_PDB_rev
    _item.mandatory_code          no
    _item_type.code               uline
     loop_
    _item_enumeration.value      'in preparation'
                                 'prerelease'
                                 'full release'
                                 'obsolete'
     save_

#############################
## DATABASE_PDB_REV_RECORD ##
#############################

save_DATABASE_PDB_REV_RECORD
     _category.description
;              Data items in the DATABASE_PDB_REV_RECORD category record
               details about specific record types that were changed in a
               given revision of a PDB entry.

               These data items are assigned by the PDB database managers and
               should only appear in a data block if they originate from that
               source.
;
    _category.id                  database_PDB_rev_record
    _category.mandatory_code      no
    _category_key.name          '_database_PDB_rev_record.rev_num'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
                                 'pdb_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - example is completely hypothetical
;
;
     loop_
    _database_PDB_rev_record.rev_num
    _database_PDB_rev_record.type
    _database_PDB_rev_record.details
      1  CONECT  'Error fix - incorrect connection between atoms 2312 and 2317'
      2  MATRIX  'For consistency with 1995-08-04 style-guide'
      3  ORIGX   'Based on new data from author'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__database_PDB_rev_record.details
    _item_description.description
;              A description of special aspects of the revision of records in
               this PDB entry.
;
    _item.name                  '_database_PDB_rev_record.details'
    _item.category_id             database_PDB_rev_record
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'Based on new data from author'
                                 'For consistency with 1995-08-04 style-guide'
                                 'For consistency with structural class'
     save_

save__database_PDB_rev_record.rev_num
    _item_description.description
;              This data item is a pointer to _database_PDB_rev.num in the
               DATABASE_PDB_REV category.
;
    _item.name                  '_database_PDB_rev_record.rev_num'
    _item.mandatory_code          yes
     save_

save__database_PDB_rev_record.type
    _item_description.description
;              The types of records that were changed in this revision to a
               PDB entry.
;
    _item.name                  '_database_PDB_rev_record.type'
    _item.category_id             database_PDB_rev_record
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          'CRYST1'
                                 'SCALE'
                                 'MTRIX'
                                 'ATOM'
                                 'HETATM'
     save_

########################
## DATABASE_PDB_TVECT ##
########################

save_DATABASE_PDB_TVECT
    _category.description
;              The DATABASE_PDB_TVECT category provides placeholders for
               the TVECT matrices and vectors used by the Protein Data
               Bank (PDB).

               These data items are included only for consistency with older
               PDB format files. They should appear in a data block only if
               that data block was created by reformatting a PDB format file.
;
    _category.id                  database_PDB_tvect
    _category.mandatory_code      no
    _category_key.name          '_database_PDB_tvect.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'database_group'
                                 'pdb_group'
     save_

save__database_PDB_tvect.details
    _item_description.description
;              A description of special aspects of this TVECT.
;
    _item.name                  '_database_PDB_tvect.details'
    _item.category_id             database_PDB_tvect
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__database_PDB_tvect.id
    _item_description.description
;              The value of _database_PDB_tvect.id must uniquely identify a
               record in the DATABASE_PDB_TVECT list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_database_PDB_tvect.id'
    _item.category_id             database_PDB_tvect
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__database_PDB_tvect.vector[1]
    _item_description.description
;              The [1] element of the PDB TVECT vector. 
;
    _item.name                  '_database_PDB_tvect.vector[1]'
    _item.category_id             database_PDB_tvect
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_tvect.vector[2]
    _item_description.description
;              The [2] element of the PDB TVECT vector. 
;
    _item.name                  '_database_PDB_tvect.vector[2]'
    _item.category_id             database_PDB_tvect
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__database_PDB_tvect.vector[3]
    _item_description.description
;              The [3] element of the PDB TVECT vector. 
;
    _item.name                  '_database_PDB_tvect.vector[3]'
    _item.category_id             database_PDB_tvect
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

############
## DIFFRN ##
############

save_DIFFRN
    _category.description
;              Data items in the DIFFRN category record details about the
               diffraction data and its measurement.
;
    _category.id                  diffrn
    _category.mandatory_code      no
    _category_key.name          '_diffrn.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _diffrn.id                            'Set1'
    _diffrn.ambient_temp                   293(3)
    _diffrn.ambient_environment
    ; Mother liquor from the reservoir of the vapor diffusion experiment,
      mounted in room air
    ;
    _diffrn.crystal_support
    ; 0.7 mm glass capillary, sealed with dental wax
    ;
    _diffrn.crystal_treatment
    ; Equilibrated in rotating anode radiation enclosure for 18 hours prior
      to beginning of data collection.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _diffrn.id                            'd1'
    _diffrn.details
    ;
         \q scan width (1.0 + 0.14tan\q)\%, \q scan rate 1.2\% per min.
         Background counts for 5 sec on each side every scan.
    ;

    _diffrn.ambient_temp                293
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn.ambient_environment
    _item_description.description
;              The gas or liquid surrounding the sample, if not air.
;
    _item.name                  '_diffrn.ambient_environment'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_ambient_environment'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__diffrn.ambient_pressure
    _item_description.description
;              The mean pressure in kilopascals at which the intensities were
               measured.
;
    _item.name                  '_diffrn.ambient_pressure'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_ambient_pressure'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_diffrn.ambient_pressure_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              kilopascals
     save_

save__diffrn.ambient_pressure_esd
    _item_description.description
;              The estimated standard deviation of _diffrn.ambient_pressure.
;
    _item.name                  '_diffrn.ambient_pressure_esd'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_diffrn.ambient_pressure'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              kilopascals
     save_

save__diffrn.ambient_temp
    _item_description.description
;              The mean temperature in kelvins at which the intensities were
               measured.
;
    _item.name                  '_diffrn.ambient_temp'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_ambient_temperature'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_diffrn.ambient_temp_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              kelvins
     save_

save__diffrn.ambient_temp_details
    _item_description.description
;              A description of special aspects of temperature control during
               data collection.
;
    _item.name                  '_diffrn.ambient_temp_details'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__diffrn.ambient_temp_esd
    _item_description.description
;              The estimated standard deviation of _diffrn.ambient_temp.
;
    _item.name                  '_diffrn.ambient_temp_esd'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_diffrn.ambient_temp'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              kelvins
     save_

save__diffrn.crystal_id
    _item_description.description
;              This data item is a pointer to _exptl_crystal.id in the
               EXPTL_CRYSTAL category.
;
    _item.name                  '_diffrn.crystal_id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_crystal_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__diffrn.crystal_support
    _item_description.description
;              The physical device used to support the crystal during data
               collection.
;
    _item.name                  '_diffrn.crystal_support'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'glass capillary'
                                 'quartz capillary'
                                 'fiber'
                                 'metal loop'
     save_

save__diffrn.crystal_treatment
    _item_description.description
;              Remarks about how the crystal was treated prior to intensity
               measurement. Particularly relevant when intensities were
               measured at low temperature.
;
    _item.name                  '_diffrn.crystal_treatment'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_crystal_treatment'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'equilibrated in hutch for 24 hours'
                                 'flash frozen in liquid nitrogen'
                                 'slow cooled with direct air stream'
     save_

save__diffrn.details
    _item_description.description
;              Special details of the diffraction measurement process. Should
               include information about source instability, crystal motion,
               degradation and so on.
;
    _item.name                  '_diffrn.details'
    _item.category_id             diffrn
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__diffrn.id
    _item_description.description
;              This data item uniquely identifies a set of diffraction
               data.
;
     loop_
    _item.name       
    _item.category_id
    _item.mandatory_code         
           '_diffrn.id'                             diffrn                  yes
           '_diffrn_detector.diffrn_id'             diffrn_detector         yes
           '_diffrn_measurement.diffrn_id'          diffrn_measurement      yes
           '_diffrn_orient_matrix.diffrn_id'        diffrn_orient_matrix    yes
           '_diffrn_orient_refln.diffrn_id'         diffrn_orient_refln     yes
           '_diffrn_radiation.diffrn_id'            diffrn_radiation        yes
           '_diffrn_refln.diffrn_id'                diffrn_refln            yes
           '_diffrn_reflns.diffrn_id'               diffrn_reflns           yes
           '_diffrn_source.diffrn_id'               diffrn_source           yes
           '_diffrn_standard_refln.diffrn_id'       diffrn_standard_refln   yes
           '_diffrn_standards.diffrn_id'            diffrn_standards        yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_diffrn_detector.diffrn_id'          '_diffrn.id'
               '_diffrn_measurement.diffrn_id'       '_diffrn.id'
               '_diffrn_orient_matrix.diffrn_id'     '_diffrn.id'
               '_diffrn_orient_refln.diffrn_id'      '_diffrn.id'
               '_diffrn_radiation.diffrn_id'         '_diffrn.id'
               '_diffrn_refln.diffrn_id'             '_diffrn.id'
               '_diffrn_reflns.diffrn_id'            '_diffrn.id'
               '_diffrn_source.diffrn_id'            '_diffrn.id'
               '_diffrn_standard_refln.diffrn_id'    '_diffrn.id'
               '_diffrn_standards.diffrn_id'         '_diffrn.id'

    _item_type.code               code
     save_

#######################
## DIFFRN_ATTENUATOR ##
#######################

save_DIFFRN_ATTENUATOR
    _category.description
;              Data items in the DIFFRN_ATTENUATOR category record details
               about the diffraction attenuator scales employed.
;
    _category.id                  diffrn_attenuator
    _category.mandatory_code      no
    _category_key.name          '_diffrn_attenuator.code'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _diffrn_attenuator.code        1
    _diffrn_attenuator.scale       16.976
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_attenuator.code
    _item_description.description
;              A code associated with a particular attenuator setting. This 
               code is referenced by the _diffrn_refln.attenuator_code which is
               stored with the diffraction data. See _diffrn_attenuator.scale.
;
     loop_
    _item.name                  
    _item.category_id            
    _item.mandatory_code         
            '_diffrn_attenuator.code'  diffrn_attenuator   yes
    _item_aliases.alias_name    '_diffrn_attenuator_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
                '_diffrn_refln.attenuator_code' '_diffrn_attenuator.code'
    _item_type.code               code
     save_

save__diffrn_attenuator.scale
    _item_description.description
;              The scale factor applied when an intensity measurement is
               reduced by an attenuator identified by _diffrn_attenuator_code.
               This scale must be multiplied by the measured intensity to
               convert it to the same scale as unattenuated intensities.
;
    _item.name                  '_diffrn_attenuator.scale'
    _item.category_id             diffrn_attenuator
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_attenuator_scale'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_type.code               float
     save_

#####################
## DIFFRN_DETECTOR ##
#####################

save_DIFFRN_DETECTOR
    _category.description
;              Data items in the DIFFRN_DETECTOR category describe the 
               detector used to measure the scattered radiation, including
               any analyser and post-sample collimation.
;
    _category.id                  diffrn_detector
    _category.mandatory_code      no
    _category_key.name          '_diffrn_detector.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _diffrn_detector.diffrn_id             'd1'
    _diffrn_detector.detector              'multiwire'
    _diffrn_detector.type                  'Siemens'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_detector.details
    _item_description.description
;              A description of special aspects of the radiation detector.
;
    _item.name                  '_diffrn_detector.details'
    _item.category_id             diffrn_detector
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_detector_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Need new example here.
;
     save_

save__diffrn_detector.detector
    _item_description.description
;              The general class of the radiation detector.
;
    _item.name                  '_diffrn_detector.detector'
    _item.category_id             diffrn_detector
    _item.mandatory_code          no
     loop_
    _item_aliases.alias_name
    _item_aliases.dictionary
    _item_aliases.version       '_diffrn_radiation_detector'
                                  cifdic.c91
                                  1.0
                                '_diffrn_detector'
                                  cif_core.dic
                                  2.0
    _item_type.code               text
     loop_
    _item_examples.case          'photographic film'
                                 'scintillation counter'
                                 'CCD plate'
                                 'BF~3~ counter'
     save_

save__diffrn_detector.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN
               category.
;
    _item.name                  '_diffrn_detector.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_detector.dtime
    _item_description.description
;              The deadtime in microseconds of the detectors used to measure
               the diffraction intensities.
;
    _item.name                  '_diffrn_detector.dtime'
    _item.category_id             diffrn_detector
    _item.mandatory_code          no
     loop_
    _item_aliases.alias_name
    _item_aliases.dictionary
    _item_aliases.version       '_diffrn_radiation_detector_dtime'
                                  cifdic.c91
                                  1.0
                                '_diffrn_detector_dtime'
                                  cif_core.dic
                                  2.0
     loop_  
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              microseconds
     save_

save__diffrn_detector.type
    _item_description.description
;              The make, model or name of the detector device used.
;
    _item.name                  '_diffrn_detector.type'
    _item.category_id             diffrn_detector
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_detector_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

########################
## DIFFRN_MEASUREMENT ##
########################

save_DIFFRN_MEASUREMENT
    _category.description
;              Data items in the DIFFRN_MEASUREMENT category record details
               about the device used to orient and/or position the crystal
               during data measurement and the manner in which the diffraction
               data were measured.
;
    _category.id                  diffrn_measurement
    _category.mandatory_code      no
    _category_key.name          '_diffrn_measurement.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _diffrn_measurement.diffrn_id          'd1'
    _diffrn_measurement.device             '3-circle camera'
    _diffrn_measurement.device_type        'Supper model x'
    _diffrn_measurement.device_details     'none'
    _diffrn_measurement.method             'omega scan'
    _diffrn_measurement.details
    ; 440 frames, 0.20 degrees, 150 sec, detector distance 12 cm, detector
      angle 22.5 degrees
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _diffrn_measurement.diffrn_id       's1'
    _diffrn_measurement.device_type     'Philips PW1100/20 diffractometer'
    _diffrn_measurement.method          \q/2\q
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_measurement.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_measurement.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_measurement.details
    _item_description.description
;              A description of special aspects of the intensity measurement.
;
    _item.name                  '_diffrn_measurement.details'
    _item.category_id             diffrn_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_measurement_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 440 frames, 0.20 degrees, 150 sec, detector
                                  distance 12 cm, detector angle 22.5 degrees
;
     save_

save__diffrn_measurement.device
    _item_description.description
;              The general class of  goniometer or device used to support and
               orient the specimen.
;
    _item.name                  '_diffrn_measurement.device'
    _item.category_id             diffrn_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_measurement_device'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          '3-circle camera'
                                 '4-circle camera'
                                 'kappa-geometry camera'
                                 'oscillation camera'
                                 'precession camera'
     save_

save__diffrn_measurement.device_details
    _item_description.description
;              A description of special aspects of the device used to measure
               the diffraction intensities.
;
    _item.name                  '_diffrn_measurement.device_details'
    _item.category_id             diffrn_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_measurement_device_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Need new example here.
;
     save_

save__diffrn_measurement.device_type
    _item_description.description
;              The make, model or name of the measurement device
               (goniometer) used.
;
    _item.name                  '_diffrn_measurement.device_type'
    _item.category_id             diffrn_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_measurement_device_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'Supper model q'
                                 'Huber model r'
                                 'Enraf-Nonius model s'
                                 'homemade'
     save_

save__diffrn_measurement.method
    _item_description.description
;              Method used to measure intensities.
;
    _item.name                  '_diffrn_measurement.method'
    _item.category_id             diffrn_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_measurement_method'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'profile data from theta/2theta scans'
     save_

save__diffrn_measurement.specimen_support
    _item_description.description
;              The physical device used to support the crystal during data
               collection.
;
    _item.name                  '_diffrn_measurement.specimen_support'
    _item.category_id             diffrn_measurement
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_measurement_specimen_support'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'glass capillary'
                                 'quartz capillary'
                                 'fiber'
                                 'metal loop'
     save_

##########################
## DIFFRN_ORIENT_MATRIX ##
##########################

save_DIFFRN_ORIENT_MATRIX
    _category.description
;              Data items in the DIFFRN_ORIENT_MATRIX category record details
               about the orientation matrix used in data measurement.
;
    _category.id                  diffrn_orient_matrix
    _category.mandatory_code      no
    _category_key.name          '_diffrn_orient_matrix.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on CAD-4 diffractometer data obtained for
                Yb(S-C5H4N)2 (THF)4 
;
;
    _diffrn_orient_matrix.diffrn_id    set1
    _diffrn_orient_matrix.type         
    ;
     reciprocal axis matrix, multiplies hkl vector to generate 
     diffractometer xyz vector and diffractometer angles
    ;
    _diffrn_orient_matrix.UB[1][1]     -0.071479
    _diffrn_orient_matrix.UB[1][2]      0.020208
    _diffrn_orient_matrix.UB[1][3]      0.039076
    _diffrn_orient_matrix.UB[2][1]      0.035372
    _diffrn_orient_matrix.UB[2][2]      0.056209
    _diffrn_orient_matrix.UB[2][3]      0.078324
    _diffrn_orient_matrix.UB[3][1]     -0.007470
    _diffrn_orient_matrix.UB[3][2]      0.067854
    _diffrn_orient_matrix.UB[3][3]     -0.017832
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_orient_matrix.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_orient_matrix.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_orient_matrix.type
    _item_description.description
;              A description of the orientation matrix type and how it should
               be applied to define the orientation of the crystal precisely
               with respect to the diffractometer axes.
;
    _item.name                  '_diffrn_orient_matrix.type'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__diffrn_orient_matrix.UB[1][1]
    _item_description.description
;              The [1][1] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[1][1]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_11'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[1][2]
    _item_description.description
;              The [1][2] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[1][2]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_12'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[1][3]
    _item_description.description
;              The [1][3] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[1][3]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_13'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[2][1]
    _item_description.description
;              The [2][1] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[2][1]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_21'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[2][2]
    _item_description.description
;              The [2][2] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[2][2]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_22'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[2][3]
    _item_description.description
;              The [2][3] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[2][3]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_23'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[3][1]
    _item_description.description
;              The [3][1] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[3][1]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_31'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[3][2]
    _item_description.description
;              The [3][2] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[3][2]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_32'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_orient_matrix.UB[3][3]
    _item_description.description
;              The [3][3] element of the 3x3 matrix that defines the dimensions
               of the reciprocal cell and its orientation to the local
               diffractometer axes. See also _diffrn_orient_matrix.type.
;
    _item.name                  '_diffrn_orient_matrix.UB[3][3]'
    _item.category_id             diffrn_orient_matrix
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_matrix_UB_33'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

#########################
## DIFFRN_ORIENT_REFLN ##
#########################

save_DIFFRN_ORIENT_REFLN
    _category.description
;              Data items in the DIFFRN_ORIENT_REFLN category record details
               about the reflections that define the orientation matrix used in
               measurement of diffraction intensities.
;
    _category.id                  diffrn_orient_refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_diffrn_orient_refln.diffrn_id'
                                '_diffrn_orient_refln.index_h'
                                '_diffrn_orient_refln.index_k'
                                '_diffrn_orient_refln.index_l'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on CAD-4 diffractometer data obtained for
                Yb(S-C5H4N)2 (THF)4 
;
;
     loop_
    _diffrn_orient_refln.diffrn_id     myset1
    _diffrn_orient_refln.index_h       2
    _diffrn_orient_refln.index_k       0
    _diffrn_orient_refln.index_l       2
    _diffrn_orient_refln.angle_chi     -28.45
    _diffrn_orient_refln.angle_kappa   -11.32
    _diffrn_orient_refln.angle_omega   5.33
    _diffrn_orient_refln.angle_phi     101.78
    _diffrn_orient_refln.angle_psi     0.00
    _diffrn_orient_refln.angle_theta   10.66
    set1  2 0 2 -28.45  -11.32 5.33 101.78 0.00 10.66 
    # ... data abbreviated  ...
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_orient_refln.angle_chi
    _item_description.description
;              Diffractometer angle chi in degrees of a reflection used to
               define the orientation matrix. See _diffrn_orient_matrix.UB and
               the Miller indices in the DIFFRN_ORIENT_RELFN category.
;
    _item.name                  '_diffrn_orient_refln.angle_chi'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_refln_angle_chi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.angle_kappa'
                                '_diffrn_orient_refln.angle_omega'
                                '_diffrn_orient_refln.angle_phi'
                                '_diffrn_orient_refln.angle_psi'
                                '_diffrn_orient_refln.angle_theta'
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_orient_refln.angle_kappa
    _item_description.description
;              Diffractometer angle kappa in degrees of a reflection used to
               define the orientation matrix. See _diffrn_orient_matrix.UB and
               the Miller indices in the DIFFRN_ORIENT_RELFN category.
;
    _item.name                  '_diffrn_orient_refln.angle_kappa'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_refln_angle_kappa'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.angle_chi'
                                '_diffrn_orient_refln.angle_omega'
                                '_diffrn_orient_refln.angle_phi'
                                '_diffrn_orient_refln.angle_psi'
                                '_diffrn_orient_refln.angle_theta'
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_orient_refln.angle_omega
    _item_description.description
;              Diffractometer angle omega in degrees of a reflection used to
               define the orientation matrix. See _diffrn_orient_matrix.UB and
               the Miller indices in the DIFFRN_ORIENT_RELFN category.
;
    _item.name                  '_diffrn_orient_refln.angle_omega'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_refln_angle_omega'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.angle_chi'
                                '_diffrn_orient_refln.angle_kappa'
                                '_diffrn_orient_refln.angle_phi'
                                '_diffrn_orient_refln.angle_psi'
                                '_diffrn_orient_refln.angle_theta'
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_orient_refln.angle_phi
    _item_description.description
;              Diffractometer angle phi in degrees of a reflection used to
               define the orientation matrix. See _diffrn_orient_matrix.UB and
               the Miller indices in the DIFFRN_ORIENT_RELFN category.
;
    _item.name                  '_diffrn_orient_refln.angle_phi'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_refln_angle_phi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.angle_chi'
                                '_diffrn_orient_refln.angle_kappa'
                                '_diffrn_orient_refln.angle_omega'
                                '_diffrn_orient_refln.angle_psi'
                                '_diffrn_orient_refln.angle_theta'
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_orient_refln.angle_psi
    _item_description.description
;              Diffractometer angle psi in degrees of a reflection used to
               define the orientation matrix. See _diffrn_orient_matrix.UB and
               the Miller indices in the DIFFRN_ORIENT_RELFN category.
;
    _item.name                  '_diffrn_orient_refln.angle_psi'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_refln_angle_psi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.angle_chi'
                                '_diffrn_orient_refln.angle_kappa'
                                '_diffrn_orient_refln.angle_omega'
                                '_diffrn_orient_refln.angle_phi'
                                '_diffrn_orient_refln.angle_theta'
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_orient_refln.angle_theta
    _item_description.description
;              Diffractometer angle theta in degrees of a reflection used to
               define the orientation matrix. See _diffrn_orient_matrix.UB and
               the Miller indices in the DIFFRN_ORIENT_RELFN category.
;
    _item.name                  '_diffrn_orient_refln.angle_theta'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_orient_refln_angle_theta'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.angle_chi'
                                '_diffrn_orient_refln.angle_kappa'
                                '_diffrn_orient_refln.angle_omega'
                                '_diffrn_orient_refln.angle_phi'
                                '_diffrn_orient_refln.angle_psi'
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_orient_refln.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_orient_refln.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_orient_refln.index_h
    _item_description.description
;              Miller index h of a reflection used to define the orientation
               matrix.
;
    _item.name                  '_diffrn_orient_refln.index_h'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_orient_refln_index_h'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.index_k'
                                '_diffrn_orient_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_orient_refln.index_k
    _item_description.description
;              Miller index k of a reflection used to define the orientation
               matrix.
;
    _item.name                  '_diffrn_orient_refln.index_k'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_orient_refln_index_k'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.index_h'
                                '_diffrn_orient_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_orient_refln.index_l
    _item_description.description
;              Miller index l of a reflection used to define the orientation
               matrix.
;
    _item.name                  '_diffrn_orient_refln.index_l'
    _item.category_id             diffrn_orient_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_orient_refln_index_l'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_orient_refln.index_h'
                                '_diffrn_orient_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

######################
## DIFFRN_RADIATION ##
######################

save_DIFFRN_RADIATION
    _category.description
;              Data items in the DIFFRN_RADIATION category describe
               the radiation used in measuring diffraction intensities,
               its collimation and monochromatisation before the sample.

               Post-sample treatment of the beam is described by data
               items in the DIFFRN_DETECTOR category.

;
    _category.id                  diffrn_radiation
    _category.mandatory_code      no
    _category_key.name          '_diffrn_radiation.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _diffrn_radiation.diffrn_id            'set1'

    _diffrn_radiation.collimation          '0.3 mm double pinhole'
    _diffrn_radiation.monochromator        'graphite'
    _diffrn_radiation.type                 'Cu K\a'
    _diffrn_radiation.wavelength_id         1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _diffrn_radiation.wavelength_id    1
    _diffrn_radiation.type             'Cu K\a'
    _diffrn_radiation.monochromator    'graphite'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_radiation.collimation
    _item_description.description
;              The collimation or focusing applied to the radiation.
;
    _item.name                  '_diffrn_radiation.collimation'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_collimation'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          '0.3 mm double-pinhole'
                                 '0.5 mm'
                                 'focusing mirrors'
     save_

save__diffrn_radiation.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN
               category.
;
    _item.name                  '_diffrn_radiation.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_radiation.filter_edge
    _item_description.description
;              Absorption edge in angstroms of the radiation filter used.
;
    _item.name                  '_diffrn_radiation.filter_edge'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_filter_edge'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__diffrn_radiation.inhomogeneity
    _item_description.description
;              Half-width in millimetres of the incident beam in the
               direction perpendicular to the diffraction plane.
;
    _item.name                  '_diffrn_radiation.inhomogeneity'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_inhomogeneity'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              millimetres
     save_

save__diffrn_radiation.monochromator
    _item_description.description
;              The method used to obtain monochromatic radiation. If a mono-
               chromator crystal is used the material and the indices of the
               Bragg reflection are specified.
;
    _item.name                  '_diffrn_radiation.monochromator'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_monochromator'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'Zr filter'
                                 'Ge 220'
                                 'none'
                                 'equatorial mounted graphite'
     save_

save__diffrn_radiation.polarisn_norm
    _item_description.description
;              The angle in degrees, as viewed from the specimen, between the
               perpendicular component of the polarisation and the diffraction
               plane. See _diffrn_radiation_polarisn_ratio.
;
    _item.name                  '_diffrn_radiation.polarisn_norm'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_polarisn_norm'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_radiation.polarisn_ratio
    _item_description.description
;              Polarisation ratio of the diffraction beam incident on the
               crystal. It is the ratio of the perpendicularly polarised to the
               parallel polarised component of the radiation. The perpendicular
               component forms an angle of _diffrn_radiation.polarisn_norm to
               the normal to the diffraction plane of the sample (i.e. the plane
               containing the incident and reflected beams).
;
    _item.name                  '_diffrn_radiation.polarisn_ratio'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_polarisn_ratio'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__diffrn_radiation.probe
    _item_description.description
;              Name of the type of radiation used. It is strongly encouraged
               that this field be specified so that the probe radiation
               can be simply determined.
;
    _item.name                  '_diffrn_radiation.probe'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_probe'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_enumeration.value      'x-ray'
                                 'neutron'
                                 'electron'
                                 'gamma'
     save_

save__diffrn_radiation.type
    _item_description.description
;              The nature of the radiation. This is typically a description
               of the X-ray wavelength in Siegbahn notation.
;
    _item.name                  '_diffrn_radiation.type'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'CuK\a'
                                 'Cu K\a~1~'
                                 'Cu K-L~2,3~' 
                                 'white-beam'

     save_

save__diffrn_radiation.xray_symbol
    _item_description.description
;              The IUPAC symbol for the X-ray wavelength for probe radiation.
;
    _item.name                  '_diffrn_radiation.xray_symbol'
    _item.category_id             diffrn_radiation
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_xray_symbol'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_enumeration.value
    _item_enumeration.detail     'K-L~3~'
                                 'K\a~1~ in older Siegbahn notation'
                                 'K-L~2~'
                                 'K\a~2~ in older Siegbahn notation'
                                 'K-M~3~'
                                 'K\b~1~ in older Siegbahn notation'
                                 'K-L~2,3~'
                                 'use where K-L~3~ and K-L~2~ are not resolved'
     save_

save__diffrn_radiation.wavelength_id
    _item_description.description
;              This data item is a pointer to _diffrn_radiation_wavelength.id
               in the DIFFRN_RADIATION_WAVELENGTH category.
;
    _item.name                  '_diffrn_radiation.wavelength_id'
    _item.mandatory_code          yes
     save_

#################################
## DIFFRN_RADIATION_WAVELENGTH ##
#################################

save_DIFFRN_RADIATION_WAVELENGTH
    _category.description
;              Data items in the DIFFRN_RADIATION_WAVELENGTH category 
               describe the wavelength of radiation used in measuring
               diffraction intensities. Items may be looped to identify
               and assign weights to distinct components of a 
               polychromatic beam.
;
    _category.id                  diffrn_radiation_wavelength
    _category.mandatory_code      no
     loop_
    _category_key.name          '_diffrn_radiation_wavelength.id'
                                '_diffrn_radiation_wavelength.wavelength' 
                                '_diffrn_radiation_wavelength.wt' 
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _diffrn_radiation_wavelength.id                    1
    _diffrn_radiation_wavelength.wavelength            1.54
    _diffrn_radiation_wavelength.wt                    1.0            
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_radiation_wavelength.id
    _item_description.description
;              The code identifying each value of _diffrn_radiation_wavelength.
               Items in the DIFFRN_RADIATION_WAVELENGTH category are looped 
               when multiple wavelengths are used. 

               This code is used to link with the DIFFRN_REFLN category.
               The _diffrn_refln.wavelength_id codes must match one of 
               the codes defined in this category.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
          '_diffrn_radiation_wavelength.id'  diffrn_radiation_wavelength  yes
          '_diffrn_radiation.wavelength_id'  diffrn_radiation             yes
          '_diffrn_refln.wavelength_id'      diffrn_refln                 yes
          '_refln.wavelength_id'             refln                        yes
    _item_aliases.alias_name    '_diffrn_radiation_wavelength_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
           '_diffrn_radiation.wavelength_id'  '_diffrn_radiation_wavelength.id'
           '_diffrn_refln.wavelength_id'      '_diffrn_radiation_wavelength.id'
           '_refln.wavelength_id'             '_diffrn_radiation_wavelength.id'
    _item_type.code               code
     loop_
    _item_examples.case          'x1'
                                 'x2'
                                 'neut'
     save_

save__diffrn_radiation_wavelength.wavelength
    _item_description.description
;              The radiation wavelength in angstroms.
;
    _item.name                  '_diffrn_radiation_wavelength.wavelength'
    _item.category_id             diffrn_radiation_wavelength
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_wavelength'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__diffrn_radiation_wavelength.wt
    _item_description.description
;              The relative weight of a wavelength identified by the code
               _diffrn_radiation_wavelength.id in the list of wavelengths.
;
    _item.name                  '_diffrn_radiation_wavelength.wt'
    _item.category_id             diffrn_radiation_wavelength
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_radiation_wavelength_wt'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1.0
     loop_
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

##################
## DIFFRN_REFLN ##
##################

save_DIFFRN_REFLN
    _category.description
;              Data items in the DIFFRN_REFLN category record details about
               the intensities measured in the diffraction data set 
               identified by _diffrn_refln.diffrn_id.

               The DIFFRN_REFLN data items refer to individual intensity
               measurements, and must be included in looped lists.

               The DIFFRN_REFLNS data items specify the parameters that apply
               to all intensity  measurements in the particular diffraction
               data set identified by _diffrn_reflns.diffrn_id.
;
    _category.id                  diffrn_refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_diffrn_refln.diffrn_id'
                                '_diffrn_refln.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on CAD-4 diffractometer data obtained for
                Yb(S-C5H4N)2 (THF)4  for data set 'set1' reflection 1102
;
;
    _diffrn_refln.diffrn_id            set1
    _diffrn_refln.id                   1102           
    _diffrn_refln.wavelength_id        Cu1fixed
    _diffrn_refln.angle_chi            32.21
    _diffrn_refln.angle_kappa          20.12
    _diffrn_refln.angle_omega          11.54
    _diffrn_refln.angle_phi            176.02
    _diffrn_refln.angle_psi            0.00
    _diffrn_refln.angle_theta          23.08
    _diffrn_refln.attenuator_code      'Ni.005'
    _diffrn_refln.counts_bg_1          22          
    _diffrn_refln.counts_bg_2          25
    _diffrn_refln.counts_net           3450
    _diffrn_refln.counts_peak          321
    _diffrn_refln.counts_total         3499
    _diffrn_refln.detect_slit_horiz    0.04
    _diffrn_refln.detect_slit_vert     0.02
    _diffrn_refln.elapsed_time         1.00     
    _diffrn_refln.index_h              4
    _diffrn_refln.index_k              0
    _diffrn_refln.index_l              2
    _diffrn_refln.intensity_net        202.56
    _diffrn_refln.intensity_sigma      2.18
    _diffrn_refln.scale_group_code     A24
    _diffrn_refln.scan_mode            om             
    _diffrn_refln.scan_mode_backgd     mo             
    _diffrn_refln.scan_rate            1.2            
    _diffrn_refln.scan_time_backgd     900.00      
    _diffrn_refln.scan_width           1.0
    _diffrn_refln.sint_over_lambda     0.25426 
    _diffrn_refln.standard_code        1      
    _diffrn_refln.wavelength           1.54184
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_refln.angle_chi
    _item_description.description
;              The diffractometer angle chi in degrees of a reflection. This
               angle corresponds to the specified orientation matrix
               and the original measured cell before any subsequent cell
               transformations.
;
    _item.name                  '_diffrn_refln.angle_chi'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_angle_chi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.angle_kappa
    _item_description.description
;              The diffractometer angle kappa in degrees of a reflection. This
               angle corresponds to the specified orientation matrix
               and the original measured cell before any subsequent cell
               transformations.
;
    _item.name                  '_diffrn_refln.angle_kappa'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_angle_kappa'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.angle_omega
    _item_description.description
;              The diffractometer angle omega in degrees of a reflection. This
               angle corresponds to the specified orientation matrix
               and the original measured cell before any subsequent cell
               transformations.
;
    _item.name                  '_diffrn_refln.angle_omega'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_angle_omega'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.angle_phi
    _item_description.description
;              The diffractometer angle phi in degrees of a reflection. This
               angle corresponds to the specified orientation matrix
               and the original measured cell before any subsequent cell
               transformations.
;
    _item.name                  '_diffrn_refln.angle_phi'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_angle_phi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.angle_psi
    _item_description.description
;              The diffractometer angle psi in degrees of a reflection. This
               angle corresponds  to the specified orientation matrix
               and the original measured cell before any subsequent cell
               transformations.
;
    _item.name                  '_diffrn_refln.angle_psi'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_angle_psi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.angle_theta
    _item_description.description
;              The diffractometer angle theta in degrees of a reflection. This
               angle corresponds  to the specified orientation matrix
               and the original measured cell before any subsequent cell
               transformations.
;
    _item.name                  '_diffrn_refln.angle_theta'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_angle_theta'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.attenuator_code
    _item_description.description
;              The code identifying the attenuator setting for this reflection.
               This code must match one of the _diffrn_attenuator.code values.
;
    _item.name                  '_diffrn_refln.attenuator_code'
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_attenuator_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__diffrn_refln.counts_bg_1
    _item_description.description
;              The diffractometer counts for the measurement of the background
               before the peak.
;
    _item.name                  '_diffrn_refln.counts_bg_1'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_counts_bg_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_refln.counts_bg_2
    _item_description.description
;              The diffractometer counts for the measurement of the background
               background after the peak.
;
    _item.name                  '_diffrn_refln.counts_bg_2'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_counts_bg_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_refln.counts_net
    _item_description.description
;              The diffractometer counts for the measurement of net counts after
               background removal.
;
    _item.name                  '_diffrn_refln.counts_net'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_counts_net'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_refln.counts_peak
    _item_description.description
;              The diffractometer counts for the measurement of counts for the
               peak scan or position.
;
    _item.name                  '_diffrn_refln.counts_peak'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_counts_peak'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_refln.counts_total
    _item_description.description
;              The diffractometer counts for the measurement of total counts
               (background plus peak).
;
    _item.name                  '_diffrn_refln.counts_total'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_counts_total'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_ 
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_refln.detect_slit_horiz
    _item_description.description
;              Total slit aperture in degrees in the diffraction plane.
;
    _item.name                  '_diffrn_refln.detect_slit_horiz'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_detect_slit_horiz'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.detect_slit_vert
    _item_description.description
;              Total slit aperture in degrees perpendicular to the
               diffraction plane.
;
    _item.name                  '_diffrn_refln.detect_slit_vert'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_detect_slit_vert'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_refln.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_refln.elapsed_time
    _item_description.description
;              Elapsed time in minutes from the start of diffraction measurement
               to the measurement of this intensity.
;
    _item.name                  '_diffrn_refln.elapsed_time'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_elapsed_time'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              minutes
     save_

save__diffrn_refln.id
    _item_description.description
;              The value of diffrn_refln.id must uniquely identify the 
               reflection in the data set identified by the item
              _diffrn_refln.diffrn_id.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_diffrn_refln.id'
    _item.category_id             diffrn_refln
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__diffrn_refln.index_h
    _item_description.description
;              Miller index h of a diffraction reflection. The values of
               the Miller indices in the DIFFRN_REFLN category need not match
               the values of the Miller indices in the REFLN category if a
               transformation of the original measured cell has taken place.
               Details of the cell transformation are described in
               _diffrn_reflns.reduction_process. See also
               _diffrn_reflns.transf_matrix.
;
    _item.name                  '_diffrn_refln.index_h'
    _item.category_id             diffrn_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_index_h'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_refln.index_h'
                                '_diffrn_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_refln.index_k
    _item_description.description
;              Miller index k of a diffraction reflection. The values of
               the Miller indices in the DIFFRN_REFLN category need not match
               the values of the Miller indices in the REFLN category if a
               transformation of the original measured cell has taken place.
               Details of the cell transformation are described in
               _diffrn_reflns.reduction_process. See also
               _diffrn_reflns.transf_matrix.
;
    _item.name                  '_diffrn_refln.index_k'
    _item.category_id             diffrn_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_index_k'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_refln.index_h'
                                '_diffrn_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_refln.index_l
    _item_description.description
;              Miller index l of a diffraction reflection. The values of
               the Miller indices in the DIFFRN_REFLN category need not match
               the values of the Miller indices in the REFLN category if a
               transformation of the original measured cell has taken place.
               Details of the cell transformation are described in
               _diffrn_reflns.reduction_process. See also
               _diffrn_reflns.transf_matrix.
;
    _item.name                  '_diffrn_refln.index_l'
    _item.category_id             diffrn_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_index_l'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_refln.index_h'
                                '_diffrn_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_refln.intensity_net
    _item_description.description
;              Net intensity calculated from the diffraction counts after the
               attenuator and standard scales have been applied.
;
    _item.name                  '_diffrn_refln.intensity_net'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_intensity_net'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               float
     save_

save__diffrn_refln.intensity_sigma
    _item_description.description
;              Standard uncertainty (e.s.d.) of the intensity calculated from
               the diffraction counts after the attenuator and standard scales
               have been applied.
;
    _item.name                  '_diffrn_refln.intensity_sigma'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_intensity_sigma'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               float
     save_

save__diffrn_refln.scale_group_code
    _item_description.description
;              The code identifying the scale applying to this reflection.

               This data item is a pointer to _diffrn_scale_group.code in the
               DIFFRN_SCALE_GROUP category.
;
    _item.name                  '_diffrn_refln.scale_group_code'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_scale_group_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__diffrn_refln.scan_mode
    _item_description.description
;              The code identifying the mode of scanning with a diffractometer.
               See _diffrn_refln.scan_width and _diffrn_refln.scan_mode_backgd.
;
    _item.name                  '_diffrn_refln.scan_mode'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_scan_mode'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      om 'omega scan'
                                  ot 'omega/2theta scan'
                                  q  'Q-scans (arbitrary reciprocal directions)'
     save_

save__diffrn_refln.scan_mode_backgd
    _item_description.description
;              The code identifying the mode of scanning a reflection to 
               measure the background intensity.
;
    _item.name                  '_diffrn_refln.scan_mode_backgd'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_scan_mode_backgd'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      st  'stationary counter background'
                                  mo  'moving counter background'
     save_

save__diffrn_refln.scan_rate
    _item_description.description
;              The rate of scanning a reflection to measure the intensity in 
               degrees per minute.
;
    _item.name                  '_diffrn_refln.scan_rate'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_scan_rate'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees_per_minute
     save_

save__diffrn_refln.scan_time_backgd
    _item_description.description
;              The time spent measuring each background in seconds.
;
    _item.name                  '_diffrn_refln.scan_time_backgd'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_scan_time_backgd'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              seconds
     save_

save__diffrn_refln.scan_width
    _item_description.description
;              The scan width in degrees of the scan mode defined by the code
               _diffrn_refln.scan_mode.
;
    _item.name                  '_diffrn_refln.scan_width'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_scan_width'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_refln.sint_over_lambda
    _item_description.description
;              The (sin theta)/lambda value in reciprocal angstroms for this
               reflection.
;
    _item.name                  '_diffrn_refln.sint_over_lambda'
    _item.category_id             diffrn_refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_sint/lambda'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              reciprocal_angstroms
     save_

save__diffrn_refln.standard_code
    _item_description.description
;              The code identifying that this reflection was measured as a
               standard intensity.

               This data item is a pointer to _diffrn_standard_refln.code in the
               DIFFRN_STANDARD_REFLN category.
;
    _item.name                  '_diffrn_refln.standard_code'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_standard_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__diffrn_refln.wavelength
    _item_description.description
;              The mean wavelength in angstroms of radiation used to measure
               the intensity of this reflection. This is an important parameter
               for data collected using energy dispersive detectors or the
               Laue method.
;
    _item.name                  '_diffrn_refln.wavelength'
    _item.category_id             diffrn_refln 
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_refln_wavelength'
    _item_aliases.dictionary      cif_core.dic 
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum 
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float 
    _item_units.code              angstroms
     save_

save__diffrn_refln.wavelength_id
    _item_description.description
;              This data item is a pointer to _diffrn_radiation.wavelength_id in
               the DIFFRN_RADIATION category.
;
    _item.name                  '_diffrn_refln.wavelength_id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_refln_wavelength_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

###################
## DIFFRN_REFLNS ##
###################

save_DIFFRN_REFLNS
    _category.description
;              Data items in the DIFFRN_REFLNS category record details about
               the set of intensities measured in the diffraction experiment.

               The DIFFRN_REFLN data items refer to individual intensity
               measurements, and must be included in looped lists.

               The DIFFRN_REFLNS data items specify the parameters that apply
               to all intensity measurements in a diffraction data set.
;
    _category.id                  diffrn_reflns
    _category.mandatory_code      no
    _category_key.name          '_diffrn_reflns.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
#     loop_
#    _category_examples.detail
#    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_reflns.av_R_equivalents
    _item_description.description
;              The residual [sum|avdel(I)| / sum|av(I)|] for symmetry-equivalent
               reflections used to calculate the average intensity av(I). The
               avdel(I) term is the average difference between av(I) and the
               individual symmetry-equivalent intensities.
;
    _item.name                  '_diffrn_reflns.av_R_equivalents'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_av_R_equivalents'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__diffrn_reflns.av_sigmaI_over_netI
    _item_description.description
;              Measure [sum|sigma(I)|/sum|net(I)|] for all measured reflections.
;
    _item.name                  '_diffrn_reflns.av_sigmaI_over_netI'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_av_sigmaI/netI'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__diffrn_reflns.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_reflns.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_reflns.limit_h_max
    _item_description.description
;              The maximum value of the diffraction reflection data specified
               by _diffrn_refln.index_h.
;
    _item.name                  '_diffrn_reflns.limit_h_max'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_limit_h_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__diffrn_reflns.limit_h_min
    _item_description.description
;              The minimum value of the diffraction reflection data specified
               by _diffrn_refln.index_h.
;
    _item.name                  '_diffrn_reflns.limit_h_min'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_limit_h_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__diffrn_reflns.limit_k_max
    _item_description.description
;              The maximum value of the diffraction reflection data specified
               by _diffrn_refln.index_k.
;
    _item.name                  '_diffrn_reflns.limit_k_max'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_limit_k_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__diffrn_reflns.limit_k_min
    _item_description.description
;              The minimum value of the diffraction reflection data specified
               by _diffrn_refln.index_k.
;
    _item.name                  '_diffrn_reflns.limit_k_min'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_limit_k_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__diffrn_reflns.limit_l_max
    _item_description.description
;              The maximum value of the diffraction reflection data specified
               by _diffrn_refln.index_l.
;
    _item.name                  '_diffrn_reflns.limit_l_max'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_limit_l_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__diffrn_reflns.limit_l_min
    _item_description.description
;              The minimum value of the diffraction reflection data specified
               by _diffrn_refln.index_l.
;
    _item.name                  '_diffrn_reflns.limit_l_min'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_limit_l_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__diffrn_reflns.number
    _item_description.description
;              The total number of measured intensities, excluding reflections
               that are classified as systematically absent.
;
    _item.name                  '_diffrn_reflns.number'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_reflns.reduction_process
    _item_description.description
;              A description of the process used to reduce the intensity data
               into structure-factor magnitudes.
;
    _item.name                  '_diffrn_reflns.reduction_process'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_reduction_process'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'data averaged using Fisher test'
     save_

save__diffrn_reflns.theta_max
    _item_description.description
;              Maximum theta angle in degrees for the measured diffraction
               intensities.
;
    _item.name                  '_diffrn_reflns.theta_max'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_theta_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_reflns.theta_min
    _item_description.description
;              Minimum theta angle in degrees for the measured diffraction
               intensities.
;
    _item.name                  '_diffrn_reflns.theta_min'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_theta_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           90.0   90.0
                                  90.0    0.0
                                   0.0    0.0
    _item_type.code               float
    _item_units.code              degrees
     save_

save__diffrn_reflns.transf_matrix[1][1]
    _item_description.description
;              The [1][1] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[1][1]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_11'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[1][2]
    _item_description.description
;              The [1][2] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[1][2]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_12'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[1][3]
    _item_description.description
;              The [1][3] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[1][3]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_13'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[2][1]
    _item_description.description
;              The [2][1] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[2][1]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_21'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[2][2]
    _item_description.description
;              The [2][2] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[2][2]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_22'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[2][3]
    _item_description.description
;              The [2][3] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[2][3]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_23'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[3][1]
    _item_description.description
;              The [3][1] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[3][1]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_31'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[3][2]
    _item_description.description
;              The [3][2] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[3][2]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_32'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__diffrn_reflns.transf_matrix[3][3]
    _item_description.description
;              The [3][3] element of the 3x3 matrix used to transform Miller
               indices in the DIFFRN_REFLN category into the Miller indices in
               the REFLN category.
;
    _item.name                  '_diffrn_reflns.transf_matrix[3][3]'
    _item.category_id             diffrn_reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_reflns_transf_matrix_33'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

########################
## DIFFRN_SCALE_GROUP ##
########################

save_DIFFRN_SCALE_GROUP
    _category.description
;              Data items in the DIFFRN_SCALE_GROUP category record details
               about the reflections used to scale the diffraction intensities.
               Scaling groups might, for instance, correspond to each film in a
               multi-film data set, or each crystal in a multi-crystal data set.
;
    _category.id                  diffrn_scale_group
    _category.mandatory_code      no
    _category_key.name          '_diffrn_scale_group.code'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on CAD-4 diffractometer data obtained for
                Yb(S-C5H4N)2 (THF)4  
;
;
    _diffrn_scale_group.code        A24
    _diffrn_scale_group.I_net       1.021
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_scale_group.code
    _item_description.description
;              The value of diffrn_scale_group.code must uniquely identify a
               record in the DIFFRN_SCALE_GROUP list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_diffrn_scale_group.code'        diffrn_scale_group  yes
               '_diffrn_refln.scale_group_code'  diffrn_refln        yes
    _item_aliases.alias_name    '_diffrn_scale_group_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_diffrn_refln.scale_group_code'  '_diffrn_scale_group.code'
    _item_type.code               code
     loop_
    _item_examples.case          '1'
                                 '2'
                                 'c1'
                                 'c2'
     save_

save__diffrn_scale_group.I_net
    _item_description.description
;              The scale for a specific measurement group which is to be
               multiplied with the net intensity to place all intensities
               in the DIFFRN_REFLN or REFLN list on a common scale.
;
    _item.name                  '_diffrn_scale_group.I_net'
    _item.category_id             diffrn_scale_group
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_scale_group_I_net'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

###################
## DIFFRN_SOURCE ##
###################

save_DIFFRN_SOURCE
    _category.description
;              Data items in the DIFFRN_SOURCE category record details of
               the source of radiation used in the diffraction experiment.
;
    _category.id                  diffrn_source
    _category.mandatory_code      no
    _category_key.name          '_diffrn_source.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _diffrn_source.diffrn_id       's1'
    _diffrn_source.source          'rotating anode'
    _diffrn_source.type            'Rigaku RU-200'
    _diffrn_source.power           '50 kw, 180 mA'
    _diffrn_source.target          '8mm x 0.4 mm broad-focus'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_source.current
    _item_description.description
;              The current in milliamperes at which the radiation source
               was operated. 
;
    _item.name                  '_diffrn_source.current'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_current'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              milliamperes
     save_

save__diffrn_source.details
    _item_description.description
;              A description of special aspects of the radiation source used.
;
    _item.name                  '_diffrn_source.details'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__diffrn_source.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_source.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_source.power
    _item_description.description
;              The power in kilowatts at which the radiation source
               was operated.
;
    _item.name                  '_diffrn_source.power'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_power'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              kilowatts
     save_

save__diffrn_source.size
    _item_description.description
;              The dimensions of the source as viewed from the sample.
;
    _item.name                  '_diffrn_source.size'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_size'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          '8mm x 0.4 mm fine-focus'
                                 'broad focus'
     save_

save__diffrn_source.source
    _item_description.description
;              The general class of the radiation source.
;
    _item.name                  '_diffrn_source.source'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
     loop_
    _item_aliases.alias_name
    _item_aliases.dictionary
    _item_aliases.version       '_diffrn_radiation_source'
                                  cifdic.c91
                                  1.0
                                '_diffrn_source'
                                  cif_core.dic
                                  2.0
    _item_type.code               text
     loop_
    _item_examples.case          'sealed X-ray tube'
                                 'nuclear reactor'
                                 'spallation source'
                                 'electron microscope'
                                 'rotating-anode X-ray tube'
                                 'synchrotron'
     save_

save__diffrn_source.target
    _item_description.description
;              The chemical element symbol for the X-ray target
               (usually the anode) used for generation of X-rays.
               This can be used also for spallation sources.
;
    _item.name                  '_diffrn_source.target'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_target'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     loop_
    _item_enumeration.value
        H  He  Li  Be  B  C  N  O  F  Ne  Na  Mg  Al  Si  P  S  Cl
        Ar  K  Ca  Sc  Ti  V  Cr  Mn  Fe  Co  Ni  Cu  Zn  Ga  Ge
        As  Se  Br  Kr  Rb  Sr  Y  Zr  Nb  Mo  Tc  Ru  Rh  Pd  Ag
        Cd  In  Sn  Sb  Te  I  Xe  Cs  Ba  La  Ce  Pr  Nd  Pm  Sm
        Eu  Gd  Tb  Dy  Ho  Er  Tm  Yb  Lu  Hf  Ta  W  Re  Os  Ir
        Pt  Au  Hg  Tl  Pb  Bi  Po  At  Rn  Fr  Ra  Ac  Th  Pa  U
        Np  Pu  Am  Cm  Bk  Cf  Es  Fm  Md  No  Lr
     save_

save__diffrn_source.type
    _item_description.description
;              The make, model or name of the source of radiation.
;
    _item.name                  '_diffrn_source.type'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'NSLS beamline X8C'
                                 'Rigaku RU200'
     save_

save__diffrn_source.voltage
    _item_description.description
;              The voltage in kilovolts at which the radiation source was
               operated. 
;
    _item.name                  '_diffrn_source.voltage'
    _item.category_id             diffrn_source
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_source_voltage'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              kilovolts
     save_

###########################
## DIFFRN_STANDARD_REFLN ##
###########################

save_DIFFRN_STANDARD_REFLN
    _category.description
;              Data items in the DIFFRN_STANDARD_REFLN category record details
               about the reflections treated as standards during the measurement
               of a set of diffraction intensities.

               Note that these are the individual standard reflections, not the
               results of the analysis of the standard reflections.
;
    _category.id                  diffrn_standard_refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_diffrn_standard_refln.diffrn_id'
                                '_diffrn_standard_refln.code'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
     loop_
    _diffrn_standard_refln.diffrn_id
    _diffrn_standard_refln.code
    _diffrn_standard_refln.index_h
    _diffrn_standard_refln.index_k
    _diffrn_standard_refln.index_l
     s1 1  3  2  4
     s1 1  1  9  1
     s1 1  3  0 10
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_standard_refln.code
    _item_description.description
;              The code identifying a reflection measured as a standard
               reflection with the indices _diffrn_standard_refln.index_h,
               _diffrn_standard_refln.index_k and
               _diffrn_standard_refln.index_l. This is the same code as the
               _diffrn_refln.standard_code in the DIFFRN_REFLN list. 
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_diffrn_standard_refln.code'  diffrn_standard_refln  yes
               '_diffrn_refln.standard_code'  diffrn_refln          yes
    _item_aliases.alias_name    '_diffrn_standard_refln_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_diffrn_refln.standard_code'  '_diffrn_standard_refln.code'
    _item_type.code               code
     loop_
    _item_examples.case          '1'
                                 '2'
                                 'c1'
                                 'c2'
     save_

save__diffrn_standard_refln.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_standard_refln.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_standard_refln.index_h
    _item_description.description
;              Miller index h of a standard reflection used in the diffraction
               measurement process.
;
    _item.name                  '_diffrn_standard_refln.index_h'
    _item.category_id             diffrn_standard_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_standard_refln_index_h'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_standard_refln.index_k'
                                '_diffrn_standard_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_standard_refln.index_k
    _item_description.description
;              Miller index k of a standard reflections used in the diffraction
               measurement process.
;
    _item.name                  '_diffrn_standard_refln.index_k'
    _item.category_id             diffrn_standard_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_standard_refln_index_k'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_standard_refln.index_h'
                                '_diffrn_standard_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__diffrn_standard_refln.index_l
    _item_description.description
;              Miller index l of a standard reflections used in the diffraction
               measurement process.
;
    _item.name                  '_diffrn_standard_refln.index_l'
    _item.category_id             diffrn_standard_refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_diffrn_standard_refln_index_l'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_diffrn_standard_refln.index_h'
                                '_diffrn_standard_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

######################
## DIFFRN_STANDARDS ##
######################

save_DIFFRN_STANDARDS
    _category.description
;              Data items in the DIFFRN_STANDARDS category record details
               about the set of standard reflections used to monitor intensity
               stability during measurement of diffraction intensities.

               Note that these records describe properties common to the set of
               standard reflections, not the standard reflections themselves.
;
    _category.id                  diffrn_standards
    _category.mandatory_code      no
    _category_key.name          '_diffrn_standards.diffrn_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'diffrn_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _diffrn_standards.diffrn_id         's1'
    _diffrn_standards.number            3
    _diffrn_standards.interval_time     120
    _diffrn_standards.decay_%           0
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__diffrn_standards.diffrn_id
    _item_description.description
;              This data item is a pointer to _diffrn.id in the DIFFRN 
               category.
;
    _item.name                  '_diffrn_standards.diffrn_id'
    _item.mandatory_code          yes
     save_

save__diffrn_standards.decay_%
    _item_description.description
;              The percentage decrease in the mean of the intensities
               for the set of standard reflections at the start of the
               measurement process and at the finish. This value usually
               affords a measure of the overall decay in crystal quality
               during the diffraction measurement process. Negative values
               are used in exceptional instances where the final intensities
               are greater than the initial ones.
;
    _item.name                  '_diffrn_standards.decay_%'
    _item.category_id             diffrn_standards
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_standards_decay_%'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__diffrn_standards.interval_count
    _item_description.description
;              The number of reflection intensities between the measurement of
               standard reflection intensities.
;
    _item.name                  '_diffrn_standards.interval_count'
    _item.category_id             diffrn_standards
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_standards_interval_count'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_standards.interval_time
    _item_description.description
;              The time in minutes between the measurement of standard
               reflection intensities.
;
    _item.name                  '_diffrn_standards.interval_time'
    _item.category_id             diffrn_standards
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_standards_interval_time'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               float
    _item_units.code              minutes
     save_

save__diffrn_standards.number
    _item_description.description
;              The number of unique standard reflections used in the diffraction
               measurements.
;
    _item.name                  '_diffrn_standards.number'
    _item.category_id             diffrn_standards
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_standards_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__diffrn_standards.scale_sigma
    _item_description.description
;              The standard uncertainty (e.s.d.) of the individual mean
               standard scales applied to the intensity data.
;
    _item.name                  '_diffrn_standards.scale_sigma'
    _item.category_id             diffrn_standards
    _item.mandatory_code          no
    _item_aliases.alias_name    '_diffrn_standards_scale_sigma'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

############
## ENTITY ##
############

save_ENTITY
    _category.description
;              Data items in the ENTITY category record details (such as
               chemical composition, name, and source) about the molecular
               entities that are present in the crystallographic structure.

               Items in the various ENTITY sub-categories provide a full
               chemical description of these molecular entities.

               Entities are of three types:  polymer, non-polymer and water.
               Note that the water category includes only water;  ordered
               solvent such as sulfate ion or acetone would be described as
               individual non-polymer entities.

               The ENTITY category is specific to macromolecular CIF
               applications, and replaces the function of the CHEMICAL category
               in the CIF core.

               It is important to remember that the ENTITY data are not the
               result of the crystallographic experiment;  those results are
               represented in the ATOM_SITE data items. ENTITY data items
               describe the chemistry of the molecules under investigation,
               and can most usefully be though of as the ideal groups to which
               the structure is restrained or constrained during refinement.

               It is also important to remember that entities do not correspond
               directly to the enumeration of the contents of the asymmetric
               unit. Entities are described only once, even in those structures
               that contain multiple observations of an entity. The
               STRUCT_ASYM data items, which reference the entity list,
               describe and label the contents of the asymmetric unit.
;
    _category.id                  entity
    _category.mandatory_code      no
    _category_key.name          '_entity.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity.id
    _entity.type
    _entity.formula_weight
    _entity.details
      1  polymer       10916
    ;                  The enzymatically competent form of HIV protease is a
                       dimer. This entity corresponds to one monomer of an
                       active dimer.
    ;
      2  non-polymer  'need number here'  '.'
      3  water         18  '.'

;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity.details
    _item_description.description
;              A description of special aspects of the entity.
;
    _item.name                  '_entity.details'
    _item.category_id             entity
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__entity.formula_weight
    _item_description.description
;              Formula mass in daltons of the entity.
;
    _item.name                  '_entity.formula_weight'
    _item.category_id             entity
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    1.0
                                  1.0   1.0
    _item_type.code               float
     save_

save__entity.id
    _item_description.description
;              The value of _entity.id must uniquely identify a record in the
               ENTITY list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_entity.id'                      entity               yes
               '_atom_site.label_entity_id'      atom_site            no
               '_entity_keywords.entity_id'      entity_keywords      yes
               '_entity_link.entity_id_1'        entity_link          yes
               '_entity_link.entity_id_2'        entity_link          yes
               '_entity_name_com.entity_id'      entity_name_com      yes
               '_entity_name_sys.entity_id'      entity_name_sys      yes
               '_entity_poly.entity_id'          entity_poly          yes
               '_entity_poly_seq.entity_id'      entity_poly_seq      yes
               '_entity_src_gen.entity_id'       entity_src_gen       yes
               '_entity_src_nat.entity_id'       entity_src_nat       yes
               '_struct_asym.entity_id'          struct_asym          yes
               '_struct_ref.entity_id'           struct_ref           yes
    _item_type.code               code
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_site.label_entity_id'      '_entity.id'
               '_entity_keywords.entity_id'      '_entity.id'
               '_entity_link.entity_id_1'        '_entity.id'
               '_entity_link.entity_id_2'        '_entity.id'
               '_entity_name_com.entity_id'      '_entity.id'
               '_entity_name_sys.entity_id'      '_entity.id'
               '_entity_poly.entity_id'          '_entity.id'
               '_entity_poly_seq.entity_id'      '_entity_poly.entity_id'
               '_entity_src_gen.entity_id'       '_entity.id'
               '_entity_src_nat.entity_id'       '_entity.id'
               '_struct_asym.entity_id'          '_entity.id'
               '_struct_ref.entity_id'           '_entity.id'

     save_

save__entity.src_method
    _item_description.description
;              The method by which the sample for the entity was produced.
               Entities isolated directly from natural sources (tissues, soil
               samples, etc.) are expected to have further information in the
               ENTITY_SRC_NAT category. Entities isolated from genetically
               manipulated sources are expected to have further information in
               the ENTITY_SRC_GEN category.
;
    _item.name                  '_entity.src_method'
    _item.category_id             entity
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      nat
;                                 entity isolated from a natural source
;
                                  man
;                                 entity isolated from a genetically
                                  manipulated source
;
     save_

save__entity.type
    _item_description.description
;              Defines the type of the entity.

               Polymer entities are expected to have corresponding 
               ENTITY_POLY and associated entries.
 
               Non-polymer entities are expected to have corresponding 
               CHEM_COMP and associated entries.

               Water entities are not expected to have corresponding
               entries in the ENTITY category.
;
    _item.name                  '_entity.type'
    _item.category_id             entity
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      polymer      'entity is a polymer'
                                  non-polymer  'entity is not a polymer'
                                  water        'water in the solvent model'
     save_

#####################
## ENTITY_KEYWORDS ##
#####################

save_ENTITY_KEYWORDS
    _category.description
;              Data items in the ENTITY_KEYWORDS category specify keywords
               relevant to the molecular entities. Note that this list of
               keywords is separate from the list that is used to keyword the
               STRUCT_BIOL data items, and is intended to provide only the
               information that one would know about the molecular entity *if
               one did not know its structure*. Hence polypeptides are simply
               polypeptides, and not cytokines or beta-alpha-barrels, and
               polyribonucleic acids are simply poly-RNA, and not transfer-
               RNA.
;
    _category.id                  entity_keywords
    _category.mandatory_code      no
     loop_
    _category_key.name          '_entity_keywords.entity_id'
                                '_entity_keywords.text'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_keywords.entity_id
    _entity_keywords.text
      1  'polypeptide'
      2  'natural product'
      2  'inhibitor'
      2  'reduced peptide'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_keywords.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_keywords.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_keywords.text
    _item_description.description
;              Keywords describing this entity.
;
    _item.name                  '_entity_keywords.text'
    _item.category_id             entity_keywords
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'polypeptide'
                                 'natural product'
                                 'polysaccharide'
     save_

#################
## ENTITY_LINK ##
#################

save_ENTITY_LINK
    _category.description
;              Data items in the ENTITY_LINK category give details about
               the linkages between entities.
;
    _category.id                  entity_link
    _category.mandatory_code      no
    _category_key.name          '_entity_link.link_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'chem_link_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on
;
;
    Need example 1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_link.link_id
    _item_description.description
;              This data item is a pointer to _chem_link.id in the 
               CHEM_LINK category.
;
    _item.name                  '_entity_link.link_id'
    _item.mandatory_code          yes
     save_

save__entity_link.details
    _item_description.description
;              A description of special aspects of a linkage between
               chemical components in the structure.
;
    _item.name                  '_entity_link.details'
    _item.category_id             entity_link
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__entity_link.entity_id_1
    _item_description.description
;              The entity id of the first of the two entities joined by the
               linkage. 

               This data item is a pointer to _entity.id in the ENTITY
               category.
;
    _item.name                  '_entity_link.entity_id_1'
    _item.mandatory_code          yes
     save_

save__entity_link.entity_id_2
    _item_description.description
;              The entity id of the second of the two entities joined by the
               linkage. 

               This data item is a pointer to _entity.id in the ENTITY
               category.
;
    _item.name                  '_entity_link.entity_id_2'
    _item.mandatory_code          yes
     save_

save__entity_link.entity_seq_num_1
    _item_description.description
;              For a polymer entity, the sequence number in the first of 
               the two entities containing the linkage. 

               This data item is a pointer to _entity_poly_seq.num in the 
               ENTITY_POLY_SEQ category.
;
    _item.name                  '_entity_link.entity_seq_num_1'
    _item.mandatory_code          no
     save_

save__entity_link.entity_seq_num_2
    _item_description.description
;              For a polymer entity, the sequence number in the second of 
               the two entities containing the linkage. 

               This data item is a pointer to _entity_poly_seq.num in the 
               ENTITY_POLY_SEQ category.
;
    _item.name                  '_entity_link.entity_seq_num_2'
    _item.mandatory_code          no
     save_

#####################
## ENTITY_NAME_COM ##
#####################

save_ENTITY_NAME_COM
    _category.description
;              Data items in the ENTITY_NAME_COM category record the common name
               or names associated with the entity. In some case, the entity
               name may not be the same as the name of the biological structure.
               For instance, hemoglobin alpha chain would be the entity common
               name, not hemoglobin.
;
    _category.id                  entity_name_com
    _category.mandatory_code      no
     loop_
    _category_key.name          '_entity_name_com.entity_id'
                                '_entity_name_com.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_name_com.entity_id
    _entity_name_com.name
     1  'HIV-1 protease monomer'
     1  'HIV-1 PR monomer'
     2  'acetyl-pepstatin'
     2  'acetyl-Ile-Val-Asp-Statine-Ala-Ile-Statine'
     3  'water'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_name_com.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_name_com.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_name_com.name
    _item_description.description
;              A common name for the entity.
;
    _item.name                  '_entity_name_com.name'
    _item.category_id             entity_name_com
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'HIV protease monomer'
                                 'hemoglobin alpha chain'
                                 '2-fluoro-1,4-dichloro benzene'
     save_

#####################
## ENTITY_NAME_SYS ##
#####################

save_ENTITY_NAME_SYS
    _category.description
;              Data items in the ENTITY_NAME_SYS category record the systematic
               name or names associated with the entity, and tell which system
               was is the source of the systematic name. In some case, the
               entity name may not be the same as the name of the biological
               structure. For instance, hemoglobin alpha chain would be the
               entity common name, not hemoglobin.
;
    _category.id                  entity_name_sys
    _category.mandatory_code      no
     loop_
    _category_key.name          '_entity_name_sys.entity_id'
                                '_entity_name_sys.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_name_sys.entity_id
    _entity_name_sys.name
      1   ECx.x.x.x
      2  'acetyl-Ile-Val-Asp-Sta-Ala-Ile-Sta'
      3  'H(2)0'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_name_sys.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_name_sys.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_name_sys.name
    _item_description.description
;              The systematic name for the entity.
;
    _item.name                  '_entity_name_sys.name'
    _item.category_id             entity_name_sys
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'x,x,pyranoside'
                                 'EC 2.1.1.1'
                                 '2-fluoro-1,4-dichloro benzene'
     save_

save__entity_name_sys.system
    _item_description.description
;              The system used to generate the systematic name of the entity.
;
    _item.name                  '_entity_name_sys.system'
    _item.category_id             entity_name_sys
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'chemical abstracts conventions'
                                 'enzyme convention'
                                 'Sigma catalog'
     save_

#################
## ENTITY_POLY ##
#################

save_ENTITY_POLY
    _category.description
;              Data items in the ENTITY_POLY category...
;
    _category.id                  entity_poly
    _category.mandatory_code      no
    _category_key.name          '_entity_poly.entity_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_poly.entity_id
    _entity_poly.type
    _entity_poly.nstd_chirality
    _entity_poly.nstd_linkage
    _entity_poly.nstd_monomer
    _entity_poly.type_details
     1  polypeptide(L)  no  no  no  .
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_poly.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_poly.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_poly.nstd_chirality
    _item_description.description
;              A flag to indicate whether or not the polymer contains at least
               one monomer unit with chirality different from that specified in
               _entity_poly.type.
;
    _item.name                  '_entity_poly.nstd_chirality'
    _item.category_id             entity_poly
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no
;                                 polymer contains no monomers with different
                                  chirality
;
                                  n
;                                 abbreviation for "no"
;
                                  yes
;                                 polymer contains at least one monomer with
                                  different chirality
;
                                  y
;                                 abbreviation for "yes"
;
     save_

save__entity_poly.nstd_linkage
    _item_description.description
;              A flag to indicate whether or not the polymer contains at least
               one monomer-to-monomer linkage different from that implied by
               _entity_poly.type.
;
    _item.name                  '_entity_poly.nstd_linkage'
    _item.category_id             entity_poly
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no
                                 'polymer contains no different linkages'
                                  n
                                 'abbreviation for "no"'
                                  yes
;                                 polymer contains at least one different
                                  linkage
;
                                  y
                                 'abbreviation for "yes"'
     save_

save__entity_poly.nstd_monomer
    _item_description.description
;              A flag to indicate whether or not the polymer contains at least
               one monomer that is not considered standard.
;
    _item.name                  '_entity_poly.nstd_monomer'
    _item.category_id             entity_poly
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no
                                 'polymer contains no non-standard monomers'
                                  n
                                 'abbreviation for "no"'
                                  yes
;                                 polymer contains at least one non-standard
                                  monomer
;
                                  y
                                 'abbreviation for "yes"'
     save_

save__entity_poly.number_of_monomers
    _item_description.description
;              The number of monomers in the polymer.
;
    _item.name                  '_entity_poly.number_of_monomers'
    _item.category_id             entity_poly
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__entity_poly.type
    _item_description.description
;              The type of the polymer.
;
    _item.name                  '_entity_poly.type'
    _item.category_id             entity_poly
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value      'polypeptide(D)'
                                 'polypeptide(L)'
                                 'polydeoxyribonucleotide'
                                 'polyribonucleotide'
                                 'polysaccharide(D)'
                                 'polysaccharide(L)'
                                 'other'
     save_

save__entity_poly.type_details
    _item_description.description
;              A description of special aspects of the polymer type.
;
    _item.name                  '_entity_poly.type_details'
    _item.category_id             entity_poly
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'monomer Ala 16 is a D-amino acid'
;                                 the oligomer contains alternating
                                  RNA and DNA units
;
     save_

#####################
## ENTITY_POLY_SEQ ##
#####################

save_ENTITY_POLY_SEQ
    _category.description
;              Data items in the ENTITY_POLY_SEQ category specify the sequence
               of monomers in a polymer. Allowance is made for the possibility
               of microheterogeneity in a sample by allowing a given sequence
               number to be correlated with more than one monomer id - the
               corresponding ATOM_SITE entries should reflect this
               heterogeneity.
;
    _category.id                  entity_poly_seq
    _category.mandatory_code      no
     loop_
    _category_key.name          '_entity_poly_seq.entity_id'
                                '_entity_poly_seq.num'
                                '_entity_poly_seq.mon_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_poly_seq.entity_id
    _entity_poly_seq.num
    _entity_poly_seq.mon_id
      1   1  PRO    1   2  GLN    1   3  ILE    1   4  THR    1   5  LEU
      1   6  TRP    1   7  GLN    1   8  ARG    1   9  PRO    1  10  LEU
      1  11  VAL    1  12  THR    1  13  ILE    1  14  LYS    1  15  ILE
      1  16  GLY    1  17  GLY    1  18  GLN    1  19  LEU    1  20  LYS
      1  21  GLU    1  22  ALA    1  23  LEU    1  24  LEU    1  25  ASP
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_poly_seq.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_poly_seq.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_poly_seq.hetero
    _item_description.description
;              A flag to indicate whether or not this monomer in the polymer is
               heterogeneous in sequence. This would be a rare phenomenon.
;
    _item.name                  '_entity_poly_seq.hetero'
    _item.category_id             entity_poly_seq
    _item.mandatory_code          no
    _item_default.value           no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no
                                 'sequence is not heterogeneous at this monomer'
                                  n
                                 'abbreviation for "no"'
                                  yes
                                 'sequence is heterogeneous at this monomer'
                                  y
                                 'abbreviation for "yes"'
     save_

save__entity_poly_seq.mon_id
    _item_description.description
;              This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_entity_poly_seq.mon_id'
    _item.mandatory_code          yes
     save_

save__entity_poly_seq.num
    _item_description.description
;              The value of _entity_poly_seq.num must uniquely and sequentially
               identify a record in the ENTITY_POLY_SEQ list.

               Note that this item must be a number, and that the sequence
               numbers must progress in increasing numerical order.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
       '_entity_poly_seq.num'                         entity_poly_seq     yes
       '_atom_site.label_seq_id'                      atom_site           no
       '_entity_link.entity_seq_num_1'                entity_link         no
       '_entity_link.entity_seq_num_2'                entity_link         no
       '_geom_angle.atom_site_label_seq_id_1'         geom_angle          no
       '_geom_angle.atom_site_label_seq_id_2'         geom_angle          no
       '_geom_angle.atom_site_label_seq_id_3'         geom_angle          no
       '_geom_bond.atom_site_label_seq_id_1'          geom_bond           no
       '_geom_bond.atom_site_label_seq_id_2'          geom_bond           no
       '_geom_contact.atom_site_label_seq_id_1'       geom_contact        no
       '_geom_contact.atom_site_label_seq_id_2'       geom_contact        no
       '_geom_hbond.atom_site_label_seq_id_A'         geom_hbond          no
       '_geom_hbond.atom_site_label_seq_id_D'         geom_hbond          no
       '_geom_hbond.atom_site_label_seq_id_H'         geom_hbond          no
       '_geom_torsion.atom_site_label_seq_id_1'       geom_torsion        no
       '_geom_torsion.atom_site_label_seq_id_2'       geom_torsion        no
       '_geom_torsion.atom_site_label_seq_id_3'       geom_torsion        no
       '_geom_torsion.atom_site_label_seq_id_4'       geom_torsion        no
       '_struct_conf.beg_label_seq_id'                struct_conf         yes
       '_struct_conf.end_label_seq_id'                struct_conf         yes
       '_struct_conn.ptnr1_label_seq_id'              struct_conn         yes
       '_struct_conn.ptnr2_label_seq_id'              struct_conn         yes
       '_struct_mon_nucl.label_seq_id'                struct_mon_nucl     yes
       '_struct_mon_prot.label_seq_id'                struct_mon_prot     yes
       '_struct_mon_prot_cis.label_seq_id'            struct_mon_prot_cis yes
       '_struct_ncs_dom_lim.beg_label_seq_id'         struct_ncs_dom_lim  yes
       '_struct_ncs_dom_lim.end_label_seq_id'         struct_ncs_dom_lim  yes
       '_struct_ref_seq.seq_align_beg'                struct_ref_seq      yes
       '_struct_ref_seq.seq_align_end'                struct_ref_seq      yes
       '_struct_ref_seq_dif.seq_num'                  struct_ref_seq_dif  yes
       '_struct_sheet_hbond.range_1_beg_label_seq_id' struct_sheet_hbond  yes
       '_struct_sheet_hbond.range_1_end_label_seq_id' struct_sheet_hbond  yes
       '_struct_sheet_hbond.range_2_beg_label_seq_id' struct_sheet_hbond  yes
       '_struct_sheet_hbond.range_2_end_label_seq_id' struct_sheet_hbond  yes
       '_struct_sheet_range.beg_label_seq_id'         struct_sheet_range  yes
       '_struct_sheet_range.end_label_seq_id'         struct_sheet_range  yes
       '_struct_site_gen.label_seq_id'                struct_site_gen     yes

     loop_
    _item_linked.child_name
    _item_linked.parent_name
       '_atom_site.label_seq_id'                      '_entity_poly_seq.num'
       '_entity_link.entity_seq_num_1'                '_entity_poly_seq.num'
       '_entity_link.entity_seq_num_2'                '_entity_poly_seq.num'
       '_geom_angle.atom_site_label_seq_id_1'         '_atom_site.label_seq_id'
       '_geom_angle.atom_site_label_seq_id_2'         '_atom_site.label_seq_id'
       '_geom_angle.atom_site_label_seq_id_3'         '_atom_site.label_seq_id'
       '_geom_bond.atom_site_label_seq_id_1'          '_atom_site.label_seq_id'
       '_geom_bond.atom_site_label_seq_id_2'          '_atom_site.label_seq_id'
       '_geom_contact.atom_site_label_seq_id_1'       '_atom_site.label_seq_id'
       '_geom_contact.atom_site_label_seq_id_2'       '_atom_site.label_seq_id'
       '_geom_hbond.atom_site_label_seq_id_A'         '_atom_site.label_seq_id'
       '_geom_hbond.atom_site_label_seq_id_D'         '_atom_site.label_seq_id'
       '_geom_hbond.atom_site_label_seq_id_H'         '_atom_site.label_seq_id'
       '_geom_torsion.atom_site_label_seq_id_1'       '_atom_site.label_seq_id'
       '_geom_torsion.atom_site_label_seq_id_2'       '_atom_site.label_seq_id'
       '_geom_torsion.atom_site_label_seq_id_3'       '_atom_site.label_seq_id'
       '_geom_torsion.atom_site_label_seq_id_4'       '_atom_site.label_seq_id'
       '_struct_conf.beg_label_seq_id'                '_atom_site.label_seq_id'
       '_struct_conf.end_label_seq_id'                '_atom_site.label_seq_id'
       '_struct_conn.ptnr1_label_seq_id'              '_atom_site.label_seq_id'
       '_struct_conn.ptnr2_label_seq_id'              '_atom_site.label_seq_id'
       '_struct_mon_nucl.label_seq_id'                '_atom_site.label_seq_id'
       '_struct_mon_prot.label_seq_id'                '_atom_site.label_seq_id'
       '_struct_mon_prot_cis.label_seq_id'            '_atom_site.label_seq_id'
       '_struct_ncs_dom_lim.beg_label_seq_id'         '_atom_site.label_seq_id'
       '_struct_ncs_dom_lim.end_label_seq_id'         '_atom_site.label_seq_id'
       '_struct_ref_seq.seq_align_beg'                '_entity_poly_seq.num' 
       '_struct_ref_seq.seq_align_end'                '_entity_poly_seq.num' 
       '_struct_ref_seq_dif.seq_num'                  '_entity_poly_seq.num'
       '_struct_sheet_hbond.range_1_beg_label_seq_id' '_atom_site.label_seq_id'
       '_struct_sheet_hbond.range_1_end_label_seq_id' '_atom_site.label_seq_id'
       '_struct_sheet_hbond.range_2_beg_label_seq_id' '_atom_site.label_seq_id'
       '_struct_sheet_hbond.range_2_end_label_seq_id' '_atom_site.label_seq_id'
       '_struct_sheet_range.beg_label_seq_id'         '_atom_site.label_seq_id'
       '_struct_sheet_range.end_label_seq_id'         '_atom_site.label_seq_id'
       '_struct_site_gen.label_seq_id'                '_atom_site.label_seq_id'

     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

####################
## ENTITY_SRC_GEN ##
####################

save_ENTITY_SRC_GEN
    _category.description
;              Data items in the ENTITY_SRC_GEN category records details of
               the source from which the entity was obtained, in those cases
               where the source was a genetically manipulated one.  The
               following are treated separately:  Items pertaining to the tissue
               from which the gene was obtained, items pertaining to the host
               organism for gene expression and items pertaining to the actual
               producting organism (plasmid).
;
    _category.id                  entity_src_gen
    _category.mandatory_code      no
    _category_key.name          '_entity_src_gen.entity_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_src_gen.entity_id
    _entity_src_gen.gene_src_common_name
    _entity_src_gen.gene_src_genus
    _entity_src_gen.gene_src_species
    _entity_src_gen.gene_src_strain
    _entity_src_gen.host_org_common_name
    _entity_src_gen.host_org_genus
    _entity_src_gen.host_org_species
    _entity_src_gen.plasmid_name
     1  'HIV-1'  '?'  '?'  'NY-5'
        'bacteria'  'Escherichia'  'coli'  'pB322'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_src_gen.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_src_gen.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_src_gen.gene_src_common_name
    _item_description.description
;              The common name of the natural organism from which the gene was
               obtained.
;
    _item.name                  '_entity_src_gen.gene_src_common_name'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'man'
                                 'yeast'
                                 'bacteria'
     save_

save__entity_src_gen.gene_src_details
    _item_description.description
;              A description of special aspects of the natural organism from
               which the gene was obtained.
;
    _item.name                  '_entity_src_gen.gene_src_details'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__entity_src_gen.gene_src_genus
    _item_description.description
;              The genus of the natural organism from which the gene was
               obtained.
;
    _item.name                  '_entity_src_gen.gene_src_genus'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'Homo'
                                 'Saccharomyces'
                                 'Escherichia'
     save_

save__entity_src_gen.gene_src_species
    _item_description.description
;              The species of the natural organism from which the gene was
               obtained.
;
    _item.name                  '_entity_src_gen.gene_src_species'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'sapiens'
                                 'cerevisiae'
                                 'coli'
     save_

save__entity_src_gen.gene_src_strain
    _item_description.description
;              The strain of the natural organism from which the gene was
               obtained, if relevant.
;
    _item.name                  '_entity_src_gen.gene_src_strain'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'DH5a'
                                 'BMH 71-18'
     save_

save__entity_src_gen.gene_src_tissue
    _item_description.description
;              The tissue of the natural organism from which the gene was
               obtained.
;
    _item.name                  '_entity_src_gen.gene_src_tissue'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'heart'
                                 'liver'
                                 'eye lens'
     save_

save__entity_src_gen.gene_src_tissue_fraction
    _item_description.description
;              The sub-cellular fraction of the tissue of the natural organism
               from which the gene was obtained.
;
    _item.name                  '_entity_src_gen.gene_src_tissue_fraction'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'mitochondria'
                                 'nucleus'
                                 'membrane'
     save_

save__entity_src_gen.host_org_common_name
    _item_description.description
;              The common name of the organism that served as host for the
               production of the entity.
;
    _item.name                  '_entity_src_gen.host_org_common_name'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'yeast'
                                 'bacteria'
     save_

save__entity_src_gen.host_org_details
    _item_description.description
;              A description of special aspects of the organism that served as
               host for the production of the entity.
;
    _item.name                  '_entity_src_gen.host_org_details'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__entity_src_gen.host_org_genus
    _item_description.description
;              The genus of the organism that served as host for the production
               of the entity.
;
    _item.name                  '_entity_src_gen.host_org_genus'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'Saccharomyces'
                                 'Escherichia'
     save_

save__entity_src_gen.host_org_species
    _item_description.description
;              The species of the organism that served as host for the
               production of the entity.
;
    _item.name                  '_entity_src_gen.host_org_species'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'cerevisiae'
                                 'coli'
     save_

save__entity_src_gen.host_org_strain
    _item_description.description
;              The strain of the organism that served as host for the
               production of the entity.
;
    _item.name                  '_entity_src_gen.host_org_strain'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'DH5a'
                                 'BMH 71-18'
     save_

save__entity_src_gen.plasmid_details
    _item_description.description
;              A description of special aspects of the plasmid that produced the
               entity in the host organism.
;
    _item.name                  '_entity_src_gen.plasmid_details'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__entity_src_gen.plasmid_name
    _item_description.description
;              The name of the plasmid that produced the entity in the host
               organism.
;
    _item.name                  '_entity_src_gen.plasmid_name'
    _item.category_id             entity_src_gen
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'pET3C'
                                 'pT123sab'
     save_

####################
## ENTITY_SRC_NAT ##
####################

save_ENTITY_SRC_NAT
    _category.description
;              Data items in the ENTITY_SRC_NAT category records details of
               the source from which the entity was obtained, in those cases
               where the entity was isolated directly from a natural tissue.
;
    _category.id                  entity_src_nat
    _category.mandatory_code      no
    _category_key.name          '_entity_src_nat.entity_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entity_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _entity_src_nat.entity_id
    _entity_src_nat.common_name
    _entity_src_nat.genus
    _entity_src_nat.species
    _entity_src_nat.details
     2  'bacteria'  'Actinomycetes' '?'
    ;    Acetyl-pepstatin was isolated by Dr. K. Oda, Osaka Prefecture
         University, and provided to us by Dr. Ben Dunn, University of Florida,
         and Dr. J. Kay, University of Wales.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entity_src_nat.common_name
    _item_description.description
;              The genus of the organism from which the entity was isolated.
;
    _item.name                  '_entity_src_nat.common_name'
    _item.category_id             entity_src_nat
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'man'
                                 'yeast'
                                 'bacteria'
     save_

save__entity_src_nat.details
    _item_description.description
;              A description of special aspects of the organism from which the
               entity was isolated.
;
    _item.name                  '_entity_src_nat.details'
    _item.category_id             entity_src_nat
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__entity_src_nat.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_entity_src_nat.entity_id'
    _item.mandatory_code          yes
     save_

save__entity_src_nat.genus
    _item_description.description
;              The genus of the organism from which the entity was isolated.
;
    _item.name                  '_entity_src_nat.genus'
    _item.category_id             entity_src_nat
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'Homo'
                                 'Saccharomyces'
                                 'Escherichia'
     save_

save__entity_src_nat.species
    _item_description.description
;              The species of the organism from which the entity was isolated.
;
    _item.name                  '_entity_src_nat.species'
    _item.category_id             entity_src_nat
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'sapiens'
                                 'cerevisiae'
                                 'coli'
     save_

save__entity_src_nat.strain
    _item_description.description
;              The strain of the organism from which the entity was isolated.
;
    _item.name                  '_entity_src_nat.strain'
    _item.category_id             entity_src_nat
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'DH5a'
                                 'BMH 71-18'
     save_

save__entity_src_nat.tissue
    _item_description.description
;              The tissue of the organism from which the entity was isolated.
;
    _item.name                  '_entity_src_nat.tissue'
    _item.category_id             entity_src_nat
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'heart'
                                 'liver'
                                 'eye lens'
     save_

save__entity_src_nat.tissue_fraction
    _item_description.description
;              The sub-cellular fraction of the tissue of the organism from
               which the entity was isolated.
;
    _item.name                  '_entity_src_nat.tissue_fraction'
    _item.category_id             entity_src_nat
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'mitochondria'
                                 'nucleus'
                                 'membrane'
     save_

###########
## ENTRY ##
###########

save_ENTRY
    _category.description
;              There is only one item in the ENTRY category, _entry.id. This
               data item gives a name to this entry, and is indirectly a key to
               the categories (such as CELL, GEOM, EXPTL) that describe
               information pertinent to the entire data block.
;
    _category.id                  entry
    _category.mandatory_code      no
    _category_key.name          '_entry.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entry_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _entry.id                              '5HVP'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _entry.id                              'TOZ'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entry.id
    _item_description.description
;              The value of _entry.id identifies the data block.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_entry.id'                       entry                 yes
               '_atom_sites.entry_id'            atom_sites            yes
               '_cell.entry_id'                  cell                  yes
               '_cell_measurement.entry_id'      cell_measurement      yes
               '_chemical.entry_id'              chemical              yes
               '_chemical_formula.entry_id'      chemical_formula      yes
               '_computing.entry_id'             computing             yes
               '_database.entry_id'              database              yes
               '_database_PDB_matrix.entry_id'   database_PDB_matrix   yes
               '_entry_link.entry_id'            entry_link            yes
               '_exptl.entry_id'                 exptl                 yes
               '_geom.entry_id'                  geom                  yes
               '_journal.entry_id'               journal               yes
               '_phasing_averaging.entry_id'     phasing_averaging     yes
               '_phasing_isomorphous.entry_id'   phasing_isomorphous   yes
               '_phasing_MAD.entry_id'           phasing_MAD           yes
               '_phasing_MIR.entry_id'           phasing_MIR           yes
               '_publ.entry_id'                  publ                  yes
               '_publ_manuscript_incl.entry_id'  publ_manuscript_incl  yes
               '_refine.entry_id'                refine                yes
               '_reflns.entry_id'                reflns                yes
               '_struct.entry_id'                struct                yes
               '_struct_keywords.entry_id'       struct_keywords       yes
               '_struct_mon_details.entry_id'    struct_mon_details    yes
               '_symmetry.entry_id'              symmetry              yes
    _item_aliases.alias_name    '_audit_block_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_atom_sites.entry_id'            '_entry.id'
               '_cell.entry_id'                  '_entry.id'
               '_cell_measurement.entry_id'      '_entry.id'
               '_chemical.entry_id'              '_entry.id'
               '_chemical_formula.entry_id'      '_entry.id'
               '_computing.entry_id'             '_entry.id'
               '_database.entry_id'              '_entry.id'
               '_database_PDB_matrix.entry_id'   '_entry.id'
               '_entry_link.entry_id'            '_entry.id'
               '_exptl.entry_id'                 '_entry.id'
               '_geom.entry_id'                  '_entry.id'
               '_journal.entry_id'               '_entry.id'
               '_phasing_averaging.entry_id'     '_entry.id'
               '_phasing_isomorphous.entry_id'   '_entry.id'
               '_phasing_MAD.entry_id'           '_entry.id'
               '_phasing_MIR.entry_id'           '_entry.id'
               '_publ.entry_id'                  '_entry.id'
               '_publ_manuscript_incl.entry_id'  '_entry.id'
               '_refine.entry_id'                '_entry.id'
               '_reflns.entry_id'                '_entry.id'
               '_struct.entry_id'                '_entry.id'
               '_struct_keywords.entry_id'       '_entry.id'
               '_struct_mon_details.entry_id'    '_entry.id'
               '_symmetry.entry_id'              '_entry.id'
    _item_type.code               code
     save_

save_ENTRY_LINK
    _category.description
;              Data items in the ENTRY_LINK category record the 
               relationships between the current data block
               identified by _entry.id and other data blocks
               within the current file which may be referenced
               in the current data block.
;
    _category.id                  entry_link
    _category.mandatory_code      no
     loop_
    _category_key.name          '_entry_link.id'
                                '_entry_link.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'entry_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - example file for the one-dimensional incommensurately
                modulated structure of K~2~SeO~4~.
;
;
     loop_
    _entry_link.id
    _entry_link.entry_id
    _entry_link.details
     KSE_COM  KSE_TEXT  'experimental data common to ref./mod. structures'
     KSE_REF  KSE_TEXT  'reference structure'
     KSE_MOD  KSE_TEXT  'modulated structure'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__entry_link.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_entry_link.entry_id'
    _item.mandatory_code          yes
     save_

save__entry_link.id
    _item_description.description
;              The value of _entry_link.id identifies a data block
               related to the data block identified by _entry_link.id.  
;
    _item.name                  '_entry_link.id'
    _item.category_id             entry_link
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_audit_link_block_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     save_

save__entry_link.details
    _item_description.description
;              The description of the relationship between the data blocks
               identified _entry_link.id and _entry_link.entry_id.
;
    _item.name                  '_entry_link.details'
    _item.category_id             entry_link
    _item.mandatory_code          no
    _item_aliases.alias_name    '_audit_link_block_description'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

###########
## EXPTL ##
###########

save_EXPTL
    _category.description
;              Data items in the EXPTL category record details about the
               growth of the crystal, and about experimental measurements on
               the crystal, such as shape, size, density, and so on.
;
    _category.id                  exptl
    _category.mandatory_code      no
    _category_key.name          '_exptl.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'exptl_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for Yb(S-C5H4N)2 (THF)4  
;
;
    _exptl.entry_id                    datablock1
    _exptl.absorpt_coefficient_mu      1.22
    _exptl.absorpt_correction_T_max    0.896
    _exptl.absorpt_correction_T_min    0.802
    _exptl.absorpt_correction_type     integration      
    _exptl.absorpt_process_details     
    ;
     Gaussian grid method from SHELX76
     Sheldrick, G. M., "SHELX-76: structure determination and 
     refinement program", Cambridge University, UK, 1976
    ;
    _exptl.crystals_number             1
    _exptl.details                
    ;
     Enraf-Nonius LT2 liquid nitrogen variable-temperature device used
    ;
    _exptl.method                 'single-crystal x-ray diffraction'
    _exptl.method_details              
    ;
     graphite monochromatized Cu K(alpha) fixed tube and 
     Enraf-Nonius CAD4 diffractometer used
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__exptl.absorpt_coefficient_mu
    _item_description.description
;              The absorption coefficient mu in reciprocal millimetres
               calculated from the atomic content of the cell, the density and
               the radiation wavelength.
;
    _item.name                  '_exptl.absorpt_coefficient_mu'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_absorpt_coefficient_mu'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              reciprocal_millimetres
     save_

save__exptl.absorpt_correction_T_max
    _item_description.description
;              The maximum transmission factors for the crystal and radiation.
               These factors are also referred to as the absorption correction
               A or 1/A*.
;
    _item.name                  '_exptl.absorpt_correction_T_max'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_absorpt_correction_T_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__exptl.absorpt_correction_T_min
    _item_description.description
;              The minimum transmission factors for the crystal and radiation.
               These factors are also referred to as the absorption correction
               A or 1/A*.
;
    _item.name                  '_exptl.absorpt_correction_T_min'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_absorpt_correction_T_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__exptl.absorpt_correction_type
    _item_description.description
;              The absorption correction type and method. The value
               'empirical' should NOT be used unless no more detailed
               information is available.
;
    _item.name                  '_exptl.absorpt_correction_type'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_absorpt_correction_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      analytical   'analytical from crystal shape'
                                  cylinder     'cylindrical'
                                  empirical    'empirical from intensities'
                                  gaussian     'Gaussian from crystal shape'
                                  integration  'integration from crystal shape'
                                  multi-scan   'symmetry-related measurements'
                                  none         'no correction applied'
                                  numerical    'numerical from crystal shape'
                                  psi-scan     'psi-scan corrections'
                                  refdelf      'refined from delta-F'
                                  sphere       'spherical'
     save_

save__exptl.absorpt_process_details
    _item_description.description
;              Description of the absorption process applied to the
               intensities. A literature reference should be supplied for
               psi-scan techniques.
;
    _item.name                  '_exptl.absorpt_process_details'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_absorpt_process_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'Tompa analytical'
     save_

save__exptl.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_exptl.entry_id'
    _item.mandatory_code          yes
     save_

save__exptl.crystals_number
    _item_description.description
;              The total number of crystals used in the  measurement of
               intensities.
;
    _item.name                  '_exptl.crystals_number'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystals_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

save__exptl.details
    _item_description.description
;              Any special information about the experimental work prior to the
               intensity measurement. See also _exptl_crystal.preparation.
;
    _item.name                  '_exptl.details'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_
 
save__exptl.method
    _item_description.description
;              The method used in the experiment.
;
    _item.name                  '_exptl.method'
    _item.category_id             exptl
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_enumeration.value      'single-crystal x-ray diffraction'
                                 'single-crystal neutron diffraction'
                                 'single-cyrstal electron diffraction'
                                 'fiber x-ray diffraction'
                                 'fiber neutron diffraction'
                                 'fiber electron diffraction'
;                                 single-crystal joint x-ray and neutron
                                  diffraction
;
;                                 single-crystal joint x-ray and electron
                                  diffraction
;
                                 'solution nmr'
                                 'solid-state nmr'
                                 'theoretical model'
     save_

save__exptl.method_details
    _item_description.description
;              A description of special aspects of the experimental method.
;
    _item.name                  '_exptl.method_details'
    _item.category_id             exptl
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          '29 structures'
                                 'minimized average structure'
     save_

###################
## EXPTL_CRYSTAL ##
###################

save_EXPTL_CRYSTAL
    _category.description
;              Data items in the EXPTL_CRYSTAL category record details about
               experimental measurements on the crystal or crystals used,
               such as shape, size, density, and so on.
;
    _category.id                  exptl_crystal
    _category.mandatory_code      no
    _category_key.name          '_exptl_crystal.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'exptl_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for Yb(S-C5H4N)2 (THF)4  
;
;
    _exptl_crystal.id                  xst2l
    _exptl_crystal.colour              'pale yellow'
    _exptl_crystal.density_diffrn      1.113
    _exptl_crystal.density_Matthews    1.01 
    _exptl_crystal.density_meas        1.11
    _exptl_crystal.density_meas_temp   294.5
    _exptl_crystal.density_method      'neutral bouyancy'
    _exptl_crystal.density_percent_sol 0.15   # p = 1 - (1.23*N*MMass) / V
    _exptl_crystal.description         'hexagonal rod, uncut'
    _exptl_crystal.F_000               202
    _exptl_crystal.preparation         
    ;
     hanging drop, crystal soaked in 10% ethylene glycol for 10 hr, then
     placed in nylon loop at data collection time
    ;
    _exptl_crystal.size_max            0.30          
    _exptl_crystal.size_mid            0.20
    _exptl_crystal.size_min            0.05
    _exptl_crystal.size_rad            0.025
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__exptl_crystal.colour
    _item_description.description
;              The colour of the crystal.
;
    _item.name                  '_exptl_crystal.colour'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_colour'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case          'Dark green'
     save_

save__exptl_crystal.density_diffrn
    _item_description.description
;              Density values calculated from crystal cell and contents. The
               units are megagrams per cubic metre (grams per cubic centimetre).
;
    _item.name                  '_exptl_crystal.density_diffrn'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_density_diffrn'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__exptl_crystal.density_Matthews
    _item_description.description
;              The density of the crystal, expressed as the ratio of the
               volume of the asymmetric unit to the molecular mass of a
               monomer of the structure, in units of angstroms^3^ per dalton.

               Ref: Matthews, B. W. (1960). J. Mol. Biol., 33, 491-???.
;
    _item.name                  '_exptl_crystal.density_Matthews'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__exptl_crystal.density_meas
    _item_description.description
;              Density values measured using standard chemical and physical
               methods. The units are megagrams per cubic metre (grams per
               cubic centimetre).
;
    _item.name                  '_exptl_crystal.density_meas'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_density_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
                                  
    _item_type.code               float
     save_

save__exptl_crystal.density_meas_temp
    _item_description.description
;              The temperature in kelvins at which _exptl_crystal.density_meas
               was determined.
;
    _item.name                  '_exptl_crystal.density_meas_temp'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_density_meas_temp'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              kelvins
     save_

save__exptl_crystal.density_method
    _item_description.description
;              The method used to measure _exptl_crystal.density_meas.
;
    _item.name                  '_exptl_crystal.density_method'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_density_method'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__exptl_crystal.density_percent_sol
    _item_description.description
;              Density value P calculated from crystal cell and contents,
               expressed as percent solvent.

               P = 1 - (1.23 N MMass) / V

               N     = the number of molecules in the unit cell
               MMass = the molecular mass of each molecule (gm/mole)
               V     = the volume of the unit cell (A^3^)
               1.23  = the evaluated conversion factor:

                       (0.74 cm^3^/gm^3^) (10^24^ A^3^/cm^3^)
                       --------------------------------------
                            (6.02*10^23^) moles/molecule

                       where 0.74 is an assumed value for the partial specific
                       volume of the molecule
;
    _item.name                  '_exptl_crystal.density_percent_sol'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
     loop_ 
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__exptl_crystal.description
    _item_description.description
;              A description of the quality and habit of the crystal.
               Dimensional data are better placed in the data items in the
               EXPTL_CRYSTAL_FACE category.
;
    _item.name                  '_exptl_crystal.description'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_description'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__exptl_crystal.F_000
    _item_description.description
;              The effective number of electrons in the crystal unit cell
               contributing to F(000). It may contain dispersion contributions,
               and is calculated as

               F(000) = [ sum (f~r~^2^ + f~i~^2^) ]^1/2^

               f~r~ = real part of the scattering factors at theta = 0
               f~i~ = imaginary part of the scattering factors at theta = 0
;
    _item.name                  '_exptl_crystal.F_000'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_F_000'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

save__exptl_crystal.id
    _item_description.description
;              The value of _exptl_crystal.id must uniquely identify a record in
               the EXPTL_CRYSTAL list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
          '_exptl_crystal.id'                    exptl_crystal            yes
          '_exptl_crystal_face.crystal_id'       exptl_crystal_face       yes
          '_exptl_crystal_grow.crystal_id'       exptl_crystal_grow       yes
          '_exptl_crystal_grow_comp.crystal_id'  exptl_crystal_grow_comp  yes
          '_diffrn.crystal_id'                   diffrn                   yes
          '_refln.crystal_id'                    refln                    yes
    _item_aliases.alias_name    '_exptl_crystal_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
          '_diffrn.crystal_id'                   '_exptl_crystal.id'
          '_exptl_crystal_grow.crystal_id'       '_exptl_crystal.id'
          '_exptl_crystal_face.crystal_id'       '_exptl_crystal.id'
          '_exptl_crystal_grow_comp.crystal_id'  '_exptl_crystal.id'
          '_refln.crystal_id'                    '_exptl_crystal.id'
    _item_type.code               code
     save_

save__exptl_crystal.preparation
    _item_description.description
;              Details of crystal growth and preparation of the crystal (e.g.
               mounting) prior to the intensity measurements.
;
    _item.name                  '_exptl_crystal.preparation'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_preparation'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'mounted in an argon-filled quartz capillary'
     save_

save__exptl_crystal.size_max
    _item_description.description
;              The maximum dimension of the crystal. This item may appear in a
               list with _exptl_crystal.id if multiple crystals used in the
               experiment.
;
    _item.name                  '_exptl_crystal.size_max'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_size_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              millimetres
     save_

save__exptl_crystal.size_mid
    _item_description.description
;              The medial dimension of the crystal. This item may appear in a
               list with _exptl_crystal.id if multiple crystals used in the
               experiment.
;
    _item.name                  '_exptl_crystal.size_mid'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_size_mid'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              millimetres
     save_

save__exptl_crystal.size_min
    _item_description.description
;              The minimum dimension of the crystal. This item may appear in a
               list with _exptl_crystal.id if multiple crystals used in the
               experiment.
;
    _item.name                  '_exptl_crystal.size_min'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_size_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              millimetres
     save_

save__exptl_crystal.size_rad
    _item_description.description
;              The radius of the crystal. If the crystal is a sphere or a
               cylinder. This item may appear in a list with _exptl_crystal.id
               if multiple crystals used in the experiment.
;
    _item.name                  '_exptl_crystal.size_rad'
    _item.category_id             exptl_crystal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_size_rad'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              millimetres
     save_

########################
## EXPTL_CRYSTAL_FACE ##
########################

save_EXPTL_CRYSTAL_FACE
    _category.description
;              Data items in the EXPTL_CRYSTAL_FACE category record details
               of the crystal faces.
;
    _category.id                  exptl_crystal_face
    _category.mandatory_code      no
     loop_
    _category_key.name          '_exptl_crystal_face.crystal_id'
                                '_exptl_crystal_face.index_h'
                                '_exptl_crystal_face.index_k'
                                '_exptl_crystal_face.index_l'
     loop_
    _category_group.id           'inclusive_group'
                                 'exptl_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for Yb(S-C5H4N)2 (THF)4
                for the 100 face of crystal, xstl1.
;
;
    _exptl_crystal_face.crystal_id     xstl1
    _exptl_crystal_face.index_h        1
    _exptl_crystal_face.index_k        0
    _exptl_crystal_face.index_l        0
    _exptl_crystal_face.diffr_chi      42.56
    _exptl_crystal_face.diffr_kappa    30.23
    _exptl_crystal_face.diffr_phi      -125.56
    _exptl_crystal_face.diffr_psi      -0.34
    _exptl_crystal_face.perp_dist      0.025  
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__exptl_crystal_face.crystal_id
    _item_description.description
;              This data item is a pointer to _exptl_crystal.id in the
               EXPTL_CRYSTAL category.
;
    _item.name                  '_exptl_crystal_face.crystal_id'
    _item.mandatory_code          yes
     save_

save__exptl_crystal_face.diffr_chi
    _item_description.description
;              The chi diffractometer setting angle in degrees for a specific
               crystal face associated with _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.diffr_chi'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_face_diffr_chi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__exptl_crystal_face.diffr_kappa
    _item_description.description
;              The kappa diffractometer setting angle in degrees for a specific
               crystal face associated with _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.diffr_kappa'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_face_diffr_kappa'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__exptl_crystal_face.diffr_phi
    _item_description.description
;              The phi diffractometer setting angle in degrees for a specific
               crystal face associated with _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.diffr_phi'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_face_diffr_phi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__exptl_crystal_face.diffr_psi
    _item_description.description
;              The psi diffractometer setting angle in degrees for a specific
               crystal face associated with _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.diffr_psi'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          no
    _item_aliases.alias_name    '_exptl_crystal_face_diffr_psi'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__exptl_crystal_face.index_h
    _item_description.description
;              Miller index h of the crystal face associated with the value
               _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.index_h'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_exptl_crystal_face_index_h'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_exptl_crystal_face.index_k'
                                '_exptl_crystal_face.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__exptl_crystal_face.index_k
    _item_description.description
;              Miller index k of the crystal face associated with the value
               _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.index_k'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_exptl_crystal_face_index_k'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_exptl_crystal_face.index_h'
                                '_exptl_crystal_face.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__exptl_crystal_face.index_l
    _item_description.description
;              Miller index l of the crystal face associated with the value
               _exptl_crystal_face.perp_dist.
;
    _item.name                  '_exptl_crystal_face.index_l'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_exptl_crystal_face_index_l'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_exptl_crystal_face.index_h'
                                '_exptl_crystal_face.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__exptl_crystal_face.perp_dist
    _item_description.description
;              The perpendicular distance in millimetres of the face to the
               centre of rotation of the crystal.
;
    _item.name                  '_exptl_crystal_face.perp_dist'
    _item.category_id             exptl_crystal_face
    _item.mandatory_code          no 
    _item_aliases.alias_name    '_exptl_crystal_face_perp_dist'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_ 
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float 
    _item_units.code              millimetres
     save_

########################
## EXPTL_CRYSTAL_GROW ##
########################

save_EXPTL_CRYSTAL_GROW
    _category.description
;              Data items in the EXPTL_CRYSTAL_GROW category record details
               about the conditions and methods used to grow the crystal.
;
    _category.id                  exptl_crystal_grow
    _category.mandatory_code      no
    _category_key.name          '_exptl_crystal_grow.crystal_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'exptl_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _exptl_crystal_grow.crystal_id      1
    _exptl_crystal_grow.method          'hanging drop'
    _exptl_crystal_grow.apparatus       'Linbro plates'
    _exptl_crystal_grow.atmosphere      'room air'
    _exptl_crystal_grow.pH              4.7
    _exptl_crystal_grow.temp            18(3)
    _exptl_crystal_grow.time            'approximately 2 days'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__exptl_crystal_grow.apparatus
    _item_description.description
;              The physical apparatus in which the crystal was grown.
;
    _item.name                  '_exptl_crystal_grow.apparatus'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'Linbro plate'
                                 'sandwich box'
                                 'ACA plates'
     save_

save__exptl_crystal_grow.atmosphere
    _item_description.description
;              The nature of the gas or gas mixture in which the crystal was
               grown.
;
    _item.name                  '_exptl_crystal_grow.atmosphere'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'room air'
                                 'nitrogen'
                                 'argon'
     save_

save__exptl_crystal_grow.crystal_id
    _item_description.description
;              This data item is a pointer to _exptl_crystal.id in the
               EXPTL_CRYSTAL category.
;
    _item.name                  '_exptl_crystal_grow.crystal_id'
    _item.mandatory_code          yes
     save_

save__exptl_crystal_grow.details
    _item_description.description
;              A description of special aspects of the crystal growth.
;
    _item.name                  '_exptl_crystal_grow.details'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case
;                                 Solution 2 was prepared as a well solution and
                                  mixed. A droplet containing 2 \ml of solution
                                  1 was delivered onto a cover slip; 2 \ml of
                                  solution 2 was added to the droplet without
                                  mixing.
;
;                                 Crystal plates were originally stored at room
                                  temperature for 1 week but no nucleation
                                  occurred. They were then transferred to 4
                                  degrees C, at which temperature well formed
                                  single crystals grew in 2 days.
;
;                                 The dependence on pH for successful crystal
                                  growth is very sharp. At pH 7.4 only showers
                                  of tiny crystals grew, at pH 7.5 well formed
                                  single crystals grew, at pH 7.6 no
                                  crystallization occurred at all.
;
     save_

save__exptl_crystal_grow.method
    _item_description.description
;              The method used to grow the crystals.
;
    _item.name                  '_exptl_crystal_grow.method'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'batch precipitation'
                                 'batch dialysis'
                                 'hanging drop vapor diffusion'
                                 'sitting drop vapor diffusion'
     save_

save__exptl_crystal_grow.method_ref
    _item_description.description
;              A literature reference that describes the method used to grow
               the crystals.
;
    _item.name                  '_exptl_crystal_grow.method_ref'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'McPherson et al., 1988'
     save_

save__exptl_crystal_grow.pH
    _item_description.description
;              The pH at which the crystal was grown. If more than one pH was
               employed during the crystallization process, the final pH should
               be noted here and the protocol involving multiple pH values
               should be described in _exptl_crystal_grow.details.
;
    _item.name                  '_exptl_crystal_grow.pH'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     loop_
    _item_examples.case           7.4
                                  7.6
                                  4.3
     save_

save__exptl_crystal_grow.pressure
    _item_description.description
;              The ambient pressure in kilopascals at which the crystal was
               grown.
;
    _item.name                  '_exptl_crystal_grow.pressure'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_exptl_crystal_grow.pressure_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              kilopascals
     save_

save__exptl_crystal_grow.pressure_esd
    _item_description.description
;              The estimated standard deviation of _exptl_crystal_grow.pressure.
;
    _item.name                  '_exptl_crystal_grow.pressure_esd'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_exptl_crystal_grow.pressure'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              kilopascals
     save_

save__exptl_crystal_grow.seeding
    _item_description.description
;              A description of the protocol used for seeding the crystal
               growth.
;
    _item.name                  '_exptl_crystal_grow.seeding'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'macroseeding'
;                                 Microcrystals were introduced from a previous
                                  crystal growth experiment by transfer with a
                                  human hair.
;
     save_

save__exptl_crystal_grow.seeding_ref
    _item_description.description
;              A literature reference that describes the protocol used to seed
               the crystal.
;
    _item.name                  '_exptl_crystal_grow.seeding_ref'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          'Stura et al., 19xx'
     save_

save__exptl_crystal_grow.temp
    _item_description.description
;              The temperature in kelvins at which the crystal was grown.
               If more than one temperature was employed during the
               crystallization process, the final temperature should be noted
               here and the protocol  involving multiple temperatures should be
               described in _exptl_crystal_grow.details.
;
    _item.name                  '_exptl_crystal_grow.temp'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
     loop_ 
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_exptl_crystal_grow.temp_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              kelvins
     save_

save__exptl_crystal_grow.temp_details
    _item_description.description
;              A description of special aspects of temperature control during
               crystal growth.
;
    _item.name                  '_exptl_crystal_grow.temp_details'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__exptl_crystal_grow.temp_esd
    _item_description.description
;              The estimated standard deviation of _exptl_crystal_grow.temp.
;
    _item.name                  '_exptl_crystal_grow.temp_esd'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_exptl_crystal_grow.temp'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              kelvins
     save_

save__exptl_crystal_grow.time
    _item_description.description
;              The approximate time that the crystal took to grow to the size
               used for data collection.
;
    _item.name                  '_exptl_crystal_grow.time'
    _item.category_id             exptl_crystal_grow
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'overnight'
                                 '2-4 days'
                                 '6 months'
     save_

#############################
## EXPTL_CRYSTAL_GROW_COMP ##
#############################

save_EXPTL_CRYSTAL_GROW_COMP
    _category.description
;              Data items in the EXPTL_CRYSTAL_GROW_COMP category record
               details about the components of the solutions that were 'mixed'
               (by whatever means) to produce the crystal.

               In general, solution 1 is the solution that contains the
               molecule to be crystallized and solution 2 is the solution
               that contains the precipitant. However, the number of solutions
               required to describe the crystallization protocol is not limited
               to 2.

               Details of the crystallization protocol should be described in
               EXPTL_CRYSTAL_GROW_DETAILS, using the solutions described in
               EXPTL_CRYSTAL_GROW_COMP.
;
    _category.id                  exptl_crystal_grow_comp
    _category.mandatory_code      no
     loop_
    _category_key.name          '_exptl_crystal_grow_comp.id'
                                '_exptl_crystal_grow_comp.crystal_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'exptl_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _exptl_crystal_grow_comp.crystal_id
    _exptl_crystal_grow_comp.id
    _exptl_crystal_grow_comp.sol_id
    _exptl_crystal_grow_comp.name
    _exptl_crystal_grow_comp.volume
    _exptl_crystal_grow_comp.conc
    _exptl_crystal_grow_comp.details
     1 1  1  'HIV-1 protease'  '0.002 ml'  '6 mg/ml'
    ; The protein solution was in a buffer containing 25 mM NaCl, 100 mM NaMES/
      MES buffer, pH 7.5, 3 mM NaAzide
    ;
     1 2  2  'NaCl'            '0.200 ml'  '4    M'  'in 3 mM NaAzide'
     1 3  2  'Acetic Acid'     '0.047 ml'  '100 mM'  'in 3 mM NaAzide'
     1 4  2  'Na Acetate'      '0.053 ml'  '100 mM'
    ; in 3 mM NaAzide. Buffer components were mixed to produce a pH of 4.7
      according to a ratio calculated from the pKa. The actual pH of solution 2
      was not measured.
    ;
     1 5  2  'water'           '0.700 ml'  'neat'    'in 3 mM NaAzide'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__exptl_crystal_grow_comp.conc
    _item_description.description
;              The concentration of the solution component.
;
    _item.name                  '_exptl_crystal_grow_comp.conc'
    _item.category_id             exptl_crystal_grow_comp
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          '200 \ml'
                                 '0.1 ml'
     save_

save__exptl_crystal_grow_comp.details
    _item_description.description
;              A description of any special aspects of the solution component.
               When the solution component is the one that contains the
               macromolecule, this could be the specification of the buffer in
               which the macromolecule was stored. When the solution component
               is a buffer component, this could be the methods (or formula)
               used to achieve a desired pH.
;
    _item.name                  '_exptl_crystal_grow_comp.details'
    _item.category_id             exptl_crystal_grow_comp
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'in 3 mM NaAzide'
;                                 The protein solution was in a buffer
                                  containing 25 mM NaCl, 100 mM NaMES/MES
                                  buffer, pH 7.5, 3 mM NaAzide
;
;                                 in 3 mM NaAzide. Buffer components were mixed
                                  to produce a pH of 4.7 according to a ratio
                                  calculated from the pKa. The actual pH of
                                  solution 2 was not measured.
;
     save_

save__exptl_crystal_grow_comp.crystal_id
    _item_description.description
;              This data item is a pointer to _exptl_crystal.id in the
               EXPTL_CRYSTAL category.
;
    _item.name                  '_exptl_crystal_grow_comp.crystal_id'
    _item.mandatory_code          yes
     save_

save__exptl_crystal_grow_comp.id
    _item_description.description
;              The value of _exptl_crystal_grow_comp.id must uniquely identify
               each item in the EXPTL_CRYSTAL_GROW_COMP list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_exptl_crystal_grow_comp.id'
    _item.category_id             exptl_crystal_grow_comp
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          '1'
                                 'A'
                                 'protein in buffer'
     save_

save__exptl_crystal_grow_comp.name
    _item_description.description
;              A common name for the component of the solution.
;
    _item.name                  '_exptl_crystal_grow_comp.name'
    _item.category_id             exptl_crystal_grow_comp
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'protein in buffer'
                                 'acetic acid'
     save_

save__exptl_crystal_grow_comp.sol_id
    _item_description.description
;              An identifier for the solution to which the given solution
               component belongs.
;
    _item.name                  '_exptl_crystal_grow_comp.sol_id'
    _item.category_id             exptl_crystal_grow_comp
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          '1'
                                 'well solution'
                                 'solution A'
     save_

save__exptl_crystal_grow_comp.volume
    _item_description.description
;              The volume of the solution component.
;
    _item.name                  '_exptl_crystal_grow_comp.volume'
    _item.category_id             exptl_crystal_grow_comp
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          '200 \ml'
                                 '0.1 ml'
     save_

##########
## GEOM ##
##########

save_GEOM
    _category.description
;              Data items in the GEOM and related (GEOM_ANGLE,
               GEOM_BOND, GEOM_CONTACT, GEOM_HBOND and GEOM_TORSION)
               categories record details about the molecular and crystal
               geometry, as calculated from the contents of the ATOM, CELL,
               and SYMMETRY data.

               Geometry data are therefore redundant, in that they can be
               calculated from other more fundamental quantities in the data
               block. They serve, however, the dual purpose of providing a
               check on the correctness of both sets of data, and of enabling
               the most important geometric data to be identified for
               publication by setting the appropriate publication flag.
;
    _category.id                  geom
    _category.mandatory_code      no
    _category_key.name          '_geom.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'geom_group'
     save_

save__geom.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_geom.entry_id'
    _item.mandatory_code          yes
     save_

save__geom.details
    _item_description.description
;              The description of geometrical information not covered by the
               existing data names in the GEOM categories, such as
               least-squares planes.
;
    _item.name                  '_geom.details'
    _item.category_id             geom
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

################
## GEOM_ANGLE ##
################

save_GEOM_ANGLE
    _category.description
;              Data items in the GEOM_ANGLE category record details about the
               molecular and crystal angles, as calculated from the contents
               of the ATOM, CELL, and SYMMETRY data.
;
    _category.id                  geom_angle
    _category.mandatory_code      no
     loop_
    _category_key.name          '_geom_angle.atom_site_id_1'
                                '_geom_angle.atom_site_id_2'
                                '_geom_angle.atom_site_id_3'
                                '_geom_angle.site_symmetry_1'
                                '_geom_angle.site_symmetry_2'
                                '_geom_angle.site_symmetry_3'
     loop_
    _category_group.id           'inclusive_group'
                                 'geom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
     loop_
    _geom_angle.atom_site_id_1
    _geom_angle.atom_site_id_2
    _geom_angle.atom_site_id_3
    _geom_angle.value
    _geom_angle.site_symmetry_1
    _geom_angle.site_symmetry_2
    _geom_angle.site_symmetry_3
    _geom_angle.publ_flag
     C2  O1  C5   111.6(2)  1_555  1_555  1_555  yes
     O1  C2  C3   110.9(2)  1_555  1_555  1_555  yes
     O1  C2  O21  122.2(3)  1_555  1_555  1_555  yes
     C3  C2  O21  127.0(3)  1_555  1_555  1_555  yes
     C2  C3  N4   101.3(2)  1_555  1_555  1_555  yes
     C2  C3  C31  111.3(2)  1_555  1_555  1_555  yes
     C2  C3  H3   107(1)    1_555  1_555  1_555  ?
     N4  C3  C31  116.7(2)  1_555  1_555  1_555  yes
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__geom_angle.atom_site_id_1
    _item_description.description
;              The identifier of the first of the three atom sites that define
               the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_angle.atom_site_id_1'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_angle_atom_site_label_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_angle.atom_site_id_2'
                                '_geom_angle.atom_site_id_3'
     save_

save__geom_angle.atom_site_label_alt_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_alt_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_atom_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_comp_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_seq_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_asym_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_id_2
    _item_description.description
;              The identifier of the second of the three atom sites that define
               the angle specified by _geom_angle.value. The second atom is
               taken to be the apex of the angle.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_angle.atom_site_id_2'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_angle_atom_site_label_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_angle.atom_site_id_1'
                                '_geom_angle.atom_site_id_3'
     save_

save__geom_angle.atom_site_label_alt_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_alt_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_atom_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_comp_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_seq_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_asym_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_id_3
    _item_description.description
;              The identifier of the third of the three atom sites that define
               the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_angle.atom_site_id_3'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_angle_atom_site_label_3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_angle.atom_site_id_1'
                                '_geom_angle.atom_site_id_2'
     save_

save__geom_angle.atom_site_label_alt_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_alt_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_atom_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_atom_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_comp_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_comp_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_seq_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_seq_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_label_asym_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_label_asym_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_asym_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_atom_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_comp_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_seq_id_1
    _item_description.description
;              An optional identifier of the first of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_atom_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_asym_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_comp_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_seq_id_2
    _item_description.description
;              An optional identifier of the second of the three atom sites
               that define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_atom_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_atom_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_asym_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_asym_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_comp_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_comp_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.atom_site_auth_seq_id_3
    _item_description.description
;              An optional identifier of the third of the three atom sites that
               define the angle specified by _geom_angle.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_angle.atom_site_auth_seq_id_3'
    _item.mandatory_code          no
     save_

save__geom_angle.publ_flag
    _item_description.description
;              This code signals if the angle is referred to in a publication or
               should be placed in a table of significant angles.
;
    _item.name                  '_geom_angle.publ_flag'
    _item.category_id             geom_angle
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_angle_publ_flag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'do not include angle in special list'
                                  n    'abbreviation for "no"'
                                  yes  'do include angle in special list'
                                  y    'abbreviation for "yes"'
     save_

save__geom_angle.site_symmetry_1
    _item_description.description
;              The symmetry code of the first of the three atom sites that
               define the angle specified by _geom_angle.
;
    _item.name                  '_geom_angle.site_symmetry_1'
    _item.category_id             geom_angle
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_angle_site_symmetry_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_angle.site_symmetry_2
    _item_description.description
;              The symmetry code of the second of the three atom sites that
               define the angle specified by _geom_angle.
;
    _item.name                  '_geom_angle.site_symmetry_2'
    _item.category_id             geom_angle
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_angle_site_symmetry_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_angle.site_symmetry_3
    _item_description.description
;              The symmetry code of the third of the three atom sites that
               define the angle specified by _geom_angle.
;
    _item.name                  '_geom_angle.site_symmetry_3'
    _item.category_id             geom_angle
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_angle_site_symmetry_3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_angle.value
    _item_description.description
;              Angle in degrees bounded by the three sites
               _geom_angle.atom_site_id_1, _geom_angle.atom_site_id_2 and
               _geom_angle.atom_site_id_3.
;
    _item.name                  '_geom_angle.value'
    _item.category_id             geom_angle
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_angle'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_geom_angle.value_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__geom_angle.value_esd
    _item_description.description
;              The estimated standard deviation of _geom_angle.value.
;
    _item.name                  '_geom_angle.value_esd'
    _item.category_id             geom_angle
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_angle.value'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              degrees
     save_

###############
## GEOM_BOND ##
###############

save_GEOM_BOND
    _category.description
;              Data items in the GEOM_BOND category record details about
               molecular and crystal bonds, as calculated from the contents
               of the ATOM, CELL, and SYMMETRY data.
;
    _category.id                  geom_bond
    _category.mandatory_code      no
     loop_
    _category_key.name          '_geom_bond.atom_site_id_1'
                                '_geom_bond.atom_site_id_2'
                                '_geom_bond.site_symmetry_1'
                                '_geom_bond.site_symmetry_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'geom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
     loop_
    _geom_bond.atom_site_id_1
    _geom_bond.atom_site_id_2
    _geom_bond.dist
    _geom_bond.site_symmetry_1
    _geom_bond.site_symmetry_2
    _geom_bond.publ_flag
      O1  C2   1.342(4)  1_555  1_555  yes
      O1  C5   1.439(3)  1_555  1_555  yes
      C2  C3   1.512(4)  1_555  1_555  yes
      C2  O21  1.199(4)  1_555  1_555  yes
      C3  N4   1.465(3)  1_555  1_555  yes
      C3  C31  1.537(4)  1_555  1_555  yes
      C3  H3   1.00(3)   1_555  1_555  ?
      N4  C5   1.472(3)  1_555  1_555  yes
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__geom_bond.atom_site_id_1
    _item_description.description
;              The identifier of the first of the two atom sites that define the
               bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_bond.atom_site_id_1'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_bond_atom_site_label_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_geom_bond.atom_site_id_2'
     save_

save__geom_bond.atom_site_label_alt_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_alt_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_atom_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_comp_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_seq_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_asym_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_id_2
    _item_description.description
;              The identifier of the second of the two atom sites that define
               the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_bond.atom_site_id_2'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_bond_atom_site_label_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_geom_bond.atom_site_id_1'
     save_

save__geom_bond.atom_site_label_alt_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_alt_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_atom_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_comp_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_seq_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_label_asym_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_label_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_atom_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_asym_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_comp_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_seq_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_atom_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_asym_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_comp_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.atom_site_auth_seq_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_bond.atom_site_auth_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_bond.dist
    _item_description.description
;              The intramolecular bond distance in angstroms.
;
    _item.name                  '_geom_bond.dist'
    _item.category_id             geom_bond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_bond_distance'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_geom_bond.dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__geom_bond.dist_esd
    _item_description.description
;              The estimated standard deviation of _geom_bond.dist.
;
    _item.name                  '_geom_bond.dist_esd'
    _item.category_id             geom_bond
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_bond.dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__geom_bond.publ_flag
    _item_description.description
;              This code signals if the bond distance is referred to in a
               publication or should be placed in a list of significant bond
               distances.
;
    _item.name                  '_geom_bond.publ_flag'
    _item.category_id             geom_bond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_bond_publ_flag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'do not include bond in special list'
                                  n    'abbreviation for "no"'
                                  yes  'do include bond in special list'
                                  y    'abbreviation for "yes"'
     save_

save__geom_bond.site_symmetry_1
    _item_description.description
;              The symmetry code of the first of the two atom sites that
               define the bond specified by _geom_bond.dist.
;
    _item.name                  '_geom_bond.site_symmetry_1'
    _item.category_id             geom_bond
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_bond_site_symmetry_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_bond.site_symmetry_2
    _item_description.description
;              The symmetry code of the second of the two atom sites that
               define the bond specified by _geom_bond.dist.
;
    _item.name                  '_geom_bond.site_symmetry_2'
    _item.category_id             geom_bond
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_bond_site_symmetry_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

##################
## GEOM_CONTACT ##
##################

save_GEOM_CONTACT
    _category.description
;              Data items in the GEOM_CONTACT category record details about
               molecular and crystal contacts, as calculated from the contents
               of the ATOM, CELL, and SYMMETRY data.
;
    _category.id                  geom_contact
    _category.mandatory_code      no
     loop_
    _category_key.name          '_geom_contact.atom_site_id_1'
                                '_geom_contact.atom_site_id_2'
                                '_geom_contact.site_symmetry_1'
                                '_geom_contact.site_symmetry_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'geom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set CLPHO6 of Ferguson, Ruhl, McKervey & Browne
                (1991). Acta Cryst. C48, 2262-2264].
;
;
     loop_
    _geom_contact.atom_site_id_1
    _geom_contact.atom_site_id_2
    _geom_contact.dist
    _geom_contact.site_symmetry_1
    _geom_contact.site_symmetry_2
    _geom_contact.publ_flag
     O(1)  O(2)     2.735(3)  .  .  yes
     H(O1) O(2)     1.82      .  .  no
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__geom_contact.atom_site_id_1
    _item_description.description
;              The identifier of the first of the two atom sites that define the
               contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_contact.atom_site_id_1'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_contact_atom_site_label_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_geom_contact.atom_site_id_2'
     save_

save__geom_contact.atom_site_label_alt_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_alt_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_atom_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_comp_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_seq_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_asym_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_id_2
    _item_description.description
;              The identifier of the second of the two atom sites that define
               the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_contact.atom_site_id_2'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_contact_atom_site_label_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_dependent.dependent_name
                                '_geom_contact.atom_site_id_1'
     save_

save__geom_contact.atom_site_label_alt_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_alt_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_atom_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_comp_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_seq_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_label_asym_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_label_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_atom_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_asym_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_comp_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_seq_id_1
    _item_description.description
;              An optional identifier of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_atom_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_asym_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_comp_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.atom_site_auth_seq_id_2
    _item_description.description
;              An optional identifier of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_contact.atom_site_auth_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_contact.dist
    _item_description.description
;              The interatomic contact distance in angstroms.
;
    _item.name                  '_geom_contact.dist'
    _item.category_id             geom_contact
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_contact_distance'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_geom_contact.dist_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__geom_contact.dist_esd
    _item_description.description
;              The estimated standard deviation of _geom_contact.dist.
;
    _item.name                  '_geom_contact.dist_esd'
    _item.category_id             geom_contact
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_contact.dist'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__geom_contact.publ_flag
    _item_description.description
;              This code signals if the contact distance is referred to in a
               publication or should be placed in a list of significant contact
               distances.
;
    _item.name                  '_geom_contact.publ_flag'
    _item.category_id             geom_contact
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_contact_publ_flag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'do not include distance in special list'
                                  n    'abbreviation for "no"'
                                  yes  'do include distance in special list'
                                  y    'abbreviation for "yes"'
     save_

save__geom_contact.site_symmetry_1
    _item_description.description
;              The symmetry code of the first of the two atom sites that
               define the contact specified by _geom_contact.dist.
;
    _item.name                  '_geom_contact.site_symmetry_1'
    _item.category_id             geom_contact
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_contact_site_symmetry_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_contact.site_symmetry_2
    _item_description.description
;              The symmetry code of the second of the two atom sites that
               define the contact specified by _geom_contact.dist.
;
    _item.name                  '_geom_contact.site_symmetry_2'
    _item.category_id             geom_contact
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_contact_site_symmetry_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_
################
## GEOM_HBOND ##
################

save_GEOM_HBOND
    _category.description
;              Data items in the GEOM_HBOND category record details about
               hydrogen bonds, as calculated from the contents of the ATOM,
               CELL, and SYMMETRY data.
;
    _category.id                  geom_hbond
    _category.mandatory_code      no
     loop_
    _category_key.name          '_geom_hbond.atom_site_id_A'
                                '_geom_hbond.atom_site_id_D'
                                '_geom_hbond.atom_site_id_H'
                                '_geom_hbond.site_symmetry_A'
                                '_geom_hbond.site_symmetry_D'
                                '_geom_hbond.site_symmetry_H'
     loop_
    _category_group.id           'inclusive_group'
                                 'geom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on C~14~H~13~ClN~2~O.H~2~O, reported by Palmer,
                Puddle & Lisgarten [(1993). Acta Cryst. C49, 1777-1779].
;
;
     loop_
    _geom_hbond.atom_site_id_D
    _geom_hbond.atom_site_id_H
    _geom_hbond.atom_site_id_A
    _geom_hbond.dist_DH
    _geom_hbond.dist_HA
    _geom_hbond.dist_DA
    _geom_hbond.angle_DHA
    _geom_hbond.publ_flag

    N6   HN6  OW   0.888(8)  1.921(12)  2.801(8)  169.6(8)  yes
    OW   HO2  O7   0.917(6)  1.923(12)  2.793(8)  153.5(8)  yes
    OW   HO1  N10  0.894(8)  1.886(11)  2.842(8)  179.7(9)  yes
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__geom_hbond.angle_DHA
    _item_description.description
;              The angle in degrees defined by the donor, hydrogen and acceptor
               atoms sites in a hydrogen bond.
;
    _item.name                  '_geom_hbond.angle_DHA'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_hbond_angle_DHA'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_geom_hbond.angle_DHA_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__geom_hbond.angle_DHA_esd
    _item_description.description
;              The standard undercertainty (e.s.d) of _geom_hbond.angle_DHA.
;
    _item.name                  '_geom_hbond.angle_DHA_esd'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_hbond.angle_DHA'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__geom_hbond.atom_site_id_A
    _item_description.description
;              The identifier of the acceptor atom site that defines the
               hydrogen bond.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_hbond.atom_site_id_A'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_hbond_atom_site_label_A'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_hbond.atom_site_id_D'
                                '_geom_hbond.atom_site_id_H'
     save_

save__geom_hbond.atom_site_label_alt_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_alt_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_asym_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_asym_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_atom_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_atom_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_comp_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_comp_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_seq_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_seq_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_id_D
    _item_description.description
;              The identifier of the donor atom site that defines the hydrogen
               bond.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_hbond.atom_site_id_D'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_hbond_atom_site_label_D'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_hbond.atom_site_id_A'
                                '_geom_hbond.atom_site_id_H'
     save_

save__geom_hbond.atom_site_label_alt_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_alt_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_asym_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_asym_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_atom_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_atom_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_comp_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_comp_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_seq_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_seq_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_id_H
    _item_description.description
;              The identifier of the hydrogen atom site that defines the 
               hydrogen bond.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_hbond.atom_site_id_H'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_hbond_atom_site_label_H'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_hbond.atom_site_id_A'
                                '_geom_hbond.atom_site_id_D'
     save_

save__geom_hbond.atom_site_label_alt_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_alt_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_asym_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_asym_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_atom_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_atom_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_comp_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_comp_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_label_seq_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_label_seq_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_asym_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_asym_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_atom_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_atom_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_comp_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_comp_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_seq_id_A
    _item_description.description
;              An optional identifier of the acceptor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_seq_id_A'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_asym_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_asym_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_atom_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_atom_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_comp_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_comp_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_seq_id_D
    _item_description.description
;              An optional identifier of the donor atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_seq_id_D'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_asym_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_asym_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_atom_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_atom_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_comp_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_comp_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.atom_site_auth_seq_id_H
    _item_description.description
;              An optional identifier of the hydrogen atom site that defines
               the hydrogen bond.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_hbond.atom_site_auth_seq_id_H'
    _item.mandatory_code          no
     save_

save__geom_hbond.dist_DA
    _item_description.description
;              The distance in angstroms between the donor and acceptor atom
               sites in a hydrogen bond.
;
    _item.name                  '_geom_hbond.dist_DA'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_hbond_distance_DA'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_geom_hbond.dist_DA_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__geom_hbond.dist_DA_esd
    _item_description.description
;              The standard undercertainty (e.s.d) in angstroms of
               _geom_hbond.dist_DA.
;
    _item.name                  '_geom_hbond.dist_DA_esd'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_hbond.dist_DH'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__geom_hbond.dist_DH
    _item_description.description
;              The distance in angstroms between the donor and hydrogen atom
               sites in a hydrogen bond.
;
    _item.name                  '_geom_hbond.dist_DH'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_hbond_distance_DH'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_geom_hbond.dist_DH_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__geom_hbond.dist_DH_esd
    _item_description.description
;              The standard undercertainty (e.s.d) in angstroms of
               _geom_hbond.dist_DH.
;
    _item.name                  '_geom_hbond.dist_DH_esd'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_hbond.dist_DH'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__geom_hbond.dist_HA
    _item_description.description
;              The distance in angstroms between the hydrogen and acceptor
               atom sites in a hydrogen bond.
;
    _item.name                  '_geom_hbond.dist_HA'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_hbond_distance_HA'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_geom_hbond.dist_HA_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__geom_hbond.dist_HA_esd
    _item_description.description
;              The standard undercertainty (e.s.d) in angstroms of
               _geom_hbond.dist_HA.
;
    _item.name                  '_geom_hbond.dist_HA_esd'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_hbond.dist_HA'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__geom_hbond.publ_flag
    _item_description.description
;              This code signals if the hydrogen bond distance is referred to in
               a publication or should be placed in a table of signficiant
               hydrogen-bond geometry.
;
    _item.name                  '_geom_hbond.publ_flag'
    _item.category_id             geom_hbond
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_hbond_publ_flag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'do not include bond in special list'
                                  n    'abbreviation for "no"'
                                  yes  'do include bond in special list'
                                  y    'abbreviation for "yes"'
     save_

save__geom_hbond.site_symmetry_A
    _item_description.description
;              The symmetry code of the acceptor atom site that defines the
               hydrogen bond.
;
    _item.name                  '_geom_hbond.site_symmetry_A'
    _item.category_id             geom_hbond
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_hbond_site_symmetry_A'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_hbond.site_symmetry_D
    _item_description.description
;              The symmetry code of the donor atom site that defines the
               hydrogen bond.
;
    _item.name                  '_geom_hbond.site_symmetry_D'
    _item.category_id             geom_hbond
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_hbond_site_symmetry_D'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_hbond.site_symmetry_H
    _item_description.description
;              The symmetry code of the hydrogen atom site that defines the
               hydrogen bond.
;
    _item.name                  '_geom_hbond.site_symmetry_H'
    _item.category_id             geom_hbond
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_hbond_site_symmetry_H'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

##################
## GEOM_TORSION ##
##################

save_GEOM_TORSION
    _category.description
;              Data items in the GEOM_TORSION category record details about
               molecular and crystal torsion angles, as calculated from the
               contents of the ATOM, CELL, and SYMMETRY data.

               The vector direction _geom_torsion.atom_site_id_2 to
               _geom_torsion.atom_site_id_3 is the viewing direction, and the
               torsion angle is the angle of twist required to superimpose the
               projection of the vector site2-site1 onto the projection of the
               vector site3-site4. Clockwise torsions are positive,
               anticlockwise torsions are negative.

               Ref: Klyne, W. & Prelog, V. (1960). Experientia, 16, 521-523.
;
    _category.id                  geom_torsion
    _category.mandatory_code      no
     loop_
    _category_key.name          '_geom_torsion.atom_site_id_1'
                                '_geom_torsion.atom_site_id_2'
                                '_geom_torsion.atom_site_id_3'
                                '_geom_torsion.atom_site_id_4'
                                '_geom_torsion.site_symmetry_1'
                                '_geom_torsion.site_symmetry_2'
                                '_geom_torsion.site_symmetry_3'
                                '_geom_torsion.site_symmetry_4'
     loop_
    _category_group.id           'inclusive_group'
                                 'geom_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 3 - based on data set CLPHO6 of Ferguson, Ruhl, McKervey & Browne
                [(1991). Acta Cryst. C48, 2262-2264].
;
;
     loop_
    _geom_torsion.atom_site_id_1
    _geom_torsion.atom_site_id_2
    _geom_torsion.atom_site_id_3
    _geom_torsion.atom_site_id_4
    _geom_torsion
    _geom_torsion.site_symmetry_1
    _geom_torsion.site_symmetry_2
    _geom_torsion.site_symmetry_3
    _geom_torsion.site_symmetry_4
    _geom_torsion.publ_flag
     C(9)    O(2)    C(7)    C(2)    71.8(2)  .  .  .  .      yes
     C(7)   O(2)    C(9)    C(10)  -168.0(3)  .  .  .  2_666  yes
     C(10)   O(3)    C(8)    C(6)  -167.7(3)  .  .  .  .      yes
     C(8)    O(3)    C(10)   C(9)   -69.7(2)  .  .  .  2_666  yes
     O(1)    C(1)    C(2)    C(3)  -179.5(4)  .  .  .  .      no
     O(1)    C(1)    C(2)    C(7)    -0.6(1)  .  .  .  .      no
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__geom_torsion.atom_site_id_1
    _item_description.description
;              The identifier of the first of the four atom sites that define
               the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_torsion.atom_site_id_1'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_atom_site_label_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_torsion.atom_site_id_2'
                                '_geom_torsion.atom_site_id_3'
                                '_geom_torsion.atom_site_id_4'
     save_

save__geom_torsion.atom_site_label_alt_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_alt_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_atom_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_comp_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_seq_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_asym_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_id_2
    _item_description.description
;              The identifier of the second of the four atom sites that define
               the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_torsion.atom_site_id_2'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_atom_site_label_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_torsion.atom_site_id_1'
                                '_geom_torsion.atom_site_id_3'
                                '_geom_torsion.atom_site_id_4'
     save_

save__geom_torsion.atom_site_label_alt_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_alt_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_atom_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_comp_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_seq_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_asym_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_id_3
    _item_description.description
;              The identifier of the third of the four atom sites that define
               the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_torsion.atom_site_id_3'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_atom_site_label_3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_torsion.atom_site_id_1'
                                '_geom_torsion.atom_site_id_2'
                                '_geom_torsion.atom_site_id_4'
     save_

save__geom_torsion.atom_site_label_alt_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_alt_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_atom_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_atom_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_comp_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_comp_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_seq_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_seq_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_asym_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_asym_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_id_4
    _item_description.description
;              The identifier of the fourth of the four atom sites that define
               the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.id in the ATOM_SITE
               category.
;
    _item.name                  '_geom_torsion.atom_site_id_4'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_atom_site_label_4'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_geom_torsion.atom_site_id_1'
                                '_geom_torsion.atom_site_id_2'
                                '_geom_torsion.atom_site_id_3'
     save_

save__geom_torsion.atom_site_label_alt_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_alt_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_alt_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_atom_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_atom_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_comp_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_comp_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_seq_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_seq_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_label_asym_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_label_asym_id_4'
    _item.mandatory_code          no
     save_
save__geom_torsion.atom_site_auth_atom_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_atom_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_asym_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_asym_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_comp_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_comp_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_seq_id_1
    _item_description.description
;              An optional identifier of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_seq_id_1'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_atom_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_atom_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_asym_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_asym_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_comp_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_comp_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_seq_id_2
    _item_description.description
;              An optional identifier of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_seq_id_2'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_atom_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_atom_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_asym_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_asym_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_comp_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_comp_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_seq_id_3
    _item_description.description
;              An optional identifier of the third of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_seq_id_3'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_atom_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_atom_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_asym_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_asym_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_comp_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_comp_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.atom_site_auth_seq_id_4
    _item_description.description
;              An optional identifier of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.value.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_geom_torsion.atom_site_auth_seq_id_4'
    _item.mandatory_code          no
     save_

save__geom_torsion.publ_flag
    _item_description.description
;              This code signals if the torsion angle is referred to in a
               publication or should be placed in a table of significant
               torsion angles.
;
    _item.name                  '_geom_torsion.publ_flag'
    _item.category_id             geom_torsion
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_torsion_publ_flag'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'do not include angle in special list'
                                  n    'abbreviation for "no"'
                                  yes  'do include angle in special list'
                                  y    'abbreviation for "yes"'
     save_

save__geom_torsion.site_symmetry_1
    _item_description.description
;              The symmetry code of the first of the four atom sites that
               define the torsion angle specified by _geom_torsion.
;
    _item.name                  '_geom_torsion.site_symmetry_1'
    _item.category_id             geom_torsion
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_site_symmetry_1'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_torsion.site_symmetry_2
    _item_description.description
;              The symmetry code of the second of the four atom sites that
               define the torsion angle specified by _geom_torsion.
;
    _item.name                  '_geom_torsion.site_symmetry_2'
    _item.category_id             geom_torsion
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_site_symmetry_2'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_torsion.site_symmetry_3
    _item_description.description
;              The symmetry code of the third of the four atom sites that
               define the torsion specified by _geom_torsion.
;
    _item.name                  '_geom_torsion.site_symmetry_3'
    _item.category_id             geom_torsion
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_site_symmetry_3'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_torsion.site_symmetry_4
    _item_description.description
;              The symmetry code of the fourth of the four atom sites that
               define the torsion angle specified by _geom_torsion.
;
    _item.name                  '_geom_torsion.site_symmetry_4'
    _item.category_id             geom_torsion
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_geom_torsion_site_symmetry_4'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__geom_torsion.value
    _item_description.description
;              The value of the torsion angle in degrees.
;
    _item.name                  '_geom_torsion.value'
    _item.category_id             geom_torsion
    _item.mandatory_code          no
    _item_aliases.alias_name    '_geom_torsion'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_geom_torsion.value_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              degrees
     save_

save__geom_torsion.value_esd
    _item_description.description
;              The estimated standard deviation of _geom_torsion.value.
;
    _item.name                  '_geom_torsion.value_esd'
    _item.category_id             geom_torsion
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_geom_torsion.value'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              degrees
     save_

#############
## JOURNAL ##
#############

save_JOURNAL
    _category.description
;              Data items in the JOURNAL category record details about the
               book keeping entries used by the journal's staff when processing
               a data block submitted for publication.

               Normally the creator of a data block will not specify these data.
               The data names are not defined in the dictionary because they are
               for journal use only.
;
    _category.id                  journal
    _category.mandatory_code      no
    _category_key.name          '_journal.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'iucr_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Acta Cryst. file for entry HL0007 [Willis, Beckwith
                & Tozer (1991). Acta Cryst. C47, 2276-2277].
;
;
    _journal.entry_id                 'TOZ'
    _journal.date_recd_electronic     1991-04-15
    _journal.date_from_coeditor       1991-04-18
    _journal.date_accepted            1991-04-18
    _journal.date_printers_first      1991-08-07
    _journal.date_proofs_out          1991-08-07
    _journal.coeditor_code            HL0007
    _journal.techeditor_code          C910963
    _journal.coden_ASTM               ACSCEE
    _journal.name_full               'Acta Crystallographica Section C'
    _journal.year                     1991
    _journal.volume                   47
    _journal.issue                    NOV91
    _journal.page_first               2276
    _journal.page_last                2277
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__journal.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_journal.entry_id'
    _item.mandatory_code          yes
     save_

save__journal.coden_ASTM
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coden_ASTM'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coden_ASTM'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.coden_Cambridge
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coden_Cambridge'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coden_Cambridge'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.coeditor_address
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_address'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_address'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__journal.coeditor_code
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_code'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.coeditor_email
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_email'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_email'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.coeditor_fax
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_fax'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_fax'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.coeditor_name
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_name'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.coeditor_notes
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_notes'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_notes'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__journal.coeditor_phone
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.coeditor_phone'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_coeditor_phone'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.data_validation_number
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.data_validation_number'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_data_validation_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_accepted
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_accepted'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_accepted'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_from_coeditor
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_from_coeditor'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_from_coeditor'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_to_coeditor
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_to_coeditor'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_to_coeditor'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_printers_final
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_printers_final'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_printers_final'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_printers_first
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_printers_first'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_printers_first'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_proofs_in
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_proofs_in'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_proofs_in'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_proofs_out
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_proofs_out'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_proofs_out'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_recd_copyright
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_recd_copyright'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_recd_copyright'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_recd_electronic
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_recd_electronic'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_recd_electronic'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.date_recd_hard_copy
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.date_recd_hard_copy'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_date_recd_hard_copy'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               yyyy-mm-dd
     save_

save__journal.issue
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.issue'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_issue'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.language
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.language'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_language'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.name_full
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.name_full'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_name_full'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.page_first
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.page_first'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_page_first'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.page_last
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.page_last'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_page_last'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.paper_category
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.paper_category'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_paper_category'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.suppl_publ_number
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.suppl_publ_number'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_suppl_publ_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.suppl_publ_pages
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.suppl_publ_pages'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_suppl_publ_pages'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.techeditor_address
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_address'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_address'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__journal.techeditor_code
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_code'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.techeditor_email
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_email'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_email'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.techeditor_fax
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_fax'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_fax'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.techeditor_name
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_name'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.techeditor_notes
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_notes'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_notes'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__journal.techeditor_phone
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.techeditor_phone'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_techeditor_phone'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.volume
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.volume'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_volume'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal.year
     _item_description.description
;              Journal data items are defined by the journal staff.
;
    _item.name                  '_journal.year'
    _item.category_id             journal
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_year'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

###################
## JOURNAL_INDEX ##
###################

save_JOURNAL_INDEX
    _category.description
;              Data items in the JOURNAL_INDEX category are used to list terms
               employed in generating the journal indexes.

               Normally the creator of a data block will not specify these data
               items.
;
    _category.id                  journal_index
    _category.mandatory_code      no
     loop_
    _category_key.name          '_journal_index.type'
                                '_journal_index.term'
     loop_
    _category_group.id           'inclusive_group'
                                 'iucr_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on a paper by Zhu, Reynolds, Klein & Trudell [(1994).
                Acta Cryst. C50, 2067-2069].
;
;
     loop_
    _journal_index_type
    _journal_index_term
    _journal_index_subterm
      O   C16H19NO4            .
      S   alkaloids           (-)-norcocaine
      S   (-)-norcocaine       .
      S
    ;  [2R,3S-(2\b,3\b)]-methyl
       3-(benzoyloxy)-8-azabicyclo[3.2.1]octane-2-carboxylate
    ;                          .
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__journal_index.subterm
     _item_description.description
;              Journal index data items are defined by the journal staff.
;
    _item.name                  '_journal_index.subterm'
    _item.category_id             journal_index
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_index_subterm'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal_index.term
     _item_description.description
;              Journal index data items are defined by the journal staff.
;
    _item.name                  '_journal_index.term'
    _item.category_id             journal_index
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_index_term'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__journal_index.type
     _item_description.description
;              Journal index data items are defined by the journal staff.
;
    _item.name                  '_journal_index.type'
    _item.category_id             journal_index
    _item.mandatory_code          no
    _item_aliases.alias_name    '_journal_index_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

#############
## PHASING ##
#############

save_PHASING
    _category.description
;              Data items in the PHASING category record details about the
               phasing of the structure, listing the various methods used in
               the phasing process. The details about application of each
               method are listed in the appropriate subcategories.
;
    _category.id                  phasing
    _category.mandatory_code      no
    _category_key.name          '_phasing.method'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - example is completely hypothetical
;
;
     loop_
    _phasing.method
    'mir'
    'averaging'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing.method
    _item_description.description
;              A listing of the method or methods applied to phase this
               structure.
;
    _item.name                  '_phasing.method'
    _item.category_id             phasing
    _item.mandatory_code          yes
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      abinitio
;                                 phasing by ab initio methods
;
                                  averaging
;                                 phase improvement by averaging over multiple
                                  images of the structure
;
                                  dm
;                                 phasing by direct methods
;
                                  isas
;                                 phasing by iterative single wavelength
                                  anomalous scattering
;
                                  isir
;                                 phasing by iterative single wavelength
                                  anomalous scattering
;
                                  isomorphous
;                                 phasing beginning with phases calculated from
                                  an isomorphous structure
;
                                  mad
;                                 phasing by multiple-wavelength anomalous
                                  dispersion
;
                                  mir
;                                 phasing by multiple isomorphous replacement
;
                                  miras
;                                 phasing by multiple isomorphous replacement
                                  with anomalous scattering
;
                                  mr
;                                 phasing by molecular replacement
;
                                  sir
;                                 phasing by single isomorphous replacement
;
                                  siras
;                                 phasing by single isomorphous replacement
                                  with anomalous scattering.
;
     save_

#######################
## PHASING_AVERAGING ##
#######################

save_PHASING_AVERAGING
    _category.description
;              Data items in the PHASING_AVERAGING category record details
               about the phasing of the structure, when methods involving
               averaging of multiple observations of the molecule in the
               asymmetric unit are involved.
;
    _category.id                  phasing_averaging
    _category.mandatory_code      no
    _category_key.name          '_phasing_averaging.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 4 - example is completely hypothetical
;
;
    _phasing_averaging.entry_id     'EXAMHYPO'
    _phasing_averaging.method
    ; Iterative 3-fold averaging alternating with phase extensions by 0.5
      reciprocal lattice units per cycle according to the method described by
      X and Y (ref).
    ;
    _phasing_averaging.details
    ; The position of the 3-fold axis was redetermined every five cycles.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   save_

save__phasing_averaging.details
    _item_description.description
;              A description of special aspects of the averaging process.
;
    _item.name                  '_phasing_averaging.details'
    _item.category_id             phasing_averaging
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__phasing_averaging.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_phasing_averaging.entry_id'
    _item.mandatory_code          yes
     save_

save__phasing_averaging.method
    _item_description.description
;              A description of the phase averaging phasing method applied to
               phase this structure.

               Note that this is not the computer program used, which is
               described in the SOFTWARE category, but rather the method
               itself.

               Rather this data item should be used to describe significant
               methodological options used within the phase averaging program.
;
    _item.name                  '_phasing_averaging.method'
    _item.category_id             phasing_averaging
    _item.mandatory_code          no
    _item_type.code               text
     save_

#########################
## PHASING_ISOMORPHOUS ##
#########################

save_PHASING_ISOMORPHOUS
    _category.description
;              Data items in the PHASING_ISOMORPHOUS category record details
               about the phasing of the structure, when a model isomorphous
               to the structure being phased was used to generate initial
               phases.
;
    _category.id                  phasing_isomorphous
    _category.mandatory_code      no
    _category_key.name          '_phasing_isomorphous.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 4PHV and laboratory records for the
                structure corresponding to PDB entry 4PHV
;
;
    _phasing_isomorphous.parent            'PDB entry 5HVP'
    _phasing_isomorphous.details
    ; The inhibitor and all solvent atoms were removed from the parent structure
      before beginning refinement. All static disorder present in the parent
      structure was also removed.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_isomorphous.details
    _item_description.description
;              A description of special aspects of the isomorphous phasing.
;
    _item.name                  '_phasing_isomorphous.details'
    _item.category_id             phasing_isomorphous
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 Residues 13-18 were eliminated from the
                                  starting model as it was anticipated that
                                  binding of the inhibitor would cause a
                                  structural rearrangement in this part of the
                                  structure.
;
     save_

save__phasing_isomorphous.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_phasing_isomorphous.entry_id'
    _item.mandatory_code          yes
     save_

save__phasing_isomorphous.method
    _item_description.description
;              A description of the isomorphous phasing method applied to
               phase this structure.

               Note that this is not the computer program used, which is
               described in the _computing. data items.

               Rather this data item should be used to describe significant
               methodological options used within the isomorphous phasing
               program.
;
    _item.name                  '_phasing_isomorphous.method'
    _item.category_id             phasing_isomorphous
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 Iterative 3-fold averaging alternating with
                                  phase extension by 0.5 reciprocal lattice
                                  units per cycle according to the method
                                  described by X and Y (ref).
;
     save_

save__phasing_isomorphous.parent
    _item_description.description
;              Reference to the structure used to generate starting phases
               if the structure referenced in this data block was phased
               by virtue of being isomorphous to a known structure (e.g.,
               a mutant that crystallizes in the same space group as the
               wild type protein.)
;
    _item.name                  '_phasing_isomorphous.parent'
    _item.category_id             phasing_isomorphous
    _item.mandatory_code          no
    _item_type.code               text
     save_

#################
## PHASING_MAD ##
#################

save_PHASING_MAD
    _category.description
;              Data items in the PHASING_MAD category record details about
               the phasing of the structure, when methods involving multiple
               anomalous dispersion techniques are involved.
;
    _category.id                  phasing_mad
    _category.mandatory_code      no
    _category_key.name          '_phasing_mad.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Shapiro et al. Nature 374: 327-337 (1995)
;
;
    _phasing_mad.entry_id        'NCAD'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_mad.details
    _item_description.description
;              A description of special aspects of the MAD phasing.
;
    _item.name                  '_phasing_mad.details'
    _item.category_id             phasing_mad
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__phasing_mad.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_phasing_mad.entry_id'
    _item.mandatory_code          yes
     save_

save__phasing_mad.method
    _item_description.description
;              A description of the MAD phasing method applied to phase
               this structure.

               Note that this is not the computer program used, which is
               described in the SOFTWARE category, but rather the method
               itself.

               Rather this data item should be used to describe significant
               methodological options used within the MAD phasing program.
;
    _item.name                  '_phasing_mad.method'
    _item.category_id             phasing_mad
    _item.mandatory_code          no
    _item_type.code               text
     save_

#######################
## PHASING_MAD_CLUST ##
#######################

save_PHASING_MAD_CLUST
    _category.description
;              Data items in the PHASING_MAD_CLUST category record details
               about a cluster of experiments that were contributed to the
               generation of a set of phases.
;
    _category.id                  phasing_MAD_clust
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_MAD_clust.expt_id'
                                '_phasing_MAD_clust.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Shapiro et al. Nature 374: 327-337 (1995)
;
;
     loop_
    _phasing_MAD_clust.id
    _phasing_MAD_clust.expt_id
    _phasing_MAD_clust.number_set
      'four wavelength'  1  4
      'five wavelength'  1  5
      'five wavelength'  2  5
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MAD_clust.expt_id
    _item_description.description
;              This data item is a pointer to _phasing_MAD_expt.id in the
               PHASING_MAD_EXPT category.
;
    _item.name                  '_phasing_MAD_clust.expt_id'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_clust.id
    _item_description.description
;              The value of _phasing_MAD_clust.id must, together with
               _phasing_MAD_clust.expt_id, must uniquely identify a record in
               the PHASING_MAD_CLUST list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_phasing_MAD_clust.id'        phasing_MAD_clust  yes
               '_phasing_MAD_set.clust_id'    phasing_MAD_set    yes
               '_phasing_MAD_ratio.clust_id'  phasing_MAD_ratio  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_phasing_MAD_set.clust_id'    '_phasing_MAD_clust.id'
               '_phasing_MAD_ratio.clust_id'  '_phasing_MAD_clust.id'
    _item_type.code               code
     save_

save__phasing_MAD_clust.number_set
    _item_description.description
;              The number of data sets in this cluster of data sets.
;
    _item.name                  '_phasing_MAD_clust.number_set'
    _item.category_id             phasing_MAD_clust
    _item.mandatory_code          no
    _item_type.code               int
     save_

######################
## PHASING_MAD_EXPT ##
######################

save_PHASING_MAD_EXPT
    _category.description
;              Data items in the PHASING_MAD_EXPT category record details about
               a MAD phasing experiment, such as number of experiments that
               were clustered together to produce a set of phases, the
               statistics for those phases, and so on.
;
    _category.id                  phasing_MAD_expt
    _category.mandatory_code      no
    _category_key.name          '_phasing_MAD_expt.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Shapiro et al. Nature 374: 327-337 (1995)
;
;
     loop_
    _phasing_MAD_expt.id
    _phasing_MAD_expt.number_clust
    _phasing_MAD_expt.R_normal_all
    _phasing_MAD_expt.R_normal_anom_scat
    _phasing_MAD_expt.delta_delta_phi
    _phasing_MAD_expt.delta_phi_sigma
    _phasing_MAD_expt.mean_fom
      1  2  0.063  0.451  58.5  20.3  0.88
      2  1  0.051  0.419  36.8  18.2  0.93
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MAD_expt.delta_delta_phi
    _item_description.description
;              The difference between two independent determinations of
               _phasing_MAD_expt.delta_phi.
;
    _item.name                  '_phasing_MAD_expt.delta_delta_phi'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_expt.delta_phi
    _item_description.description
;              The phase difference between Ft(h), the structure factor due
               to normal scattering from all atoms, and Fa(h), the structure
               factor due to normal scattering from only the anomalous
               scatterers.
;
    _item.name                  '_phasing_MAD_expt.delta_phi'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_type.code               float
    _item_related.related_name  '_phasing_MAD_expt.delta_phi_sigma'
    _item_related.function_code   associated_esd
     save_

save__phasing_MAD_expt.delta_phi_sigma
    _item_description.description
;              The estimated standard deviation of _phasing_MAD_expt.delta_phi.
;
    _item.name                  '_phasing_MAD_expt.delta_phi_sigma'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_related.related_name  '_phasing_MAD_expt.delta_phi'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__phasing_MAD_expt.id
    _item_description.description
;              The value of _phasing_MAD_expt.id must uniquely identify each
               record in the PHASING_MAD_EXPT list.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_phasing_MAD_expt.id'        phasing_MAD_expt   yes
               '_phasing_MAD_clust.expt_id'  phasing_MAD_clust  yes
               '_phasing_MAD_set.expt_id'    phasing_MAD_set    yes
               '_phasing_MAD_ratio.expt_id'  phasing_MAD_ratio  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_phasing_MAD_clust.expt_id'  '_phasing_MAD_expt.id'
               '_phasing_MAD_set.expt_id'    '_phasing_MAD_expt.id'
               '_phasing_MAD_ratio.expt_id'  '_phasing_MAD_expt.id'
    _item_type.code               code
     save_

save__phasing_MAD_expt.mean_fom
    _item_description.description
;              The mean figure of merit.
;
    _item.name                  '_phasing_MAD_expt.mean_fom'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_expt.number_clust
    _item_description.description
;              The number of clusters of data sets in this phasing experiment.
;
    _item.name                  '_phasing_MAD_expt.number_clust'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__phasing_MAD_expt.R_normal_all
    _item_description.description
;              Definition...
;
    _item.name                  '_phasing_MAD_expt.R_normal_all'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_expt.R_normal_anom_scat
    _item_description.description
;              Definition...
;
    _item.name                  '_phasing_MAD_expt.R_normal_anom_scat'
    _item.category_id             phasing_MAD_expt
    _item.mandatory_code          no
    _item_type.code               float
     save_

#######################
## PHASING_MAD_RATIO ##
#######################

save_PHASING_MAD_RATIO
    _category.description
;              Data items in the PHASING_MAD_RATIO category record
               the ratios of phasing statistics between pairs of data sets
               in a MAD phasing experiment, in given shells of resolution.
;
    _category.id                  phasing_MAD_ratio
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_MAD_ratio.clust_id'
                                '_phasing_MAD_ratio.expt_id'
                                '_phasing_MAD_ratio.wavelength_1'
                                '_phasing_MAD_ratio.wavelength_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Shapiro et al. Nature 374: 327-337 (1995)
;
;
     loop_
    _phasing_MAD_ratio.expt_id
    _phasing_MAD_ratio.clust_id
    _phasing_MAD_ratio.wavelength_1
    _phasing_MAD_ratio.wavelength_2
    _phasing_MAD_ratio.d_res_low
    _phasing_MAD_ratio.d_res_high
    _phasing_MAD_ratio.ratio_two_wl
    _phasing_MAD_ratio.ratio_one_wl
    _phasing_MAD_ratio.ratio_one_wl_centric
     1  'four wavelength'  1.4013 1.4013  20.00  4.00      .  0.084  0.076
     1  'four wavelength'  1.4013 1.3857  20.00  4.00  0.067      .
     1  'four wavelength'  1.4013 1.3852  20.00  4.00  0.051      .
     1  'four wavelength'  1.4013 1.3847  20.00  4.00  0.044      .
     1  'four wavelength'  1.3857 1.3857  20.00  4.00      .  0.110  0.049
     1  'four wavelength'  1.3857 1.3852  20.00  4.00  0.049      .
     1  'four wavelength'  1.3857 1.3847  20.00  4.00  0.067      .
     1  'four wavelength'  1.3852 1.3852  20.00  4.00      .  0.149  0.072
     1  'four wavelength'  1.3852 1.3847  20.00  4.00  0.039      .
     1  'four wavelength'  1.3847 1.3847  20.00  4.00      .  0.102  0.071

     1  'four wavelength'  1.4013 1.4013   4.00  3.00      .  0.114  0.111
     1  'four wavelength'  1.4013 1.3857   4.00  3.00  0.089      .
     1  'four wavelength'  1.4013 1.3852   4.00  3.00  0.086      .
     1  'four wavelength'  1.4013 1.3847   4.00  3.00  0.077      .
     1  'four wavelength'  1.3857 1.3857   4.00  3.00      .  0.140  0.127
     1  'four wavelength'  1.3857 1.3852   4.00  3.00  0.085      .
     1  'four wavelength'  1.3857 1.3847   4.00  3.00  0.089      .
     1  'four wavelength'  1.3852 1.3852   4.00  3.00      .  0.155  0.119
     1  'four wavelength'  1.3852 1.3847   4.00  3.00  0.082      .
     1  'four wavelength'  1.3847 1.3847   4.00  3.00      .  0.124  0.120

     1  'five wavelength'  1.3857 1.3857  20.00  4.00      .  0.075  0.027
     1  'five wavelength'  1.3857 1.3852  20.00  4.00  0.041      .
     1  'five wavelength'  1.3857 1.3847  20.00  4.00  0.060      .
     1  'five wavelength'  1.3857 1.3784  20.00  4.00  0.057      .
     1  'five wavelength'  1.3857 1.2862  20.00  4.00  0.072      .
     1  'five wavelength'  1.3852 1.3852  20.00  4.00      .  0.105  0.032
     1  'five wavelength'  1.3852 1.3847  20.00  4.00  0.036      .
     1  'five wavelength'  1.3852 1.3784  20.00  4.00  0.044      .
     1  'five wavelength'  1.3852 1.2862  20.00  4.00  0.065      .
     1  'five wavelength'  1.3847 1.3847  20.00  4.00      .  0.072  0.031
     1  'five wavelength'  1.3847 1.3784  20.00  4.00  0.040      .
     1  'five wavelength'  1.3847 1.2862  20.00  4.00  0.059      .
     1  'five wavelength'  1.3784 1.3784  20.00  4.00      .  0.059  0.032
     1  'five wavelength'  1.3784 1.2862  20.00  4.00  0.059      .
     1  'five wavelength'  1.2862 1.3847  20.00  4.00      .  0.058  0.028

     1  'five wavelength'  1.3857 1.3857   4.00  3.00      .  0.078  0.075
     1  'five wavelength'  1.3857 1.3852   4.00  3.00  0.059      .
     1  'five wavelength'  1.3857 1.3847   4.00  3.00  0.067      .
     1  'five wavelength'  1.3857 1.3784   4.00  3.00  0.084      .
     1  'five wavelength'  1.3857 1.2862   4.00  3.00  0.073      .
     1  'five wavelength'  1.3852 1.3852   4.00  3.00      .  0.101  0.088
     1  'five wavelength'  1.3852 1.3847   4.00  3.00  0.066      .
     1  'five wavelength'  1.3852 1.3784   4.00  3.00  0.082      .
     1  'five wavelength'  1.3852 1.2862   4.00  3.00  0.085      .
     1  'five wavelength'  1.3847 1.3847   4.00  3.00      .  0.097  0.074
     1  'five wavelength'  1.3847 1.3784   4.00  3.00  0.081      .
     1  'five wavelength'  1.3847 1.2862   4.00  3.00  0.085      .
     1  'five wavelength'  1.3784 1.3784   4.00  3.00      .  0.114  0.089
     1  'five wavelength'  1.3784 1.2862   4.00  3.00  0.103      .
     1  'five wavelength'  1.2862 1.2862   4.00  3.00      .  0.062  0.060

     2  'five wavelength'  0.7263 0.7263  15.00  3.00      .  0.035  0.026
     2  'five wavelength'  0.7263 0.7251  15.00  3.00  0.028      .
     2  'five wavelength'  0.7263 0.7284  15.00  3.00  0.023      .
     2  'five wavelength'  0.7263 0.7246  15.00  3.00  0.025      .
     2  'five wavelength'  0.7263 0.7217  15.00  3.00  0.026      .
     2  'five wavelength'  0.7251 0.7251  15.00  3.00      .  0.060  0.026
     2  'five wavelength'  0.7251 0.7284  15.00  3.00  0.029      .
     2  'five wavelength'  0.7251 0.7246  15.00  3.00  0.031      .
     2  'five wavelength'  0.7251 0.7217  15.00  3.00  0.035      .
     2  'five wavelength'  0.7284 0.7284  15.00  3.00      .  0.075  0.030
     2  'five wavelength'  0.7284 0.7246  15.00  3.00  0.023      .
     2  'five wavelength'  0.7284 0.7217  15.00  3.00  0.027      .
     2  'five wavelength'  0.7246 0.7246  15.00  3.00      .  0.069  0.026
     2  'five wavelength'  0.7246 0.7217  15.00  3.00  0.024      .
     2  'five wavelength'  0.7217 0.7284  15.00  3.00      .  0.060  0.028

     2  'five wavelength'  0.7263 0.7263   3.00  1.90      .  0.060  0.050
     2  'five wavelength'  0.7263 0.7251   3.00  1.90  0.056      .
     2  'five wavelength'  0.7263 0.7284   3.00  1.90  0.055      .
     2  'five wavelength'  0.7263 0.7246   3.00  1.90  0.053      .
     2  'five wavelength'  0.7263 0.7217   3.00  1.90  0.056      .
     2  'five wavelength'  0.7251 0.7251   3.00  1.90      .  0.089  0.050
     2  'five wavelength'  0.7251 0.7284   3.00  1.90  0.054      .
     2  'five wavelength'  0.7251 0.7246   3.00  1.90  0.058      .
     2  'five wavelength'  0.7251 0.7217   3.00  1.90  0.063      .
     2  'five wavelength'  0.7284 0.7284   3.00  1.90      .  0.104  0.057
     2  'five wavelength'  0.7284 0.7246   3.00  1.90  0.052      .
     2  'five wavelength'  0.7284 0.7217   3.00  1.90  0.057      .
     2  'five wavelength'  0.7246 0.7246   3.00  1.90      .  0.098  0.052
     2  'five wavelength'  0.7246 0.7217   3.00  1.90  0.054      .
     2  'five wavelength'  0.7217 0.7284   3.00  1.90      .  0.089  0.060
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MAD_ratio.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data used for this comparison of Bijvoet differences.
               This is the smallest d value.
;
    _item.name                  '_phasing_MAD_ratio.d_res_high'
    _item.category_id             phasing_MAD_ratio
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_ratio.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data used for this comparison of Bijvoet differences.
               This is the largest d value.
;
    _item.name                  '_phasing_MAD_ratio.d_res_low'
    _item.category_id             phasing_MAD_ratio
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_ratio.expt_id
    _item_description.description
;              This data item is a pointer to _phasing_MAD_expt.id in the
               PHASING_MAD_EXPT category.
;
    _item.name                  '_phasing_MAD_ratio.expt_id'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_ratio.clust_id
    _item_description.description
;              This data item is a pointer to _phasing_MAD_clust.id in
               the PHASING_MAD_CLUST category.
;
    _item.name                  '_phasing_MAD_ratio.clust_id'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_ratio.ratio_one_wl
    _item_description.description
;              The root mean square Bijvoet difference at one wavelength for
               all reflections.
;
    _item.name                  '_phasing_MAD_ratio.ratio_one_wl'
    _item.category_id             phasing_MAD_ratio
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_ratio.ratio_one_wl_centric
    _item_description.description
;              The root mean square Bijvoet difference at one wavelength for
               centric reflections. This would be equal to zero for perfect
               data, and thus serves as an estimate of the noise in the
               anomalous signals.
;
    _item.name                  '_phasing_MAD_ratio.ratio_one_wl_centric'
    _item.category_id             phasing_MAD_ratio
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_ratio.ratio_two_wl
    _item_description.description
;              The root mean square dispersive Bijvoet difference between
               to wavelengths for all reflections.
;
    _item.name                  '_phasing_MAD_ratio.ratio_two_wl'
    _item.category_id             phasing_MAD_ratio
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_ratio.wavelength_1
    _item_description.description
;              This data item is a pointer to _phasing_MAD_set.wavelength in
               the PHASING_MAD_SET category.
;
    _item.name                  '_phasing_MAD_ratio.wavelength_1'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_ratio.wavelength_2
    _item_description.description
;              This data item is a pointer to _phasing_MAD_set.wavelength in
               the PHASING_MAD_SET category.
;
    _item.name                  '_phasing_MAD_ratio.wavelength_2'
    _item.mandatory_code          yes
     save_

#####################
## PHASING_MAD_SET ##
#####################

save_PHASING_MAD_SET
    _category.description
;              Data items in the PHASING_MAD_SET category record
               details about the individual data sets used in a MAD phasing
               experiment.
;
    _category.id                  phasing_MAD_set
    _category.mandatory_code      no
    _category_key.name          '_phasing_MAD_set.expt_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Shapiro et al. Nature 374: 327-337 (1995)
;
;
     loop_
    _phasing_MAD_set.expt_id
    _phasing_MAD_set.clust_id
    _phasing_MAD_set.set_id
    _phasing_MAD_set.wavelength
    _phasing_MAD_set.wavelength_details
    _phasing_MAD_set.d_res_low
    _phasing_MAD_set.d_res_high
    _phasing_MAD_set.f_prime
    _phasing_MAD_set.f_double_prime
      1  'four wavelength'  aa  1.4013  'pre-edge'         20.00   3.00
                                                          -12.48   3.80
      1  'four wavelength'  bb  1.3857  'peak'             20.00   3.00
                                                          -31.22  17.20
      1  'four wavelength'  cc  1.3852  'edge'             20.00   3.00
                                                          -13.97  29.17
      1  'four wavelength'  dd  1.3847  'remote'           20.00   3.00
                                                           -6.67  17.34
      1  'five wavelength'  ee  1.3857  'ascending edge'   20.00   3.00
                                                          -28.33  14.84
      1  'five wavelength'  ff  1.3852  'peak'             20.00   3.00
                                                          -21.50  30.23
      1  'five wavelength'  gg  1.3847  'descending edge'  20.00   3.00
                                                          -10.71  20.35
      1  'five wavelength'  hh  1.3784  'remote 1'         20.00   3.00
                                                          -14.45  11.84
      1  'five wavelength'  ii  1.2862  'remote 2'         20.00   3.00
                                                           -9.03   9.01
      2  'five wavelength'  jj  0.7263  'pre-edge'         15.00   1.90
                                                          -21.10   4.08
      2  'five wavelength'  kk  0.7251  'edge'             15.00   1.90
                                                          -34.72   7.92
      2  'five wavelength'  ll  0.7248  'peak'             15.00   1.90
                                                          -24.87  10.30
      2  'five wavelength'  mm  0.7246  'descending edge'  15.00   1.90
                                                          -17.43   9.62
      2  'five wavelength'  nn  0.7217  'remote'           15.00   1.90
                                                          -13.26   8.40
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MAD_set.clust_id
    _item_description.description
;              This data item is a pointer to _phasing_MAD_clust.id in
               the PHASING_MAD_CLUST category.
;
    _item.name                  '_phasing_MAD_set.clust_id'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_set.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data used for this set of data. This is the smallest
               d value.
;
    _item.name                  '_phasing_MAD_set.d_res_high'
    _item.category_id             phasing_MAD_set
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_set.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data used for this set of data. This is the largest
               d value.
;
    _item.name                  '_phasing_MAD_set.d_res_low'
    _item.category_id             phasing_MAD_set
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_set.expt_id
    _item_description.description
;              This data item is a pointer to _phasing_MAD_expt.id in the
               PHASING_MAD_EXPT category.
;
    _item.name                  '_phasing_MAD_set.expt_id'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_set.f_double_prime
    _item_description.description
;              The f'' component of the anomalous scattering factor for this
               wavelength.
;
    _item.name                  '_phasing_MAD_set.f_double_prime'
    _item.category_id             phasing_MAD_set
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_set.f_prime
    _item_description.description
;              The f' component of the anomalous scattering factor for this
               wavelength.
;
    _item.name                  '_phasing_MAD_set.f_prime'
    _item.category_id             phasing_MAD_set
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MAD_set.set_id
    _item_description.description
;              This data item is a pointer to _phasing_set.id in the
               PHASING_SET category.
;
    _item.name                  '_phasing_MAD_set.set_id'
    _item.mandatory_code          yes
     save_

save__phasing_MAD_set.wavelength
    _item_description.description
;              The wavelength at which this data set was measured.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_phasing_MAD_set.wavelength'      phasing_MAD_set    yes
               '_phasing_MAD_ratio.wavelength_1'  phasing_MAD_ratio  yes
               '_phasing_MAD_ratio.wavelength_2'  phasing_MAD_ratio  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_phasing_MAD_ratio.wavelength_1'  '_phasing_MAD_set.wavelength'
               '_phasing_MAD_ratio.wavelength_2'  '_phasing_MAD_set.wavelength'
    _item_type.code               float
     save_

save__phasing_MAD_set.wavelength_details
    _item_description.description
;              A descriptor for this wavelength in this cluster of data sets.
;
    _item.name                  '_phasing_MAD_set.wavelength_details'
    _item.category_id             phasing_MAD_set
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'peak'
                                 'remote'
                                 'ascending edge'
     save_

#################
## PHASING_MIR ##
#################

save_PHASING_MIR
    _category.description
;              Data items in the PHASING_MIR category record details about
               the phasing of the structure, when methods involving isomorphous
               replacement are involved.

               All isomorphous based techniques are subsumed in this category,
               including single isomorphous replacement (SIR), multiple
               isomorphous replacement (MIR), single or multiple isomorphous
               replacement plus anomalous scattering (SIRAS, MIRAS).
;
    _category.id                  phasing_mir
    _category.mandatory_code      no
    _category_key.name          '_phasing_mir.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Zanotti et al., JBC 268: 10728-10738 (1993)
;
;
    _phasing_mir.method
    ; Standard phase refinement (Blow and Crick, 1959)
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_mir.details
    _item_description.description
;              A description of special aspects of the isomorphous phasing.
;
    _item.name                  '_phasing_mir.details'
    _item.category_id             phasing_mir
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__phasing_mir.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_phasing_mir.entry_id'
    _item.mandatory_code          yes
     save_

save__phasing_mir.method
    _item_description.description
;              A description of the MIR phasing method applied to phase this
               structure.

               Note that this is not the computer program used, which is
               described in the SOFTWARE category, but rather the method
               itself.

               Rather this data item should be used to describe significant
               methodological options used within the MIR phasing program.
;
    _item.name                  '_phasing_mir.method'
    _item.category_id             phasing_mir
    _item.mandatory_code          no
    _item_type.code               text
     save_

#####################
## PHASING_MIR_DER ##
#####################

save_PHASING_MIR_DER
    _category.description
;              Data items in the PHASING_MIR_DER category record details
               about individual derivatives used in the phasing of the
               structure when methods involving isomorphous replacement are
               involved.

               A derivative in this context does not necessarily equate with
               a data set; for instance, the same data set could be used to
               one resolution limit as an isomorphous scatterer and to a
               different resolution (and with a different sigma cutoff) as an
               anomalous scatterer. These would be treated as two distinct
               derivatives, although both derivatives would point to the same
               data sets via _phasing_MIR_der.der_set_id and
               _phasing_MIR_der.native_set_id.
;
    _category.id                  phasing_MIR_der
    _category.mandatory_code      no
    _category_key.name          '_phasing_MIR_der.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Zanotti et al., JBC 268: 10728-10738 (1993)
;
;
     loop_
    _phasing_MIR_der.id
    _phasing_MIR_der.number_of_sites
    _phasing_MIR_der.details
     KAu(CN)2  3  'major site interpreted in difference Patterson'
     K2HgI4    6  'sites found in cross-difference Fourier'
     K3IrCl6   2  'sites found in cross-difference Fourier'
     All      11  'data for all three derivatives combined'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MIR_der.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data used for this derivative. This is the smallest
               d value.
;
    _item.name                  '_phasing_MIR_der.d_res_high'
    _item.category_id             phasing_MIR_der
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data used for this derivative. This is the highest
               d value.
;
    _item.name                  '_phasing_MIR_der.d_res_low'
    _item.category_id             phasing_MIR_der
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der.der_set_id
    _item_description.description
;              The data set that was treated as the derivative in this
               experiment.

               This data item is a pointer to _phasing_set.id in the
               PHASING_SET category.
;
    _item.name                  '_phasing_MIR_der.der_set_id'
    _item.mandatory_code          yes
     save_

save__phasing_MIR_der.details
    _item_description.description
;              A description of special aspects of this derivative, its data,
               its solution, or its use in phasing.
;
    _item.name                  '_phasing_MIR_der.details'
    _item.category_id             phasing_MIR_der
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__phasing_MIR_der.id
    _item_description.description
;              The value of _phasing_MIR_der.id must uniquely identify
               a record in the PHASING_MIR_DER list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_phasing_MIR_der.id'            phasing_MIR_der        yes
               '_phasing_MIR_der_refln.der_id'  phasing_MIR_der_refln  yes
               '_phasing_MIR_der_shell.der_id'  phasing_MIR_der_shell  yes
               '_phasing_MIR_der_site.der_id'   phasing_MIR_der_site   yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_phasing_MIR_der_refln.der_id'  '_phasing_MIR_der.id'
               '_phasing_MIR_der_shell.der_id'  '_phasing_MIR_der.id'
               '_phasing_MIR_der_site.der_id'   '_phasing_MIR_der.id'
    _item_type.code               line
     loop_
    _item_examples.case          'KAu(CN)2'
                                 'K2HgI4_anom'
                                 'K2HgI4_iso'
     save_

save__phasing_MIR_der.native_set_id
    _item_description.description
;              The data set that was treated as the native in this
               experiment.

               This data item is a pointer to _phasing_set.id in the
               PHASING_SET category.
;
    _item.name                  '_phasing_MIR_der.native_set_id'
    _item.mandatory_code          yes
     save_

save__phasing_MIR_der.number_of_sites
    _item_description.description
;              The number of heavy atom sites in this derivative.
;
    _item.name                  '_phasing_MIR_der.number_of_sites'
    _item.category_id             phasing_MIR_der
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__phasing_MIR_der.reflns_criteria
    _item_description.description
;              Criteria used to limit the reflections used in the phasing
               calculations.
;
    _item.name                  '_phasing_MIR_der.reflns_criteria'
    _item.category_id             phasing_MIR_der
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          '> 4 \s(I)'
     save_

###########################
## PHASING_MIR_DER_REFLN ##
###########################

save_PHASING_MIR_DER_REFLN
    _category.description
;              Data items in the PHASING_MIR_DER_REFLN category record details
               about the calculated structure factors obtained in an MIR
               phasing experiment.

               This list may contain information from a number of different
               derivatives; _phasing_MIR_der_refln.der_id indicates to which
               derivative a given record corresponds. (A derivative in this
               context does not necessary equate with a data set; see the
               definition of the PHASING_MIR_DER dategory for a more
               thorough discussion of the meaning of derivative.)

               It is not necessary for the data items describing the measured
               value of F to appear in this list, as they will already have
               been given in the PHASING_SET_REFLN category. However, these
               items may also be listed here for completeness, if desired.
;
    _category.id                  phasing_MIR_der_refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_MIR_der_refln.index_h' 
                                '_phasing_MIR_der_refln.index_k' 
                                '_phasing_MIR_der_refln.index_l' 
                                '_phasing_MIR_der_refln.der_id'  
                                '_phasing_MIR_der_refln.set_id'  
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for (6,1,25) reflection
                obtained for a Hg/Pt derivative of protein NS1.
;
;
    _phasing_MIR_der_refln.index_h         6
    _phasing_MIR_der_refln.index_k         1
    _phasing_MIR_der_refln.index_l        25
    _phasing_MIR_der_refln.der_id         HGPT1
    _phasing_MIR_der_refln.set_id       'NS1-96'
    _phasing_MIR_der_refln.F_calc_au     106.66
    _phasing_MIR_der_refln.F_meas_au     204.67
    _phasing_MIR_der_refln.F_meas_sigma    6.21
    _phasing_MIR_der_refln.HL_A_iso       -3.15
    _phasing_MIR_der_refln.HL_B_iso       -0.76 
    _phasing_MIR_der_refln.HL_C_iso        0.65 
    _phasing_MIR_der_refln.HL_D_iso        0.23
    _phasing_MIR_der_refln.phase_calc    194.48
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MIR_der_refln.der_id
    _item_description.description
;              This data item is a pointer to _phasing_MIR_der.id in the
               PHASING_MIR_DER category.
;
    _item.name                  '_phasing_MIR_der_refln.der_id'
    _item.mandatory_code          yes
     save_

save__phasing_MIR_der_refln.F_calc
    _item_description.description
;              The calculated value of the structure factor for this derivative,
               in electrons.
;
    _item.name                  '_phasing_MIR_der_refln.F_calc'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_related.related_name  '_phasing_MIR_der_refln.F_calc_au'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__phasing_MIR_der_refln.F_calc_au
    _item_description.description
;              The calculated value of the structure factor for this derivative,
               in arbitrary units.
;
    _item.name                  '_phasing_MIR_der_refln.F_calc_au'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_related.related_name  '_phasing_MIR_der_refln.F_calc'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__phasing_MIR_der_refln.F_meas
    _item_description.description
;              The measured value of the structure factor for this derivative,
               in electrons.
;
    _item.name                  '_phasing_MIR_der_refln.F_meas'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_MIR_der_refln.F_meas_sigma'
                                  associated_esd
                                '_phasing_MIR_der_refln.F_meas_au'
                                  conversion_arbitrary
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              electrons
     save_

save__phasing_MIR_der_refln.F_meas_au
    _item_description.description
;              The measured value of the structure factor for this derivative,
               in arbitrary units.
;
    _item.name                  '_phasing_MIR_der_refln.F_meas_au'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_MIR_der_refln.F_meas_sigma_au'
                                  associated_esd
                                '_phasing_MIR_der_refln.F_meas'
                                  conversion_arbitrary
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              arbitrary
     save_

save__phasing_MIR_der_refln.F_meas_sigma
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_refln.F_meas, in electrons.
;
    _item.name                  '_phasing_MIR_der_refln.F_meas_sigma'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_MIR_der_refln.F_meas'
                                  associated_value
                                '_phasing_MIR_der_refln.F_meas_sigma_au'
                                  conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__phasing_MIR_der_refln.F_meas_sigma_au
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_refln.F_meas_au, in arbitrary units.
;
    _item.name                  '_phasing_MIR_der_refln.F_meas_sigma_au'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_MIR_der_refln.F_meas_au'
                                  associated_value
                                '_phasing_MIR_der_refln.F_meas_sigma'
                                  conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__phasing_MIR_der_refln.HL_A_iso
    _item_description.description
;              The isomorphous Hendrickson-Lattman coefficient A~iso~ for this
               reflection for this derivative.

                         -2.0 * (Fp~obs~^2^ + Fh~calc~^2^ - Fph~obs~^2^)
                              *  Fp~obs~ * cos(alphah~calc~)
               A~iso~ =  -----------------------------------------------
                                              E^2^

               E            = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^
                              for centric reflections
                            = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^
                              for acentric reflections

               Fp~obs~      = the observed structure factor amplitude of the
                              native
               Fph~obs~     = the observed structure factor amplitude of the
                              derivative
               Fh~calc~     = the calculated structure factor amplitude
                              from the heavy atom model
               alphah~calc~ = the calculated phase from the heavy atom model
;
    _item.name                  '_phasing_MIR_der_refln.HL_A_iso'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MIR_der_refln.HL_B_iso
    _item_description.description
;              The isomorphous Hendrickson-Lattman coefficient B~iso~ for this
               reflection for this derivative.

                         -2.0 * (Fp~obs~^2^ + Fh~calc~^2^ - Fph~obs~^2^)
                              *  Fp~obs~ * sin(alphah~calc~)
               B~iso~ =  -----------------------------------------------
                                              E^2^

               E            = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^
                              for centric reflections
                            = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^
                              for acentric reflections

               Fp~obs~      = the observed structure factor amplitude of the
                              native
               Fph~obs~     = the observed structure factor amplitude of the
                              derivative
               Fh~calc~     = the calculated structure factor amplitude
                              from the heavy atom model
               alphah~calc~ = the phase calculated from the heavy atom model
;
    _item.name                  '_phasing_MIR_der_refln.HL_B_iso'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MIR_der_refln.HL_C_iso
    _item_description.description
;              The isomorphous Hendrickson-Lattman coefficient C~iso~ for this
               reflection for this derivative.

                         -Fp~obs~^2^ * [sin(alphah~calc~)^2^
                                     -  cos(alphah~calc~)^2^]
               C~iso~ =  ------------------------------------
                                        E^2^

               E            = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^
                              for centric reflections
                            = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^
                              for acentric reflections

               Fp~obs~      = the observed structure factor amplitude of the
                              native
               Fph~obs~     = the observed structure factor amplitude of the
                              derivative
               Fh~calc~     = the calculated structure factor amplitude
                              from the heavy atom model
               alphah~calc~ = the phase calculated from the heavy atom model
;
    _item.name                  '_phasing_MIR_der_refln.HL_C_iso'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MIR_der_refln.HL_D_iso
    _item_description.description
;              The isomorphous Hendrickson-Lattman coefficient D~iso~ for this
               reflection for this derivative.

                         -2.0 * Fp~obs~^2^ * sin(alphah~calc~)^2^
                                           * cos(alphah~calc~)^2^
               D~iso~ =  ----------------------------------------
                                          E^2^

               E            = (Fph~obs~ - Fp~obs~ - Fh~calc~)^2^
                              for centric reflections
                            = [(Fph~obs~ - Fp~obs~) * 2^1/2^ - Fh~calc~]^2^
                              for acentric reflections

               Fp~obs~      = the observed structure factor amplitude of the
                              native
               Fph~obs~     = the observed structure factor amplitude of the
                              derivative
               Fh~calc~     = the calculated structure factor amplitude
                              from the heavy atom model
               alphah~calc~ = the phase calculated from the heavy atom model
;
    _item.name                  '_phasing_MIR_der_refln.HL_D_iso'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MIR_der_refln.index_h
    _item_description.description
;              Miller index h of the reflection.
;
    _item.name                  '_phasing_MIR_der_refln.index_h'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_refln.index_k'
                                '_phasing_MIR_der_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__phasing_MIR_der_refln.index_k
    _item_description.description
;              Miller index k of the reflection.
;
    _item.name                  '_phasing_MIR_der_refln.index_k'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_refln.index_h'
                                '_phasing_MIR_der_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__phasing_MIR_der_refln.index_l
    _item_description.description
;              Miller index l of the reflection.
;
    _item.name                  '_phasing_MIR_der_refln.index_l'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_refln.index_h'
                                '_phasing_MIR_der_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__phasing_MIR_der_refln.phase_calc
    _item_description.description
;              The calculated value of the structure-factor phase, based on the
               heavy atom model, for this derivative, in degrees.
;
    _item.name                  '_phasing_MIR_der_refln.phase_calc'
    _item.category_id             phasing_MIR_der_refln
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__phasing_MIR_der_refln.set_id
    _item_description.description
;              This data item is a pointer to _phasing_set.id in the
               PHASING_SET category.
;
    _item.name                  '_phasing_MIR_der_refln.set_id'
    _item.mandatory_code          yes
     save_

###########################
## PHASING_MIR_DER_SHELL ##
###########################

save_PHASING_MIR_DER_SHELL
    _category.description
;              Data items in the PHASING_MIR_DER_SHELL category record
               statistics, broken down into shells of resolution, for an MIR
               phasing experiment.

               This list may contain information from a number of different
               derivatives; _phasing_MIR_der_shell.der_id indicates to which
               derivative a given record corresponds. (A derivative in this
               context does not necessary equate with a data set; see the
               definition of the PHASING_MIR_DER dategory for a more
               thorough discussion of the meaning of derivative.)
;
    _category.id                  phasing_MIR_der_shell
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_MIR_der_shell.der_id'
                                '_phasing_MIR_der_shell.d_res_low'
                                '_phasing_MIR_der_shell.d_res_high'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Zanotti et al., JBC 268: 10728-10738 (1993)
                made up arbitrary low-resolution limit
;
;
     loop_
    _phasing_MIR_der_shell.der_id
    _phasing_MIR_der_shell.d_res_low
    _phasing_MIR_der_shell.d_res_high
    _phasing_MIR_der_shell.ha_ampl
    _phasing_MIR_der_shell.loc
     KAu(CN)2  15.0  8.3   54   26
     KAu(CN)2   8.3  6.4   54   20
     KAu(CN)2   6.4  5.2   50   20
     KAu(CN)2   5.2  4.4   44   23
     KAu(CN)2   4.4  3.8   39   23
     KAu(CN)2   3.8  3.4   33   21
     KAu(CN)2   3.4  3.0   28   17
     KAu(CN)2  15.0  3.0   38   21
     K2HgI4    15.0  8.3  149   87
     K2HgI4     8.3  6.4  121   73
     K2HgI4     6.4  5.2   95   61
     K2HgI4     5.2  4.4   80   60
     K2HgI4     4.4  3.8   73   63
     K2HgI4     3.8  3.4   68   57
     K2HgI4     3.4  3.0   63   46
     K2HgI4    15.0  3.0   79   58
     K3IrCl6   15.0  8.3   33   27
     K3IrCl6    8.3  6.4   40   23
     K3IrCl6    6.4  5.2   31   22
     K3IrCl6    5.2  4.4   27   23
     K3IrCl6    4.4  3.8   22   23
     K3IrCl6    3.8  3.4   19   20
     K3IrCl6    3.4  3.0   16   20
     K3IrCl6   15.0  3.0   23   21
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MIR_der_shell.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data for this derivative in this shell. This is the
               smallest d value.
;
    _item.name                  '_phasing_MIR_der_shell.d_res_high'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_shell.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data for this derivative in this shell. This is the
               highest d value.
;
    _item.name                  '_phasing_MIR_der_shell.d_res_low'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_shell.der_id
    _item_description.description
;              This data item is a pointer to _phasing_MIR_der.id in the
               PHASING_MIR_DER category.
;
    _item.name                  '_phasing_MIR_der_shell.der_id'
    _item.mandatory_code          yes
     save_

save__phasing_MIR_der_shell.fom
    _item_description.description
;              The mean value of the figure of merit m for reflections for this
               derivative in this shell.

                   int P~alpha~ exp(i*alpha) dalpha
               m = --------------------------------
                         int P~alpha~ dalpha

               P~a~ = the probability that phase angle a is correct

               int is taken over the range alpha = 0 to 2 pi.
;
    _item.name                  '_phasing_MIR_der_shell.fom'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.ha_ampl
    _item_description.description
;              The mean heavy-atom amplitude for reflections in this
               derivative in this shell.
;
    _item.name                  '_phasing_MIR_der_shell.ha_ampl'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.loc
    _item_description.description
;              The mean lack-of-closure error loc for reflections in this
               derivative in this shell.

               loc = sum|Fph~obs~ - Fph~calc~|

               Fph~obs~  = the observed structure factor amplitude of the
                           derivative
               Fph~calc~ = the calculated structure factor amplitude of the
                           derivative

               sum is taken over the specified reflections
;
    _item.name                  '_phasing_MIR_der_shell.loc'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.phase
    _item_description.description
;              The mean of the phase values for reflections in this
               derivative in this shell.
;
    _item.name                  '_phasing_MIR_der_shell.phase'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.power
    _item_description.description
;              The mean phasing power P for reflections in this derivative
               in this shell.

                          sum|Fh~calc~^2^|
               P = (----------------------------)^1/2^
                    sum|Fph~obs~ - Fph~calc~|^2^  

               Fph~obs~  = the observed structure factor amplitude of the
                           derivative
               Fph~calc~ = the calculated structure factor amplitude of the
                           derivative
               Fh~calc~  = the calculated structure factor amplitude from the
                           heavy atom model

               sum is taken over the specified reflections
;
    _item.name                  '_phasing_MIR_der_shell.power'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.R_cullis
    _item_description.description
;              Residual factor R~cullis~ for centric reflections in this
               derivative in this shell.

                           sum| |Fph~obs~ +/- Fp~obs~| - Fh~calc~ |
               R~cullis~ = ----------------------------------------
                                   sum|Fph~obs~ - Fp~obs~|

               Fp~obs~  = the observed structure factor amplitude of the native
               Fph~obs~ = the observed structure factor amplitude of the
                          derivative
               Fh~calc~ = the calculated structure factor amplitude from the
                          heavy atom model

               sum is taken over the specified reflections

               Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G.
                    & North, A. C. T. (1961). Proc. Roy. Soc. A265, 15-38.
;
    _item.name                  '_phasing_MIR_der_shell.R_cullis'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.R_kraut
    _item_description.description
;              Residual factor R~kraut~ for general reflections in this
               derivative in this shell.

                          sum|Fph~obs~ - Fph~calc~|
               R~kraut~ = -------------------------
                                sum|Fph~obs~|

               Fph~obs~  = the observed structure factor amplitude of the
                           derivative
               Fph~calc~ = the calculated structure factor amplitude of the
                           derivative

               sum is taken over the specified reflections

               Ref: Kraut, J., Sieker, L. C., High, D. F. & Freer, S. T.
                    (1962). Proc. Natl. Acad. Sci. USA, 48, 1417-14??.
;
    _item.name                  '_phasing_MIR_der_shell.R_kraut'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_der_shell.reflns
    _item_description.description
;              The number of reflections in this shell.
;
    _item.name                  '_phasing_MIR_der_shell.reflns'
    _item.category_id             phasing_MIR_der_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

##########################
## PHASING_MIR_DER_SITE ##
##########################

save_PHASING_MIR_DER_SITE
    _category.description
;              Data items in the PHASING_MIR_DER_SITE category record details
               about the heavy-atom sites in an MIR phasing experiment.

               This list may contain information from a number of different
               derivatives; _phasing_MIR_der_site.der_id indicates to which
               derivative a given record corresponds. (A derivative in this
               context does not necessary equate with a data set; see the
               definition of the PHASING_MIR_DER dategory for a more
               thorough discussion of the meaning of derivative.)
;
    _category.id                  phasing_MIR_der_site
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_MIR_der_site.der_id'
                                '_phasing_MIR_der_site.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Zanotti et al., JBC 268: 10728-10738 (1993)
                with occupancies converted from electrons to fractional
;
;
     loop_
    _phasing_MIR_der_site.der_id
    _phasing_MIR_der_site.id
    _phasing_MIR_der_site.atom_type_symbol
    _phasing_MIR_der_site.occupancy
    _phasing_MIR_der_site.fract_x
    _phasing_MIR_der_site.fract_y
    _phasing_MIR_der_site.fract_z
    _phasing_MIR_der_site.B_iso
     KAu(CN)2  1  Au  0.40  0.082  0.266  0.615  33.0
     KAu(CN)2  2  Au  0.03  0.607  0.217  0.816  25.9
     KAu(CN)2  3  Au  0.02  0.263  0.782  0.906  15.7
     K2HgI4    1  Hg  0.63  0.048  0.286  0.636  33.7
     K2HgI4    2  Hg  0.34  0.913  0.768  0.889  36.7
     K2HgI4    3  Hg  0.23  0.974  0.455  0.974  24.2
     K2HgI4    4  Hg  0.28  0.903  0.836  0.859  14.7
     K2HgI4    5  Hg  0.07  0.489  0.200  0.885   6.4
     K2HgI4    6  Hg  0.07  0.162  0.799  0.889  32.9
     K3IrCl6   1  Ir  0.26  0.209  0.739  0.758  40.8
     K3IrCl6   2  Ir  0.05  0.279  0.613  0.752  24.9
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MIR_der_site.atom_type_symbol
    _item_description.description
;              This data item is a pointer to _atom_type.symbol in the
               ATOM_TYPE category.

               The scattering factors referenced via this data item should be
               those used in the refinement of the heavy atom data; in some
               cases this is the scattering factor to the single heavy
               atom, in others these are the scattering factors for an atomic
               cluster.
;
    _item.name                  '_phasing_MIR_der_site.atom_type_symbol'
    _item.mandatory_code          yes
     save_

save__phasing_MIR_der_site.B_iso
    _item_description.description
;              Isotropic temperature factor for this heavy-atom site in this
               derivative.
;
    _item.name                  '_phasing_MIR_der_site.B_iso'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_related.related_name  '_phasing_MIR_der_site.B_iso_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.B_iso_esd
    _item_description.description
;              The estimated standard deviation of _phasing_MIR_der_site.B_iso.
;
    _item.name                  '_phasing_MIR_der_site.B_iso_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_phasing_MIR_der_site.B_iso'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.Cartn_x
    _item_description.description
;              The x coordinate of this heavy-atom position in this derivative
               specified as orthogonal angstroms. The orthogonal Cartesian axes
               are related to the cell axes as specified by the description
               given in _atom_sites.Cartn_transform_axes.
;
    _item.name                  '_phasing_MIR_der_site.Cartn_x'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.Cartn_y'
                                '_phasing_MIR_der_site.Cartn_z'
    _item_related.related_name  '_phasing_MIR_der_site.Cartn_x_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.Cartn_x_esd
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_site.Cartn_x.
;
    _item.name                  '_phasing_MIR_der_site.Cartn_x_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.Cartn_y_esd'
                                '_phasing_MIR_der_site.Cartn_z_esd'
    _item_related.related_name  '_phasing_MIR_der_site.Cartn_x'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.Cartn_y
    _item_description.description
;              The y coordinate of this heavy-atom position in this derivative
               specified as orthogonal angstroms. The orthogonal Cartesian axes
               are related to the cell axes as specified by the description
               given in _atom_sites.Cartn_transform_axes.
;
    _item.name                  '_phasing_MIR_der_site.Cartn_y'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.Cartn_x'
                                '_phasing_MIR_der_site.Cartn_z'
    _item_related.related_name  '_phasing_MIR_der_site.Cartn_y_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.Cartn_y_esd
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_site.Cartn_y.
;
    _item.name                  '_phasing_MIR_der_site.Cartn_y_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.Cartn_x_esd'
                                '_phasing_MIR_der_site.Cartn_z_esd'
    _item_related.related_name  '_phasing_MIR_der_site.Cartn_y'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.Cartn_z
    _item_description.description
;              The z coordinate of this heavy-atom position in this derivative
               specified as orthogonal angstroms. The orthogonal Cartesian axes
               are related to the cell axes as specified by the description
               given in _atom_sites.Cartn_transform_axes.
;
    _item.name                  '_phasing_MIR_der_site.Cartn_z'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.Cartn_x'
                                '_phasing_MIR_der_site.Cartn_y'
    _item_related.related_name  '_phasing_MIR_der_site.Cartn_z_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         cartesian_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.Cartn_z_esd
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_site.Cartn_z.
;
    _item.name                  '_phasing_MIR_der_site.Cartn_z_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.Cartn_x_esd'
                                '_phasing_MIR_der_site.Cartn_y_esd'
    _item_related.related_name  '_phasing_MIR_der_site.Cartn_z'
    _item_related.function_code   associated_value
    _item_sub_category.id         cartesian_coordinate_esd
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_der_site.der_id
    _item_description.description
;              This data item is a pointer to _phasing_MIR_der.id in the
               PHASING_MIR_DER category.
;
    _item.name                  '_phasing_MIR_der_site.der_id'
    _item.mandatory_code          yes
     save_

save__phasing_MIR_der_site.details
    _item_description.description
;              A description of special aspects of the derivative site.
;
    _item.name                  '_phasing_MIR_der_site.details'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'binds to His 117'
                                 'minor site obtained from difference Fourier'
                                 'same as site 2 in the K2HgI4 derivative'
     save_

save__phasing_MIR_der_site.fract_x
    _item_description.description
;              The x coordinate of this heavy-atom position in this derivative
               specified as a fraction of _cell.length_a.
;
    _item.name                  '_phasing_MIR_der_site.fract_x'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.fract_y'
                                '_phasing_MIR_der_site.fract_z'
    _item_related.related_name  '_phasing_MIR_der_site.fract_x_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         fractional_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__phasing_MIR_der_site.fract_x_esd
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_site.fract_x.
;
    _item.name                  '_phasing_MIR_der_site.fract_x_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.fract_y_esd'
                                '_phasing_MIR_der_site.fract_z_esd'
    _item_related.related_name  '_phasing_MIR_der_site.fract_x'
    _item_related.function_code   associated_value
    _item_sub_category.id         fractional_coordinate_esd
    _item_type.code               float
     save_

save__phasing_MIR_der_site.fract_y
    _item_description.description
;              The y coordinate of this heavy-atom position in this derivative
               specified as a fraction of _cell.length_b.
;
    _item.name                  '_phasing_MIR_der_site.fract_y'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.fract_x'
                                '_phasing_MIR_der_site.fract_z'
    _item_related.related_name  '_phasing_MIR_der_site.fract_y_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         fractional_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__phasing_MIR_der_site.fract_y_esd
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_site.fract_y.
;
    _item.name                  '_phasing_MIR_der_site.fract_y_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.fract_x_esd'
                                '_phasing_MIR_der_site.fract_z_esd'
    _item_related.related_name  '_phasing_MIR_der_site.fract_y'
    _item_related.function_code   associated_value
    _item_sub_category.id         fractional_coordinate_esd
    _item_type.code               float
     save_

save__phasing_MIR_der_site.fract_z
    _item_description.description
;              The z coordinate of this heavy-atom position in this derivative
               specified as a fraction of _cell.length_c.
;
    _item.name                  '_phasing_MIR_der_site.fract_z'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.fract_x'
                                '_phasing_MIR_der_site.fract_y'
    _item_related.related_name  '_phasing_MIR_der_site.fract_z_esd'
    _item_related.function_code   associated_esd
    _item_sub_category.id         fractional_coordinate
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__phasing_MIR_der_site.fract_z_esd
    _item_description.description
;              The estimated standard deviation of
               _phasing_MIR_der_site.fract_z.
;
    _item.name                  '_phasing_MIR_der_site.fract_z_esd'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           0.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_MIR_der_site.fract_x_esd'
                                '_phasing_MIR_der_site.fract_y_esd'
    _item_related.related_name  '_phasing_MIR_der_site.fract_z'
    _item_related.function_code   associated_value
    _item_sub_category.id         fractional_coordinate_esd
    _item_type.code               float
     save_

save__phasing_MIR_der_site.id
    _item_description.description
;              The value of _phasing_MIR_der_site.id must uniquely identify each
               site in each derivative in the PHASING_MIR_DER_SITE list.

               The atom identifiers need not be unique over all sites in all
               derivatives; they need only be unique for each site in each
               derivative.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_phasing_MIR_der_site.id'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__phasing_MIR_der_site.occupancy
    _item_description.description
;              The fraction of the atom type present at this heavy-atom site
               in a given derivative. The sum of the occupancies of all the
               atom types at this site may not significantly exceed 1.0 unless
               it is a dummy site.
;
    _item.name                  '_phasing_MIR_der_site.occupancy'
    _item.category_id             phasing_MIR_der_site
    _item.mandatory_code          no
    _item_default.value           1.0
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

#######################
## PHASING_MIR_SHELL ##
#######################

save_PHASING_MIR_SHELL
    _category.description
;              Data items in the PHASING_MIR_SHELL category record details
               broken down into shells of resolution, when the phasing method
               involves isomorphous replacement.
;
    _category.id                  phasing_MIR_shell
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_MIR_shell.d_res_low'
                                '_phasing_MIR_shell.d_res_high'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on Zanotti et al., JBC 268: 10728-10738 (1993)
                made up arbitrary low-resolution limit
;
;
     loop_
    _phasing_MIR_shell.d_res_low
    _phasing_MIR_shell.d_res_high
    _phasing_MIR_shell.reflns
    _phasing_MIR_shell.fom
     15.0  8.3   80  0.69
      8.3  6.4  184  0.73
      6.4  5.2  288  0.72
      5.2  4.4  406  0.65
      4.4  3.8  554  0.54
      3.8  3.4  730  0.53
      3.4  3.0  939  0.50
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_MIR_shell.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data in this shell. This is the smallest d value.
               Note that the resolution limits of shells in the items
               _phasing_MIR_shell.d_res_high and _phasing_MIR_shell.d_res_low
               are independent of the resolution limits of shells in the items
               _reflns_shell.d_res_high and _reflns_shell.d_res_low.
;
    _item.name                  '_phasing_MIR_shell.d_res_high'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_shell.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data in this shell. This is the largest d value.
               Note that the resolution limits of shells in the items
               _phasing_MIR_shell.d_res_high and _phasing_MIR_shell.d_res_low
               are independent of the resolution limits of shells in the items
               _reflns_shell.d_res_high and _reflns_shell.d_res_low.
;
    _item.name                  '_phasing_MIR_shell.d_res_low'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_MIR_shell.fom
    _item_description.description
;              The mean value of the figure of merit m for reflections in this
               shell.

                   int P~alpha~ exp(i*alpha) dalpha
               m = --------------------------------
                         int P~alpha~ dalpha

               P~a~ = the probability that phase angle a is correct

               int is taken over the range alpha = 0 to 2 pi.
;
    _item.name                  '_phasing_MIR_shell.fom'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_shell.loc
    _item_description.description
;              The mean lack-of-closure error loc for reflections in this shell.

               loc = sum|Fph~obs~ - Fph~calc~|

               Fph~obs~  = the observed structure factor amplitude of the
                           derivative
               Fph~calc~ = the calculated structure factor amplitude of the
                           derivative

               sum is taken over the specified reflections
;
    _item.name                  '_phasing_MIR_shell.loc'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_shell.mean_phase
    _item_description.description
;              The mean of the phase values for all reflections in this shell.
;
    _item.name                  '_phasing_MIR_shell.mean_phase'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__phasing_MIR_shell.power
    _item_description.description
;              The mean phasing power P for reflections in this shell.

                          sum|Fh~calc~^2^|
               P = (----------------------------)^1/2^
                    sum|Fph~obs~ - Fph~calc~|^2^

               Fph~obs~  = the observed structure factor amplitude of the
                           derivative
               Fph~calc~ = the calculated structure factor amplitude of the
                           derivative
               Fh~calc~  = the calculated structure factor amplitude from the
                           heavy atom model

               sum is taken over the specified reflections
;
    _item.name                  '_phasing_MIR_shell.power'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_shell.R_cullis
    _item_description.description
;              Residual factor R~cullis~ for centric reflections in this shell.

                           sum| |Fph~obs~ +/- Fp~obs~| - Fh~calc~ |
               R~cullis~ = ----------------------------------------
                                   sum|Fph~obs~ - Fp~obs~|

               Fp~obs~  = the observed structure factor amplitude of the native
               Fph~obs~ = the observed structure factor amplitude of the
                          derivative
               Fh~calc~ = the calculated structure factor amplitude from the
                          heavy atom model

               sum is taken over the specified reflections

               Ref: Cullis, A. F., Muirhead, H., Perutz, M. F., Rossmann, M. G.
                    & North, A. C. T. (1961). Proc. Roy. Soc. A265, 15-38.

;
    _item.name                  '_phasing_MIR_shell.R_cullis'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_shell.R_kraut
    _item_description.description
;              Residual factor R~kraut~ for general reflections in this shell.

                          sum|Fph~obs~ - Fph~calc~|
               R~kraut~ = -------------------------
                                sum|Fph~obs~|     

               Fph~obs~  = the observed structure factor amplitude of the
                           derivative
               Fph~calc~ = the calculated structure factor amplitude of the
                           derivative

               sum is taken over the specified reflections

               Ref: Kraut, J., Sieker, L. C., High, D. F. & Freer, S. T.
                    (1962). Proc. Natl. Acad. Sci. USA, 48, 1417-14??.

;
    _item.name                  '_phasing_MIR_shell.R_kraut'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__phasing_MIR_shell.reflns
    _item_description.description
;              The number of reflections in this shell.
;
    _item.name                  '_phasing_MIR_shell.reflns'
    _item.category_id             phasing_MIR_shell
    _item.mandatory_code          no
     loop_ 
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

#################
## PHASING_SET ##
#################

save_PHASING_SET
    _category.description
;              Data items in the PHASING_SET category record details about
               the data sets used in a phasing experiment. A given data set
               may be used in a number of different ways; for instance, a
               single data set could be used both as an isomorphous derivative
               and as a component of a multi-wavelength calculation. This
               category establishes identifiers for each data set, and permits
               the archiving of a subset of experimental information for each
               data set (cell constants, wavelength, temperature, etc.)

               This and related categories of data items are provided so that
               derivative intensity and phase information can be stored in
               the same data block as the information for the refined
               structure.

               If it is deemed desirable to archive all possible experimental
               information for each data set (raw data sets, crystal growth
               conditions, etc.) those data items should be recorded in a
               separate data block.
;
    _category.id                  phasing_set
    _category.mandatory_code      no
    _category_key.name          '_phasing_set.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for a Hg/Pt derivative of 
                protein NS1.
;
;
    _phasing_set.id                    'NS1-96'
    _phasing_set.cell_angle_alpha      90.0
    _phasing_set.cell_angle_beta       90.0
    _phasing_set.cell_angle_gamma      90.0
    _phasing_set.cell_length_a         38.63
    _phasing_set.cell_length_b         38.63
    _phasing_set.cell_length_c         82.88
    _phasing_set.radiation_wavelength  1.5145
    _phasing_set.detector_type         'image plate'
    _phasing_set.detector_specific     'RXII'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_set.cell_angle_alpha
    _item_description.description
;              Unit-cell angle alpha in degrees of the data set.
;
    _item.name                  '_phasing_set.cell_angle_alpha'
    _item.category_id             phasing_set
    _item.mandatory_code          no
    _item_default.value           90.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_set.cell_angle_beta'
                                '_phasing_set.cell_angle_gamma'
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_sub_category.id         cell_angle
    _item_type.code               float
    _item_units.code              degrees
     save_

save__phasing_set.cell_angle_beta
    _item_description.description
;              Unit-cell angle beta in degrees of the data set.
;
    _item.name                  '_phasing_set.cell_angle_beta'
    _item.category_id             phasing_set
    _item.mandatory_code          no
    _item_default.value           90.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_set.cell_angle_alpha'
                                '_phasing_set.cell_angle_gamma'
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_sub_category.id         cell_angle
    _item_type.code               float
    _item_units.code              degrees
     save_

save__phasing_set.cell_angle_gamma
    _item_description.description
;              Unit-cell angle gamma in degrees of the data set.
;
    _item.name                  '_phasing_set.cell_angle_gamma'
    _item.category_id             phasing_set
    _item.mandatory_code          no
    _item_default.value           90.0
     loop_
    _item_dependent.dependent_name
                                '_phasing_set.cell_angle_alpha'
                                '_phasing_set.cell_angle_beta'
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_sub_category.id         cell_angle
    _item_type.code               float
    _item_units.code              degrees
     save_

save__phasing_set.cell_length_a
    _item_description.description
;              Unit-cell length a corresponding to the data set.
;
    _item.name                  '_phasing_set.cell_length_a'
    _item.category_id             phasing_set
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_set.cell_length_b'
                                '_phasing_set.cell_length_c'
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_sub_category.id         cell_length
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_set.cell_length_b
    _item_description.description
;              Unit-cell length b corresponding to the data set.
;
    _item.name                  '_phasing_set.cell_length_b'
    _item.category_id             phasing_set
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_set.cell_length_a'
                                '_phasing_set.cell_length_c'
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_sub_category.id         cell_length
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_set.cell_length_c
    _item_description.description
;              Unit-cell length c corresponding to the data set.
;
    _item.name                  '_phasing_set.cell_length_c'
    _item.category_id             phasing_set
    _item.mandatory_code          no
     loop_
    _item_dependent.dependent_name
                                '_phasing_set.cell_length_a'
                                '_phasing_set.cell_length_b'
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_sub_category.id         cell_length
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_set.detector_specific
    _item_description.description
;              The particular radiation detector. In general this will be a
               manufacturer, description, model number or some combination of
               these.
;
    _item.name                  '_phasing_set.detector_specific'
    _item.category_id             phasing_set
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'Siemens model x'
                                 'Kodak XG'
                                 'MAR Research model y'
     save_

save__phasing_set.detector_type
    _item_description.description
;              The general class of the radiation detector.
;
    _item.name                  '_phasing_set.detector_type'
    _item.category_id             phasing_set
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'multiwire'
                                 'imaging plate'
                                 'CCD'
                                 'film'
     save_

save__phasing_set.id
    _item_description.description
;              The value of _phasing_set.id must uniquely identify
               a record in the PHASING_SET list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_phasing_set.id'                  phasing_set            yes
               '_phasing_set_refln.set_id'        phasing_set_refln      yes
               '_phasing_MAD_set.set_id'          phasing_MAD_set        yes
               '_phasing_MIR_der.der_set_id'      phasing_MIR_der        yes
               '_phasing_MIR_der.native_set_id'   phasing_MIR_der        yes
               '_phasing_MIR_der_refln.set_id'    phasing_MIR_der_refln  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_phasing_set_refln.set_id'        '_phasing_set.id'
               '_phasing_MAD_set.set_id'          '_phasing_set.id'
               '_phasing_MIR_der.der_set_id'      '_phasing_set.id'
               '_phasing_MIR_der.native_set_id'   '_phasing_set.id'
               '_phasing_MIR_der_refln.set_id'    '_phasing_set.id'
    _item_type.code               line
     loop_
    _item_examples.case          'KAu(CN)2'
                                 'K2HgI4'
     save_

save__phasing_set.radiation_source_specific
    _item_description.description
;              The particular source of radiation. In general this will be a
               manufacturer, description, or model number (or some combination
               of these) for laboratory sources and an institution name and
               beamline name for synchrotron sources.
;
    _item.name                  '_phasing_set.radiation_source_specific'
    _item.category_id             phasing_set
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'Rigaku RU200'
                                 'Philips fine focus Mo'
                                 'NSLS beamline X8C'
     save_

save__phasing_set.radiation_wavelength
    _item_description.description
;              The mean wavelength of radiation at which this data set was
               measured.
;
    _item.name                  '_phasing_set.radiation_wavelength'
    _item.category_id             phasing_set
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__phasing_set.temp
    _item_description.description
;              The temperature in kelvins at which the data set was
               measured.
;
    _item.name                  '_phasing_set.temp'
    _item.category_id             phasing_set
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              kelvins
     save_

#######################
## PHASING_SET_REFLN ##
#######################

save_PHASING_SET_REFLN
    _category.description
;              Data items in the PHASING_SET_REFLN category record the values
               of the measured structure factors used in a phasing experiment.
               This list may contain information from a number of different
               data sets; _phasing_set_refln.set_id indicated the data set
               to which a given record corresponds.
;
    _category.id                  phasing_set_refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_phasing_set_refln.index_h'
                                '_phasing_set_refln.index_k'
                                '_phasing_set_refln.index_l'
                                '_phasing_set_refln.set_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'phasing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for a Hg/Pt derivative of 
                protein NS1.  The example is given for the (15,15,32)
                reflection. 
;
;
    _phasing_set_refln.set_id           'NS1-96'
    _phasing_set_refln.index_h           15
    _phasing_set_refln.index_k           15
    _phasing_set_refln.index_l           32
    _phasing_set_refln.F_meas_au        181.79
    _phasing_set_refln.F_meas_sigma_au    3.72
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__phasing_set_refln.set_id
    _item_description.description
;              This data item is a pointer to _phasing_set.id in the
               PHASING_SET category.
;
    _item.name                  '_phasing_set_refln.set_id'
    _item.mandatory_code          yes
     save_

save__phasing_set_refln.F_meas
    _item_description.description
;              The measured value of the structure factor for this derivative,
               in electrons.
;
    _item.name                  '_phasing_set_refln.F_meas'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_set_refln.F_meas_sigma'
                                  associated_esd
                                '_phasing_set_refln.F_meas_au'
                                  conversion_arbitrary
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              electrons
     save_

save__phasing_set_refln.F_meas_au
    _item_description.description
;              The measured value of the structure factor for this derivative,
               in arbitrary units.
;
    _item.name                  '_phasing_set_refln.F_meas_au'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_set_refln.F_meas_sigma_au'
                                  associated_esd
                                '_phasing_set_refln.F_meas'
                                  conversion_arbitrary
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              arbitrary
     save_

save__phasing_set_refln.F_meas_sigma
    _item_description.description
;              The estimated standard deviation of _phasing_set_refln.F_meas, in
               electrons.
;
    _item.name                  '_phasing_set_refln.F_meas_sigma'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_set_refln.F_meas'
                                  associated_value
                                '_phasing_set_refln.F_meas_sigma_au'
                                  conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__phasing_set_refln.F_meas_sigma_au
    _item_description.description
;              The estimated standard deviation of _phasing_set_refln.F_meas_au,
               in arbitrary units.
;
    _item.name                  '_phasing_set_refln.F_meas_sigma_au'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_phasing_set_refln.F_meas_au'
                                  associated_value
                                '_phasing_set_refln.F_meas_sigma'
                                  conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__phasing_set_refln.index_h
    _item_description.description
;              Miller index h of the reflection.
;
    _item.name                  '_phasing_set_refln.index_h'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_phasing_set_refln.index_k'
                                '_phasing_set_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__phasing_set_refln.index_k
    _item_description.description
;              Miller index k of the reflection.
;
    _item.name                  '_phasing_set_refln.index_k'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_phasing_set_refln.index_h'
                                '_phasing_set_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__phasing_set_refln.index_l
    _item_description.description
;              Miller index l of the reflection.
;
    _item.name                  '_phasing_set_refln.index_l'
    _item.category_id             phasing_set_refln
    _item.mandatory_code          yes
     loop_
    _item_dependent.dependent_name
                                '_phasing_set_refln.index_h'
                                '_phasing_set_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

##########
## PUBL ##
##########

save_PUBL
    _category.description
;              Data items in the PUBL category are used when submitting a
               manuscript for publication.
;
    _category.id                  publ
    _category.mandatory_code      no
    _category_key.name          '_publ.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'iucr_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;    _publ.section_title
    ;
        trans-3-Benzoyl-2-(tert-butyl)-4-(iso-butyl)-1,3-oxazolidin-5-one
    ;

    _publ.section_abstract
    ;  The oxazolidinone ring is a shallow envelope
       conformation with the tert-butyl and iso-butyl groups
       occupying trans-positions with respect to the ring.  The
       angles at the N atom sum to 356.2\%, indicating a very
       small degree of pyramidalization at this atom.  This is
       consistent with electron delocalization between the N
       atom and the carbonyl centre [N-C=O = 1.374(3)\%A].
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on C~31~H~48~N~4~O~4~, reported by Coleman, Patrick,
                Andersen & Rettig [(1996). Acta Cryst. C52, 1525-1527.
;
;    _publ_section_title
    ;   Hemiasterlin Methyl Ester
    ;

    _publ_section_title_footnote
    ;   IUPAC name: methyl 2,5-dimethyl-4-{2-[3-methyl-
        2-methylamino-3-(N-methylbenzo[b]pyrrol-
        3-yl)butanamido]-3,3-dimethyl-N-methyl-
        butanamido}-2-hexenoate.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__publ.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_publ.entry_id'
    _item.mandatory_code          yes
     save_

save__publ.contact_author
    _item_description.description
;              The name and address of the author submitting the manuscript and
               data block. This is the person contacted by the journal
               editorial staff. It is preferable to use the separate data items
               _publ_contact_author_name and _publ_contact_author_address.
;
    _item.name                  '_publ.contact_author'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_author'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Professor George Ferguson
                                  Department of Chemistry and Biochemistry
                                  University of Guelph
                                  Ontario
                                  Canada
                                  N1G 2W1
;
     save_

save__publ.contact_author_address
    _item_description.description
;              The address of the author submitting the manuscript and data
               block. This is the person contacted by the journal editorial
               staff.
;
    _item.name                  '_publ.contact_author_address'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_author_address'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Department of Chemistry and Biochemistry
                                  University of Guelph
                                  Ontario
                                  Canada
                                  N1G 2W1

;
     save_

save__publ.contact_author_email
    _item_description.description
;              Email address in a form recognisable to international networks.
;
    _item.name                  '_publ.contact_author_email'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_author_email'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'name@host.domain.country'
                                 'uur5@banjo.bitnet'
     save_

save__publ.contact_author_fax
    _item_description.description
;              Facsimile telephone number of the author submitting the
               manuscript and data block.

               The recommended style includes the international dialing
               prefix, the area code in parentheses, followed by the
               local number with no spaces. The earlier convention of including
               the international dialing prefixes in parentheses is no longer
               recommended.
;
    _item.name                  '_publ.contact_author_fax'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_author_fax'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          '12(34)9477330'
                                 '12()349477330'
     save_

save__publ.contact_author_name
    _item_description.description
;              The name of the author submitting the manuscript and data
               block. This is the person contacted by the journal editorial
               staff.
;
    _item.name                  '_publ.contact_author_name'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_author_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Professor George Ferguson

;
     save_

save__publ.contact_author_phone
    _item_description.description
;              Telephone number of the author submitting the manuscript and
               data block.

               The recommended style includes the international dialing
               prefix, the area code in parentheses, followed by the
               local number and any extension number prefixed by 'x',
               with no spaces. The earlier convention of including
               the international dialing prefixes in parentheses is no longer
               recommended.
;
    _item.name                  '_publ.contact_author_phone'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_author_phone'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          '12(34)9477330'
                                 '12()349477330'
                                 '12(34)9477330x5543'
     save_

save__publ.contact_letter
    _item_description.description
;              A letter submitted to the journal editor by the contact author.
;
    _item.name                  '_publ.contact_letter'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_contact_letter'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.manuscript_creation
    _item_description.description
;              A description of the word processor package and computer used to
               create the word processed manuscript stored as
               _publ_manuscript_processed.
;
    _item.name                  '_publ.manuscript_creation'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_manuscript_creation'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case          'Tex file created by FrameMaker on a Sun 3/280'
     save_

save__publ.manuscript_processed
    _item_description.description
;              The full manuscript of a paper (excluding possibly the figures
               and the tables) output in ASCII characters from a word processor.
               Information about the generation of this data item must be
               specified in the data item _publ_manuscript_creation.
;
    _item.name                  '_publ.manuscript_processed'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_manuscript_processed'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.manuscript_text
    _item_description.description
;              The full manuscript of a paper (excluding figures and possibly
               the tables) output as standard ASCII text.
;
    _item.name                  '_publ.manuscript_text'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_manuscript_text'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.requested_category
    _item_description.description
;              The category of paper submitted. For submission to Acta
               Crystallographica Section C, ONLY those codes indicated for use
               with that journal should be used.
;
    _item.name                  '_publ.requested_category'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_requested_category'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           FA
    _item_type.code               line
     loop_
    _item_enumeration.value
    _item_enumeration.detail      FA 'Full article'
                                  FI 'Full submission - inorganic (Acta C)'
                                  FO 'Full submission - organic (Acta C)'
                                  FM 'Full submission - metal-organic (Acta C)'
                                  CI 'CIF-access paper - inorganic (Acta C)'
                                  CO 'CIF-access paper - organic (Acta C)'
                                  CM 'CIF-access paper - metal-organic (Acta C)'
                                  AD  'Addenda & Errata (Acta C)'
                                  SC 'Short Communication'
     save_

save__publ.requested_coeditor_name
    _item_description.description
;              The name of the Co-editor whom the authors would like to
               process the submitted manuscript.
;
    _item.name                  '_publ.requested_coeditor_name'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_requested_coeditor_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__publ.requested_journal
    _item_description.description
;              The name of the journal to which the manuscript is being
               submitted.
;
    _item.name                  '_publ.requested_journal'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_requested_journal'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     save_

save__publ.section_abstract
    _item_description.description
;              The abstract section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_abstract'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_abstract'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_acknowledgements
    _item_description.description
;              The acknowledgements section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_acknowledgements'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_acknowledgements'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_comment
    _item_description.description
;              The comment section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_comment'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_comment'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_discussion
    _item_description.description
;              The discussion section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_discussion'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_discussion'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_experimental
    _item_description.description
;              The experimental section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
               The _publ.section_exptl_prep, _publ.section_exptl_solution and
               _publ.section_exptl_refinement items are preferred for
               separating the chemical preparation, structure solution and
               refinement aspects of the experimental description.
;
    _item.name                  '_publ.section_experimental'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_experimental'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_exptl_prep
    _item_description.description
;              The experimental preparation section of a manuscript if the
               manuscript is submitted in parts. As an alternative see
               _publ.manuscript_text and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_exptl_prep'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_exptl_prep'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_exptl_refinement
    _item_description.description
;              The experimental refinement section of a manuscript if the
               manuscript is submitted in parts. As an alternative see
               _publ.manuscript_text and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_exptl_refinement'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_exptl_refinement'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_exptl_solution
    _item_description.description
;              The experimental solution section of a manuscript if the
               manuscript is submitted in parts. As an alternative see
               _publ.manuscript_text and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_exptl_solution'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_exptl_solution'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_figure_captions
    _item_description.description
;              The figure captions section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_figure_captions'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_figure_captions'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_introduction
    _item_description.description
;              The introduction section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_introduction'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_introduction'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_references
    _item_description.description
;              The references section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_references'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_references'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_synopsis
    _item_description.description
;              The synopsis section of a manuscript if the manuscript is
               submitted in parts. As an alternative see _publ.manuscript_text
               and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_synopsis'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_synopsis'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_table_legends
    _item_description.description
;              The table legends captions section of a manuscript if the
               manuscript is submitted in parts. As an alternative see
               _publ.manuscript_text and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_table_legends'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_table_legends'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_title
    _item_description.description
;              The title section of a manuscript if the manuscript is submitted
               in parts. As an alternative see _publ.manuscript_text and
               _publ_manuscript_processed.
;
    _item.name                  '_publ.section_title'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_title'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ.section_title_footnote
    _item_description.description
;              The title footnote section of a manuscript if the manuscript
               is submitted in parts. As an alternative see
               _publ.manuscript_text and _publ_manuscript_processed.
;
    _item.name                  '_publ.section_title_footnote'
    _item.category_id             publ
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_section_title_footnote'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

#################
## PUBL_AUTHOR ##
#################

save_PUBL_AUTHOR
    _category.description
;              Data items in the PUBL_AUTHOR category record details of
               the authors of a manuscript submitted for publication.
;
    _category.id                  publ_author
    _category.mandatory_code      no
    _category_key.name          '_publ_author.name'
     loop_
    _category_group.id           'inclusive_group'
                                 'iucr_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
     loop_
    _publ_author.name
    _publ_author.address
         'Willis, Anthony C.'
    ;     Research School of Chemistry
          Australian National University
          GPO Box 4
          Canberra, A.C.T.
          Australia    2601
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__publ_author.address
    _item_description.description
;              The address of a publication author. If there is more than one
               author this is looped with _publ_author.name.
;
    _item.name                  '_publ_author.address'
    _item.category_id             publ_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_author_address'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Department
                                  Institute
                                  Street
                                  City and postcode
                                  COUNTRY
;
     save_

save__publ_author.footnote
    _item_description.description
;              A footnote accompanying an author's name in the list of authors
               of a paper. Typically indicates sabbatical address, additional
               affiliations or date of decease.
;
    _item.name                  '_publ_author.footnote'
    _item.category_id             publ_author
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_author_footnote'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'On leave from U. Western Australia'
                                 'Also at Department of Biophysics'
     save_

save__publ_author.name
    _item_description.description
;              The name of a publication author. If there are multiple authors
               they will be looped with _publ_author_address. The family
               name(s), followed by a comma and including any dynastic
               components, precedes the first names or initials.
;
    _item.name                  '_publ_author.name'
    _item.category_id             publ_author
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_publ_author_name'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'Bleary, Percival R.'
                                 'O'Neil, F.K.'
                                 'Van den Bossche, G.'
                                 'Yang, D.-L.'
                                 'Simonov, Yu.A'
     save_

###############
## PUBL_BODY ##
###############

save_PUBL_BODY
    _category.description
;              Data items in the PUBL_BODY category permit labelling of
               different text sections within the body of a submitted paper.
               Note that these should not be used in a paper which has
               a standard format with sections tagged by specific data names
               (such as in Acta Crystallographica Section C). Typically,
               each journal will supply a list of the specific items it
               requires in its Notes for Authors.
;
    _category.id                  publ_body
    _category.mandatory_code      no
     loop_
    _category_key.name          '_publ_body.element'
                                '_publ_body.label'
     loop_
    _category_group.id           'inclusive_group'
                                 'iucr_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on a paper by R. Restori & D. Schwarzenbach (1996),
                Acta Cryst. A52, 369-378.
;
;
     loop_
    _publ_body.element
    _publ_body.label
    _publ_body.title
    _publ_body.format
    _publ_body.contents

         section   1         Introduction                                cif
    ; X-ray diffraction from a crystalline material provides
      information on the thermally and spatially averaged
      electron density in the crystal...
    ;
         section   2         Theory                                      tex
    ; In the rigid-atom approximation, the dynamic electron
      density of an atom is described by the convolution
      product of the static atomic density and a probability
      density function,
            $\rho_{dyn}(\bf r) = \rho_{stat}(\bf r) * P(\bf r).  \eqno(1) $
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on a paper by R. J. Papoular, Y. Vekhter & P. Coppens
                (1996), Acta Cryst. A52, 397-407.
;
;
     loop_
    _publ_body.element
    _publ_body.label
    _publ_body.title
    _publ_body.contents

         section        3
    ; The two-channel method for retrieval of the deformation
      electron density
    ;
         .
         subsection     3.1    'The two-channel entropy S[\D\r(r)]'
    ; As the wide dynamic range involved in the total electron density...
    ;
         subsection     3.2
    'Uniform vs informative prior model densities'        .
         subsubsection  3.2.1  'Use of uniform models'
    ; Straightforward algebra leads to expressions analogous to...
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__publ_body.contents
    _item_description.description
;              A text section of a submitted paper.
;
    _item.name                  '_publ_body.contents'
    _item.category_id             publ_body
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_body_contents'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__publ_body.element
    _item_description.description
;              The functional role of the associated text section.
;
    _item.name                  '_publ_body.element'
    _item.category_id             publ_body
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_body_element'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     loop_
    _item_enumeration.value      'section'
                                 'subsection'
                                 'subsubsection'
                                 'appendix'
                                 'footnote'

     save_

save__publ_body.format
    _item_description.description
;              Code indicating the appropriate typesetting conventions
               for accented characters and special symbols in the text
               section.
;
    _item.name                  '_publ_body.format'
    _item.category_id             publ_body
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_body_format'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     loop_
    _item_enumeration.value
    _item_enumeration.detail      ascii   'no coding for special symbols'
                                  cif     'CIF convention'
                                  latex   'LaTeX'
                                  sgml    'SGML (ISO 8879)'
                                  tex     'TeX'
                                  troff   'troff or nroff'
     save_

save__publ_body.label
    _item_description.description
;              Code identifying the section of text.
;
    _item.name                  '_publ_body.label'
    _item.category_id             publ_body
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_body_label'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     loop_
    _category_examples.case      '1'
                                 '1.1'
                                 '2.1.3'
     save_

save__publ_body.title
    _item_description.description
;              Title of the associated section of text.
;
    _item.name                  '_publ_body.title'
    _item.category_id             publ_body
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_body_title'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

##########################
## PUBL_MANUSCRIPT_INCL ##
##########################

save_PUBL_MANUSCRIPT_INCL
    _category.description
;              Data items in the PUBL_MANUSCRIPT_INCL category allow
               the authors of a manuscript submitted for publication to list
               data names that should be added to the standard request list
               employed by journal printing software.
;
    _category.id                  publ_manuscript_incl
    _category.mandatory_code      no
    _category_key.name          '_publ_manuscript_incl.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'iucr_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 4 - Example is completely hypothetical.
;
;
    _publ_manuscript_incl.entry_id    'EXAMHYPO'
     loop_
    _publ_manuscript_incl.extra_item
    _publ_manuscript_incl.extra_info
    _publ_manuscript_incl.extra_defn
   '_atom_site_symmetry_multiplicity' 'to emphasise very special sites'    yes
   '_chemical_compound_source'        'rare material from unusual source'  yes
   '_reflns_d_resolution_high'        'the limited data is a problem here' yes
   '_crystal_magnetic_permeability'   'a new data quantity needed here'     no
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__publ_manuscript_incl.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_publ_manuscript_incl.entry_id'
    _item.mandatory_code          yes
     save_

save__publ_manuscript_incl.extra_defn
    _item_description.description
;              Flags whether the corresponding data item marked for inclusion
               in a journal request list is a standard CIF definition or not
               (flags are 'yes' or 'no').
;
    _item.name                  '_publ_manuscript_incl.extra_defn'
    _item.category_id             publ_manuscript_incl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_manuscript_incl_extra_defn'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no
                                 'not a standard CIF data name'
                                  n
                                 'abbreviation for "no"'
                                  yes
                                 'a standard CIF data name'
                                  y
                                 'abbreviation for "yes"'
     save_

save__publ_manuscript_incl.extra_info
    _item_description.description
;              A short note indicating the reason why the author wishes the
               corresponding data item marked for inclusion in the journal
               request list to be published.
;
    _item.name                  '_publ_manuscript_incl.extra_info'
    _item.category_id             publ_manuscript_incl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_manuscript_incl_extra_info'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     loop_
    _item_examples.case          'to emphasise very special sites'
                                 'rare material from unusual source'
                                 'the limited data is a problem here'
                                 'a new data quantity needed here'
     save_

save__publ_manuscript_incl.extra_item
    _item_description.description
;              Specifies the inclusion of specific data into a manuscript
               which is not normally requested by the journal. The values
               of this item are the extra data names (which MUST be enclosed
               in single quotes) that will be added to the journal request list.
;
    _item.name                  '_publ_manuscript_incl.extra_item'
    _item.category_id             publ_manuscript_incl
    _item.mandatory_code          no
    _item_aliases.alias_name    '_publ_manuscript_incl_extra_item'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case         '_atom_site_symmetry_multiplicity'
                                '_chemical_compound_source'
                                '_reflns_d_resolution_high'
                                '_crystal_magnetic_permeability'
     save_

############
## REFINE ##
############

save_REFINE
    _category.description
;              Data items in the REFINE category record details about the
               structure refinement parameters.
;
    _category.id                  refine
    _category.mandatory_code      no
    _category_key.name          '_refine.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _refine.entry_id                       '5HVP'
    _refine.ls_number_reflns_obs           12901
    _refine.ls_number_restraints           6609
    _refine.ls_number_parameters           7032
    _refine.ls_R_Factor_obs                0.176
    _refine.ls_weighting_scheme            calc
    _refine.ls_weighting_details
    ; Sigdel model of Konnert-Hendrickson:
      Sigdel: Afsig +  Bfsig*(sin(theta)/lambda-1/6)
      Afsig = 22.0, Bfsig = -150.0 at the beginning of refinement.
      Afsig = 15.5, Bfsig =  -50.0 at the end of refinement.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _refine.details                    sfls:_F_calc_weight_full_matrix

    _refine.ls_structure_factor_coef   F
    _refine.ls_matrix_type             full
    _refine.ls_weighting_scheme        'calc w=1/(\s^2^(F)+0.0004F^2^)'
    _refine.ls_hydrogen_treatment      'refxyz except H332B noref'
    _refine.ls_extinction_method       Zachariasen
    _refine.ls_extinction_coef         3514(42)
    _refine.ls_extinction_expression
                'equ(22) p292 "Crystallographic Computing" (1970)'

    _refine.ls_abs_structure_details
    ;      The absolute configuration was assigned to agree with the known
           chirality at C3 arising from its precursor l-leucine.
    ;
    _refine.ls_abs_structure_Flack     0
    _refine.ls_number_reflns_obs       1408
    _refine.ls_number_parameters       272
    _refine.ls_number_restraints       0
    _refine.ls_number_constraints      0
    _refine.ls_R_factor_all               .038
    _refine.ls_R_factor_obs               .034
    _refine.ls_wR_factor_all              .044
    _refine.ls_wR_factor_obs              .042
    _refine.ls_goodness_of_fit_all       1.462
    _refine.ls_goodness_of_fit_obs       1.515
    _refine.ls_shift_over_esd_max         .535
    _refine.ls_shift_over_esd_mean        .044
    _refine.diff_density_min              -.108
    _refine.diff_density_max              .131
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine.aniso_B[1][1]
    _item_description.description
;              The [1][1] element of the matrix that defines the overall
               anisotropic thermal model, if one was refined for this
               structure.
;
    _item.name                  '_refine.aniso_B[1][1]'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.aniso_B[1][2]
    _item_description.description
;              The [1][2] element of the matrix that defines the overall
               anisotropic thermal model, if one was refined for this
               structure.
;
    _item.name                  '_refine.aniso_B[1][2]'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.aniso_B[1][3]
    _item_description.description
;              The [1][3] element of the matrix that defines the overall
               anisotropic thermal model, if one was refined for this
               structure.
;
    _item.name                  '_refine.aniso_B[1][3]'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.aniso_B[2][2]
    _item_description.description
;              The [2][2] element of the matrix that defines the overall
               anisotropic thermal model, if one was refined for this
               structure.
;
    _item.name                  '_refine.aniso_B[2][2]'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.aniso_B[2][3]
    _item_description.description
;              The [2][3] element of the matrix that defines the overall
               anisotropic thermal model, if one was refined for this
               structure.
;
    _item.name                  '_refine.aniso_B[2][3]'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.aniso_B[3][3]
    _item_description.description
;              The [3][3] element of the matrix that defines the overall
               anisotropic thermal model, if one was refined for this
               structure.
;
    _item.name                  '_refine.aniso_B[3][3]'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.B_iso_max
    _item_description.description
;              The maximum value for isotropic B value (temperature factors)
               found in the coordinate set.
;
    _item.name                  '_refine.B_iso_max'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.B_iso_mean
    _item_description.description
;              The mean value for isotropic B value (temperature factors)
               found in the coordinate set.
;
    _item.name                  '_refine.B_iso_mean'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.B_iso_min
    _item_description.description
;              The minimum value for isotropic B value (temperature factors)
               found in the coordinate set.
;
    _item.name                  '_refine.B_iso_min'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__refine.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_refine.entry_id'
    _item.mandatory_code          yes
     save_

save__refine.details
    _item_description.description
;              Description of special aspects of the refinement process.
;
    _item.name                  '_refine.details'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__refine.diff_density_max
    _item_description.description
;              The maximum value of the electron density in the final difference
               Fourier map.
;
    _item.name                  '_refine.diff_density_max'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_diff_density_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refine.diff_density_max_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              electrons_per_angstroms_cubed
     save_

save__refine.diff_density_max_esd
    _item_description.description
;              The estimated standard deviation of _refine.diff_density_max.
;
    _item.name                  '_refine.diff_density_max_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.diff_density_max'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              electrons_per_angstroms_cubed
     save_

save__refine.diff_density_min
    _item_description.description
;              The minimum value of the electron density in the final difference
               Fourier map.
;
    _item.name                  '_refine.diff_density_min'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_diff_density_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refine.diff_density_min_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              electrons_per_angstroms_cubed
     save_

save__refine.diff_density_min_esd
    _item_description.description
;              The estimated standard deviation of _refine.diff_density_min.
;
    _item.name                  '_refine.diff_density_min_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.diff_density_min'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              electrons_per_angstroms_cubed
     save_

save__refine.diff_density_rms
    _item_description.description
;              The root-mean-square-deviation of the electron density in the
               final difference Fourier map. This value is measured with respect
               to the arithmetic mean density, and is derived from summations
               over each grid point in the asymmetric unit of the cell. This
               quantity is useful for assessing the significance of the values
               of _refine.diff_density_min and _refine.diff_density_max, and
               also for defining suitable contour levels.
;
    _item.name                  '_refine.diff_density_rms'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_diff_density_rms'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refine.diff_density_rms_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              electrons_per_angstroms_cubed
     save_

save__refine.diff_density_rms_esd
    _item_description.description
;              The estimated standard deviation of _refine.diff_density_rms.
;
    _item.name                  '_refine.diff_density_rms_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.diff_density_rms'
    _item_related.function_code   associated_value
    _item_type.code               float
    _item_units.code              electrons_per_angstroms_cubed
     save_

save__refine.ls_abs_structure_details
    _item_description.description
;              The nature of the absolute structure and how it was determined.
               For example, it may describe the Friedel pairs used.
;
    _item.name                  '_refine.ls_abs_structure_details'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_abs_structure_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__refine.ls_abs_structure_Flack
    _item_description.description
;              The measure of absolute structure (enantiomorph or polarity) as
               defined by Flack. The value must be between 0. and 1. with a
               standard uncertainty (e.s.d.).

               Ref: Flack, H. D. (1983). Acta Cryst. A39, 876-881.
;
    _item.name                  '_refine.ls_abs_structure_Flack'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_abs_structure_Flack'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_abs_structure_Flack_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__refine.ls_abs_structure_Flack_esd
    _item_description.description
;              The estimated standard deviation of
               _refine.ls_abs_structure_Flack.
;
    _item.name                  '_refine.ls_abs_structure_Flack_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.ls_abs_structure_Flack'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__refine.ls_abs_structure_Rogers
    _item_description.description
;              The measure of absolute structure (enantiomorph or polarity) as
               defined by Rogers.

               Ref: Rogers, D. (1981). Acta Cryst. A37, 734-741.
;
    _item.name                  '_refine.ls_abs_structure_Rogers'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_abs_structure_Rogers'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refine.ls_abs_structure_Rogers_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__refine.ls_abs_structure_Rogers_esd
    _item_description.description
;              The estimated standard deviation of
               _refine.ls_abs_structure_Rogers.
;
    _item.name                  '_refine.ls_abs_structure_Rogers_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.ls_abs_structure_Rogers'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__refine.ls_d_res_high
    _item_description.description
;              The highest resolution in angstroms for the interplanar spacing
               in the reflection data used in refinement. This is the smallest
               d value.
;
    _item.name                  '_refine.ls_d_res_high'
    _item.category_id             refine
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refine_ls_d_res_high'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine.ls_d_res_low
    _item_description.description
;              The lowest resolution in ansgtroms for the interplanar spacing in
               the reflection data used in refinement. This is the largest d
               value.
;
    _item.name                  '_refine.ls_d_res_low'
    _item.category_id             refine
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refine_ls_d_res_low'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine.ls_extinction_coef
    _item_description.description
;              The extinction coefficient used to calculate the correction
               factor applied to the structure-factor data. The nature of the
               extinction coefficient is given in the definitions of
               _refine_ls_extinction_expression and
               _refine_ls_extinction_method.

               For the 'Zachariasen' method it is the r* value; for the
               'Becker-Coppens type 1 isotropic' method it is the 'g' value,
               and for 'Becker-Coppens type 2 isotropic' corrections it is
               the 'rho' value. Note that the magnitude of these values is
               usually of the order of 10000.

               Ref:  Becker, P. J. & Coppens, P. (1974). Acta Cryst. A30,
                     129-153.
                     Zachariasen, W. H. (1967). Acta Cryst. 23, 558-564.
                     Larson, A. C. (1967). Acta Cryst. 23, 664-665.
;
    _item.name                  '_refine.ls_extinction_coef'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_extinction_coef'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refine.ls_extinction_coef_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_examples.case           3472(52)
    _item_examples.detail        'Zachariasen coefficient r* = 0.347(5) E04'
     save_

save__refine.ls_extinction_coef_esd
    _item_description.description
;              The estimated standard deviation of _refine.ls_extinction_coef.
;
    _item.name                  '_refine.ls_extinction_coef_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.ls_extinction_coef'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__refine.ls_extinction_expression
    _item_description.description
;              A description or reference of the extinction correction equation
               used to apply the data item _refine.ls_extinction_coef. This
               information must be sufficient to reproduce the extinction
               correction factors applied to the structure factors.
;
    _item.name                  '_refine.ls_extinction_expression'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_extinction_expression'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Equation (22) p292 "Crystallographic
                                  Computing" Munksgaard 1970
;
     save_

save__refine.ls_extinction_method
    _item_description.description
;              A description of the extinction correction method applied with
               the data item _refine.ls_extinction_coef. This description should
               include information about the correction method, either
               'Becker-Coppens' or 'Zachariasen'  The latter is sometimes
               referred to as the 'Larson' method even though it employs
               Zachariasen's formula.

               The Becker-Coppens procedure is referred to as 'type 1' when
               correcting secondary extinction dominated by the mosaic spread;
               as 'type 2' when secondary extinction is dominated by particle
               size and includes a primary extinction component; and as 'mixed'
               when there is a mixture of types 1 and 2.

               For the Becker-Coppens method it is also necessary to set the
               mosaic distribution as either 'Gaussian' or 'Lorentzian'; and the
               nature of the extinction as 'isotropic' or 'anisotropic'. Note
               that if either the 'mixed' or 'anisotropic' corrections are
               applied the multiple coefficients cannot be contained in
               *_extinction_coef and must be listed in _refine.details.

               Ref: Becker, P. J. & Coppens, P. (1974). Acta Cryst. A30,
                    129-153.
                    Zachariasen, W. H. (1967). Acta Cryst. 23, 558- 564.
                    Larson, A. C. (1967). Acta Cryst. 23, 664-665.
;
    _item.name                  '_refine.ls_extinction_method'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_extinction_method'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           Zachariasen
    _item_type.code               text
    _item_examples.case          'B-C type 2 Gaussian isotropic'
     save_

save__refine.ls_goodness_of_fit_all
    _item_description.description
;              The least-squares goodness-of-fit parameter S for all data,
               after the final cycle of refinement. Ideally, account should be
               taken of parameters restrained in the least squares. See also
               the definition of _refine.ls_restrained_S_all.

                   ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               S = ( ---------------------------- )
                   (       N~ref~ - N~param~      )

               Y~obs~   = the observed coefficients
                          (see _refine.ls_structure_factor_coef)
               Y~calc~  = the calculated coefficients
                          (see _refine.ls_structure_factor_coef)
               w        = the least-squares reflection weight
                          [1/(e.s.d. squared)]

               N~ref~   = the number of reflections used in the refinement
               N~param~ = the number of refined parameters

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_goodness_of_fit_all'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_goodness_of_fit_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_goodness_of_fit_all_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__refine.ls_goodness_of_fit_all_esd
    _item_description.description
;              The estimated standard deviation of
               _refine.ls_goodness_of_fit_all.
;
    _item.name                  '_refine.ls_goodness_of_fit_all_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.ls_goodness_of_fit_all'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__refine.ls_goodness_of_fit_obs
    _item_description.description
;              The least-squares goodness-of-fit parameter S for reflection data
               classified as 'observed' (see _reflns.observed_criterion), after
               the final cycle of refinement. Ideally, account should be taken
               of parameters restrained in the least squares. See also the
               definition of _refine.ls_restrained_S_obs.

                   ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               S = ( ---------------------------- )
                   (       N~ref~ - N~param~      )

               Y~obs~   = the observed coefficients
                          (see _refine.ls_structure_factor_coef)
               Y~calc~  = the calculated coefficients
                          (see _refine.ls_structure_factor_coef)
               w        = the least-squares reflection weight
                          [1/(e.s.d. squared)]

               N~ref~   = the number of reflections used in the refinement
               N~param~ = the number of refined parameters

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_goodness_of_fit_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_goodness_of_fit_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_goodness_of_fit_obs_esd'
    _item_related.function_code   associated_esd
    _item_type.code               float
    _item_type_conditions.code    esd
     save_

save__refine.ls_goodness_of_fit_obs_esd
    _item_description.description
;              The estimated standard deviation of
               _refine.ls_goodness_of_fit_obs.
;
    _item.name                  '_refine.ls_goodness_of_fit_obs_esd'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_related.related_name  '_refine.ls_goodness_of_fit_obs'
    _item_related.function_code   associated_value
    _item_type.code               float
     save_

save__refine.ls_hydrogen_treatment
    _item_description.description
;              Treatment of hydrogen atoms in the least-squares refinement.
;
    _item.name                  '_refine.ls_hydrogen_treatment'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_hydrogen_treatment'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           undef
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      refall  'refined all H parameters'
                                  refxyz  'refined H coordinates only'
                                  refU    'refined H U only'
                                  noref   'no refinement of H parameters'
                                  constr  'H parameters constrained'
                                  mixed   'some constrained, some independent'
                                  undef   'H-atom parameters not defined'
     save_

save__refine.ls_matrix_type
    _item_description.description
;              Type of matrix used to accumulate the least-squares derivatives.
;
    _item.name                  '_refine.ls_matrix_type'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_matrix_type'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           full
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      full       'full'
                                  fullcycle
                                 'full with fixed elements per cycle'
                                  atomblock  'block diagonal per atom'
                                  userblock  'user-defined blocks'
                                  diagonal   'diagonal elements only'
                                  sparse     'selected elements only'
     save_

save__refine.ls_number_constraints
    _item_description.description
;              The number of constrained (non-refined or dependent) parameters
               in the least-squares process. These may be due to symmetry or any
               other constraint process (e.g. rigid-body refinement). See also
               _atom_site.constraints and _atom_site_refinement_flags. A general
               description of constraints may appear in _refine.details.
;
    _item.name                  '_refine.ls_number_constraints'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_number_constraints'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           0
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_number_parameters
    _item_description.description
;              The number of parameters refined in the least-squares process.
               If possible this number should include some contribution from
               the restrained parameters. The restrained parameters are
               distinct from the constrained parameters (where one or more
               parameters is linearly dependent on the refined value of
               another). Least-squares restraints often depend on geometry or
               energy considerations and this makes their direct contribution
               to this number, and to the goodness-of-fit calculation,
               difficult to assess.
;
    _item.name                  '_refine.ls_number_parameters'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_number_parameters'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_number_reflns_all
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine.ls_d_res_high and _refine.ls_d_res_low.
;
    _item.name                  '_refine.ls_number_reflns_all'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_number_reflns_obs
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine.ls_d_res_high and _refine.ls_d_res_low
               and the observation limit established by
               _reflns.observed_criterion.
;
    _item.name                  '_refine.ls_number_reflns_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_number_reflns'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_number_reflns_R_free
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine.ls_d_res_high and _refine.ls_d_res_low
               and the observation limit established by
               _reflns.observed_criterion, and that were used as the test
               (i.e., excluded from refinement) reflections when refinement
               included calculation of a "free" R-factor. Details of how
               reflections were assigned to the working and test sets are
               given in _reflns.R_free_details.
;
    _item.name                  '_refine.ls_number_reflns_R_free'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_number_reflns_R_work
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine.ls_d_res_high and _refine.ls_d_res_low
               and the observation limit established by
               _reflns.observed_criterion, and that were used as the working
               (i.e., included in refinement) reflections when refinement
               included calculation of a "free" R-factor. Details of how
               reflections were assigned to the working and test sets are
               given in _reflns.R_free_details.
;
    _item.name                  '_refine.ls_number_reflns_R_work'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_number_restraints
    _item_description.description
;              The number of restrained parameters. These are parameters which
               are not directly dependent on another refined parameter. Often
               restrained parameters involve geometry or energy dependencies.
               See also _atom_site.constraints and _atom_site_refinement_flags.
               A general description of refinement constraints may appear in
               _refine.details.
;
    _item.name                  '_refine.ls_number_restraints'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_number_restraints'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine.ls_percent_reflns_obs
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine.ls_d_res_high and _refine.ls_d_res_low
               and the observation limit established by
               _reflns.observed_criterion, expressed as a percent of the number
               of geometrically observable reflections that satisfy the
               resolution limits.
;
    _item.name                  '_refine.ls_percent_reflns_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine.ls_percent_reflns_R_free
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine.ls_d_res_high and _refine.ls_d_res_low
               and the observation limit established by
               _reflns.observed_criterion, and that were used as the test
               (i.e., excluded from refinement) reflections when refinement
               included calculation of a "free" R-factor, espressed as a
               percentage of the number of geometrically observable
               reflections that satisfy the resolution limits.
;
    _item.name                  '_refine.ls_percent_reflns_R_free'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine.ls_R_factor_all
    _item_description.description
;              Residual factor R for all reflections that satisfy the resolution
               limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_R_factor_all'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_R_factor_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_wR_factor_all'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.ls_R_factor_obs
    _item_description.description
;              Residual factor R for reflections that satify the resolution
               limits established by _refine.ls_d_res_high and 
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion.

               _refine.ls_R_factor_obs should not be confused with
               _refine.ls_R_factor_R_work; the former reports the results of a
               refinement in which all observed reflections were used, the
               latter a refinement in which a subset of the observed
               reflections were excluded from refinement for the calculation
               of a "free" R-factor. However, it would be meaningful to quote
               both values if a "free" R-factor was calculated for most of
               refinement, but all of the observed reflections were used in
               the final rounds of refinement; such a protocol should be
               explained in _refine.details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_R_factor_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_R_factor_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_wR_factor_obs'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.ls_R_factor_R_free
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion, and that were used as the test
               (i.e., excluded from refinement) reflections when refinement
               included calculation of a "free" R-factor. Details of how
               reflections were assigned to the working and test sets are
               given in _reflns.R_free_details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_R_factor_R_free'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
     loop_
    _item_related.related_name 
    _item_related.function_code '_refine.ls_wR_factor_R_free'
                                  alternate 
                                '_refine.ls_R_factor_R_free_error'
                                  associated_error 
    _item_type.code               float
     save_

save__refine.ls_R_factor_R_free_error
    _item_description.description
;              The estimated error in _refine.ls_R_factor_R_free.
               The method used to estimate the error is described in item
               _refine.ls_R_factor_R_free_error_details.
;
    _item.name                  '_refine.ls_R_factor_R_free_error'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_related.related_name  '_refine.ls_R_factor_R_free'
    _item_related.function_code   associated_value 
    _item_type.code               float
     save_

save__refine.ls_R_factor_R_free_error_details
    _item_description.description
;              Special aspects of the method used to estimated the error in
               _refine.ls_R_factor_R_free.
;
    _item.name                  '_refine.ls_R_factor_R_free_error_details'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__refine.ls_R_factor_R_work
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion, and that were used as the working
               (i.e., included in refinement) reflections when refinement
               included calculation of a "free" R-factor. Details of how
               reflections were assigned to the working and test sets are
               given in _reflns.R_free_details.

               _refine.ls_R_factor_obs should not be confused with
               _refine.ls_R_factor_R_work; the former reports the results of a
               refinement in which all observed reflections were used, the
               latter a refinement in which a subset of the observed
               reflections were excluded from refinement for the calculation
               of a "free" R-factor. However, it would be meaningful to quote
               both values if a "free" R-factor was calculated for most of
               refinement, but all of the observed reflections were used in
               the final rounds of refinement; such a protocol should be
               explained in _refine.details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_R_factor_R_work'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_
    _item_range.maximum     
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_wR_factor_R_work'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.ls_R_Fsqd_factor_obs
    _item_description.description
;              Residual factor R(Fsqd) for reflections that satify the
               resolution limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion, calculated on the squares of the
               observed and calculated structure factor amplitudes.

                         sum|F~obs~^2^ - F~calc~^2^|
               R(Fsqd) = ---------------------------
                                sum|F~obs~^2^|

               F~obs~^2^  = squares of the observed structure factor amplitudes
               F~calc~^2^ = squares of the calculated structure factor
                            amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_R_Fsqd_factor_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_R_Fsqd_factor'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.ls_R_I_factor_obs
    _item_description.description
;              Residual factor R(I) for reflections that satify the
               resolution limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion, calculated on the estimated
               reflection intensities.

               This is most often calculated in Rietveld refinements of powder
               data, where it is referred to as R~B~ or R~Bragg~.

                      sum|I~obs~ - I~calc~|
               R(I) = ---------------------
                           sum|I~obs~|

               I~obs~  = the net observed intensities 
               I~calc~ = the net calculated intensities

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_R_I_factor_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_R_I_factor'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.ls_redundancy_reflns_all
    _item_description.description
;              The ratio of the total number of observations of the 
               reflections that satisfy the resolution limits established by
               _refine.ls_d_res_high and _refine.ls_d_res_low to the number
               of crystallographically unique reflections that satisfy those
               same limits.
;
    _item.name                  '_refine.ls_redundancy_reflns_all'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__refine.ls_redundancy_reflns_obs
    _item_description.description
;              The ratio of the total number of observations of the 
               reflections that satisfy the resolution limits established by
               _refine.ls_d_res_high and _refine.ls_d_res_low and the
               observation limit established by _reflns.observed_criterion to
               the number of crystallographically unique reflections that
               satisfy those same limits.
;
    _item.name                  '_refine.ls_redundancy_reflns_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__refine.ls_restrained_S_all
    _item_description.description
;              The least-squares goodness-of-fit parameter S' for all reflection
               data, after the final cycle of least squares. This parameter
               explicitly includes the restraints applied in the least-squares
               process.See also the definition of
               _refine.ls_goodness_of_fit_all.

                    (   sum   |w    |Y~obs~  - Y~calc~|^2^| )^1/2^
                    ( + sum~r~|w~r~ |P~calc~ - P~targ~|^2^| )
               S' = ( ------------------------------------- )
                    (      N~ref~ + N~restr~ - N~param~     )

               Y~obs~   = the observed coefficients
                          (see _refine.ls_structure_factor_coef)
               Y~calc~  = the observed coefficients
                          (see _refine.ls_structure_factor_coef)
               w        = the least-squares reflection weight
                          [1/(e.s.d. squared)]

               P~calc~  = the calculated restraint values
               P~targ~  = the target restraint values
               w~r~     = the restraint weight

               N~refr~  = the number of reflections used in the refinement
                          (see _refine.ls_number_reflns_obs)
               N~restr~ = the number of restraints
                          (see _refine.ls_number_restraints)
               N~param~ = the number of refined parameters
                          (see _refine.ls_number_parameters)

               sum  is taken over the specified reflection data
               sumr is taken over the restraint data
;
    _item.name                  '_refine.ls_restrained_S_all'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_restrained_S_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.ls_restrained_S_obs
    _item_description.description
;              The least-squares goodness-of-fit parameter S' for reflection
               data classified as observed (see _reflns.observed_criterion)
               after the final cycle of least squares. This parameter explicitly
               includes the restraints applied in the least-squares process. See
               also the definition of _refine.ls_goodness_of_fit_obs.

                    (   sum   |w    |Y~obs~  - Y~calc~|^2^| )^1/2^
                    ( + sum~r~|w~r~ |P~calc~ - P~targ~|^2^| )
               S' = ( ------------------------------------- )
                    (      N~ref~ + N~restr~ - N~param~     )

               Y~obs~   = the observed coefficients
                          (see _refine.ls_structure_factor_coef)
               Y~calc~  = the observed coefficients
                          (see _refine.ls_structure_factor_coef)
               w        = the least-squares reflection weight
                          [1/(e.s.d. squared)]

               P~calc~  = the calculated restraint values
               P~targ~  = the target restraint values
               w~r~     = the restraint weight

               N~refr~  = the number of reflections used in the refinement
                          (see _refine.ls_number_reflns_obs)
               N~restr~ = the number of restraints
                          (see _refine.ls_number_restraints)
               N~param~ = the number of refined parameters
                          (see _refine.ls_number_parameters)

               sum  is taken over the specified reflection data
               sumr is taken over the restraint data
;
    _item.name                  '_refine.ls_restrained_S_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_restrained_S_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.ls_shift_over_esd_max
    _item_description.description
;              The largest ratio of the final least-squares parameter shift
               divided by the final standard uncertainty (e.s.d.).
;
    _item.name                  '_refine.ls_shift_over_esd_max'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_shift/esd_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.ls_shift_over_esd_mean
    _item_description.description
;              The average ratio of the final least-squares parameter shift
               divided by the final standard uncertainty (e.s.d.).
;
    _item.name                  '_refine.ls_shift_over_esd_mean'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_shift/esd_mean'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.ls_structure_factor_coef
    _item_description.description
;              Structure-factor coefficient |F|, F^2^ or I, used in the least-
               squares refinement process.
;
    _item.name                  '_refine.ls_structure_factor_coef'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_structure_factor_coef'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           F
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      F     'structure factor magnitude'
                                  Fsqd  'structure factor squared'
                                  Inet  'net intensity'
     save_

save__refine.ls_weighting_details
    _item_description.description
;              A description of special aspects of the weighting scheme used
               in least-squares refinement. Used to describe the weighting
               when the value of _refine.ls_weighting_scheme is specified
               as 'calc'.
;
    _item.name                  '_refine.ls_weighting_details'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_weighting_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
    _item_examples.case
;                                 Sigdel model of Konnert-Hendrickson:
                                  Sigdel =
                                  Afsig +  Bfsig*(sin(theta)/lambda-1/6)
                                  Afsig = 22.0, Bfsig = 150.0
                                    at the beginning of refinement.
                                  Afsig = 16.0, Bfsig =  60.0
                                    at the end of refinement.
;
     save_

save__refine.ls_weighting_scheme
    _item_description.description
;              The weighting scheme applied in the least-squares process. The
               standard code may be followed by a description of the weight
               (but see _refine_ls_weighting_details for a preferred approach).
;
    _item.name                  '_refine.ls_weighting_scheme'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_weighting_scheme'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           sigma
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      sigma  'based on measured e.s.d.'s'
                                  unit   'unit or no weights applied'
                                  calc   'calculated weights applied'
     save_

save__refine.ls_wR_factor_all
    _item_description.description
;              Weighted residual factor wR for all reflections that satisfy the
               resolution limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_wR_factor_all'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_wR_factor_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_R_factor_all'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.ls_wR_factor_obs
    _item_description.description
;              Weighted residual factor wR for reflections that satisfy the
               resolution limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the obervation limit established by
               _reflns.observed_criterion.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_wR_factor_obs'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refine_ls_wR_factor_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_R_factor_obs'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.ls_wR_factor_R_free
    _item_description.description
;              Weighted residual factor wR for reflections that satisfy the
               resolution limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion, and that were used as the test
               (i.e., excluded from refinement) reflections when refinement
               included calculation of a "free" R-factor. Details of how
               reflections were assigned to the working and test sets are
               given in _reflns.R_free_details.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_wR_factor_R_free'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_  
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_R_factor_R_free'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.ls_wR_factor_R_work
    _item_description.description
;              Weighted residual factor wR for reflections that satisfy the
               resolution limits established by _refine.ls_d_res_high and
               _refine.ls_d_res_low and the observation limit established by
               _reflns.observed_criterion, and that were used as the working
               (i.e., included in refinement) reflections when refinement
               included calculation of a "free" R-factor. Details of how
               reflections were assigned to the working and test sets are
               given in _reflns.R_free_details.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine.ls_wR_factor_R_work'
    _item.category_id             refine
    _item.mandatory_code          no
     loop_ 
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine.ls_R_factor_R_work'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine.occupancy_max
    _item_description.description
;              The maximum value for occupancy found in the coordinate set.
;
    _item.name                  '_refine.occupancy_max'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           1.0
     loop_
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.occupancy_min
    _item_description.description
;              The minimum value for occupancy found in the coordinate set.
;
    _item.name                  '_refine.occupancy_min'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_default.value           1.0
     loop_ 
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine.solvent_model_details
    _item_description.description
;              Special aspects of the solvent model used in refinement.
;
    _item.name                  '_refine.solvent_model_details'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__refine.solvent_model_param_bsol
    _item_description.description
;              The value of the BSOL solvent model parameter describing 
               the average isotropic temperature factor of disordered
               solvent atoms.
;
    _item.name                  '_refine.solvent_model_param_bsol'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine.solvent_model_param_ksol
    _item_description.description
;              The value of the KSOL solvent model parameter describing 
               the ratio of electron density in the bulk solvent to the 
               electron density in the molecular solute.
;
    _item.name                  '_refine.solvent_model_param_ksol'
    _item.category_id             refine
    _item.mandatory_code          no
    _item_type.code               float
     save_

####################
## REFINE_ANALYZE ##
####################

save_REFINE_ANALYZE
    _category.description
;              Data items in the REFINE_ANALYZE category record details
               about the refined structure that are often used to analyze the
               refinement and asses its quality. A given computer program
               may or may not produce values corresponding to these data
               names.
;
    _category.id                  refine_analyze
    _category.mandatory_code      no
    _category_key.name          '_refine_analyze.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _refine_analyze.entry_id
    _refine_analyze.Luzzati_coordinate_error_obs
    _refine_analyze.Luzzati_d_res_low_obs

;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_analyze.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_refine_analyze.entry_id'
    _item.category_id             refine_analyze
    _item.mandatory_code          yes
     save_

save__refine_analyze.Luzzati_coordinate_error_obs
    _item_description.description
;              The estimated coordinate error obtained from the plot of 
               the R value versus sin(theta)/lambda for reflections classified
               as observed.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_coordinate_error_obs'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_analyze.Luzzati_d_res_low_obs
    _item_description.description
;              The value of the low resolution cutoff used in 
               constructing the Luzzati plot for reflections classified as
               observed.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_d_res_low_obs'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_analyze.Luzzati_sigma_a_obs
    _item_description.description
;              The value of sigma~a~ used in constructing the Luzzati plot for
               reflections classified as observed. The details of the
               estimation of sigma~a~ can be specified in
               _refine_analyze.Luzzati_sigma_a_obs_details.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_sigma_a_obs'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_analyze.Luzzati_sigma_a_obs_details
    _item_description.description
;              Special aspects of the estimation of sigma~a~ for the 
               reflections classified as observed.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_sigma_a_obs_details'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__refine_analyze.Luzzati_coordinate_error_free
    _item_description.description
;              The estimated coordinate error obtain from the plot of 
               the R value versus sin(theta)/lambda for the reflections
               treated as a test set in refinement. 

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_coordinate_error_free'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_analyze.Luzzati_d_res_low_free
    _item_description.description
;              The value of the low resolution cutoff used in constructing the
               Luzzati plot for reflections treated as a test set in 
               refinement.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_d_res_low_free'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_analyze.Luzzati_sigma_a_free
    _item_description.description
;              The value of sigma~a~ used in constructing the Luzzati plot for
               the reflections treated as a test set in refinement. The
               details of the estimation of sigma~a~ can be specified
               in _refine_analyze.Luzzati_sigma_a_free_details.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_sigma_a_free'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_analyze.Luzzati_sigma_a_free_details
    _item_description.description
;              The details of the estimation of sigma~a~ for the reflections
               treated as a test set in refinement.

               Ref:  Luzzati, V. (1952). Acta Cryst. 5, 134-136.
;
    _item.name                  '_refine_analyze.Luzzati_sigma_a_free_details'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__refine_analyze.number_disordered_residues
    _item_description.description
;              The number of discretely disorded residues in the refined model.
;
    _item.name                  '_refine_analyze.number_disordered_residues'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine_analyze.occupancy_sum_hydrogen
    _item_description.description
;              The sum of the occupancies of the hydrogen atoms in the refined
               model.
;
    _item.name                  '_refine_analyze.occupancy_sum_hydrogen'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine_analyze.occupancy_sum_non_hydrogen
    _item_description.description
;              The sum of the occupancies of the non-hydrogen atoms in the
                refined model.
;
    _item.name                  '_refine_analyze.occupancy_sum_non_hydrogen'
    _item.category_id             refine_analyze
    _item.mandatory_code          no
    _item_type.code               float
     save_

##################
## REFINE_B_ISO ##
##################

save_REFINE_B_ISO
    _category.description
;              Data items in the REFINE_B_ISO category record details about
               the treatment of isotropic B (temperature) factors during
               refinement.
;
    _category.id                  refine_B_iso
    _category.mandatory_code      no
    _category_key.name          '_refine_B_iso.class'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _refine_B_iso.class
    _refine_B_iso.treatment
     'protein'    isotropic
     'solvent'    isotropic
     'inhibitor'  isotropic
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_B_iso.class
    _item_description.description
;              A class of atoms treated similarly for isotropic B (temperature)
               factor refinement.
;
    _item.name                  '_refine_B_iso.class'
    _item.category_id             refine_B_iso
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'all'
                                 'protein'
                                 'solvent'
                                 'sugar-phosphate backbone'
     save_

save__refine_B_iso.details
    _item_description.description
;              A description of special aspects of the isotropic B (temperature)
               factor refinement for the class of atoms described in
               _refine_B_iso.class.
;
    _item.name                  '_refine_B_iso.details'
    _item.category_id             refine_B_iso
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The temperature factors of atoms in the side
                                  chain of Arg 92 were held fixed due to
                                  unstable behavior in refinement.
;
     save_

save__refine_B_iso.treatment
    _item_description.description
;              The treatment of isotropic B (temperature) factor refinement for
               a class of atoms defined in _refine_B_iso.class.
;
    _item.name                  '_refine_B_iso.treatment'
    _item.category_id             refine_B_iso
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value       fixed
                                  isotropic
                                  anisotropic
     save_

save__refine_B_iso.value
    _item_description.description
;              The value of the isotropic B (temperature) factor assigned to a
               class of atoms defined in _refine_B_iso.class. Meaningful only
               for atoms with fixed isotropic B (temperature) factors.
;
    _item.name                  '_refine_B_iso.value'
    _item.category_id             refine_B_iso
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

#################
## REFINE_HIST ##
#################

save_REFINE_HIST
    _category.description
;              Data items in the REFINE category record details about the
               various steps along the way in the refinement of the structure.
               These data items are not meant to be as thorough as description
               of the refinement as is provided for the final model in other
               categories; rather, these data items provide a mechanism for
               sketching out the progress of the refinement, supported by a
               small set of representative statistics.
;
    _category.id                  refine_hist
    _category.mandatory_code      no
    _category_key.name          '_refine_hist.cycle_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like
                peptide [(POG)4 EKG (POG)5]3.
;
;
    _refine_hist.cycle_id                C134
    _refine_hist.d_res_high              1.85
    _refine_hist.d_res_low               20.0
    _refine_hist.number_atoms_solvent     217
    _refine_hist.number_atoms_total       808
    _refine_hist.number_reflns_all       6174
    _refine_hist.number_reflns_obs       4886
    _refine_hist.number_reflns_R_free     476
    _refine_hist.number_reflns_R_work    4410
    _refine_hist.R_factor_all            .265
    _refine_hist.R_factor_obs            .195
    _refine_hist.R_factor_R_free         .274
    _refine_hist.R_factor_R_work         .160
    _refine_hist.details
    ;
     Add majority fo solvent molecules. B factors refined by group.
     Continued to remove misplaced water molecules.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_hist.cycle_id
    _item_description.description
;              The value of refine_hist.cycle_id must uniquely identify a record
               in the REFINE_HIST list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_refine_hist.cycle_id'
    _item.category_id             refine_hist
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__refine_hist.details
    _item_description.description
;              Description of special aspects of this cycle of the refinement
               process.
;
    _item.name                  '_refine_hist.details'
    _item.category_id             refine_hist
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 Residues 13-17 fit and added to model;
                                  substantial rebuilding of loop containing
                                  residues 43-48; addition of first atoms to
                                  solvent model; ten cycles of Prolsq
                                  refinement.
;
     save_

save__refine_hist.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data for this cycle of refinement.
;
    _item.name                  '_refine_hist.d_res_high'
    _item.category_id             refine_hist
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_hist.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data for this cycle of refinement.
;
    _item.name                  '_refine_hist.d_res_low'
    _item.category_id             refine_hist
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_hist.number_atoms_solvent
    _item_description.description
;              The number of solvent atoms that were included in the model at
               this cycle of the refinement.
;
    _item.name                  '_refine_hist.number_atoms_solvent'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_hist.number_atoms_total
    _item_description.description
;              The total number of atoms that were included in the model at
               this cycle of the refinement.
;
    _item.name                  '_refine_hist.number_atoms_total'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_hist.number_reflns_all
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_hist.d_res_high and
               _refine_hist.d_res_low.
;
    _item.name                  '_refine_hist.number_reflns_all'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_hist.number_reflns_obs
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_hist.d_res_high and
               _refine_hist.d_res_low and the observation criterion
               established by _reflns.observed_criterion.
;
    _item.name                  '_refine_hist.number_reflns_obs'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_hist.number_reflns_R_free
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_hist.d_res_high and
               _refine_hist.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the test (i.e., excluded from refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.
;
    _item.name                  '_refine_hist.number_reflns_R_free'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_hist.number_reflns_R_work
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_hist.d_res_high and
               _refine_hist.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the working (i.e., included in refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.
;
    _item.name                  '_refine_hist.number_reflns_R_work'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_hist.R_factor_all
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_hist.d_res_high and
               _refine_hist.d_res_low.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_hist.R_factor_all'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine_hist.R_factor_obs
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_hist.d_res_high and
               _refine_hist.d_res_low and the observation criterion
               established by _reflns.observed_criterion.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_hist.R_factor_obs'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine_hist.R_factor_R_free
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_hist.d_res_high and
               _refine_hist.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the test (i.e., excluded from refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_hist.R_factor_R_free'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine_hist.R_factor_R_work
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_hist.d_res_high and
               _refine_hist.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the working (i.e., included in refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_hist.R_factor_R_work'
    _item.category_id             refine_hist
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

#####################
## REFINE_LS_RESTR ##
#####################

save_REFINE_LS_RESTR
    _category.description
;              Data items in the REFINE_LS_RESTR category record details about
               the restraints applied to various classes of parameters during
               least-squares refinement.
;
    _category.id                  refine_ls_restr
    _category.mandatory_code      no
    _category_key.name          '_refine_ls_restr.type'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _refine_ls_restr.type
    _refine_ls_restr.dev_ideal_target
    _refine_ls_restr.dev_ideal
    _refine_ls_restr.number
    _refine_ls_restr.criterion
    _refine_ls_restr.rejects
     'bond_d'           0.020  0.018  1654  '> 2\s'  22
     'angle_d'          0.030  0.038  2246  '> 2\s'  139
     'planar_d'         0.040  0.043  498   '> 2\s'  21
     'planar'           0.020  0.015  270   '> 2\s'  1
     'chiral'           0.150  0.177  278   '> 2\s'  2
     'singtor_nbd'      0.500  0.216  582   '> 2\s'  0
     'multtor_nbd'      0.500  0.207  419   '> 2\s'  0
     'xyhbond_nbd'      0.500  0.245  149   '> 2\s'  0
     'planar_tor'       3.0    2.6    203   '> 2\s'  9
     'staggered_tor'    15.0   17.4   298   '> 2\s'  31
     'orthonormal_tor'  20.0   18.1   12    '> 2\s'  1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_ls_restr.criterion
    _item_description.description
;              A criterion used to define a parameter value that deviates
               significantly from its ideal value in the model obtained by
               restrained least-squares refinement.
;
    _item.name                  '_refine_ls_restr.criterion'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          '> 3\s'
     save_

save__refine_ls_restr.dev_ideal
    _item_description.description
;              For the given parameter type, the root-mean-square deviation
               between the ideal values used as restraints in the least-squares
               refinement and the values obtained by refinement. For instance,
               bond distances may deviate by 0.018 \%A (rms) from ideal values
               in current model.
;
    _item.name                  '_refine_ls_restr.dev_ideal'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine_ls_restr.number
    _item_description.description
;              The number parameters of this type subjected to restraint in
               least-squares refinement.
;
    _item.name                  '_refine_ls_restr.number'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_ls_restr.rejects
    _item_description.description
;              The number of parameters of this type that deviate from ideal
               values by more than the amount defined in
               _refine_ls_restr.criterion in the model obtained by restrained
               least-squares refinement.
;
    _item.name                  '_refine_ls_restr.rejects'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          no
     loop_ 
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_ls_restr.dev_ideal_target
    _item_description.description
;              For the given parameter type, the target root-mean-square
               deviation between the ideal values used as restraints in the
               least-squares refinement and the values obtained by refinement.
;
    _item.name                  '_refine_ls_restr.dev_ideal_target'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refine_ls_restr.type
    _item_description.description
;              The type of the parameter being restrained.

               An explicit set of data values are provided for programs Protin/
               Prolsq (beginning with p_) and X-plor (beginning with x_).
               As computer programs will evolve, these data values are given
               as examples, and not as an enumeration list. Computer programs
               converting a data block to a refinement table will expect the
               exact form of the data values given here to be used.
;
    _item.name                  '_refine_ls_restr.type'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case
    _item_examples.detail        'p_bond_d'
                                 'bond distance'
                                 'p_angle_d'
                                 'bond angle expressed as a distance'
                                 'p_planar_d'
                                 'planar 1,4 distance'
                                 'p_xhbond_d'
                                 'x-h bond distance'
                                 'p_xhangle_d'
                                 'x-h bond angle expressed as a distance'
                                 'p_hydrog_d'
                                 'hydrogen distance'
                                 'p_special_d'
                                 'special distance'
                                 'p_planar'
                                 'planes'
                                 'p_chiral'
                                 'chiral centers'
                                 'p_singtor_nbd'
                                 'single-torsion non-bonded contact'
                                 'p_multtor_nbd'
                                 'multiple-torsion non-bonded contact'
                                 'p_xyhbond_nbd'
                                 'possible (x....y) hydrogen-bond'
                                 'p_xhyhbond_nbd'
                                 'possible (x-h..y) hydrogen-bond'
                                 'p_special_tor'
                                 'special torsion angle'
                                 'p_planar_tor'
                                 'planar torsion angle'
                                 'p_staggered_tor'
                                 'staggered torsion angle'
                                 'p_orthonormal_tor'
                                 'orthonormal torsion angle'
                                 'p_mcbond_it'
                                 'main-chain bond isotropic thermal factor'
                                 'p_mcangle_it'
                                 'main-chain angle isotropic thermal factor'
                                 'p_scbond_it'
                                 'side-chain bond isotropic thermal factor'
                                 'p_scangle_it'
                                 'side-chain angle isotropic thermal factor'
                                 'p_xhbond_it'
                                 'x-h bond isotropic thermal factor'
                                 'p_xhangle_it'
                                 'x-h angle isotropic thermal factor'
                                 'p_special_it'
                                 'special isotropic thermal factor'
     save_

save__refine_ls_restr.weight
    _item_description.description
;              The weighting value applied to this type of restraint in
               least-squares refinement.
;
    _item.name                  '_refine_ls_restr.weight'
    _item.category_id             refine_ls_restr
    _item.mandatory_code          no
    _item_type.code               float
     save_

#########################
## REFINE_LS_RESTR_NCS ##
#########################

save_REFINE_LS_RESTR_NCS
    _category.description
;              Data items in the REFINE_LS_RESTR_NCS category record details 
               about the restraints applied to atomic positions in domains
               related by non-crystallographic symmetry during least-squares
               refinement, and also about the deviation of the restrained
               atomic parameters at the conclusion of refinement.  It is
               expected that these values will only be reported once for each
               set of restrained domains.
;
    _category.id                  refine_ls_restr_ncs
    _category.mandatory_code      no
    _category_key.name          '_refine_ls_restr_ncs.dom_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like 
                peptide, HYP-. 
;
;
    _refine_ls_restr_ncs.dom_id              d2
    _refine_ls_restr_ncs.weight_position     300.0
    _refine_ls_restr_ncs.weight_B_iso        2.0
    _refine_ls_restr_ncs.rms_dev_position    0.09
    _refine_ls_restr_ncs.rms_dev_B_iso       0.16
    _refine_ls_restr_ncs.ncs_model_details
    ;
     NCS restraint for pseudo-twofold symmetry between domains 
     d1 and d2.  Position weight coefficient given in Kcal/mol*A^2
     and isotropic B weight coefficient given in A^2.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_ls_restr_ncs.dom_id
    _item_description.description
;              This data item is a pointer to _struct_ncs_dom.id in the 
               STRUCT_NCS_DOM category.
;
    _item.name                  '_refine_ls_restr_ncs.dom_id'
    _item.category_id             refine_ls_restr_ncs
    _item.mandatory_code          yes
     save_

save__refine_ls_restr_ncs.ncs_model_details
    _item_description.description
;              Special aspects of the manner in which non-crystallographic
               restraints were applied to atomic parameters in the domain
               specified by _refine_ls_restr_ncs.dom_id and equivalent
               atomic parameters in the domains against which it was restrained.
;
    _item.name                  '_refine_ls_restr_ncs.ncs_model_details'
    _item.category_id             refine_ls_restr_ncs
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__refine_ls_restr_ncs.weight_position
    _item_description.description
;              The value of the weighting coefficient used in 
               non-crystalographic restaint of atomic positions in the 
               domain specified by _refine_ls_restr_ncs.dom_id to equivalent 
               atomic positions in the domains against which it was restrained.
;
    _item.name                  '_refine_ls_restr_ncs.weight_position'
    _item.category_id             refine_ls_restr_ncs
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine_ls_restr_ncs.weight_B_iso
    _item_description.description
;              The value of the weighting coefficient used in 
               non-crystallographic restraint of isotropic thermal factors in 
               the domain specified by _refine_ls_restr_ncs.dom_id to 
               equivalent isotropic thermal factors in the domains against 
               which it was restrained.
;
    _item.name                  '_refine_ls_restr_ncs.weight_B_iso'
    _item.category_id             refine_ls_restr_ncs
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine_ls_restr_ncs.rms_dev_position
    _item_description.description
;              The root-mean-square deviation in equivalent atomic positions in
               the domain specified by _refine_ls_restr_ncs.dom_id and in the
               domains against which it was restrained.
;
    _item.name                  '_refine_ls_restr_ncs.rms_dev_position'
    _item.category_id             refine_ls_restr_ncs
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_ls_restr_ncs.rms_dev_B_iso
    _item_description.description
;              The root-mean-square deviation in equivalent isotropic thermal
               factors in the domain specified by _refine_ls_restr_ncs.dom_id
               and in the domains against which it was restrained.
;
    _item.name                  '_refine_ls_restr_ncs.rms_dev_B_iso'
    _item.category_id             refine_ls_restr_ncs
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

#####################
## REFINE_LS_SHELL ##
#####################

save_REFINE_LS_SHELL
    _category.description
;              Data items in the REFINE_LS_SHELL category record details about
               the results of least-squares refinement, broken out by shells of
               resolution.
;
    _category.id                  refine_ls_shell
    _category.mandatory_code      no
     loop_
    _category_key.name          '_refine_ls_shell.d_res_low'
                                '_refine_ls_shell.d_res_high'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _refine_ls_shell.d_res_low
    _refine_ls_shell.d_res_high
    _refine_ls_shell.number_reflns_obs
    _refine_ls_shell.R_factor_obs
      8.00   4.51   1226   0.196
      4.51   3.48   1679   0.146
      3.48   2.94   2014   0.160
      2.94   2.59   2147   0.182
      2.59   2.34   2127   0.193
      2.34   2.15   2061   0.203
      2.15   2.00   1647   0.188
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_ls_shell.d_res_high
    _item_description.description
;              The highest resolution for the interplanar spacing in the
               reflection data in this shell. This is the largest d value.
;
    _item.name                  '_refine_ls_shell.d_res_high'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          yes
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_ls_shell.d_res_low
    _item_description.description
;              The lowest resolution for the interplanar spacing in the
               reflection data in this shell. This is the smallest d value.
;
    _item.name                  '_refine_ls_shell.d_res_low'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          yes
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refine_ls_shell.number_reflns_all
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low.
;
    _item.name                  '_refine_ls_shell.number_reflns_all'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_ls_shell.number_reflns_obs
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation criterion
               established by _reflns.observed_criterion.
;
    _item.name                  '_refine_ls_shell.number_reflns_obs'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_ls_shell.number_reflns_R_free
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the test (i.e., excluded from refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.
;
    _item.name                  '_refine_ls_shell.number_reflns_R_free'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_ls_shell.number_reflns_R_work
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the working (i.e., included in refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.
;
    _item.name                  '_refine_ls_shell.number_reflns_R_work'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__refine_ls_shell.percent_reflns_obs
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation criterion
               established by _reflns.observed_criterion, expressed as a
               percentage of the number of geometically observable reflections
               that satisfy the resolution limits.
;
    _item.name                  '_refine_ls_shell.percent_reflns_obs'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__refine_ls_shell.percent_reflns_R_free
    _item_description.description
;              The number of reflections that satisfy the resolution limits
               established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the test (i.e., excluded from refinement) reflections when
               refinement included calculation of a "free" R-factor,
               expressed as a percentage of the number of geometrically
               observable reflection that satisfy the reflection limits.
;
    _item.name                  '_refine_ls_shell.percent_reflns_R_free'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__refine_ls_shell.R_factor_all
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.R_factor_all'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.wR_factor_all'
    _item_related.function_code   alternate

    _item_type.code               float
     save_

save__refine_ls_shell.R_factor_obs
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation criterion
               established by _reflns.observed_criterion.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.R_factor_obs'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.wR_factor_obs'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine_ls_shell.R_factor_R_free
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the test (i.e., excluded from refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.R_factor_R_free'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
     loop_
    _item_related.related_name
    _item_related.function_code '_refine_ls_shell.wR_factor_R_free'
                                  alternate 
                                '_refine_ls_shell.R_factor_R_free_error'
                                  associated_error
    _item_type.code               float
     save_

save__refine_ls_shell.R_factor_R_free_error
    _item_description.description
;              The estimated error in _refine_ls_shell.R_factor_R_free.
               The method used to estimate the error is described in item
               _refine.ls_R_factor_R_free_error_details.
;
    _item.name                  '_refine_ls_shell.R_factor_R_free_error'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
    _item_related.related_name  '_refine_ls_shell.R_factor_R_free'
    _item_related.function_code   associated_value 
    _item_type.code               float
     save_

save__refine_ls_shell.R_factor_R_work
    _item_description.description
;              Residual factor R for reflections that satisfy the resolution
               limits established by _refine_ls_shell.d_res_high and
               _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the working (i.e., included in refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.

                   sum|F~obs~ - F~calc~|
               R = ---------------------
                        sum|F~obs~|

               F~obs~  = the observed structure factor amplitudes
               F~calc~ = the calculated structure factor amplitudes

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.R_factor_R_work'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.wR_factor_R_work'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine_ls_shell.redundancy_reflns_all
    _item_description.description
;              The ratio of the total number of observations of the reflections
               that satisfy the resolution limits established by
               _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low
               to the number of crystallographic unique reflections that
               satisfy those same limits.
;
    _item.name                  '_refine_ls_shell.redundancy_reflns_all'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__refine_ls_shell.redundancy_reflns_obs
    _item_description.description
;              The ratio of the total number of observations of the
               reflections that satisfy the resolution limits established by
               _refine_ls_shell.d_res_high and _refine_ls_shell.d_res_low and
               the observation criterion established by
               _reflns.observed_criterion to the number of crystallographic
               unique reflections that satisfy those same limits.
;
    _item.name                  '_refine_ls_shell.redundancy_reflns_obs'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__refine_ls_shell.wR_factor_all
    _item_description.description
;              Weighted esidual factor wR for reflections that satisfy the
               resolution limits established by _refine_ls_shell.d_res_high
               and _refine_ls_shell.d_res_low.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.wR_factor_all'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.R_factor_all'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine_ls_shell.wR_factor_obs
    _item_description.description
;              Weighted residual factor wR for reflections that satisfy the
               resolution limits established by _refine_ls_shell.d_res_high
               and _refine_ls_shell.d_res_low and the observation criterion
               established by _reflns.observed_criterion.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.wR_factor_obs'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.R_factor_obs'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine_ls_shell.wR_factor_R_free
    _item_description.description
;              Weighted residual factor wR for reflections that satisfy the
               resolution limits established by _refine_ls_shell.d_res_high
               and _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the test (i.e., excluded from refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.wR_factor_R_free'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.R_factor_R_free'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

save__refine_ls_shell.wR_factor_R_work
    _item_description.description
;              Weighted residual factor wR for reflections that satisfy the
               resolution limits established by _refine_ls_shell.d_res_high
               and _refine_ls_shell.d_res_low and the observation limit
               established by _reflns.observed_criterion, and that were used
               as the working (i.e., included in refinement) reflections when
               refinement included calculation of a "free" R-factor. Details
               of how reflections were assigned to the working and test sets
               are given in _reflns.R_free_details.

                    ( sum|w |Y~obs~ - Y~calc~|^2^| )^1/2^
               wR = ( ---------------------------- )
                    (       sum|w Y~calc~^2^|      )

               Y~obs~  = the observed amplitude specified by
                         _refine.ls_structure_factor_coef
               Y~calc~ = the calculated amplitude specified by
                         _refine.ls_structure_factor_coef
               w       = the least squares weight

               sum is taken over the specified reflections
;
    _item.name                  '_refine_ls_shell.wR_factor_R_work'
    _item.category_id             refine_ls_shell
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_related.related_name  '_refine_ls_shell.R_factor_R_work'
    _item_related.function_code   alternate
    _item_type.code               float
     save_

######################
## REFINE_OCCUPANCY ##
######################

save_REFINE_OCCUPANCY
    _category.description
;              Data items in the REFINE_OCCUPANCY category record details
               about the treatment of atomic occupancies during refinement.
;
    _category.id                  refine_occupancy
    _category.mandatory_code      no
    _category_key.name          '_refine_occupancy.class'
     loop_
    _category_group.id           'inclusive_group'
                                 'refine_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _refine_occupancy.class
    _refine_occupancy.treatment
    _refine_occupancy.value
    _refine_occupancy.details
     'protein'                  fix  1.00  .
     'solvent'                  fix  1.00  .
     'inhibitor orientation 1'  fix  0.65  .
     'inhibitor orientation 2'  fix  0.35
    ; The inhibitor binds to the enzyme in two alternative conformations. The
      occupancy of each conformation was adjusted so as to result in
      approximately equal mean thermal factors for the atoms in each
      conformation.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refine_occupancy.class
    _item_description.description
;              The class of atoms treated similarly for occupancy refinement.
;
    _item.name                  '_refine_occupancy.class'
    _item.category_id             refine_occupancy
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'all'
                                 'protein'
                                 'solvent'
                                 'sugar-phosphate backbone'
     save_

save__refine_occupancy.details
    _item_description.description
;              A description of special aspects of the occupancy refinement for
               a class of atoms described in _refine_occupancy.class.
;
    _item.name                  '_refine_occupancy.details'
    _item.category_id             refine_occupancy
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The inhibitor binds to the enzyme in two
                                  alternative conformations. The occupancy of
                                  each conformation was adjusted so as to result
                                  in approximately equal mean thermal factors
                                  for the atoms in each conformation.
;
     save_

save__refine_occupancy.treatment
    _item_description.description
;              The treatment of occupancy refinement for a class of atoms
               described in _refine_occupancy.class.
;
    _item.name                  '_refine_occupancy.treatment'
    _item.category_id             refine_occupancy
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      fix  'fixed'
                                  ref  'refined'
     save_

save__refine_occupancy.value
    _item_description.description
;              The value of occupancy assigned to a class of atoms defined in
               _refine_occupancy.class. Meaningful only for atoms with fixed
               occupancy.
;
    _item.name                  '_refine_occupancy.value'
    _item.category_id             refine_occupancy
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum           1.0   1.0
                                  1.0   0.0
                                  0.0   0.0
    _item_type.code               float
     loop_
    _item_examples.case           1.0
                                  0.41
     save_

###########
## REFLN ##
###########

save_REFLN
    _category.description
;              Data items in the REFLN category record details about the
               reflection data used to determine the ATOM_SITE data items.

               The REFLN data items refer to individual reflections and must
               be included in loop lists.

               The REFLNS data items specify the parameters that apply to all
               reflections. The REFLNS data items are not looped.
;
    _category.id                  refln
    _category.mandatory_code      no
     loop_
    _category_key.name          '_refln.index_h'
                                '_refln.index_k'
                                '_refln.index_l'
     loop_
    _category_group.id           'inclusive_group'
                                 'refln_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on data set fetod of Todres, Yanovsky, Ermekov & Struchkov
                [(1993). Acta Cryst. C49, 1352-1354].
;
;
     loop_
    _refln.index_h
    _refln.index_k
    _refln.index_l
    _refln.F_squared_calc
    _refln.F_squared_meas
    _refln.F_squared_sigma
    _refln.status
       2   0   0       85.57       58.90      1.45 o
       3   0   0    15718.18    15631.06     30.40 o
       4   0   0    55613.11    49840.09     61.86 o
       5   0   0      246.85      241.86     10.02 o
       6   0   0       82.16       69.97      1.93 o
       7   0   0     1133.62      947.79     11.78 o
       8   0   0     2558.04     2453.33     20.44 o
       9   0   0      283.88      393.66      7.79 o
      10   0   0      283.70      171.98      4.26 o
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__refln.A_calc
    _item_description.description
;              The calculated value of structure-factor component A, in
               electrons.

               A = |F|cos(phase)
;
    _item.name                  '_refln.A_calc'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_A_calc'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refln.A_calc_au'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__refln.A_calc_au
    _item_description.description
;              The calculated value of structure-factor component A, in
               arbitrary units.

               A = |F|cos(phase)
;
    _item.name                  '_refln.A_calc_au'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_related.related_name  '_refln.A_calc'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__refln.A_meas
    _item_description.description
;              The measured value of structure-factor component A, in electrons.

               A = |F|cos(phase)
;
    _item.name                  '_refln.A_meas'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_A_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refln.A_meas_au'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__refln.A_meas_au
    _item_description.description
;              The measured value of structure-factor component A, in
               arbitrary units.

               A = |F|cos(phase)
;
    _item.name                  '_refln.A_meas_au'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_related.related_name  '_refln.A_meas'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__refln.B_calc
    _item_description.description
;              The calculated value of structure-factor component B, in
               electrons.

               B = |F|sin(phase)
;
    _item.name                  '_refln.B_calc'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_B_calc'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refln.B_calc_au'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__refln.B_calc_au
    _item_description.description
;              The calculated value of structure-factor component B, in
               arbitrary units.

               B = |F|sin(phase)
;
    _item.name                  '_refln.B_calc_au'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_related.related_name  '_refln.B_calc'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__refln.B_meas
    _item_description.description
;              The measured value of structure-factor component B, in electrons.

               B = |F|sin(phase)
;
    _item.name                  '_refln.B_meas'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_B_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refln.B_meas_au'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__refln.B_meas_au
    _item_description.description
;              The measured value of structure-factor component B, in
               arbitrary units.

               B = |F|sin(phase)
;
    _item.name                  '_refln.B_meas_au'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_related.related_name  '_refln.B_meas'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__refln.crystal_id
    _item_description.description
;              This data item is a pointer to _exptl_crystal.id in the
               EXPTL_CRYSTAL category.
;
    _item.name                  '_refln.crystal_id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refln_crystal_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__refln.F_calc
    _item_description.description
;              The calculated value of the structure factor in electrons.
;
    _item.name                  '_refln.F_calc'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_F_calc'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_related.related_name  '_refln.F_calc_au'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__refln.F_calc_au
    _item_description.description
;              The calculated value of the structure factor in arbitrary
               units.
;
    _item.name                  '_refln.F_calc_au'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_related.related_name  '_refln.F_calc'
    _item_related.function_code   conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__refln.F_meas
    _item_description.description
;              The measured value of the structure factor in electrons.
;
    _item.name                  '_refln.F_meas'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_F_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_refln.F_meas_sigma'
                                  associated_esd
                                '_refln.F_meas_au'
                                  conversion_arbitrary
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              electrons
     save_

save__refln.F_meas_au
    _item_description.description
;              The measured value of the structure factor in arbitrary units.
;
    _item.name                  '_refln.F_meas_au'
    _item.category_id             refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_refln.F_meas_sigma_au'
                                  associated_esd
                                '_refln.F_meas'
                                  conversion_arbitrary
    _item_type.code               float
    _item_type_conditions.code    esd
    _item_units.code              arbitrary
     save_

save__refln.F_meas_sigma
    _item_description.description
;              The standard uncertainty (e.s.d.) of _refln.F_meas, in
               electrons.
;
    _item.name                  '_refln.F_meas_sigma'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_F_sigma'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_related.related_name
    _item_related.function_code '_refln.F_meas'
                                  associated_value
                                '_refln.F_meas_sigma_au'
                                  conversion_arbitrary
    _item_type.code               float
    _item_units.code              electrons
     save_

save__refln.F_meas_sigma_au
    _item_description.description
;              The standard uncertainty (e.s.d.) of _refln.F_meas_au, in
               arbitrary units.
;
    _item.name                  '_refln.F_meas_sigma_au'
    _item.category_id             refln
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_refln.F_meas_au'
                                  associated_value
                                '_refln.F_meas_sigma'
                                  conversion_arbitrary
    _item_type.code               float
    _item_units.code              arbitrary
     save_

save__refln.F_squared_calc
    _item_description.description
;              The calculated value of the squared structure factor, in
               electrons squared.
;
    _item.name                  '_refln.F_squared_calc'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_F_squared_calc'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              electrons_squared
     save_

save__refln.F_squared_meas
    _item_description.description
;              The measured value of the squared structure factor, in electrons
               squared.
;
    _item.name                  '_refln.F_squared_meas'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_F_squared_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              electrons_squared
     save_

save__refln.F_squared_sigma
    _item_description.description
;              The standard uncertainty (derived from measurement) of the
               squared structure factor, in electrons squared.
;
    _item.name                  '_refln.F_squared_sigma'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_F_squared_sigma'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              electrons_squared
     save_

save__refln.fom
    _item_description.description
;              The figure of merit m for this reflection.

                   int P~alpha~ exp(i*alpha) dalpha
               m = --------------------------------
                         int P~alpha~ dalpha

               P~a~ = the probability that phase angle a is correct

               int is taken over the range alpha = 0 to 2 pi.
;
    _item.name                  '_refln.fom'
    _item.category_id             refln
    _item.mandatory_code          no
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__refln.index_h
    _item_description.description
;              Miller index h of the reflection. The values of the Miller
               indices in the REFLN category must correspond to the cell
               defined by cell lengths and cell angles in the CELL category.
;
    _item.name                  '_refln.index_h'
    _item.category_id             refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refln_index_h'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_refln.index_k'
                                '_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__refln.index_k
    _item_description.description
;              Miller index k of the reflection. The values of the Miller
               indices in the REFLN category must correspond to the cell
               defined by cell lengths and cell angles in the CELL category.
;
    _item.name                  '_refln.index_k'
    _item.category_id             refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refln_index_k'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_refln.index_h'
                                '_refln.index_l'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__refln.index_l
    _item_description.description
;              Miller index h of the reflection. The values of the Miller
               indices in the REFLN category must correspond to the cell
               defined by cell lengths and cell angles in the CELL category.
;
    _item.name                  '_refln.index_l'
    _item.category_id             refln
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refln_index_l'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_dependent.dependent_name
                                '_refln.index_h'
                                '_refln.index_k'
    _item_sub_category.id         miller_index
    _item_type.code               int
     save_

save__refln.intensity_calc
    _item_description.description
;              The calculated value of the intensity, in the measured units.
;
    _item.name                  '_refln.intensity_calc'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_intensity_calc'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
     save_

save__refln.intensity_meas
    _item_description.description
;              The measured value of the intensity, in the measured units.
;
    _item.name                  '_refln.intensity_meas'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_intensity_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
     save_

save__refln.intensity_sigma
    _item_description.description
;              The standard uncertainty (derived from measurement) of the
               intensity, in the measured units.
;
    _item.name                  '_refln.intensity_sigma'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_intensity_sigma'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
     save_

save__refln.mean_path_length_tbar
    _item_description.description
;              Mean path length in millimetres through the crystal for this
               reflection.
;
    _item.name                  '_refln.mean_path_length_tbar'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_mean_path_length_tbar'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              millimetres
     save_

save__refln.status
    _item_description.description
;              Classification of a reflection so as to indicate its status with
               respect to inclusion in refinement and calculation of R factors.
;
    _item.name                  '_refln.status'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_observed_status'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           o
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      o
;                                     satisfies _refine.ls_d_res_high
                                      satisfies _refine.ls_d_res_low
                                      observed by _reflns.observed_criterion
                                      not flagged as systematically absent
                                      not flagged as unreliable
;
                                  <
;                                     satisfies _refine.ls_d_res_high
                                      satisfies _refine.ls_d_res_low
                                      unobserved by _reflns.observed_criterion
                                      not flagged as systematically absent
                                      not flagged as unreliable
;
                                  -  'systematically absent reflection'
                                  x  'unreliable measurement -- not used'
                                  h  'does not satisfy _refine.ls_d_res_high'
                                  l  'does not satisfy _refine.ls_d_res_low'
                                  f
;                                     satisfies _refine.ls_d_res_high
                                      satisfies _refine.ls_d_res_low
                                      observed by _reflns.observed_criterion
                                      not flagged as systematically absent
                                      not flagged as unreliable
                                      excluded from refinement so as to be
                                      included in calculation of "free" R-factor
;
     save_

save__refln.phase_calc
    _item_description.description
;              The calculated structure-factor phase in degrees.
;
    _item.name                  '_refln.phase_calc'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_phase_calc'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__refln.phase_meas
    _item_description.description
;              The measured structure-factor phase in degrees.
;
    _item.name                  '_refln.phase_meas'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_phase_meas'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
    _item_units.code              degrees
     save_

save__refln.refinement_status
    _item_description.description
;              Status of reflection in the structure refinement process.
;
    _item.name                  '_refln.refinement_status'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_refinement_status'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_default.value           incl
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      incl  'included in ls process'
                                  excl  'excluded from ls process'
                                  extn  'excluded due to extinction'
     save_

save__refln.scale_group_code
    _item_description.description
;              This data item is a pointer to _reflns_scale.group_code in the
               REFLNS_SCALE_GROUP category.
;
    _item.name                  '_refln.scale_group_code'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refln_scale_group_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

save__refln.sint_over_lambda
    _item_description.description
;              The (sin theta)/lambda value in reciprocal angstroms for this
               reflection.
;
    _item.name                  '_refln.sint_over_lambda'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_sint/lambda'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              reciprocal_angstroms
     save_

save__refln.symmetry_epsilon
    _item_description.description
;              The symmetry reinforcement factor corresponding to the number of
               times the reflection indices are generated identically from the
               space-group symmetry operations.
;
    _item.name                  '_refln.symmetry_epsilon'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_symmetry_epsilon'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           32   32
                                  32    1
                                   1    1
    _item_type.code               int
     save_

save__refln.symmetry_multiplicity
    _item_description.description
;              The number of symmetry-equivalent reflections. The equivalent
               reflections have the same structure-factor magnitudes because
               of the space-group symmetry and the Friedel relationship.
;
    _item.name                  '_refln.symmetry_multiplicity'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_symmetry_multiplicity'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           24   24
                                  24    1
                                   1    1
    _item_type.code               int
     save_

save__refln.wavelength
    _item_description.description
;              The mean wavelength in angstroms of radiation used to measure
               this reflection. This is an important parameter for data
               collected using energy-dispersive detectors or the Laue
               method.
;
    _item.name                  '_refln.wavelength'
    _item.category_id             refln
    _item.mandatory_code          no
    _item_aliases.alias_name    '_refln_wavelength'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__refln.wavelength_id
    _item_description.description
;              This data item is a pointer to _diffrn_radiation.wavelength_id in
               the DIFFRN_RADIATION category.
;
    _item.name                  '_refln.wavelength_id'
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_refln_wavelength_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     save_

############
## REFLNS ##
############

save_REFLNS
    _category.description
;              Data items in the REFLNS category record details about the
               reflection data used to determine the ATOM_SITE data items.

               The REFLN data items refer to individual reflections and must
               be included in looped lists.

               The REFLNS data items specify the parameters that apply to all
               reflections. The REFLNS data items are not looped.
;
    _category.id                  reflns
    _category.mandatory_code      no
    _category_key.name          '_reflns.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'refln_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _reflns.entry_id                       '5HVP'
    _reflns.data_reduction_method
    ; Xengen program scalei. Anomalous pairs were merged. Scaling proceeded
      in several passes, beginning with 1-parameter fit and ending with
      3-parameter fit.
    ;
    _reflns.data_reduction_details
    ; Merging and scaling based on only those reflections with I > \s(I).
    ;

    _reflns.d_resolution_high              2.00
    _reflns.d_resolution_low               8.00

    _reflns.limit_h_max                    22
    _reflns.limit_h_min                    0
    _reflns.limit_k_max                    46
    _reflns.limit_k_min                    0
    _reflns.limit_l_max                    57
    _reflns.limit_l_min                    0

    _reflns.number_obs                     7228
    _reflns.observed_criterion             '> 1 \s(I)'
    _reflns.details                        none
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - based on data set TOZ of Willis, Beckwith & Tozer [(1991).
                Acta Cryst. C47, 2276-2277].
;
;
    _reflns.limit_h_min                0
    _reflns.limit_h_max                6
    _reflns.limit_k_min                0
    _reflns.limit_k_max                17
    _reflns.limit_l_min                0
    _reflns.limit_l_max                22
    _reflns.number_all                 1592
    _reflns.number_obs                 1408
    _reflns.observed_criterion         F_>_6.0_\s(F)
    _reflns.d_resolution_high          0.8733
    _reflns.d_resolution_low           11.9202
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__reflns.B_iso_Wilson_estimate
    _item_description.description
;              The value of the overall isotropic temperature factor estimated
               from the slope of the Wilson plot.
;
    _item.name                  '_reflns.B_iso_Wilson_estimate'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              angstroms_squared
     save_

save__reflns.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_reflns.entry_id'
    _item.mandatory_code          yes
     save_

save__reflns.data_reduction_details
    _item_description.description
;              A description of special aspects of the data reduction
               procedures.
;
    _item.name                  '_reflns.data_reduction_details'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 Merging and scaling based on only those
                                  reflections with I > sig(I).
;
     save_

save__reflns.data_reduction_method
    _item_description.description
;              The method used in reducing the data.

               Note that this is not the computer program used, which is
               described in the SOFTWARE category.

               Rather this data item should be used to describe significant
               methodological options used within the data reduction programs.
;
    _item.name                  '_reflns.data_reduction_method'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 Profile fitting by methods of Kabsch (19xx).
                                  Scaling used spherical harmonic coefficients.
;
     save_

save__reflns.d_resolution_high
    _item_description.description
;              The highest resolution for the interplanar spacings in
               the reflection data. This is the smallest d value.
;
    _item.name                  '_reflns.d_resolution_high'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_d_resolution_high'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__reflns.d_resolution_low
    _item_description.description
;              The lowest resolution for the interplanar spacings in the
               reflection data. This is the largest d value.
;
    _item.name                  '_reflns.d_resolution_low'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_d_resolution_low'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__reflns.details
    _item_description.description
;              A description of reflection data not covered by the other data
               names. It should include details of the Friedel pairs.
;
    _item.name                  '_reflns.details'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_special_details'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               text
     save_

save__reflns.limit_h_max
    _item_description.description
;              Maximum value of Miller index h for the reflection data. This
               need not have the same value as _diffrn_reflns.limit_h_max.
;
    _item.name                  '_reflns.limit_h_max'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_limit_h_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns.limit_h_min
    _item_description.description
;              Minimum value of Miller index h for the reflection data. This
               need not have the same value as _diffrn_reflns.limit_h_min.
;
    _item.name                  '_reflns.limit_h_min'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_limit_h_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns.limit_k_max
    _item_description.description
;              Maximum value of Miller index k for the reflection data. This
               need not have the same value as _diffrn_reflns.limit_k_max.
;
    _item.name                  '_reflns.limit_k_max'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_limit_k_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns.limit_k_min
    _item_description.description
;              Minimum value of Miller index k for the reflection data. This
               need not have the same value as _diffrn_reflns.limit_k_min.
;
    _item.name                  '_reflns.limit_k_min'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_limit_k_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns.limit_l_max
    _item_description.description
;              Maximum value of Miller index l for the reflection data. This
               need not have the same value as _diffrn_reflns.limit_l_max.
;
    _item.name                  '_reflns.limit_l_max'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_limit_l_max'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns.limit_l_min
    _item_description.description
;              Minimum value of Miller index l for the reflection data. This
               need not have the same value as _diffrn_reflns.limit_l_min.
;
    _item.name                  '_reflns.limit_l_min'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_limit_l_min'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns.number_all
    _item_description.description
;              The total number of reflections in the REFLN list (not the
               DIFFRN_REFLN list). This number may contain Friedel equivalent
               reflections according to the nature of the structure and the
               procedures used. The item _reflns.details describes the
               reflection data.
;
    _item.name                  '_reflns.number_all'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_number_total'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__reflns.number_obs
    _item_description.description
;              The number of reflections in the REFLN list (not the DIFFRN_REFLN
               list) classified as observed (see _reflns.observed_criterion).
               This number may contain Friedel equivalent reflections according
               to the nature of the structure and the procedures used.
;
    _item.name                  '_reflns.number_obs'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_number_observed'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum           .   0
                                  0   0
    _item_type.code               int
     save_

save__reflns.observed_criterion
    _item_description.description
;              The criterion used to classify a reflection as 'observed'. This
               criterion is usually expressed in terms of a sigma(I) or
               sigma(F) threshold.
;
    _item.name                  '_reflns.observed_criterion'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_observed_criterion'
    _item_aliases.dictionary      cif_core.dic 
    _item_aliases.version         2.0.1 
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion_sigma_F'
                                  alternate
                                '_reflns.observed_criterion_sigma_I'
                                  alternate
                                '_reflns.observed_criterion_I_min'
                                  alternate
                                '_reflns.observed_criterion_I_max'
                                  alternate
                                '_reflns.observed_criterion_F_min'
                                  alternate
                                '_reflns.observed_criterion_F_max'
                                  alternate

    _item_type.code               text 
    _item_examples.case          '>2sigma(I)'
     save_

save__reflns.observed_criterion_F_max
    _item_description.description
;              The criterion used to classify a reflection as 'observed',
               expressed as a upper limit in the value of F.
;
    _item.name                  '_reflns.observed_criterion_F_max'
    _item.category_id             reflns 
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion'
                                  alternate
                                '_reflns.observed_criterion_I_max'
                                  convention
    _item_type.code               float
     save_

save__reflns.observed_criterion_F_min
    _item_description.description
;              The criterion used to classify a reflection as 'observed',
               expressed as a lower limit in the value of F.
;
    _item.name                  '_reflns.observed_criterion_F_min'
    _item.category_id             reflns 
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion'
                                  alternate
                                '_reflns.observed_criterion_I_min'
                                  convention
    _item_type.code               float
     save_

save__reflns.observed_criterion_I_max
    _item_description.description
;              The criterion used to classify a reflection as 'observed',
               expressed as a upper limit in the value of I.
;
    _item.name                  '_reflns.observed_criterion_I_max'
    _item.category_id             reflns 
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion'
                                  alternate
                                '_reflns.observed_criterion_F_max'
                                  convention
    _item_type.code               float
     save_

save__reflns.observed_criterion_I_min
    _item_description.description
;              The criterion used to classify a reflection as 'observed',
               expressed as a lower limit in the value of I.
;
    _item.name                  '_reflns.observed_criterion_I_min'
    _item.category_id             reflns 
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion'
                                  alternate
                                '_reflns.observed_criterion_F_min'
                                  convention
    _item_type.code               float
     save_

save__reflns.observed_criterion_sigma_F
    _item_description.description
;              The criterion used to classify a reflection as 'observed',
               expressed as a multiple of the value of sigma(F).
;
    _item.name                  '_reflns.observed_criterion_sigma_F'
    _item.category_id             reflns 
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion'
                                  alternate
                                '_reflns.observed_criterion_sigma_I'
                                  convention
    _item_type.code               float
     save_

save__reflns.observed_criterion_sigma_I
    _item_description.description
;              The criterion used to classify a reflection as 'observed',
               expressed as a multiple of the value of sigma(I).  
;
    _item.name                  '_reflns.observed_criterion_sigma_I'
    _item.category_id             reflns
    _item.mandatory_code          no
     loop_
    _item_related.related_name
    _item_related.function_code '_reflns.observed_criterion'
                                  alternate
                                '_reflns.observed_criterion_sigma_F'
                                  convention
    _item_type.code               float
     save_

save__reflns.percent_possible_obs
    _item_description.description
;              The percentage of geometrically possible reflections represented
               by reflections that satisfy the resolution limits established
               by _reflns.d_resolution_high and _reflns.d_resolution_low and
               the obversation limit established by 
               _reflns.observed_criterion.
;
    _item.name                  '_reflns.percent_possible_obs'
    _item.category_id             reflns
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns.R_free_details
    _item_description.description
;              A description of the method by which a subset of reflections was
               selected for exclusion from refinement so as to be used in the
               calculation of a "free" R-factor.
;
    _item.name                  '_reflns.R_free_details'
    _item.category_id             reflns
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The data set was sorted with l varying most
                                  rapidly and h varying least rapidly. Every
                                  10th reflection is this sorted list was
                                  excluded from refinement and included in the
                                  calculation of a "free" R-factor.
;
     save_

save__reflns.Rmerge_F_all
    _item_description.description
;              Residual factor Rmerge for all reflections that satify the
               resolution limits established by _reflns.d_resolution_high 
               and _reflns.d_resolution_low.

                           sum~i~(sum~j~|F~j~ - <F>|)
               Rmerge(F) = --------------------------
                                sum~i~(sum~j~<F>)

               F~j~ = the amplitude of the jth observation of reflection i
               <F>  = the mean of the amplitudes of all observations of
                      reflection i

               sum~i~ is taken over all reflections
               sum~j~ is taken over all observations of each reflection
;
    _item.name                  '_reflns.Rmerge_F_all'
    _item.category_id             reflns
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns.Rmerge_F_obs
    _item_description.description
;              Residual factor Rmerge for reflections that satify the
               resolution limits established by _reflns.d_resolution_high
               and _reflns.d_resolution_low and the observation limit
               established by _reflns.observed_criterion.

                           sum~i~(sum~j~|F~j~ - <F>|)
               Rmerge(F) = --------------------------
                                sum~i~(sum~j~<F>)

               F~j~ = the amplitude of the jth observation of reflection i
               <F>  = the mean of the amplitudes of all observations of
                      reflection i

               sum~i~ is taken over all reflections
               sum~j~ is taken over all observations of each reflection
;
    _item.name                  '_reflns.Rmerge_F_obs'
    _item.category_id             reflns
    _item.mandatory_code          no
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

##################
## REFLNS_SCALE ##
##################

save_REFLNS_SCALE
    _category.description
;              Data items in the REFLNS_SCALE category record details about
               the structure factor scales. They are referenced from within
               the REFLN list through _refln.scale_group_code.
;
    _category.id                  reflns_scale
    _category.mandatory_code      no
    _category_key.name          '_reflns_scale.group_code'
     loop_
    _category_group.id           'inclusive_group'
                                 'refln_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like
                peptide [(POG)4 EKG (POG)5]3.
;
;
    _reflns_scale.group_code     SG1
    _reflns_scale.meas_F         4.0    
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__reflns_scale.group_code
    _item_description.description
;              The code identifying a scale _reflns_scale.meas_F, 
               _reflns_scale.meas_F_squared or _reflns_scale.meas_intensity.
               These are linked to the REFLN list by the
               _refln.scale_group_code.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_reflns_scale.group_code'  reflns_scale       yes
               '_refln.scale_group_code'   refln              yes
    _item_aliases.alias_name    '_reflns_scale_group_code'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_refln.scale_group_code'  '_reflns_scale.group_code'
    _item_type.code               line
     loop_
    _item_examples.case          '1'
                                 '2'
                                 'c1'
                                 'c2'
     save_

save__reflns_scale.meas_F
    _item_description.description
;              A scale associated with _reflns_scale.group_code. These codes
               may not correspond to those in the DIFFRN_SCALE list.
;
    _item.name                  '_reflns_scale.meas_F'
    _item.category_id             reflns_scale
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_scale_meas_F'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum          
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_scale.meas_F_squared
    _item_description.description
;              A scale associated with _reflns_scale.group_code. These codes
               may not correspond to those in the DIFFRN_SCALE list.
;
    _item.name                  '_reflns_scale.meas_F_squared'
    _item.category_id             reflns_scale
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_scale_meas_F_squared'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_scale.meas_intensity
    _item_description.description
;              A scale associated with _reflns_scale.group_code. These codes
               may not correspond to those in the DIFFRN_SCALE list.
;
    _item.name                  '_reflns_scale.meas_intensity'
    _item.category_id             reflns_scale
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_scale_meas_intensity'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

##################
## REFLNS_SHELL ##
##################

save_REFLNS_SHELL
    _category.description
;              Data items in the REFLNS_SHELL category record details about
               the reflection data used to determine the ATOM_SITE data items,
               as broken down by shells of resolution.
;
    _category.id                  reflns_shell
    _category.mandatory_code      no
     loop_
    _category_key.name          '_reflns_shell.d_res_high'
                                '_reflns_shell.d_res_low'
     loop_
    _category_group.id           'inclusive_group'
                                 'refln_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _reflns_shell.d_res_high
    _reflns_shell.d_res_low
    _reflns_shell.meanI_over_sigI_obs
    _reflns_shell.number_measured_obs
    _reflns_shell.number_unique_obs
    _reflns_shell.percent_possible_obs
    _reflns_shell.Rmerge_F_obs
      31.38  3.82  69.8  9024  2540  96.8   1.98
       3.82  3.03  26.1  7413  2364  95.1   3.85
       3.03  2.65  10.5  5640  2123  86.2   6.37
       2.65  2.41   6.4  4322  1882  76.8   8.01
       2.41  2.23   4.3  3247  1714  70.4   9.86
       2.23  2.10   3.1  1140   812  33.3  13.99
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__reflns_shell.d_res_high
    _item_description.description
;              The highest resolution in angstroms for the interplanar spacing
               in the reflections in this shell. This is the smallest d value.
;
    _item.name                  '_reflns_shell.d_res_high'
    _item.category_id             reflns_shell
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_reflns_shell_d_res_high'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__reflns_shell.d_res_low
    _item_description.description
;              The lowest resolution in angstroms for the interplanar spacing
               in the reflections in this shell. This is the largest d value.
;
    _item.name                  '_reflns_shell.d_res_low'
    _item.category_id             reflns_shell
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_reflns_shell_d_res_low'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
    _item_units.code              angstroms
     save_

save__reflns_shell.meanI_over_sigI_all
    _item_description.description
;              The ratio of the mean of the intensities of all reflections
               in this shell to the mean of the standard uncertainties of the
               intensities of all reflections in the resolution shell.
;
    _item.name                  '_reflns_shell.meanI_over_sigI_all'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_meanI_over_sigI_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
     save_

save__reflns_shell.meanI_over_sigI_obs
    _item_description.description
;              The ratio of the mean of the intensities of the reflections
               classified as 'observed' (see _reflns.observed_criterion) in
               this shell to the mean of the standard uncertainties of the
               intensities of the 'observed' reflections in the resolution
               shell.
;
    _item.name                  '_reflns_shell.meanI_over_sigI_obs'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_meanI_over_sigI_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               float
     save_

save__reflns_shell.number_measured_all
    _item_description.description
;              The total number of reflections measured for this resolution
               shell.
;
    _item.name                  '_reflns_shell.number_measured_all'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_number_measured_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns_shell.number_measured_obs
    _item_description.description
;              The number of reflections classified as 'observed'
               (see _reflns.observed_criterion) measured for this
               resolution shell.
;
    _item.name                  '_reflns_shell.number_measured_obs'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_number_measured_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns_shell.number_possible
    _item_description.description
;              The number of unique reflections it is possible to measure in
               this reflection shell.
;
    _item.name                  '_reflns_shell.number_possible'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_number_possible'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               int
     save_

save__reflns_shell.number_unique_all
    _item_description.description
;              The total number of measured reflections which are symmetrically
               unique after merging for this resolution shell.
;
    _item.name                  '_reflns_shell.number_unique_all'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_number_unique_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns_shell.number_unique_obs
    _item_description.description
;              The total number of measured reflections classified as 'observed'
               (see _reflns.observed_criterion) which are symmetrically unique
               after merging for this resolution shell.
;
    _item.name                  '_reflns_shell.number_unique_obs'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_number_unique_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__reflns_shell.percent_possible_all
    _item_description.description
;              The percentage of geometrically possible reflections represented
               by all reflections measured for this resolution shell.
;
    _item.name                  '_reflns_shell.percent_possible_all'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_percent_possible_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_shell.percent_possible_obs
    _item_description.description
;              The percentage of geometrically possible reflections represented
               by reflections classified as 'observed' (see
               _reflns.observed_criterion) measured for this resolution shell.
;
    _item.name                  '_reflns_shell.percent_possible_obs'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_percent_possible_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_shell.Rmerge_F_all
    _item_description.description
;              Residual factor Rmerge for all reflections that satify the
               resolution limits established by _reflns_shell.d_res_high and
               _reflns_shell.d_res_low.

                           sum~i~(sum~j~|F~j~ - <F>|)
               Rmerge(F) = --------------------------
                                sum~i~(sum~j~<F>)

               F~j~ = the amplitude of the jth observation of reflection i
               <F>  = the mean of the amplitudes of all observations of
                      reflection i

               sum~i~ is taken over all reflections
               sum~j~ is taken over all observations of each reflection
;
    _item.name                  '_reflns_shell.Rmerge_F_all'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_Rmerge_F_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_shell.Rmerge_F_obs
    _item_description.description
;              Residual factor Rmerge for reflections that satify the
               resolution limits established by _reflns_shell.d_res_high and
               _reflns_shell.d_res_low and the observation criterion
               established by _reflns.observed_criterion.

                           sum~i~(sum~j~|F~j~ - <F>|)
               Rmerge(F) = --------------------------
                                sum~i~(sum~j~<F>)

               F~j~ = the amplitude of the jth observation of reflection i
               <F>  = the mean of the amplitudes of all observations of
                      reflection i

               sum~i~ is taken over all reflections
               sum~j~ is taken over all observations of each reflection
;
    _item.name                  '_reflns_shell.Rmerge_F_obs'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_Rmerge_F_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_shell.Rmerge_I_all
    _item_description.description
;              The value of Rmerge(I) for all reflections in a given shell.

                           sum~i~(sum~j~|I~j~ - <I>|)
               Rmerge(I) = --------------------------
                               sum~i~(sum~j~<I>)

               I~j~ = the intensity of the jth observation of reflection i
               <I>  = the mean of the intensities of all observations of
                      reflection i

               sum~i~ is taken over all reflections
               sum~j~ is taken over all observations of each reflection

;
    _item.name                  '_reflns_shell.Rmerge_I_all'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_Rmerge_I_all'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

save__reflns_shell.Rmerge_I_obs
    _item_description.description
;              The value of Rmerge(I) for reflections classified as 'observed'
               (see _reflns.observed_criterion) in a given shell.

                           sum~i~(sum~j~|I~j~ - <I>|)
               Rmerge(I) = --------------------------
                               sum~i~(sum~j~<I>)

               I~j~ = the intensity of the jth observation of reflection i
               <I>  = the mean of the intensities of all observations of
                      reflection i

               sum~i~ is taken over all reflections
               sum~j~ is taken over all observations of each reflection
;
    _item.name                  '_reflns_shell.Rmerge_I_obs'
    _item.category_id             reflns_shell
    _item.mandatory_code          no
    _item_aliases.alias_name    '_reflns_shell_Rmerge_I_obs'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
     loop_
    _item_range.maximum           
    _item_range.minimum            .    0.0
                                  0.0   0.0
    _item_type.code               float
     save_

##############
## SOFTWARE ##
##############

save_SOFTWARE
    _category.description
;              Data items in the SOFTWARE category record details about 
               the software used used in the structure analysis, which
               implies any software used in the generation of any data
               items associated with the structure determination and
               structure representation. 
               These data items provide an alternative, and more thorough, 
               method for referencing computer programs than do data items 
               in the COMPUTING category.
;
    _category.id                  software 
    _category.mandatory_code      no
     loop_
    _category_key.name          '_software.name'
                                '_software.version'
     loop_
    _category_group.id           'inclusive_group'
                                 'computing_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _software.name
    _software.version
    _software.date
    _software.type 
    _software.contact_author
    _software.contact_author_email
    _software.location
    _software.classification
    _software.citation_id
    _software.language
    _software.compiler_name
    _software.compiler_version
    _software.hardware
    _software.os
    _software.os_version
    _software.dependencies
    _software.mods
    _software.description
       Prolsq    unknown  .    program     'Wayne A. Hendrickson'  ?
       'ftp://rosebud.sdsc.edu/pub/sdsc/xtal/CCP4/ccp4/'    refinement
        ref5  Fortran
       'Convex Fortran' v8.0 'Convex C220' ConvexOS  v10.1
       'Requires that Protin be run first'    optimized
       'restrained least-squares refinement'  
;
     save_
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

save__software.citation_id
    _item_description.description
;              This data item is a pointer to _citation.id in the CITATION
               category.
;
    _item.name                  '_software.citation_id'
    _item.mandatory_code          yes
     save_

save__software.classification
    _item_description.description
;              The classification of the program according to its
               major function.
;
    _item.name                  '_software.classification'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               uline
     loop_
    _item_enumeration.value      'data collection'
                                 'data reduction'
                                 'phasing'
                                 'model building'
                                 'refinement' 
                                 'validation'
                                 'other'
     save_

save__software.compiler_name
    _item_description.description
;              The compiler used to compile the software.
;
    _item.name                  '_software.compiler_name'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case
                                 'Convex Fortran'
                                 'gcc'
                                 'DEC C'
     save_
 
save__software.compiler_version
    _item_description.description
;              The version of the compiler used to compile the software.
;
    _item.name                  '_software.compiler_version'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          '3.1'
                                 '2.1 alpha'
     save_

save__software.contact_author
    _item_description.description
;              The recognized contact author of the software. This could be 
               the original author, modifier of the code, or maintainer, but
               should be the individual most commonly associated with the
               code.
;
    _item.name                  '_software.contact_author'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          'Alywn Jones'
                                 'Axel Brunger'
     save_

save__software.contact_author_email
    _item_description.description
;              The email address of the _software.contact_author.
;
    _item.name                  '_software.contact_author_email'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'bourne@sdsc.edu'
     save_
 
save__software.date
    _item_description.description
;              The date the software was released. 
;
    _item.name                  '_software.date'   
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case           1991-10-01
                                  1990-04-30 
     save_

save__software.description
    _item_description.description
;              Description of the software.              
;
    _item.name                  '_software.description'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'Uses method of restrained least squares'
     save_

save__software.dependencies
    _item_description.description
;              Any prerequistite software required to run _software.name.
;
    _item.name                  '_software.dependencies'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'PDBlib class library'
     save_
 
save__software.hardware
    _item_description.description
;              The hardware upon which the software was run.
;
    _item.name                  '_software.hardware'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          'Sun Sparc 10 model 41'
                                 'Dec Alpha 3000 model 500S'
                                 'Silicon Graphics Elan'
                                 'Compaq PC 486/66'
     save_
 
save__software.language
    _item_description.description
;              The major computing language in which the software is 
               coded.
;
    _item.name                  '_software.language'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               uline
     loop_
    _item_enumeration.value       Ada
                                  assembler
                                  Awk
                                  Basic
                                 'C++'
                                  C
                                  csh
                                  Fortran
                                  Java
                                  ksh
                                  Pascal
                                  Perl
                                  Python
                                  sh
                                  Tcl
                                  Other
     save_

save__software.location
    _item_description.description
;              An Internet address in the form of a URL describing
               where details of the software can be found.
;
    _item.name                  '_software.location'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
                  'http://rosebud.sdsc.edu/projects/pb/IUCr/software.html'
                  'ftp://ftp.sdsc.edu/pub/sdsc/biology/'
     save_

save__software.mods
    _item_description.description
;              Any noteworthy modifications to the base software, if applicable.
;
    _item.name                  '_software.mods'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'Added support for space group F432'
     save_

save__software.name
    _item_description.description
;              The name of the software.
;
    _item.name                  '_software.name'
    _item.category_id             software
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'Merlot'
                                 'O'
                                 'Xengen'
                                 'X-plor'
     save_

save__software.os
    _item_description.description
;              The name of the operating system under which the software
               run.
;
    _item.name                  '_software.os'
    _item.category_id             software
    _item.mandatory_code          no 
    _item_type.code               text
     loop_
    _item_examples.case          'Ultrix'
                                 'OpenVMS'
                                 'DOS'
                                 'Windows 95'
                                 'Windows NT'
                                 'Irix'
                                 'HPUX'
                                 'DEC Unix'
     save_

save__software.os_version
    _item_description.description
;              The version of the operating system under which the software
               runs.
;
    _item.name                  '_software.os_version'
    _item.category_id             software
    _item.mandatory_code          no 
    _item_type.code               text
     loop_
    _item_examples.case          '3.1'
                                 '4.2.1'
     save_

save__software.type
    _item_description.description
;              The classification of the software according to the most
               common types.
;
    _item.name                  '_software.type'
    _item.category_id             software
    _item.mandatory_code          no
    _item_type.code               uline
     loop_
    _item_enumeration.value
    _item_enumeration.detail      program  
;                                 individual program with limited
                                  functionality
;
                                  library
;                                 used by a program at load time
;
                                  package
;                                 collections of programs with multiple
                                  functionality
;
                                  filter
;                                 filters input and output streams
;
                                  jiffy
;                                 short simple program
;
                                  other
;                                 all other classifications
;
     save_
 
save__software.version
    _item_description.description
;              The version of the software.
;
    _item.name                  '_software.version'
    _item.category_id             software 
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          'v1.0'
                                 'beta'
                                 '3.1-2'
                                 'unknown'
     save_

############
## STRUCT ##
############

save_STRUCT
    _category.description
;              Data items in the STRUCT category record details about the
               description of the crystallographic structure.
;
    _category.id                  struct
    _category.mandatory_code      no
    _category_key.name          '_struct.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _struct.entry_id                       '5HVP'
    _struct.title
    ; HIV-1 protease complex with acetyl-pepstatin
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    save_

save__struct.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_struct.entry_id'
    _item.mandatory_code          yes
     save_

save__struct.title
    _item_description.description
;              A title for the data block. The author should attempt to convey
               the essence of the structure archived in the CIF in the title,
               and to distinguish this structural result from others.
;
    _item.name                  '_struct.title'
    _item.category_id             struct
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          '5'-D(*(I)CP*CP*GP*G)-3'
                                 'T4 lysozyme mutant - S32A'
                                 'hen egg white lysozyme at -30 degrees C'
                                 'quail egg white lysozyme at 2 atmospheres'
     save_

#################
## STRUCT_ASYM ##
#################

save_STRUCT_ASYM
    _category.description
;              Data items in the STRUCT_ASYM category record details about the
               structural elements in the asymmetric unit.
;
    _category.id                  struct_asym
    _category.mandatory_code      no
    _category_key.name          '_struct_asym.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_asym.id
    _struct_asym.entity_id
    _struct_asym.details
      A  1  'one monomer of the dimeric enzyme'
      B  1  'one monomer of the dimeric enzyme'
      C  2  'one partially occupied position for the inhibitor'
      D  2  'one partially occupied position for the inhibitor'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_asym.details
    _item_description.description
;              A description of special aspects of this portion of the contents
               of the asymmetric unit.
;
    _item.name                  '_struct_asym.details'
    _item.category_id             struct_asym
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The drug binds to this enzyme in two roughly
                                  twofold symmetric modes. Hence this
                                  biological unit (3) is roughly twofold
                                  symmetric to biological unit (2). Disorder in
                                  the protein chain indicated with alternative
                                  id 2 should be used with this biological unit.
;
     save_

save__struct_asym.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_struct_asym.entity_id'
    _item.mandatory_code          yes
     save_

save__struct_asym.id
    _item_description.description
;              The value of _struct_asym.id must uniquely identify a record in
               the STRUCT_ASYM list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_asym.id'                         struct_asym         yes
               '_atom_site.label_asym_id'                atom_site           no
               '_geom_angle.atom_site_label_asym_id_1'   geom_angle          no
               '_geom_angle.atom_site_label_asym_id_2'   geom_angle          no
               '_geom_angle.atom_site_label_asym_id_3'   geom_angle          no
               '_geom_bond.atom_site_label_asym_id_1'    geom_bond           no
               '_geom_bond.atom_site_label_asym_id_2'    geom_bond           no
               '_geom_contact.atom_site_label_asym_id_1' geom_contact        no
               '_geom_contact.atom_site_label_asym_id_2' geom_contact        no
               '_geom_hbond.atom_site_label_asym_id_A'   geom_hbond          no
               '_geom_hbond.atom_site_label_asym_id_D'   geom_hbond          no
               '_geom_hbond.atom_site_label_asym_id_H'   geom_hbond          no
               '_geom_torsion.atom_site_label_asym_id_1' geom_torsion        no
               '_geom_torsion.atom_site_label_asym_id_2' geom_torsion        no
               '_geom_torsion.atom_site_label_asym_id_3' geom_torsion        no
               '_geom_torsion.atom_site_label_asym_id_4' geom_torsion        no
               '_struct_biol_gen.asym_id'                struct_biol_gen     yes
               '_struct_conf.beg_label_asym_id'          struct_conf         yes
               '_struct_conf.end_label_asym_id'          struct_conf         yes
               '_struct_conn.ptnr1_label_asym_id'        struct_conn         yes
               '_struct_conn.ptnr2_label_asym_id'        struct_conn         yes
               '_struct_mon_nucl.label_asym_id'          struct_mon_nucl     yes
               '_struct_mon_prot.label_asym_id'          struct_mon_prot     yes
               '_struct_mon_prot_cis.label_asym_id'      struct_mon_prot_cis yes
               '_struct_ncs_dom_lim.beg_label_asym_id'   struct_ncs_dom_lim  yes
               '_struct_ncs_dom_lim.end_label_asym_id'   struct_ncs_dom_lim  yes
               '_struct_sheet_range.beg_label_asym_id'   struct_sheet_range  yes
               '_struct_sheet_range.end_label_asym_id'   struct_sheet_range  yes
               '_struct_site_gen.label_asym_id'          struct_site_gen     yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
            '_atom_site.label_asym_id'                '_struct_asym.id'
            '_struct_biol_gen.asym_id'                '_struct_asym.id'
            '_geom_angle.atom_site_label_asym_id_1'   '_atom_site.label_asym_id'
            '_geom_angle.atom_site_label_asym_id_2'   '_atom_site.label_asym_id'
            '_geom_angle.atom_site_label_asym_id_3'   '_atom_site.label_asym_id'
            '_geom_bond.atom_site_label_asym_id_1'    '_atom_site.label_asym_id'
            '_geom_bond.atom_site_label_asym_id_2'    '_atom_site.label_asym_id'
            '_geom_contact.atom_site_label_asym_id_1' '_atom_site.label_asym_id'
            '_geom_contact.atom_site_label_asym_id_2' '_atom_site.label_asym_id'
            '_geom_hbond.atom_site_label_asym_id_A'   '_atom_site.label_asym_id'
            '_geom_hbond.atom_site_label_asym_id_D'   '_atom_site.label_asym_id'
            '_geom_hbond.atom_site_label_asym_id_H'   '_atom_site.label_asym_id'
            '_geom_torsion.atom_site_label_asym_id_1' '_atom_site.label_asym_id'
            '_geom_torsion.atom_site_label_asym_id_2' '_atom_site.label_asym_id'
            '_geom_torsion.atom_site_label_asym_id_3' '_atom_site.label_asym_id'
            '_geom_torsion.atom_site_label_asym_id_4' '_atom_site.label_asym_id'
            '_struct_conf.beg_label_asym_id'          '_atom_site.label_asym_id'
            '_struct_conf.end_label_asym_id'          '_atom_site.label_asym_id'
            '_struct_conn.ptnr1_label_asym_id'        '_atom_site.label_asym_id'
            '_struct_conn.ptnr2_label_asym_id'        '_atom_site.label_asym_id'
            '_struct_mon_nucl.label_asym_id'          '_atom_site.label_asym_id'
            '_struct_mon_prot.label_asym_id'          '_atom_site.label_asym_id'
            '_struct_mon_prot_cis.label_asym_id'      '_atom_site.label_asym_id'
            '_struct_ncs_dom_lim.beg_label_asym_id'   '_atom_site.label_asym_id'
            '_struct_ncs_dom_lim.end_label_asym_id'   '_atom_site.label_asym_id'
            '_struct_sheet_range.beg_label_asym_id'   '_atom_site.label_asym_id'
            '_struct_sheet_range.end_label_asym_id'   '_atom_site.label_asym_id'
            '_struct_site_gen.label_asym_id'          '_atom_site.label_asym_id'
    _item_type.code               code
     loop_
    _item_examples.case          '1'
                                 'A'
                                 '2B3'
     save_

#################
## STRUCT_BIOL ##
#################

save_STRUCT_BIOL
    _category.description
;              Data items in the STRUCT_BIOL category record details about
               the structural elements that form each structure of biological
               significance.

               A given crystal structure may contain many different biological
               structures. A given structural component in the asymmetric
               unit may be part of more than one biological unit. A given
               biological structure may involve crystallographic symmetry.

               For instance, in a structure of a lysozyme-FAB structure, the
               light and heavy chain components of the FAB could be one
               biological unit, while the two chains of the FAB and the lysozyme
               could constitute a second biological unit.
;
    _category.id                  struct_biol
    _category.mandatory_code      no
    _category_key.name          '_struct_biol.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_biol.id
    _struct_biol.details
      1
    ; significant deviations from twofold symmetry exist in this dimeric
      enzyme
    ;
      2
    ; The drug binds to this enzyme in two roughly twofold symmetric modes.
      Hence this biological unit (2) is roughly twofold symmetric to biological
      unit (3). Disorder in the protein chain indicated with alternative
      id 1 should be used with this biological unit.
    ;
      3
    ; The drug binds to this enzyme in two roughly twofold symmetric modes.
      Hence this biological unit (3) is roughly twofold symmetric to biological
      unit (2). Disorder in the protein chain indicated with alternative
      id 2 should be used with this biological unit.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_biol.details
    _item_description.description
;              A description of special aspects of the biological unit.
;
    _item.name                  '_struct_biol.details'
    _item.category_id             struct_biol
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The drug binds to this enzyme in two roughly
                                  twofold symmetric modes. Hence this
                                  biological unit (3) is roughly twofold
                                  symmetric to biological unit (2). Disorder in
                                  the protein chain indicated with alternative
                                  id 2 should be used with this biological unit.
;
     save_

save__struct_biol.id
    _item_description.description
;              The value of _struct_biol.id must uniquely identify a record in
               the STRUCT_BIOL list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_biol.id'                struct_biol           yes
               '_struct_biol_gen.biol_id'       struct_biol_gen       yes
               '_struct_biol_keywords.biol_id'  struct_biol_keywords  yes
               '_struct_biol_view.biol_id'      struct_biol_view      yes
               '_struct_ref.biol_id'            struct_ref            yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_biol_gen.biol_id'       '_struct_biol.id'
               '_struct_biol_keywords.biol_id'  '_struct_biol.id'
               '_struct_biol_view.biol_id'      '_struct_biol.id'
               '_struct_ref.biol_id'            '_struct_biol.id'
    _item_type.code               line
     save_

#####################
## STRUCT_BIOL_GEN ##
#####################

save_STRUCT_BIOL_GEN
    _category.description
;              Data items in the STRUCT_BIOL_GEN category record details about
               the generation of each biological unit. The STRUCT_BIOL_GEN
               data items provide the specifications of the components that
               constitute that biological unit, which may include symmetry
               elements.
;
    _category.id                  struct_biol_gen
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_biol_gen.biol_id'
                                '_struct_biol_gen.asym_id'
                                '_struct_biol_gen.symmetry'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_biol_gen.biol_id
    _struct_biol_gen.asym_id
    _struct_biol_gen.symmetry
      1  A  1_555
      1  B  1_555
      2  A  1_555
      2  B  1_555
      2  C  1_555
      3  A  1_555
      3  B  1_555
      3  D  1_555
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_biol_gen.asym_id
    _item_description.description
;              This data item is a pointer to _struct_asym.id in the STRUCT_ASYM
               category.
;
    _item.name                  '_struct_biol_gen.asym_id'
    _item.mandatory_code          yes
     save_

save__struct_biol_gen.biol_id
    _item_description.description
;              This data item is a pointer to _struct_biol.id in the STRUCT_BIOL
               category.
;
    _item.name                  '_struct_biol_gen.biol_id'
    _item.mandatory_code          yes
     save_

save__struct_biol_gen.details
    _item_description.description
;              A description of special aspects of the symmetry generation of
               this portion of the biological structure.
;
    _item.name                  '_struct_biol_gen.details'
    _item.category_id             struct_biol_gen
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The zinc atom lies on a special position;
                                  application of symmetry elements to generate
                                  the insulin hexamer will generate excess zinc
                                  atoms, which must be removed by hand.
;
     save_

save__struct_biol_gen.symmetry
    _item_description.description
;              Describes the symmetry operation that should be applied to the
               atom set specified by _struct_biol_gen.asym_id to generate a
               portion of the biological structure.
;
    _item.name                  '_struct_biol_gen.symmetry'
    _item.category_id             struct_biol_gen
    _item.mandatory_code          yes
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

##########################
## STRUCT_BIOL_KEYWORDS ##
##########################

save_STRUCT_BIOL_KEYWORDS
    _category.description
;              Data items in the STRUCT_BIOL_KEYWORDS category record details
               about keywords that describe each biological unit.
;
    _category.id                  struct_biol_keywords
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_biol_keywords.biol_id'
                                '_struct_biol_keywords.text'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_biol_keywords.biol_id
    _struct_biol_keywords.text
      1  'aspartyl-protease'
      1  'aspartic-protease'
      1  'acid-protease'
      1  'aspartyl-proteinase'
      1  'aspartic-proteinase'
      1  'acid-proteinase'
      1  'enzyme'
      1  'protease'
      1  'proteinase'
      1  'dimer'
      2  'drug-enzyme complex'
      2  'inhibitor-enzyme complex'
      2  'drug-protease complex'
      2  'inhibitor-protease complex'
      3  'drug-enzyme complex'
      3  'inhibitor-enzyme complex'
      3  'drug-protease complex'
      3  'inhibitor-protease complex'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_biol_keywords.biol_id
    _item_description.description
;              This data item is a pointer to _struct_biol.id in the STRUCT_BIOL
               category.
;
    _item.name                  '_struct_biol_keywords.biol_id'
    _item.mandatory_code          yes
     save_

save__struct_biol_keywords.text
    _item_description.description
;              Keywords describing this biological entity.
;
    _item.name                  '_struct_biol_keywords.text'
    _item.category_id             struct_biol_keywords
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'antibody'
                                 'antigen'
                                 'enzyme'
                                 'cytokine'
                                 'tRNA'
     save_

######################
## STRUCT_BIOL_VIEW ##
######################

save_STRUCT_BIOL_VIEW
    _category.description
;              Data items in the STRUCT_BIOL_VIEW category record details
               about how to draw and annotate a useful didactic view of the
               biological structure.
;
    _category.id                  struct_biol_view
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_biol_view.biol_id'
                                '_struct_biol_view.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on NDB structure GDL001  M. Coll, J. Aymami, 
                G.A. Van Der Marel, J.H. Van Boom, A. Rich,  and A.H. -J. Wang
                [(1989).  Biochemistry, 28 310-320]
;
;
    _struct_biol_view.biol_id               c1
    _struct_biol_view.id                    1
    _struct_biol_view.rot_matrix[1][1]      0.132
    _struct_biol_view.rot_matrix[1][2]      0.922
    _struct_biol_view.rot_matrix[1][3]     -0.363
    _struct_biol_view.rot_matrix[2][1]      0.131
    _struct_biol_view.rot_matrix[2][2]     -0.380
    _struct_biol_view.rot_matrix[2][3]     -0.916
    _struct_biol_view.rot_matrix[3][1]     -0.982
    _struct_biol_view.rot_matrix[3][2]      0.073
    _struct_biol_view.rot_matrix[3][3]     -0.172
    _struct_biol_view.details
    ;
       This view highlights the ATAT-Netropsin interaction in the 
       DNA-drug complex.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_biol_view.biol_id
    _item_description.description
;              This data item is a pointer to _struct_biol.id in the STRUCT_BIOL
               category.
;
    _item.name                  '_struct_biol_view.biol_id'
    _item.mandatory_code          yes
     save_

save__struct_biol_view.details
    _item_description.description
;              A description of special aspects of this view of the biological
               structure.

               This data item can be used as a figure legend, if desired.
;
    _item.name                  '_struct_biol_view.details'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The enzyme has been oriented with the
                                  molecular twofold axis aligned with the
                                  horizontal axis of the figure.
;
     save_

save__struct_biol_view.id
    _item_description.description
;              The value of _struct_biol_view.id must uniquely identify a
               record in the STRUCT_BIOL_VIEW list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_struct_biol_view.id'
    _item.category_id             struct_biol_view
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          'Figure 1'
                                 'unliganded enzyme'
                                 'view down enzyme active site'
     save_

save__struct_biol_view.rot_matrix[1][1]
    _item_description.description
;              The [1][1] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[1][1]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[1][2]
    _item_description.description
;              The [1][2] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[1][2]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[1][3]
    _item_description.description
;              The [1][3] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[1][3]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[2][1]
    _item_description.description
;              The [2][1] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[2][1]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[2][2]
    _item_description.description
;              The [2][2] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[2][2]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[2][3]
    _item_description.description
;              The [2][3] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[2][3]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[3][1]
    _item_description.description
;              The [3][1] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[3][1]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[3][2]
    _item_description.description
;              The [3][2] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[3][2]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_biol_view.rot_matrix[3][3]
    _item_description.description
;              The [3][3] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_BIOL_VIEW_GEN category to a view useful for describing the
               structure. The conventions used in the rotation are described in
               _struct_biol_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_biol_view.rot_matrix[3][3]'
    _item.category_id             struct_biol_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

#################
## STRUCT_CONF ##
#################

save_STRUCT_CONF
    _category.description
;              Data items in the STRUCT_CONF category record details about
               the backbone conformation of a segment of polymer.

               The STRUCT_CONF_TYPE records define the criteria used to
               identify the backbone conformations.
;
    _category.id                  struct_conf
    _category.mandatory_code      no
    _category_key.name          '_struct_conf.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_conf.id
    _struct_conf.conf_type_id
    _struct_conf.beg_label_comp_id
    _struct_conf.beg_label_asym_id
    _struct_conf.beg_label_seq_id
    _struct_conf.end_label_comp_id
    _struct_conf.end_label_asym_id
    _struct_conf.end_label_seq_id
    _struct_conf.details
      HELX1  HELX_RH_AL_P  ARG  A   87  GLN  A   92  .
      HELX2  HELX_RH_AL_P  ARG  B  287  GLN  B  292  .
      STRN1  STRN_P        PRO  A    1  LEU  A    5  .
      STRN2  STRN_P        CYS  B  295  PHE  B  299  .
      STRN3  STRN_P        CYS  A   95  PHE  A  299  .
      STRN4  STRN_P        PRO  B  201  LEU  B  205  .
    # - - - - data truncated for brevity - - - -
      TURN1  TURN_TY1P_P   ILE  A   15  GLN  A   18  .
      TURN2  TURN_TY2_P    GLY  A   49  GLY  A   52  .
      TURN3  TURN_TY1P_P   ILE  A   55  HIS  A   69  .
      TURN4  TURN_TY1_P    THR  A   91  GLY  A   94  .
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_conf.beg_label_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment begins.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.beg_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.beg_label_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment begins.

               This data item is a pointer to _atom_site.label_comp_id in
               the ATOM_SITE category.
;
    _item.name                  '_struct_conf.beg_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.beg_label_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment begins.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.beg_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.beg_auth_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment begins.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.beg_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_conf.beg_auth_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment begins.

               This data item is a pointer to _atom_site.auth_comp_id in
               the ATOM_SITE category.
;
    _item.name                  '_struct_conf.beg_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_conf.beg_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment begins.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.beg_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_conf.conf_type_id
    _item_description.description
;              This data item is a pointer to _struct_conf_type.id in the
               STRUCT_CONF_TYPE category.
;
    _item.name                  '_struct_conf.conf_type_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.details
    _item_description.description
;              A description of special aspects of the conformation assignment.
;
    _item.name                  '_struct_conf.details'
    _item.category_id             struct_conf
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__struct_conf.end_label_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment ends.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.end_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.end_label_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment ends.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.end_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.end_label_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment ends.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.end_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_conf.end_auth_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment ends.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.end_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_conf.end_auth_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment ends.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.end_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_conf.end_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               conformation segment ends.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conf.end_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_conf.id
    _item_description.description
;              The value of _struct_conf.id must uniquely identify a record in
               the STRUCT_CONF list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_struct_conf.id'
    _item.category_id             struct_conf
    _item.mandatory_code          yes
    _item_type.code               code
     save_

######################
## STRUCT_CONF_TYPE ##
######################

save_STRUCT_CONF_TYPE
    _category.description
;              Data items in the STRUCT_CONF_TYPE category record details
               about the criteria used to identify backbone conformations of a
               segment of polymer.
;
    _category.id                  struct_conf_type
    _category.mandatory_code      no
    _category_key.name          '_struct_conf_type.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_conf_type.id
    _struct_conf_type.criteria
    _struct_conf_type.reference
      HELX_RH_AL_P  'author judgement'  .
      STRN_P        'author judgement'  .
      TURN_TY1_P    'author judgement'  .
      TURN_TY1P_P   'author judgement'  .
      TURN_TY2_P    'author judgement'  .
      TURN_TY2P_P   'author judgement'  .
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_conf_type.criteria
    _item_description.description
;              The criteria used to assign this conformation type.
;
    _item.name                  '_struct_conf_type.criteria'
    _item.category_id             struct_conf_type
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'author judgement'
                                 'phi=54-74, psi=30-50'
     save_

save__struct_conf_type.id
     _item_description.description
;              The descriptor that categorizes type of the conformation of the
               backbone of the polymer (whether protein or nucleic acid).
               Explicit values for the torsions angles that define each
               conformation are not given here, but it is expected that the
               author would provide such information in either the
               _struct_conf_type.criteria or _struct_conf_type.reference data
               items, or both.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_conf_type.id'       struct_conf_type  yes
               '_struct_conf.conf_type_id'  struct_conf       yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_conf.conf_type_id'  '_struct_conf_type.id'
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      HELX_P
;                                 helix with handedness and type not specified
                                  (protein)
;
                                  HELX_OT_P
;                                 helix with handedness and type that do not
                                  conform to an accepted category (protein)
;
#
                                  HELX_RH_P
;                                 right-handed helix with type not specified
                                  (protein)
;
                                  HELX_RH_OT_P
;                                 right-handed helix with type that does not
                                  conform to an accepted category (protein)
;
                                  HELX_RH_AL_P
                                 'right-handed alpha helix (protein)'
                                  HELX_RH_GA_P
                                 'right-handed gamma helix (protein)'
                                  HELX_RH_OM_P
                                 'right-handed omega helix (protein)'
                                  HELX_RH_PI_P
                                 'right-handed pi helix (protein)'
                                  HELX_RH_27_P
                                 'right-handad 2-7 helix (protein)'
                                  HELX_RH_3T_P
                                 'right-handad 3-10 helix (protein)'
                                  HELX_RH_PP_P
                                 'right-handed polyproline helix (protein)'
#
                                  HELX_LH_P
;                                 left-handed helix with type not specified
                                  (protein)
;
                                  HELX_LH_OT_P
;                                 left-handed helix with type that does not
                                  conform to an accepted category (protein)
;
                                  HELX_LH_AL_P
                                 'left-handed alpha helix (protein)'
                                  HELX_LH_GA_P
                                 'left-handed gamma helix (protein)'
                                  HELX_LH_OM_P
                                 'left-handed omega helix (protein)'
                                  HELX_LH_PI_P
                                 'left-handed pi helix (protein)'
                                  HELX_LH_27_P
                                 'left-handed 2-7 helix (protein)'
                                  HELX_LH_3T_P
                                 'left-handed 3-10 helix (protein)'
                                  HELX_LH_PP_P
                                 'left-handed polyproline helix (protein)'
#
                                  HELX_N
;                                 helix with handedness and type not specified
                                  (nucleic acid)
;
                                  HELX_OT_N
;                                 helix with handedness and type that do not
                                  conform to an accepted category (nucleic 
                                  acid)
;
#
                                  HELX_RH_N
;                                 right-handed helix with type not specified
                                  (nucleic acid)
;
                                  HELX_RH_OT_N
;                                 right-handed helix with type that does not
                                  conform to an accepted category (nucleic 
                                  acid)
;
                                  HELX_RH_A_N
                                 'right-handed A helix (nucleic acid)'
                                  HELX_RH_B_N
                                 'right-handed B helix (nucleic acid)'
                                  HELX_RH_Z_N
                                 'right-handed Z helix (nucleic acid)'
#
                                  HELX_LH_N
;                                 left-handed helix with type not specified
                                  (nucleic acid)
;
                                  HELX_LH_OT_N
;                                 left-handed helix with type that does not
                                  conform to an accepted category (nucleic 
                                  acid)
;
                                  HELX_LH_A_N
                                 'left-handed A helix (nucleic acid)'
                                  HELX_LH_B_N
                                 'left-handed B helix (nucleic acid)'
                                  HELX_LH_Z_N
                                 'left-handed Z helix (nucleic acid)'
#
                                  TURN_P
                                 'turn with type not specified (protein)'
                                  TURN_OT_P
;                                 turn with type that does not conform to an
                                  accepted category (protein)
;
                                  TURN_TY1_P
                                 'type I turn (protein)'
                                  TURN_TY1P_P
                                 'type 1 prime turn (protein)'
                                  TURN_TY2_P
                                 'type II turn (protein)'
                                  TURN_TY2P_P
                                 'type II prime turn (protein)'
                                  TURN_TY3_P
                                 'type III turn (protein)'
                                  TURN_TY3P_P
                                 'type III prime turn (protein)'
#
                                  STRN
                                 'beta strand (protein)'
     save_

save__struct_conf_type.reference
    _item_description.description
;              A literature reference that defines the criteria used to assign
               this conformation type and subtype.
;
    _item.name                  '_struct_conf_type.reference'
    _item.category_id             struct_conf_type
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          'Kabsch and Sander, ref?'
     save_

#################
## STRUCT_CONN ##
#################

save_STRUCT_CONN
    _category.description
;              Data items in the STRUCT_CONN category record details about
               the interactions between portions of structure. These can be
               hydrogen bonds, salt bridges, disulfide bridges, and so on.

               The STRUCT_CONN_TYPE records define the criteria used to
               identify these contacts.
;
    _category.id                  struct_conn
    _category.mandatory_code      no
    _category_key.name          '_struct_conn.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_conn.id
    _struct_conn.conn_type_id
    _struct_conn.ptnr1_label_comp_id
    _struct_conn.ptnr1_label_asym_id
    _struct_conn.ptnr1_label_seq_id
    _struct_conn.ptnr1_label_atom_id
    _struct_conn.ptnr1_role
    _struct_conn.ptnr1_symmetry
    _struct_conn.ptnr2_label_comp_id
    _struct_conn.ptnr2_label_asym_id
    _struct_conn.ptnr2_label_seq_id
    _struct_conn.ptnr2_label_atom_id
    _struct_conn.ptnr2_role
    _struct_conn.ptnr2_symmetry
    _struct_conn.details
      C1  saltbr  ARG  A  87 NZ1 positive 1_555 GLU  A  92  OE1 negative 1_555
.
      C2  hydrog  ARG  B 287 N   donor    1_555 GLY  B 292  O   acceptor 1_555
.
    # - - - - data truncated for brevity - - - -
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_conn.conn_type_id
    _item_description.description
;              This data item is a pointer to _struct_conn_type.id in the
               STRUCT_CONN_TYPE category.
;
    _item.name                  '_struct_conn.conn_type_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.details
    _item_description.description
;              A description of special aspects of the connect item.
;
    _item.name                  '_struct_conn.details'
    _item.category_id             struct_conn
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'disulfide bridge C-S-S-C is highly distorted'
                                 'another example'
     save_

save__struct_conn.id
    _item_description.description
;              The value of _struct_conn.id must uniquely identify a record in
               the STRUCT_CONN list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_struct_conn.id'
    _item.category_id             struct_conn
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__struct_conn.ptnr1_label_alt_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_conn.ptnr1_label_alt_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr1_label_asym_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr1_label_atom_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_struct_conn.ptnr1_label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr1_label_comp_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr1_label_seq_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr1_auth_asym_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr1_auth_atom_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr1_auth_comp_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr1_auth_seq_id
    _item_description.description
;              A component of the identifier for partner 1 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr1_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr1_role
    _item_description.description
;              The chemical or structural role of the first partner in
               the structure connection.
;
    _item.name                  '_struct_conn.ptnr1_role'
    _item.category_id             struct_conn
    _item.mandatory_code          no
    _item_type.code               uline
     loop_
    _item_examples.case          'donor'
                                 'acceptor'
                                 'negative'
                                 'positive'
                                 'metal'
                                 'metal coordination'
     save_

save__struct_conn.ptnr1_symmetry
    _item_description.description
;              Describes the symmetry operation that should be applied to the
               atom set specified by _struct_conn.ptnr1_label* to generate the
               first partner in the structure connection.
;
    _item.name                  '_struct_conn.ptnr1_symmetry'
    _item.category_id             struct_conn
    _item.mandatory_code          no
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

save__struct_conn.ptnr2_label_alt_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_conn.ptnr2_label_alt_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr2_label_asym_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr2_label_atom_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_struct_conn.ptnr2_label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr2_label_comp_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr2_label_seq_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_conn.ptnr2_auth_asym_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr2_auth_atom_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr2_auth_comp_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr2_auth_seq_id
    _item_description.description
;              A component of the identifier for partner 2 of the structure
               connection.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_conn.ptnr2_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_conn.ptnr2_role
    _item_description.description
;              The chemical or structural role of the second partner in
               the structure connection.
;
    _item.name                  '_struct_conn.ptnr2_role'
    _item.category_id             struct_conn
    _item.mandatory_code          no
    _item_type.code               uline
     loop_
    _item_examples.case          'donor'
                                 'acceptor'
                                 'negative'
                                 'positive'
                                 'metal'
                                 'metal coordination'
     save_

save__struct_conn.ptnr2_symmetry
    _item_description.description
;              Describes the symmetry operation that should be applied to the
               atom set specified by _struct_conn.ptnr2_label* to generate the
               second partner in the structure connection.
;
    _item.name                  '_struct_conn.ptnr2_symmetry'
    _item.category_id             struct_conn
    _item.mandatory_code          no
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

######################
## STRUCT_CONN_TYPE ##
######################

save_STRUCT_CONN_TYPE
    _category.description
;              Data items in the STRUCT_CONN_TYPE category record details
               about the criteria used to identify interactions between
               portions of structure.
;
    _category.id                  struct_conn_type
    _category.mandatory_code      no
    _category_key.name          '_struct_conn_type.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_conn_type.id
    _struct_conn_type.criteria
    _struct_conn_type.reference
      saltbr
     'negative to positive distance > 2.5 \%A, < 3.2 \%A'              .
      hydrog
     'N to O distance > 2.5 \%A, < 3.5 \%A, N O C angle < 120 degrees' .
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_conn_type.criteria
    _item_description.description
;              The criteria used to define the interaction.
;
    _item.name                  '_struct_conn_type.criteria'
    _item.category_id             struct_conn_type
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          'O to N distance > 2.5 \%A, < 3.2 \%A'
                                 'authors judgement'
     save_

save__struct_conn_type.id
    _item_description.description
;              The chemical or structural type of the interaction.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_conn_type.id'       struct_conn_type  yes
               '_struct_conn.conn_type_id'  struct_conn       yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_conn.conn_type_id'  '_struct_conn_type.id'
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      covale  'covalent bond'
                                  disulf  'disulfide bridge'
                                  hydrog  'hydrogen bond'
                                  metalc  'metal coordination'
                                  mismat  'mismatched base pairs'
                                  saltbr  'ionic interaction'
     save_

save__struct_conn_type.reference
    _item_description.description
;              A reference that specifies the criteria used to define the
               interaction.
;
    _item.name                  '_struct_conn_type.reference'
    _item.category_id             struct_conn_type
    _item.mandatory_code          no
    _item_type.code               text
     save_

#####################
## STRUCT_KEYWORDS ##
#####################

save_STRUCT_KEYWORDS
    _category.description
;              Data items in the STRUCT_KEYWORDS category specify keywords
               that describe the chemical structure in this entry.
;
    _category.id                  struct_keywords
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_keywords.entry_id'
                                '_struct_keywords.text'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_keywords.entry_id
    _struct_keywords.text
     '5HVP' 'enzyme-inhibitor complex'
     '5HVP' 'aspartyl protease'
     '5HVP' 'structure-based drug design'
     '5HVP' 'static disorder'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_keywords.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_struct_keywords.entry_id'
    _item.mandatory_code          yes
     save_

save__struct_keywords.text
    _item_description.description
;              Keywords describing this struct.
;
    _item.name                  '_struct_keywords.text'
    _item.category_id             struct_keywords
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'serine protease'
                                 'inhibited complex'
                                 'high resolution refinement'
     save_

########################
## STRUCT_MON_DETAILS ##
########################

save_STRUCT_MON_DETAILS
    _category.description
;              Data items in the STRUCT_MON_DETAILS category record details
               about specifics of calculations summaries in data items in the
               STRUCT_MON_PROT and STRUCT_MON_NUCL categories. These can
               include the coefficients used in various maps calculations,
               the radii used for including points in a calculation, etc.
;
    _category.id                  struct_mon_details
    _category.mandatory_code      no
    _category_key.name          '_struct_mon_details.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     save_

save__struct_mon_details.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_struct_mon_details.entry_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_details.prot_cis
    _item_description.description
;              An ideal cis peptide bound would have an omega torsion angle of
               zero. This data item gives the value in degrees by which the
               observed torsion angle can differ from 0.0 and still be
               considered cis.
;
    _item.name                  '_struct_mon_details.prot_cis'
    _item.category_id             struct_mon_details
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
    _item_examples.case           30.0
     save_

save__struct_mon_details.RSCC
    _item_description.description
;              This data item describes the specifics of the calculations that
               generated the values given in given in _struct_mon_prot.RSCC_all,
               _struct_mon_prot.RSCC_main and _struct_mon_prot.RSCC_side. The
               coefficients used to calculate the p(o) and p(c) maps should be
               given as well as the criterion for inclusion of map grid points
               in the calculation.
;
    _item.name                  '_struct_mon_details.RSCC'
    _item.category_id             struct_mon_details
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case
;                                 The map p(o) was calculated with coefficients
                                  2F(o) - F(c) and with phase alpha(c). F(o)
                                  are the observed structure factor amplitudes,
                                  F(c) are the amplitudes calculated from the
                                  current model and alpha(c) are the phases
                                  calculated from the current model.
                                  The map p(c) was calculated in program O using
                                  a Gaussian distribution function around the
                                  atoms in the current model.
                                  Maps grid points within 1.5 A of the
                                  designated atoms were included in the
                                  calculation.
;
;                                 The map p(o) was calculated with coefficients
                                  F(o) and with phase alpha(c). F(o) are the
                                  observed structure factor amplitudes, and
                                  alpha(c) are the phases calculated from the
                                  current model.
                                  The map p(c) was calculated with coefficients
                                  F(c) and with phases alpha(c). F(c) and
                                  alpha(c) are the structure factor amplitudes
                                  and phases, respectively, calculated from the
                                  current model.
                                  Maps grid points within a van der Waals radius
                                  of the designated atoms were included in the
                                  calculation.
;
     save_

save__struct_mon_details.RSR
    _item_description.description
;              This data item describes the specifics of the calculations that
               generated the values given in given in _struct_mon_prot.RSR_all,
               _struct_mon_prot.RSR_main and _struct_mon_prot.RSR_side. The
               coefficients used to calculate the p(o) and p(c) maps should be
               given as well as the criterion for inclusion of map grid points
               in the calculation.
;
    _item.name                  '_struct_mon_details.RSR'
    _item.category_id             struct_mon_details
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case
;                                 The map p(o) was calculated with coefficients
                                  2F(o) - F(c) and with phase alpha(c). F(o)
                                  are the observed structure factor amplitudes,
                                  F(c) are the amplitudes calculated from the
                                  current model and alpha(c) are the phases
                                  calculated from the current model.
                                  The map p(c) was calculated in program O using
                                  a Gaussian distribution function around the
                                  atoms in the current model.
                                  Maps grid points within 1.5 A of the
                                  designated atoms were included in the
                                  calculation.
;
;                                 The map p(o) was calculated with coefficients
                                  F(o) and with phase alpha(c). F(o) are the
                                  observed structure factor amplitudes, and
                                  alpha(c) are the phases calculated from the
                                  current model.
                                  The map p(c) was calculated with coefficients
                                  F(c) and with phases alpha(c). F(c) and
                                  alpha(c) are the structure factor amplitudes
                                  and phases, respectively, calculated from the
                                  current model.
                                  Maps grid points within a van der Waals radius
                                  of the designated atoms were included in the
                                  calculation.
;
     save_

#####################
## STRUCT_MON_NUCL ##
#####################

save_STRUCT_MON_NUCL
    _category.description
;              Data items in the STRUCT_MON_NUCL category record details about
               structural properties of a nucleic acid when analyzed at the
               monomer level. Analogous data items for proteins are given in
               the STRUCT_MON_PROT category. For items where the value of the
               property depends on the method employed to calculate it, the
               details of the method of calculation are described in data items
               in the STRUCT_MON_DETAILS category.
;
    _category.id                  struct_mon_nucl
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_mon_nucl.label_alt_id'
                                '_struct_mon_nucl.label_asym_id'
                                '_struct_mon_nucl.label_comp_id'
                                '_struct_mon_nucl.label_seq_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on NDB structure BDL028
;
;
     loop_
    _struct_mon_nucl.label_comp_id
    _struct_mon_nucl.label_seq_id
    _struct_mon_nucl.label_asym_id
    _struct_mon_nucl.label_alt_id
    _struct_mon_nucl.alpha
    _struct_mon_nucl.beta 
    _struct_mon_nucl.gamma
    _struct_mon_nucl.delta
    _struct_mon_nucl.epsilon
    _struct_mon_nucl.zeta
    C  1 A .      .      .   29.9  131.9  222.1  174.2
    G  2 A .  334.0  130.6   33.1  125.6  167.6  270.9
    T  3 A .  258.2  178.7   101.0 114.6  216.6  259.3
    #         ---- abbreviated list -----
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_mon_nucl.alpha
    _item_description.description
;              The value in degrees of the backbone torsion angle alpha
               o3'_p_o5'_c5'.
;
    _item.name                  '_struct_mon_nucl.alpha'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.beta
    _item_description.description
;              The value in degrees of the backbone torsion angle beta
               p_o5'_c5'_c4'.
;
    _item.name                  '_struct_mon_nucl.beta'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.chi1
    _item_description.description
;              The value in degrees of the sugar-base torsion angle chi
               o4'_c1'_n1_c2.
;
    _item.name                  '_struct_mon_nucl.chi1'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.chi2
    _item_description.description
;              The value in degrees of the sugar-base torsion angle chi
               o4'_c1'_n9_c4.
;
    _item.name                  '_struct_mon_nucl.chi2'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.delta
    _item_description.description
;              The value in degrees of the backbone torsion angle delta
               c5'_c4'_c3'_o3'.
;
    _item.name                  '_struct_mon_nucl.delta'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.details
    _item_description.description
;              A description of special aspects of the residue, its
               conformation, behavior in refinement, or any other aspect that
               requires annotation.
;
    _item.name                  '_struct_mon_nucl.details'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_examples.case
;                                 Part of the phosphodiester backbone not in
                                  density.
;
     save_

save__struct_mon_nucl.epsilon
    _item_description.description
;              The value in degrees of the backbone torsion angle epsilon
               c4'_c3'_o3'_p.
;
    _item.name                  '_struct_mon_nucl.epsilon'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.gamma
    _item_description.description
;              The value in degrees of the backbone torsion angle gamma
               o5'_c5'_c4'_c3'.
;
    _item.name                  '_struct_mon_nucl.gamma'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.label_alt_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_mon_nucl.label_alt_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_nucl.label_asym_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_nucl.label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_nucl.label_comp_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_nucl.label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_nucl.label_seq_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_nucl.label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_nucl.auth_asym_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_nucl.auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_mon_nucl.auth_comp_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_nucl.auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_mon_nucl.auth_seq_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_nucl.auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_mon_nucl.mean_B_all
    _item_description.description
;              The mean value of the isotropic temperature factor for all atoms
               in the monomer.
;
    _item.name                  '_struct_mon_nucl.mean_B_all'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.mean_B_base
    _item_description.description
;              The mean value of the isotropic temperature factor for atoms
               in the base moiety of the nucleic acid monomer.
;
    _item.name                  '_struct_mon_nucl.mean_B_base'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.mean_B_phos
    _item_description.description
;              The mean value of the isotropic temperature factor for atoms
               in the phosphate moiety of the nucleic acid monomer.
;
    _item.name                  '_struct_mon_nucl.mean_B_phos'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.mean_B_sugar
    _item_description.description
;              The mean value of the isotropic temperature factor for atoms
               in the sugar moiety of the nucleic acid monomer.
;
    _item.name                  '_struct_mon_nucl.mean_B_sugar'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.nu0
    _item_description.description
;              The value in degrees of the sugar torsion angle nu0
               c4'_o4'_c1'_c2'.
;
    _item.name                  '_struct_mon_nucl.nu0'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.nu1
    _item_description.description
;              The value in degrees of the sugar torsion angle nu1
               o4'_c1'_c2'_c3'.
;
    _item.name                  '_struct_mon_nucl.nu1'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.nu2
    _item_description.description
;              The value in degrees of the sugar torsion angle nu2
               c1'_c2'_c3'_c4'.
;
    _item.name                  '_struct_mon_nucl.nu2'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.nu3
    _item_description.description
;              The value in degrees of the sugar torsion angle nu3
               c2'_c3'_c4'_o4'.
;
    _item.name                  '_struct_mon_nucl.nu3'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.nu4
    _item_description.description
;              The value in degrees of the sugar torsion angle nu4
               c3'_c4'_o4'_c1'.
;
    _item.name                  '_struct_mon_nucl.nu4'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.P
    _item_description.description
;              P is the phase angle of pseudorotation for five membered rings. 
               This formulation is used for ribo and deoxyribo sugars in nucleic
               acids.
                          (tau4 +tau1)-(tau3+tau0)
               P = ATAN (-------------------------)
                           2tau2 (sin 36+sin 72)

               If tau2 is <0, then P=P+180

               This formulation is by Altona and Sundaralingam (1972), J.A.C.S.,
               94, 8205-8212.
;
    _item.name                  '_struct_mon_nucl.P'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.RSCC_all
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al., evaluated over all atoms in the
               nucleic acid monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_nucl.RSCC_all'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSCC_base
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al., evaluated over all atoms in the
               base moiety of the nucleic acid monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_nucl.RSCC_base'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSCC_phos
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al., evaluated over all atoms in the
               phosphate moiety of the nucleic acid monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_nucl.RSCC_phos'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSCC_sugar
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al., evaluated over all atoms in the
               sugar moiety of the nucleic acid monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_nucl.RSCC_sugar'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSR_all
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               evaluated over all atoms in the nucleic acid monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_nucl.RSR_all'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSR_base
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               evaluated over all atoms in the base moiety of the nucleic acid
               monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_nucl.RSR_base'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSR_phos
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               evaluated over all atoms in the phosphate moiety of the nucleic
               acid monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_nucl.RSR_phos'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_nucl.RSR_sugar
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               evaluated over all atoms in the sugar moiety of the nucleic acid
               monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_nucl.RSR_sugar'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
     save_
save__struct_mon_nucl.tau0
    _item_description.description
;              The value in degrees of the sugar torsion angle tau0
               C4'_O4'_C1'_C2'.
;
    _item.name                  '_struct_mon_nucl.tau0'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.tau1
    _item_description.description
;              The value in degrees of the sugar torsion angle tau1
               O4'_C1'_C2'_C3'.
;
    _item.name                  '_struct_mon_nucl.tau1'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.tau2
    _item_description.description
;              The value in degrees of the sugar torsion angle tau2
               C1'_C2'_C3'_C4'.
;
    _item.name                  '_struct_mon_nucl.tau2'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.tau3
    _item_description.description
;              The value in degrees of the sugar torsion angle tau2
               C2'_C3'_C4'_O4'.
;
    _item.name                  '_struct_mon_nucl.tau3'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.tau4
    _item_description.description
;              The value in degrees of the sugar torsion angle tau4
               C3'_C4'_O4'_C1'.
;
    _item.name                  '_struct_mon_nucl.tau4'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.taum
    _item_description.description
;              The maximum amplitide of puckering. It is derived from the
               the pseudorotation value, P, and the torsion angles in the ribose
               ring.

               Tau2= Taum cosP
               Tau3= Taum cos(P+144)
               Tau4= Taum cos(P+288)
               Tau0= Taum cos(P+ 72)
               Tau1= Taum cos(P+216)
;
    _item.name                  '_struct_mon_nucl.taum'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_nucl.zeta
    _item_description.description
;              The value in degrees of the backbone torsion angle zeta
               c3'_o3'_p_o5'.
;
    _item.name                  '_struct_mon_nucl.zeta'
    _item.category_id             struct_mon_nucl
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

#####################
## STRUCT_MON_PROT ##
#####################

save_STRUCT_MON_PROT
    _category.description
;              Data items in the STRUCT_MON_PROT category record details about
               structural properties of a protein when analyzed at the monomer
               level. Analogous data items for nucleic acids are given in the
               STRUCT_MON_NUCL category. For items where the value of the
               property depends on the method employed to calculate it, the
               details of the method of calculation are described in data items
               in the STRUCT_MON_DETAILS category.
;
    _category.id                  struct_mon_prot
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_mon_prot.label_alt_id'
                                '_struct_mon_prot.label_asym_id'
                                '_struct_mon_prot.label_comp_id'
                                '_struct_mon_prot.label_seq_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for protein NS1.
                This example provides details for residue ARG 35.
;
;
    _struct_mon_prot.comp_id        ARG
    _struct_mon_prot.seq_id         35
    _struct_mon_prot.asym_id        A
    _struct_mon_prot.alt_id         .
    _struct_mon_prot.chi1         -67.9
    _struct_mon_prot.chi2        -174.7
    _struct_mon_prot.chi3         -67.7
    _struct_mon_prot.chi4         -86.3
    _struct_mon_prot.chi5           4.2
    _struct_mon_prot.RSCC_all       0.90
    _struct_mon_prot.RSR_all        0.18
    _struct_mon_prot.mean_B_all     30.0
    _struct_mon_prot.mean_B_main    25.0
    _struct_mon_prot.mean_B_side    35.1
    _struct_mon_prot.omega         180.1
    _struct_mon_prot.phi           -60.3
    _struct_mon_prot.psi           -46.0
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_mon_prot.chi1
    _item_description.description
;              The value in degrees of the side chain torsion angle chi1, for
               those residues containing such an angle.
;
    _item.name                  '_struct_mon_prot.chi1'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.chi2
    _item_description.description
;              The value in degrees of the side chain torsion angle chi2, for
               those residues containing such an angle.
;
    _item.name                  '_struct_mon_prot.chi2'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.chi3
    _item_description.description
;              The value in degrees of the side chain torsion angle chi3, for
               those residues containing such an angle.
;
    _item.name                  '_struct_mon_prot.chi3'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.chi4
    _item_description.description
;              The value in degrees of the side chain torsion angle chi4, for
               those residues containing such an angle.
;
    _item.name                  '_struct_mon_prot.chi4'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.chi5
    _item_description.description
;              The value in degrees of the side chain torsion angle chi5, for
               those residues containing such an angle.
;
    _item.name                  '_struct_mon_prot.chi5'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.details
    _item_description.description
;              A description of special aspects of the residue, its
               conformation, behavior in refinement, or any other aspect that
               requires annotation.
;
    _item.name                  '_struct_mon_prot.details'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     loop_
    _item_examples.case          'very poor density'
;                                 The side chain of this density may occupy
                                  alternative conformations, but alternative
                                  conformations were not fit in this model
;
;                                 This residue has a close contact with the
                                  bound inhibitor, which may account for
                                  the non-standard conformation of the side
                                  chain.
;
     save_

save__struct_mon_prot.label_alt_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_mon_prot.label_alt_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot.label_asym_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot.label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot.label_comp_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot.label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot.label_seq_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot.label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot.auth_asym_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot.auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_mon_prot.auth_comp_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot.auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_mon_prot.auth_seq_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot.auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_mon_prot.RSCC_all
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al.,  evaluated over all atoms in the
               monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_prot.RSCC_all'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.RSCC_main
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al., evaluated over all atoms in the
               main chain of the monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_prot.RSCC_main'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.RSCC_side
    _item_description.description
;              The real-space (linear) correlation coefficient RSCC, as
               described by Jones et al., evaluated over all atoms in the
               side chain of the monomer.

                      sum|p~obs~ - <p~obs~>| * sum|p~calc~ - <p~calc~>|
               RSCC = -------------------------------------------------
                            [ sum|p~obs~  - <p~obs~> |^2^
                            * sum|p~calc~ - <p~calc~>|^2^ ]^1/2^

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSCC. < > indicates an average and the
               sums are taken over all map grid  points near the relevant atoms.
               The radius for including grid points in the calculation should
               also be given in _struct_mon_details.RSCC.

               Ref: Jones, T. A., Zou, J. Y., Cowan, S. W. & Kjeldgaard, M.
                    (1991). Acta Cryst. A47, 110-119.
;
    _item.name                  '_struct_mon_prot.RSCC_side'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.RSR_all
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               evaluated over all atoms in the monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_prot.RSR_all'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.RSR_main
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               (1990) evaluated over all atoms in the main chain of the monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_prot.RSR_main'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.RSR_side
    _item_description.description
;              The real-space residual RSR, as described by Branden and Jones,
               (1990) evaluated over all atoms in the side chain of the monomer.

                     sum|p~obs~ - p~calc~|
               RSR = ---------------------
                     sum|p~obs~ + p~calc~|

               p~obs~  = the density in an "experimental" map
               p~calc~ = the density in a "calculated" map

               sum is taken over the specified grid points

               The details of how these maps were calculated should be described
               in _struct_mon_details.RSR. The sums are taken over all map grid
               points near the relevant atoms. The radius for including grid
               points in the calculation should also be given in
               _struct_mon_details.RSR.

               Ref: Branden, C.-I. & Jones, T. A. (1990). Nature, 343,
                    687-689.
;
    _item.name                  '_struct_mon_prot.RSR_side'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.mean_B_all
    _item_description.description
;              The mean value of the isotropic temperature factor for all atoms
               in the monomer.
;
    _item.name                  '_struct_mon_prot.mean_B_all'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.mean_B_main
    _item_description.description
;              The mean value of the isotropic temperature factor for atoms
               in the main chain of the monomer.
;
    _item.name                  '_struct_mon_prot.mean_B_main'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.mean_B_side
    _item_description.description
;              The mean value of the isotropic temperature factor for atoms
               in the side chain of the monomer.
;
    _item.name                  '_struct_mon_prot.mean_B_side'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
     save_

save__struct_mon_prot.omega
    _item_description.description
;              The value in degrees of the main chain torsion angle omega.
;
    _item.name                  '_struct_mon_prot.omega'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.phi
    _item_description.description
;              The value in degrees of the main chain torsion angle phi.
;
    _item.name                  '_struct_mon_prot.phi'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

save__struct_mon_prot.psi
    _item_description.description
;              The value in degrees of the main chain torsion angle psi.
;
    _item.name                  '_struct_mon_prot.psi'
    _item.category_id             struct_mon_prot
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
     save_

#########################
## STRUCT_MON_PROT_CIS ##
#########################

save_STRUCT_MON_PROT_CIS
    _category.description
;              Data items in the STRUCT_MON_PROT_CIS category identify
               monomers that have been found to have the peptide bond in the cis
               conformation. The criterion used to select residues to be
               designated as containing cis peptide bonds is given in
               _struct_mon_details.prot_cis.
;
    _category.id                  struct_mon_prot_cis
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_mon_prot_cis.label_alt_id'
                                '_struct_mon_prot_cis.label_asym_id'
                                '_struct_mon_prot_cis.label_comp_id'
                                '_struct_mon_prot_cis.label_seq_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB structure 1ACY of Ghiara, Stura, Stanfield,
                Profy, and Wilson [(1994).  Science, 264,  82-]
;
;
     loop_
    _struct_mon_prot_cis.label_comp_id      
    _struct_mon_prot_cis.label_seq_id
    _struct_mon_prot_cis.label_asym_id
    _struct_mon_prot_cis.label_alt_id     
     PRO   8  L .
     PRO  77  L .
     PRO  95  L .
     PRO 141  L .
     #  -----   abbreviated  -----
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_mon_prot_cis.label_alt_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_mon_prot_cis.label_alt_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot_cis.label_asym_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot_cis.label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot_cis.label_comp_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot_cis.label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_mon_prot_cis.label_seq_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot_cis.label_seq_id'
    _item.mandatory_code          yes
     save_
save__struct_mon_prot_cis.auth_asym_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot_cis.auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_mon_prot_cis.auth_comp_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot_cis.auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_mon_prot_cis.auth_seq_id
    _item_description.description
;              A component of the identifier for the monomer.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_mon_prot_cis.auth_seq_id'
    _item.mandatory_code          no
     save_

####################
## STRUCT_NCS_DOM ##
####################

save_STRUCT_NCS_DOM
    _category.description
;              Data items in the STRUCT_NCS_DOM category record information
               about the domains in an ensemble of domains related by one or
               more non-crystallographic symmetry operators.

               A domain need not correspond to a completely polypeptide chain;
               it can be composed of one more more segments in a single chain,
               or by segments from more than one chain.
;
    _category.id                  struct_ncs_dom
    _category.mandatory_code      no
    _category_key.name          '_struct_ncs_dom.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like 
                peptide, HYP-. 
;
;
     loop_
    _struct_ncs_dom.id   
    _struct_ncs_dom.details
     d1  'Chains A, B, and C'
     d2  'Chains D, E, and F'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ncs_dom.details
    _item_description.description
;              A description of special aspects of the structural elements that
               comprise a domain in an ensemble of domains related by non-
               crystallographic symmetry.
;
    _item.name                  '_struct_ncs_dom.details'
    _item.category_id             struct_ncs_dom
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The loop between residues 18 and 23 in this
                                  domain interacts with a symmetry related
                                  molecule, and thus deviates significantly from
                                  the non-crystallographic 3-fold.
;
     save_

save__struct_ncs_dom.id
    _item_description.description
;              The value of _struct_ncs_dom.id must uniquely identify a
               record in the STRUCT_NCS_DOM list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_ncs_dom.id'             struct_ncs_dom      yes
               '_struct_ncs_dom_lim.dom_id'     struct_ncs_dom_lim  yes
               '_struct_ncs_ens_gen.dom_id_1'   struct_ncs_ens_gen  yes
               '_struct_ncs_ens_gen.dom_id_2'   struct_ncs_ens_gen  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_ncs_dom_lim.dom_id'    '_struct_ncs_dom.id'
               '_struct_ncs_ens_gen.dom_id_1'  '_struct_ncs_dom.id'
               '_struct_ncs_ens_gen.dom_id_2'  '_struct_ncs_dom.id'
    _item_type.code               code
     save_

########################
## STRUCT_NCS_DOM_LIM ##
########################

save_STRUCT_NCS_DOM_LIM
    _category.description
;              Data items in the STRUCT_NCS_DOM_LIM category identify the
               beginning and ending points of polypeptide chain segments
               that form all or part of a domain in an emsemble of domains
               related by non-crystallographic symmetry.
;
    _category.id                  struct_ncs_dom_lim
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_ncs_dom_lim.dom_id'           
                                '_struct_ncs_dom_lim.beg_label_alt_id' 
                                '_struct_ncs_dom_lim.beg_label_asym_id'
                                '_struct_ncs_dom_lim.beg_label_comp_id'
                                '_struct_ncs_dom_lim.beg_label_seq_id' 
                                '_struct_ncs_dom_lim.end_label_alt_id' 
                                '_struct_ncs_dom_lim.end_label_asym_id'
                                '_struct_ncs_dom_lim.end_label_comp_id'
                                '_struct_ncs_dom_lim.end_label_seq_id' 
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like 
                peptide, HYP-. 
;
;
     loop_
    _struct_ncs_dom_lim.dom_id                
    _struct_ncs_dom_lim.beg_label_alt_id      
    _struct_ncs_dom_lim.beg_label_asym_id     
    _struct_ncs_dom_lim.beg_label_comp_id     
    _struct_ncs_dom_lim.beg_label_seq_id      
    _struct_ncs_dom_lim.end_label_alt_id      
    _struct_ncs_dom_lim.end_label_asym_id
    _struct_ncs_dom_lim.end_label_comp_id
    _struct_ncs_dom_lim.end_label_seq_id 
     d1   .  A PRO  1  . A GLY  29 
     d1   .  B PRO  31 . B GLY  59 
     d1   .  C PRO  61 . B GLY  89
     d2   .  D PRO  91 . D GLY 119 
     d2   .  E PRO 121 . E GLY 149
     d2   .  F PRO 151 . F GLY 179
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ncs_dom_lim.beg_label_alt_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_label_alt_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.beg_label_asym_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.beg_label_comp_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.beg_label_seq_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.beg_auth_asym_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_ncs_dom_lim.beg_auth_comp_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_ncs_dom_lim.beg_auth_seq_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain begins.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.beg_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_ncs_dom_lim.dom_id
    _item_description.description
;              This data item is a pointer to _struct_ncs_dom.id in the
               STRUCT_NCS_DOM category.
;
    _item.name                  '_struct_ncs_dom_lim.dom_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.end_label_alt_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_ncs_dom_lim.end_label_alt_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.end_label_asym_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.end_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.end_label_comp_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.end_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.end_label_seq_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.end_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_dom_lim.end_auth_asym_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.end_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_ncs_dom_lim.end_auth_comp_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.end_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_ncs_dom_lim.end_auth_seq_id
    _item_description.description
;              A component of the identifier for the monomer at which this
               segment of the domain ends.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_ncs_dom_lim.end_auth_seq_id'
    _item.mandatory_code          no
     save_

####################
## STRUCT_NCS_ENS ##
####################

save_STRUCT_NCS_ENS
    _category.description
;              Data items in the STRUCT_NCS_ENS category record information
               about ensembles of domains related by non-crystallographic
               symmetry. The point group of the ensemble when taken as a
               whole may be specific, as well as any special aspect of the
               ensemble that require description.
;
    _category.id                  struct_ncs_ens
    _category.mandatory_code      no
    _category_key.name          '_struct_ncs_ens.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like 
                peptide, HYP-. 
;
;
    _struct_ncs_ens.id          en1
    _struct_ncs_ens.details
    ;
       The ensemble represents the pseudo-twofold symmetry between
       domains d1 and d2.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ncs_ens.details
    _item_description.description
;              A description of special aspects of the connect item.
;
    _item.name                  '_struct_ncs_ens.details'
    _item.category_id             struct_ncs_ens
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The ensemble has a slight translation between
                                  domains 1 and 4, but overall it can accurately
                                  be described as point group 222
;
     save_

save__struct_ncs_ens.id
    _item_description.description
;              The value of _struct_ncs_ens.id must uniquely identify a
               record in the STRUCT_NCS_ENS list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_ncs_ens.id'          struct_ncs_ens      yes
               '_struct_ncs_ens_gen.ens_id'  struct_ncs_ens_gen  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_ncs_ens_gen.ens_id'  '_struct_ncs_ens.id'
    _item_type.code               code
     save_

save__struct_ncs_ens.point_group
    _item_description.description
;              The point group of the ensemble of structural elements related by
               one or more non-crystallographic symmetry operations. The
               relationships need not be precise; this data items is intended
               to give a rough description of the non-crystallographic symmetry
               relationships.
;
    _item.name                  '_struct_ncs_ens.point_group'
    _item.category_id             struct_ncs_ens
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          '3'
                                 '422'
                                 'non-proper'
     save_

########################
## STRUCT_NCS_ENS_GEN ##
########################

save_STRUCT_NCS_ENS_GEN
    _category.description
;              Data items in the STRUCT_NCS_ENS_GEN category list domains
               related by a non-crystallographic symmetry operation and
               identify the operator.
;
    _category.id                  struct_ncs_ens_gen
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_ncs_ens_gen.ens_id'
                                '_struct_ncs_ens_gen.dom_id_1'
                                '_struct_ncs_ens_gen.dom_id_2'
                                '_struct_ncs_ens_gen.oper_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for the collagen-like 
                peptide, HYP-. 
;
;
    _struct_ncs_ens_gen.dom_id_1   d1
    _struct_ncs_ens_gen.dom_id_2   d2
    _struct_ncs_ens_gen.ens_id     en1
    _struct_ncs_ens_gen.oper_id    ncsop1
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ncs_ens_gen.dom_id_1
    _item_description.description
;              The identifier for the domain that will remain unchanged by the
               transformation operator.

               This data item is a pointer to _struct_ncs_dom.id in the
               STRUCT_NCS_DOM category.
;
    _item.name                  '_struct_ncs_ens_gen.dom_id_1'
    _item.mandatory_code          yes
     save_

save__struct_ncs_ens_gen.dom_id_2
    _item_description.description
;              The identifier for the domain that will be transformed by
               application of the transformation operator.

               This data item is a pointer to _struct_ncs_dom.id in the
               STRUCT_NCS_DOM category.
;
    _item.name                  '_struct_ncs_ens_gen.dom_id_2'
    _item.mandatory_code          yes
     save_

save__struct_ncs_ens_gen.ens_id
    _item_description.description
;              This data item is a pointer to _struct_ncs_ens.id in the
               STRUCT_NCS_ENS category.
;
    _item.name                  '_struct_ncs_ens_gen.ens_id'
    _item.mandatory_code          yes
     save_

save__struct_ncs_ens_gen.oper_id
    _item_description.description
;              This data item is a pointer to _struct_ncs_oper.id in the
               STRUCT_NCS_OPER category.
;
    _item.name                  '_struct_ncs_ens_gen.oper_id'
    _item.mandatory_code          yes
     save_

#####################
## STRUCT_NCS_OPER ##
#####################

save_STRUCT_NCS_OPER
    _category.description
;              Data items in the STRUCT_NCS_OPER category describe the
               non-crystallographic symmetry operations.

               Each operator is specified as a matrix and a subsequent
               translation vector. Operators need not represent proper
               rotations.
;
    _category.id                  struct_ncs_oper
    _category.mandatory_code      no
    _category_key.name          '_struct_ncs_oper.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for protein NS1.
;
;
    _struct_ncs_oper.id              ncsop1
    _struct_ncs_oper.code            given
    _struct_ncs_oper.matrix[1][1]    0.247
    _struct_ncs_oper.matrix[1][2]    0.935
    _struct_ncs_oper.matrix[1][3]    0.256
    _struct_ncs_oper.matrix[2][1]    0.929
    _struct_ncs_oper.matrix[2][2]    0.153
    _struct_ncs_oper.matrix[2][3]    0.337
    _struct_ncs_oper.matrix[3][1]    0.276
    _struct_ncs_oper.matrix[3][2]    0.321
    _struct_ncs_oper.matrix[3][3]   -0.906
    _struct_ncs_oper.vector[1]      -8.253
    _struct_ncs_oper.vector[2]     -11.743
    _struct_ncs_oper.vector[3]      -1.782
    _struct_ncs_oper.details
    ;
      Matrix and translation vector for pseudo-twofold operation.
    ;
    
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ncs_oper.code
    _item_description.description
;              A code to indicate whether this operator describes a 
               relationship between coordinates all of which are given in the
               data block (in which case the value of code is 'given'), or
               whether the operator is used to generate new coordinates from
               those that are given in the data block (in which case the value
               of code is 'generate').
;
    _item.name                  '_struct_ncs_oper.code'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_type.code               code
     loop_
    _item_enumeration.value
    _item_enumeration.detail      given
;                                 operator relates coordinates given in the
                                  data block
;
                                  generate
;                                 operator generates new coordinates from
                                  those given in the data block
;
     save_

save__struct_ncs_oper.details
    _item_description.description
;              A description of special aspects of the non-crystallographic
               symmetry operator.
;
    _item.name                  '_struct_ncs_oper.details'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The operation is given as a precise threefold
                                  rotation, despite the fact the best rms
                                  fit between domain 1 and domain 2 yields a
                                  rotation of 119.7 angles and a translation
                                  of 0.13 angstroms.
;
     save_

save__struct_ncs_oper.id
    _item_description.description
;              The value of _struct_ncs_oper.id must uniquely identify a
               record in the STRUCT_NCS_OPER list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_ncs_oper.id'             struct_ncs_oper      yes
               '_struct_ncs_ens_gen.oper_id'     struct_ncs_ens_gen   yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_ncs_ens_gen.oper_id'    '_struct_ncs_oper.id'
    _item_type.code               code
     save_

save__struct_ncs_oper.matrix[1][1]
    _item_description.description
;              The [1][1] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[1][1]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[1][2]
    _item_description.description
;              The [1][2] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[1][2]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[1][3]
    _item_description.description
;              The [1][3] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[1][3]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[2][1]
    _item_description.description
;              The [2][1] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[2][1]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[2][2]
    _item_description.description
;              The [2][2] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[2][2]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[2][3]
    _item_description.description
;              The [2][3] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[2][3]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[3][1]
    _item_description.description
;              The [3][1] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[3][1]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[3][2]
    _item_description.description
;              The [3][2] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[3][2]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.matrix[3][3]
    _item_description.description
;              The [3][3] element of the 3x3 matrix component of a non-
               cyrstallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.matrix[3][3]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_ncs_oper.vector[1]
    _item_description.description
;              The [1] element of the 3 element vector component of a non-
               crystallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.vector[1]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__struct_ncs_oper.vector[2]
    _item_description.description
;              The [2] element of the 3 element vector component of a non-
               crystallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.vector[2]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

save__struct_ncs_oper.vector[3]
    _item_description.description
;              The [3] element of the 3 element vector component of a non-
               crystallographic symmetry operation.
;
    _item.name                  '_struct_ncs_oper.vector[3]'
    _item.category_id             struct_ncs_oper
    _item.mandatory_code          no
    _item_default.value           0.0
    _item_sub_category.id         vector
    _item_type.code               float
     save_

################
## STRUCT_REF ##
################

save_STRUCT_REF
    _category.description
;              Data items in the STRUCT_REF category allow the author of a
               data block to relate the entities or biological units
               described in that data block to information archived in external
               databases.

               For references to the sequence of a polymer, the value of
               the data item _struct_ref.seq_align is used to indicate
               whether the correspondence between the sequence of the entity
               or biological unit in the data block and the sequence in the
               referenced database entry is 'complete' or 'partial'. If
               this value is 'partial', the region (or regions) of the
               alignment may be delimited using data items in the
               STRUCT_REF_SEQ category.

               Also for references to the sequence of a polymer, the value of
               _struct_ref.seq_dif is used to indicate whether or not the
               two sequences contain point differences. If the value is yes,
               the differences may be identified and annotated using data
               data items in the STRUCT_REF_SEQ_DIF category.
;
    _category.id                  struct_ref
    _category.mandatory_code      no
    _category_key.name          '_struct_ref.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_ref.id
    _struct_ref.entity_id
    _struct_ref.biol_id
    _struct_ref.db_name
    _struct_ref.db_code
    _struct_ref.seq_align
    _struct_ref.seq_dif
    _struct_ref.details
      1   1  .  'Genbank'  '12345' 'entire' 'yes' .
      2   .  2  'PDB'      '1ABC'  .        .
    ;  The structure of the closely related compound, isobutyryl-pepstatin
       (pepstatin A) in complex with rhizopuspepsin
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ref.biol_id
    _item_description.description
;              This data item is a pointer to _struct_biol.id in the
               STRUCT_BIOL category.
;
    _item.name                  '_struct_ref.biol_id'
    _item.mandatory_code          yes
     save_

save__struct_ref.db_code
    _item_description.description
;              The code for this entity or biological unit or for a closely
               related entity or biological unit in the named database.
;
    _item.name                  '_struct_ref.db_code'
    _item.category_id             struct_ref
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          '1ABC'
                                 'ABCDEF'
     save_

save__struct_ref.db_name
    _item_description.description
;              The name of the database containing reference information about
               this entity or biological unit.
;
    _item.name                  '_struct_ref.db_name'
    _item.category_id             struct_ref
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          'PDB'
                                 'CSD'
                                 'Genbank'
     save_

save__struct_ref.details
    _item_description.description
;              A description of special aspects of the relationship between
               the entity or biological unit described in the data block and
               the referenced database entry.
;
    _item.name                  '_struct_ref.details'
    _item.category_id             struct_ref
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__struct_ref.entity_id
    _item_description.description
;              This data item is a pointer to _entity.id in the ENTITY category.
;
    _item.name                  '_struct_ref.entity_id'
    _item.mandatory_code          yes
     save_

save__struct_ref.id
    _item_description.description
;              The value of _struct_ref.id must uniquely identify a record
               in the STRUCT_REF list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_ref.id'               struct_ref      yes
               '_struct_ref_seq.ref_id'       struct_ref_seq  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_ref_seq.ref_id'      '_struct_ref.id'
    _item_type.code               code
     save_

save__struct_ref.seq_align
    _item_description.description
;              A flag to indicate the scope of the alignement between the
               sequence of the entity or biological unit described in the data
               block and the referenced database entry. 'entire' indicates
               that alignment spans the entire length of both sequences
               (although point differences may occur, and can be annotated
               using the data items in the STRUCT_REF_SEQ_DIF category.)
               'partial' indicates a partial alignment, and the region (or
               regions) of the alignment may be delimited using data items
               in the STRUCT_REF_SEQ category. This data item may also take
               the value '.', indicating that the reference is not to a
               sequence.
;
    _item.name                  '_struct_ref.seq_align'
    _item.category_id             struct_ref
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      complete  'alignment is complete'
                                  partial   'alignment is partial'
                                  .         'reference is not to a sequence'    
     save_

save__struct_ref.seq_dif
    _item_description.description
;              A flag to indicate the presence ('yes') or absence ('no') of
               point differences between the sequence of the entity or
               biological unit described in the data block and the referenced
               database entry. This data item may also take the value '.',
               indicating that the reference is not to a sequence.
;
    _item.name                  '_struct_ref.seq_dif'
    _item.category_id             struct_ref
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value
    _item_enumeration.detail      no   'there are no point differences'
                                  n    'abbreviation for "no"'
                                  yes  'there are point difference'
                                  y    'abbreviation for "yes"'
                                  .    'reference is not to a sequence'
     save_

####################
## STRUCT_REF_SEQ ##
####################

save_STRUCT_REF_SEQ
    _category.description
;              Data items in the STRUCT_REF_SEQ category provide a mechanism
               for indicating and annotating a region (or regions) of alignment 
               between the sequence of an entity or biological unit described
               in the data block and the sequence in the referenced database
               entry.
;
    _category.id                  struct_ref_seq
    _category.mandatory_code      no
    _category_key.name          '_struct_ref_seq.align_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on the sequence alignment of CHER from M. Xantus 
                (36 to 288) and CHER from S. Tyrhimurium (18 to 276).
;
;
    _struct_ref_seq.align_id          alg1
    _struct_ref_seq.ref_id            seqdb1
    _struct_ref_seq.seq_align_beg     36
    _struct_ref_seq.seq_align_end     288
    _struct_ref_seq.db_align_beg      18
    _struct_ref_seq.db_align_end      276
    _struct_ref_seq.details
    ;
     The alignment contains 3 gaps larger than 2 residues
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ref_seq.align_id
    _item_description.description
;              The value of _struct_ref_seq.align_id must uniquely identify a
               record in the STRUCT_REF_SEQ list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_ref_seq.align_id'      struct_ref_seq      yes
               '_struct_ref_seq_dif.align_id'  struct_ref_seq_dif  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_ref_seq_dif.align_id' '_struct_ref_seq.align_id'
    _item_type.code               code
     save_

save__struct_ref_seq.db_align_beg
    _item_description.description
;              The sequence position at which the alignment begins in the
               referenced database entry.
;
    _item.name                  '_struct_ref_seq.db_align_beg'
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

save__struct_ref_seq.db_align_end
    _item_description.description
;              The sequence position at which the alignment ends in the
               referenced database entry.
;
    _item.name                  '_struct_ref_seq.db_align_end'
    _item.mandatory_code          yes
     loop_
    _item_range.maximum           
    _item_range.minimum           .   1
                                  1   1
    _item_type.code               int
     save_

save__struct_ref_seq.details
    _item_description.description
;              A description of special aspects of the sequence alignment.
;
    _item.name                  '_struct_ref_seq.details'
    _item.category_id             struct_ref_seq
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__struct_ref_seq.ref_id
    _item_description.description
;              This data item is a pointer to _struct_ref.id in the
               STRUCT_REF category.
;
    _item.name                  '_struct_ref_seq.ref_id'
    _item.mandatory_code          yes
     save_

save__struct_ref_seq.seq_align_beg
    _item_description.description
;              The sequence position at which the alignment begins in the
               entity or biological unit described in the data block.

               This data item is a pointer to _entity_poly_seq.num in the
               ENTITY_POLY_SEQ category.
;
    _item.name                  '_struct_ref_seq.seq_align_beg'
    _item.mandatory_code          yes
     save_

save__struct_ref_seq.seq_align_end
    _item_description.description
;              The sequence position at which the alignment begins in the
               entity or biological unit described in the data block.

               This data item is a pointer to _entity_poly_seq.num in the
               ENTITY_POLY_SEQ category.
;
    _item.name                  '_struct_ref_seq.seq_align_end'
    _item.mandatory_code          yes
     save_

########################
## STRUCT_REF_SEQ_DIF ##
########################

save_STRUCT_REF_SEQ_DIF
    _category.description
;              Data items in the STRUCT_REF_SEQ_DIF category provide a
               mechanism for indicating and annotating point differences
               between the sequence of the entity or biological unit described
               in the data block and the sequence of the referenced database
               entry.
;
    _category.id                  struct_ref_seq_dif
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_ref_seq_dif.align_id'
                                '_struct_ref_seq_dif.seq_num'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on laboratory records for CAP-DNA complex.
;
;
    _struct_ref_seq_dif.align_id    algn2
    _struct_ref_seq_dif.seq_num     181
    _struct_ref_seq_dif.db_mon_id   GLU
    _struct_ref_seq_dif.mon_id      PHE
    _struct_ref_seq_dif.details
    ;
     A point mutation was introduced in the CAP at position 181 
     substituting PHE for GLU.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_ref_seq_dif.align_id
    _item_description.description
;              This data item is a pointer to _struct_ref_seq.align_id in
               the STRUCT_REF_SEQ  category.
;
    _item.name                  '_struct_ref_seq_dif.align_id'
    _item.mandatory_code          yes
     save_

save__struct_ref_seq_dif.db_mon_id
    _item_description.description
;              The monomer type found at this position in the referenced
               database entry.

               This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_struct_ref_seq_dif.db_mon_id'
    _item.mandatory_code          yes
     save_

save__struct_ref_seq_dif.details
    _item_description.description
;              A description of special aspects of the point differences
               between the sequence of the entity of biological unit described
               in the data block and the referenced database entry.
;
    _item.name                  '_struct_ref_seq_dif.details'
    _item.category_id             struct_ref_seq_dif
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__struct_ref_seq_dif.mon_id
    _item_description.description
;              The monomer type found at this position in the sequence of
               the entity or biological unit described in this data block.

               This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_struct_ref_seq_dif.mon_id'
    _item.mandatory_code          yes
     save_

save__struct_ref_seq_dif.seq_num
    _item_description.description
;              This data item is a pointer to _entity_poly_seq.num in the
               ENTITY_POLY_SEQ category.
;
    _item.name                  '_struct_ref_seq_dif.seq_num'
    _item.mandatory_code          yes
     save_

##################
## STRUCT_SHEET ##
##################

save_STRUCT_SHEET
    _category.description
;              Data items in the STRUCT_SHEET category record details about
               the beta sheets.
;
    _category.id                  struct_sheet
    _category.mandatory_code      no
    _category_key.name          '_struct_sheet.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - simple beta barrel

              N  O    N  O    N  O    N  O    N  O    N  O
               10--11--12--13--14--15--16--17--18--19--20  strand_a
                  N  O    N  O    N  O    N  O    N  O
                  /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
               30--31--32--33--34--35--36--37--38--39--40  strand_b
                  N  O    N  O    N  O    N  O    N  O
                  /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
               50--51--52--53--54--55--56--57--58--59--60  strand_c
                  N  O    N  O    N  O    N  O    N  O
                  /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
               70--71--72--73--74--75--76--77--78--79--80  strand_d
                  N  O    N  O    N  O    N  O    N  O
                  /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
               90--91--92--93--94--95--96--97--98--99-100  strand_e
                  N  O    N  O    N  O    N  O    N  O
                  /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
              110-111-112-113-114-115-116-117-118-119-120  strand_f
                  N  O    N  O    N  O    N  O    N  O
                  /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
              130-131-132-133-134-135-136-137-138-139-140  strand_g
                   N  O    N  O    N  O    N  O    N  O
                 /  \    /  \    /  \    /  \    /  \
              N  O    N  O    N  O    N  O    N  O    N  O
              150-151-152-153-154-155-156-157-158-159-160  strand_h
                   N  O    N  O    N  O    N  O    N  O
                 /  \    /  \    /  \    /  \    /  \
;
;
    _struct_sheet.id                sheet_1
    _struct_sheet.type             'beta-barrel'
    _struct_sheet.number_strands    8
    _struct_sheet.details           .
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - five stranded mixed-sense sheet with one two-piece strand

          N  O    N  O    N  O    N  O
      -10--11--12--13--14--15--16--17--18->  strand_a
      N  O    N  O    N  O    N  O    N  O
      |  |    |  |    |  |    |  |    |  |
      O  N    O  N    O  N    O  N    O  N
    <-119-118-117-116-115-114-113-112-111-110-  strand_b
          O  N    O  N    O  N    O  N    O  N
              \  /   \   /   \   /   \   /   \
              O  N    O  N    O  N    O  N    O  N    O  N
             <-41--40--39--38--37--36--35--34--33--32--31--30-  strand_c
                  O  N    O  N    O  N    O  N    O  N    O  N
                  |  |    |  |    |  |    |  |    |  |    |  |
                  N  O    N  O    N  O    N  O    N  O    N  O
       strand_d1  -50--51--52->   -90--91--92--93--95--95--96--97->  strand_d2
                      N  O            N  O    N  O    N  O    N  O
                      |  |    |  |    |  |    |  |    |  |    |  |
                      O  N    O  N    O  N    O  N    O  N    O  N
                     <-80--79--78--77--76--75--74--73--72--71--70-   strand_e
                          O  N    O  N    O  N    O  N    O  N
;
;
    _struct_sheet.id                sheet_2
    _struct_sheet.type             'five stranded, mixed-sense'
    _struct_sheet.number_strands    5
    _struct_sheet.details          'strand_d is in two pieces'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_sheet.details
    _item_description.description
;              A description of special aspects of the beta-sheet.
;
    _item.name                  '_struct_sheet.details'
    _item.category_id             struct_sheet
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__struct_sheet.id
    _item_description.description
;              The value of _struct_sheet.id must uniquely identify a record in
               the STRUCT_SHEET list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_sheet.id'                 struct_sheet           yes
               '_struct_sheet_hbond.sheet_id'     struct_sheet_hbond     yes
               '_struct_sheet_order.sheet_id'     struct_sheet_order     yes
               '_struct_sheet_range.sheet_id'     struct_sheet_range     yes
               '_struct_sheet_topology.sheet_id'  struct_sheet_topology  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_sheet_hbond.sheet_id'     '_struct_sheet.id'
               '_struct_sheet_order.sheet_id'     '_struct_sheet.id'
               '_struct_sheet_range.sheet_id'     '_struct_sheet.id'
               '_struct_sheet_topology.sheet_id'  '_struct_sheet.id'
    _item_type.code               code
     save_

save__struct_sheet.number_strands
    _item_description.description
;              The number of strands in the sheet. If a given range of residues
               is bulged out from the stands, it is still counted as one strand.
               If a strand is composed of two different regions of polypeptide,
               it is still counted as one strand, so long as the proper hydrogen
               bonding connections are made to adjacent strands.
;
    _item.name                  '_struct_sheet.number_strands'
    _item.category_id             struct_sheet
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__struct_sheet.type
    _item_description.description
;              A simple descriptor for the type of the sheet.
;
    _item.name                  '_struct_sheet.type'
    _item.category_id             struct_sheet
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _Item_examples.case          'jelly-roll'
                                 'Rossmann fold'
                                 'beta barrel'
     save_

########################
## STRUCT_SHEET_HBOND ##
########################

save_STRUCT_SHEET_HBOND
    _category.description
;              Data items in the STRUCT_SHEET_HBOND category record details
               about the hydrogen bonding between residue ranges in a beta
               sheet. It is necessary to treat hydrogen bonding independently
               of the designation of ranges, because the hydrogen bonding may
               begin in different places for the interactions of a given strand
               with the one preceding it and the one following it in the sheet.
;
    _category.id                  struct_sheet_hbond
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_sheet_hbond.sheet_id'
                                '_struct_sheet_hbond.range_id_1'
                                '_struct_sheet_hbond.range_id_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - simple beta barrel
;
;
     loop_
    _struct_sheet_hbond.sheet_id
    _struct_sheet_hbond.range_id_1
    _struct_sheet_hbond.range_id_2
    _struct_sheet_hbond.range_1_beg_label_seq_id
    _struct_sheet_hbond.range_1_beg_label_atom_id
    _struct_sheet_hbond.range_2_beg_label_seq_id
    _struct_sheet_hbond.range_2_beg_label_atom_id
    _struct_sheet_hbond.range_1_end_label_seq_id
    _struct_sheet_hbond.range_1_end_label_atom_id
    _struct_sheet_hbond.range_2_end_label_seq_id
    _struct_sheet_hbond.range_2_end_label_atom_id
     sheet_1  strand_a  strand_b   11  N   30  O   19  O   40  N
     sheet_1  strand_b  strand_c   31  N   50  O   39  O   60  N
     sheet_1  strand_c  strand_d   51  N   70  O   59  O   80  N
     sheet_1  strand_d  strand_e   71  N   90  O   89  O  100  N
     sheet_1  strand_e  strand_f   91  N  110  O   99  O  120  N
     sheet_1  strand_f  strand_g  111  N  130  O  119  O  140  N
     sheet_1  strand_g  strand_h  131  N  150  O  139  O  160  N
     sheet_1  strand_h  strand_a  151  N   10  O  159  O  180  N
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - five stranded mixed-sense sheet with one two-piece strand
;
;
     loop_
    _struct_sheet_hbond.sheet_id
    _struct_sheet_hbond.range_id_1
    _struct_sheet_hbond.range_id_2
    _struct_sheet_hbond.range_1_beg_label_seq_id
    _struct_sheet_hbond.range_1_beg_label_atom_id
    _struct_sheet_hbond.range_2_beg_label_seq_id
    _struct_sheet_hbond.range_2_beg_label_atom_id
    _struct_sheet_hbond.range_1_end_label_seq_id
    _struct_sheet_hbond.range_1_end_label_atom_id
    _struct_sheet_hbond.range_2_end_label_seq_id
    _struct_sheet_hbond.range_2_end_label_atom_id
     sheet_2  strand_a   strand_b    20  N  119  O  18  O  111  N
     sheet_2  strand_b   strand_c   110  N   33  O 118  N   41  O
     sheet_2  strand_c   strand_d1   38  N   52  O  40  O   50  N
     sheet_2  strand_c   strand_d2   30  N   96  O  36  O   90  N
     sheet_2  strand_d1  strand_e    51  N   80  O  51  O   80  N
     sheet_2  strand_d2  strand_e    91  N   76  O  97  O   70  N
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_sheet_hbond.range_1_beg_label_atom_id
    _item_description.description
;              A component of the identifier for the residue for the first 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_beg_label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_1_beg_label_seq_id
    _item_description.description
;              A component of the identifier for the residue for the first 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_beg_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_1_end_label_atom_id
    _item_description.description
;              A component of the identifier for the residue for the first
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_end_label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_1_end_label_seq_id
    _item_description.description
;              A component of the identifier for the residue for the first
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_end_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_2_beg_label_atom_id
    _item_description.description
;              A component of the identifier for the residue for the second 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_beg_label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_2_beg_label_seq_id
    _item_description.description
;              A component of the identifier for the residue for the second 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_beg_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_2_end_label_atom_id
    _item_description.description
;              A component of the identifier for the residue for the second
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.label_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_end_label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_2_end_label_seq_id
    _item_description.description
;              A component of the identifier for the residue for the second
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_end_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_1_beg_auth_atom_id
    _item_description.description
;              A component of the identifier for the residue for the first 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_beg_auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_1_beg_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue for the first 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_beg_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_1_end_auth_atom_id
    _item_description.description
;              A component of the identifier for the residue for the first
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_end_auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_1_end_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue for the first
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_1_end_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_2_beg_auth_atom_id
    _item_description.description
;              A component of the identifier for the residue for the second 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_beg_auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_2_beg_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue for the second 
               partner of the first hydrogen bond between two residue ranges 
               in a sheet.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_beg_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_2_end_auth_atom_id
    _item_description.description
;              A component of the identifier for the residue for the second
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_end_auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_2_end_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue for the second
               partner of the last hydrogen bond between two residue ranges in
               a sheet.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_hbond.range_2_end_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_hbond.range_id_1
    _item_description.description
;              This data item is a pointer to _struct_sheet_range.id in
               the STRUCT_SHEET_RANGE category.
;
    _item.name                  '_struct_sheet_hbond.range_id_1'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.range_id_2
    _item_description.description
;              This data item is a pointer to _struct_sheet_range.id in
               the STRUCT_SHEET_RANGE category.
;
    _item.name                  '_struct_sheet_hbond.range_id_2'
    _item.mandatory_code          yes
     save_

save__struct_sheet_hbond.sheet_id
    _item_description.description
;              This data item is a pointer to _struct_sheet.id in the
               STRUCT_SHEET category.
;
    _item.name                  '_struct_sheet_hbond.sheet_id'
    _item.mandatory_code          yes
     save_

########################
## STRUCT_SHEET_ORDER ##
########################

save_STRUCT_SHEET_ORDER
    _category.description
;              Data items in the STRUCT_SHEET_ORDER category record details
               about the order of the residue ranges that form a beta sheet.
               All order linkages are pairwise, and the specified pairs are
               assumed to be adjacent to one another in the sheet. These data
               items are an alternative to the STRUCT_SHEET_TOPOLOGY data
               items, and they allow for the formal description of all manner
               of sheets.
;
    _category.id                  struct_sheet_order
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_sheet_order.sheet_id'
                                '_struct_sheet_order.range_id_1'
                                '_struct_sheet_order.range_id_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - simple beta barrel
;
;
     loop_
    _struct_sheet_order.sheet_id
    _struct_sheet_order.range_id_1
    _struct_sheet_order.range_id_2
    _struct_sheet_order.offset
    _struct_sheet_order.sense
     sheet_1  strand_a  strand_b  +1  parallel
     sheet_1  strand_b  strand_c  +1  parallel
     sheet_1  strand_c  strand_d  +1  parallel
     sheet_1  strand_d  strand_e  +1  parallel
     sheet_1  strand_e  strand_f  +1  parallel
     sheet_1  strand_f  strand_g  +1  parallel
     sheet_1  strand_g  strand_h  +1  parallel
     sheet_1  strand_h  strand_a  +1  parallel
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - five stranded mixed-sense sheet with one two-piece strand
;
;
     loop_
    _struct_sheet_order.sheet_id
    _struct_sheet_order.range_id_1
    _struct_sheet_order.range_id_2
    _struct_sheet_order.offset
    _struct_sheet_order.sense
     sheet_2  strand_a   strand_b    +1 anti-parallel
     sheet_2  strand_b   strand_c    +1 parallel
     sheet_2  strand_c   strand_d1   +1 anti-parallel
     sheet_2  strand_c   strand_d2   +1 anti-parallel
     sheet_2  strand_d1  strand_e    +1 anti-parallel
     sheet_2  strand_d2  strand_e    +1 anti-parallel
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_sheet_order.offset
    _item_description.description
;              Designated the relative position in the sheet, plus or minus, of
               the second residue range to the first.
;
    _item.name                  '_struct_sheet_order.offset'
    _item.category_id             struct_sheet_order
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__struct_sheet_order.range_id_1
    _item_description.description
;              This data item is a pointer to _struct_sheet_range.id in
               the STRUCT_SHEET_RANGE category.
;
    _item.name                  '_struct_sheet_order.range_id_1'
    _item.mandatory_code          yes
     save_

save__struct_sheet_order.range_id_2
    _item_description.description
;              This data item is a pointer to _struct_sheet_range.id in
               the STRUCT_SHEET_RANGE category.
;
    _item.name                  '_struct_sheet_order.range_id_2'
    _item.mandatory_code          yes
     save_

save__struct_sheet_order.sense
    _item_description.description
;              A flag to indicate whether the two designated residue ranges are
               parallel or antiparallel to one another.
;
    _item.name                  '_struct_sheet_order.sense'
    _item.category_id             struct_sheet_order
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value      'parallel'
                                 'anti-parallel'
     save_

save__struct_sheet_order.sheet_id
    _item_description.description
;              This data item is a pointer to _struct_sheet.id in the
               STRUCT_SHEET category.
;
    _item.name                  '_struct_sheet_order.sheet_id'
    _item.mandatory_code          yes
     save_

########################
## STRUCT_SHEET_RANGE ##
########################

save_STRUCT_SHEET_RANGE
    _category.description
;              Data items in the STRUCT_SHEET_RANGE category record details
               about the residue ranges that form a beta sheet. Residues are
               included in a range if they made beta-sheet type hydrogen bonding
               interactions with at least one adjacent strand and if there are
               at least two residues in the range.
;
    _category.id                  struct_sheet_range
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_sheet_range.sheet_id'
                                '_struct_sheet_range.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - simple beta barrel
;
;
     loop_
    _struct_sheet_range.sheet_id
    _struct_sheet_range.id
    _struct_sheet_range.beg_label_comp_id
    _struct_sheet_range.beg_label_asym_id
    _struct_sheet_range.beg_label_seq_id
    _struct_sheet_range.end_label_comp_id
    _struct_sheet_range.end_label_asym_id
    _struct_sheet_range.end_label_seq_id
    _struct_sheet_range.symmetry
     sheet_1  strand_a  ala  A   20  ala  A   30  1_555
     sheet_1  strand_b  ala  A   40  ala  A   50  1_555
     sheet_1  strand_c  ala  A   60  ala  A   70  1_555
     sheet_1  strand_d  ala  A   80  ala  A   90  1_555
     sheet_1  strand_e  ala  A  100  ala  A  110  1_555
     sheet_1  strand_f  ala  A  120  ala  A  130  1_555
     sheet_1  strand_g  ala  A  140  ala  A  150  1_555
     sheet_1  strand_h  ala  A  160  ala  A  170  1_555
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - five stranded mixed-sense sheet with one two-piece strand
;
;
     loop_
    _struct_sheet_range.sheet_id
    _struct_sheet_range.id
    _struct_sheet_range.beg_label_comp_id
    _struct_sheet_range.beg_label_asym_id
    _struct_sheet_range.beg_label_seq_id
    _struct_sheet_range.end_label_comp_id
    _struct_sheet_range.end_label_asym_id
    _struct_sheet_range.end_label_seq_id
    _struct_sheet_range.symmetry
     sheet_2  strand_a   ala  A  10  ala  A  18  1_555
     sheet_2  strand_b   ala  A 110  ala  A 119  1_555
     sheet_2  strand_c   ala  A  30  ala  A  41  1_555
     sheet_2  strand_d1  ala  A  50  ala  A  52  1_555
     sheet_2  strand_d2  ala  A  90  ala  A  97  1_555
     sheet_2  strand_e   ala  A  70  ala  A  80  1_555
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_sheet_range.beg_label_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range begins.

               This data item is a pointer to _struct_asym.id in the
               STRUCT_ASYM category.
;
    _item.name                  '_struct_sheet_range.beg_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.beg_label_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range begins.

               This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_struct_sheet_range.beg_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.beg_label_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range begins.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.beg_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.end_label_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range ends.

               This data item is a pointer to _struct_asym.id in the
               STRUCT_ASYM category.
;
    _item.name                  '_struct_sheet_range.end_label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.end_label_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range ends.

               This data item is a pointer to _chem_comp.id in the CHEM_COMP
               category.
;
    _item.name                  '_struct_sheet_range.end_label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.end_label_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range ends.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.end_label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.beg_auth_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range begins.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.beg_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_range.beg_auth_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range begins.

               This data item is a pointer to _atom_site.auth_comp_id in 
               the ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.beg_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_range.beg_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range begins.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.beg_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_range.end_auth_asym_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range ends.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.

;
    _item.name                  '_struct_sheet_range.end_auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_range.end_auth_comp_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range ends.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.end_auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_range.end_auth_seq_id
    _item_description.description
;              A component of the identifier for the residue at which the
               beta sheet range ends.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_sheet_range.end_auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_sheet_range.id
    _item_description.description
;              The value of _struct_sheet_range.id must uniquely identify a
               range in a given sheet in the STRUCT_SHEET_RANGE list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_sheet_range.id'             struct_sheet_range     yes
               '_struct_sheet_hbond.range_id_1'     struct_sheet_hbond     yes
               '_struct_sheet_hbond.range_id_2'     struct_sheet_hbond     yes
               '_struct_sheet_order.range_id_1'     struct_sheet_order     yes
               '_struct_sheet_order.range_id_2'     struct_sheet_order     yes
               '_struct_sheet_topology.range_id_1'  struct_sheet_topology  yes
               '_struct_sheet_topology.range_id_2'  struct_sheet_topology  yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_sheet_hbond.range_id_1'     '_struct_sheet_range.id'
               '_struct_sheet_hbond.range_id_2'     '_struct_sheet_range.id'
               '_struct_sheet_order.range_id_1'     '_struct_sheet_range.id'
               '_struct_sheet_order.range_id_2'     '_struct_sheet_range.id'
               '_struct_sheet_topology.range_id_1'  '_struct_sheet_range.id'
               '_struct_sheet_topology.range_id_2'  '_struct_sheet_range.id'
    _item_type.code               code
     save_

save__struct_sheet_range.sheet_id
    _item_description.description
;              This data item is a pointer to _struct_sheet.id in the
               STRUCT_SHEET category.
;
    _item.name                  '_struct_sheet_range.sheet_id'
    _item.mandatory_code          yes
     save_

save__struct_sheet_range.symmetry
    _item_description.description
;              Describes the symmetry operation that should be applied to the
               residues delimited by the beginning and ending designators in
               order to generate the appropriate strand in this sheet.
;
    _item.name                  '_struct_sheet_range.symmetry'
    _item.category_id             struct_sheet_range
    _item.mandatory_code          no
    _item_default.value           1_555
    _item_type.code               symop
     save_

###########################
## STRUCT_SHEET_TOPOLOGY ##
###########################

save_STRUCT_SHEET_TOPOLOGY
    _category.description
;              Data items in the STRUCT_SHEET_TOPOLOGY category record details
               about the topology of the residue ranges that form a beta sheet.
               All topology linkages are pairwise, and the specified pairs are
               assumed to be successive in the amino acid sequence. These
               data items are useful in describing various simple and complex
               folds, but they become inadequate when the strands in the sheet
               come from more than one chain. One can alternatively used the
               STRUCT_SHEET_ORDER data items to describe both single and
               multiple chain-containing sheets.
;
    _category.id                  struct_sheet_topology
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_sheet_topology.sheet_id'
                                '_struct_sheet_topology.range_id_1'
                                '_struct_sheet_topology.range_id_2'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - simple beta barrel
;
;
     loop_
    _struct_sheet_topology.sheet_id
    _struct_sheet_topology.range_id_1
    _struct_sheet_topology.range_id_2
    _struct_sheet_topology.offset
    _struct_sheet_topology.sense
     sheet_1  strand_a  strand_b  +1  parallel
     sheet_1  strand_b  strand_c  +1  parallel
     sheet_1  strand_c  strand_d  +1  parallel
     sheet_1  strand_d  strand_e  +1  parallel
     sheet_1  strand_e  strand_f  +1  parallel
     sheet_1  strand_f  strand_g  +1  parallel
     sheet_1  strand_g  strand_h  +1  parallel
     sheet_1  strand_h  strand_a  +1  parallel
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 2 - five stranded mixed-sense sheet with one two-piece strand
;
;
    _struct_sheet_topology.sheet_id
    _struct_sheet_topology.range_id_1
    _struct_sheet_topology.range_id_2
    _struct_sheet_topology.offset
    _struct_sheet_topology.sense
     sheet_2  strand_a   strand_c    +2 anti-parallel
     sheet_2  strand_c   strand_d1   +1 anti-parallel
     sheet_2  strand_d1  strand_e    +1 anti-parallel
     sheet_2  strand_e   strand_d2   -1 anti-parallel
     sheet_2  strand_d2  strand_b    -2 anti-parallel
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_sheet_topology.offset
    _item_description.description
;              Designated the relative position in the sheet, plus or minus, of
               the second residue range to the first.
;
    _item.name                  '_struct_sheet_topology.offset'
    _item.category_id             struct_sheet_topology
    _item.mandatory_code          no
    _item_type.code               int
     save_

save__struct_sheet_topology.range_id_1
    _item_description.description
;              This data item is a pointer to _struct_sheet_range.id in
               the STRUCT_SHEET_RANGE category.
;
    _item.name                  '_struct_sheet_topology.range_id_1'
    _item.mandatory_code          yes
     save_

save__struct_sheet_topology.range_id_2
    _item_description.description
;              This data item is a pointer to _struct_sheet_range.id in
               the STRUCT_SHEET_RANGE category.
;
    _item.name                  '_struct_sheet_topology.range_id_2'
    _item.mandatory_code          yes
     save_

save__struct_sheet_topology.sense
    _item_description.description
;              A flag to indicate whether the two designated residue ranges are
               parallel or antiparallel to one another.
;
    _item.name                  '_struct_sheet_topology.sense'
    _item.category_id             struct_sheet_topology
    _item.mandatory_code          no
    _item_type.code               ucode
     loop_
    _item_enumeration.value      'parallel'
                                 'anti-parallel'
     save_

save__struct_sheet_topology.sheet_id
    _item_description.description
;              This data item is a pointer to _struct_sheet.id in the
               STRUCT_SHEET category.
;
    _item.name                  '_struct_sheet_topology.sheet_id'
    _item.mandatory_code          yes
     save_

#################
## STRUCT_SITE ##
#################

save_STRUCT_SITE
    _category.description
;              Data items in the STRUCT_SITE category record details about
               portions of structure that contribute to certain structurally
               relevant sites (i.e., active sites, substrate-binding subsites,
               metal-coordination sites).
;
    _category.id                  struct_site
    _category.mandatory_code      no
    _category_key.name          '_struct_site.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_site.id
    _struct_site.details
     'P2 site C'
    ; residues with a contact < 3.7 \%A to an atom in the P2 moiety of the
      inhibitor in the conformation with _struct_asym.id = C
    ;
     'P2 site D'
    ; residues with a contact < 3.7 \%A to an atom in the P1 moiety of the
      inhibitor in the conformation with _struct_asym.id = D)
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_site.details
    _item_description.description
;              A description of special aspects of the structural site.
;
    _item.name                  '_struct_site.details'
    _item.category_id             struct_site
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__struct_site.id
    _item_description.description
;              The value of _struct_site.id must uniquely identify a record in
               the STRUCT_SITE list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
               '_struct_site.id'                struct_site           yes
               '_struct_site_gen.site_id'       struct_site_gen       yes
               '_struct_site_keywords.site_id'  struct_site_keywords  yes
               '_struct_site_view.site_id'      struct_site_view      yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_struct_site_gen.site_id'       '_struct_site.id'
               '_struct_site_keywords.site_id'  '_struct_site.id'
               '_struct_site_view.site_id'      '_struct_site.id'
    _item_type.code               line
     save_

#####################
## STRUCT_SITE_GEN ##
#####################

save_STRUCT_SITE_GEN
    _category.description
;              Data items in the STRUCT_SITE_GEN category record details about
               the generation of portions of structure that contribute to
               structurally relevant sites.
;
    _category.id                  struct_site_gen
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_site_gen.id'
                                '_struct_site_gen.site_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_site_gen.id
    _struct_site_gen.site_id
    _struct_site_gen.label_comp_id
    _struct_site_gen.label_asym_id
    _struct_site_gen.label_seq_id
    _struct_site_gen.symmetry
    _struct_site_gen.details
      1  1  VAL  A   32  1_555  .
      2  1  ILE  A   47  1_555  .
      3  1  VAL  A   82  1_555  .
      4  1  ILE  A   84  1_555  .
      5  2  VAL  B  232  1_555  .
      6  2  ILE  B  247  1_555  .
      7  2  VAL  B  282  1_555  .
      8  2  ILE  B  284  1_555  .
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_site_gen.details
    _item_description.description
;              A description of special aspects of the symmetry generation of
               this portion of the structural site.
;
    _item.name                  '_struct_site_gen.details'
    _item.category_id             struct_site_gen
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The zinc atom lies on a special position;
                                  application of symmetry elements to generate
                                  the insulin hexamer will generate excess zinc
                                  atoms, which must be removed by hand.
;
     save_

save__struct_site_gen.id
    _item_description.description
;              The value of _struct_site_gen.id must uniquely identify a record
               in the STRUCT_SITE_GEN list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_struct_site_gen.id'
    _item.category_id             struct_site_gen
    _item.mandatory_code          yes
    _item_type.code               line
     save_

save__struct_site_gen.label_alt_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_sites_alt.id in the
               ATOM_SITES_ALT category.
;
    _item.name                  '_struct_site_gen.label_alt_id'
    _item.mandatory_code          yes
     save_

save__struct_site_gen.label_asym_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.label_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.label_asym_id'
    _item.mandatory_code          yes
     save_

save__struct_site_gen.label_atom_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _chem_comp_atom.atom_id in the
               CHEM_COMP_ATOM category.
;
    _item.name                  '_struct_site_gen.label_atom_id'
    _item.mandatory_code          yes
     save_

save__struct_site_gen.label_comp_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.label_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.label_comp_id'
    _item.mandatory_code          yes
     save_

save__struct_site_gen.label_seq_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.label_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.label_seq_id'
    _item.mandatory_code          yes
     save_

save__struct_site_gen.auth_asym_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_asym_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.auth_asym_id'
    _item.mandatory_code          no
     save_

save__struct_site_gen.auth_atom_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_atom_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.auth_atom_id'
    _item.mandatory_code          no
     save_

save__struct_site_gen.auth_comp_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_comp_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.auth_comp_id'
    _item.mandatory_code          no
     save_

save__struct_site_gen.auth_seq_id
    _item_description.description
;              A component of the identifier for participants in the site.

               This data item is a pointer to _atom_site.auth_seq_id in the
               ATOM_SITE category.
;
    _item.name                  '_struct_site_gen.auth_seq_id'
    _item.mandatory_code          no
     save_

save__struct_site_gen.site_id
    _item_description.description
;              This data item is a pointer to _struct_site.id in the STRUCT_SITE
               category.
;
    _item.name                  '_struct_site_gen.site_id'
    _item.mandatory_code          yes
     save_

save__struct_site_gen.symmetry
    _item_description.description
;              Describes the symmetry operation that should be applied to the
               atom set specified by _struct_site_gen.label* to generate a
               portion of the structure site.
;
    _item.name                  '_struct_site_gen.symmetry'
    _item.category_id             struct_site_gen
    _item.mandatory_code          no
    _item_default.value           1_555
    _item_type.code               symop
     loop_
    _item_examples.case
    _item_examples.detail         .      'no symmetry or translation to site'
                                  4      '4th symmetry operation applied'
                                  7_645  '7th symm. posn.; +a on x; -b on y'
     save_

##########################
## STRUCT_SITE_KEYWORDS ##
##########################

save_STRUCT_SITE_KEYWORDS
    _category.description
;              Data items in the STRUCT_SITE_KEYWORDS category...
;
    _category.id                  struct_site_keywords
    _category.mandatory_code      no
     loop_
    _category_key.name          '_struct_site_keywords.site_id'
                                '_struct_site_keywords.text'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _struct_site_keywords.site_id
    _struct_site_keywords.text
     'P2 site C'  'binding site'
     'P2 site C'  'binding pocket'
     'P2 site C'  'P2 site'
     'P2 site C'  'P2 pocket'
     'P2 site D'  'binding site'
     'P2 site D'  'binding pocket'
     'P2 site D'  'P2 site'
     'P2 site D'  'P2 pocket'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_site_keywords.site_id
    _item_description.description
;              This data item is a pointer to _struct_site.id in the STRUCT_SITE
               category.
;
    _item.name                  '_struct_site_keywords.site_id'
    _item.mandatory_code          yes
     save_

save__struct_site_keywords.text
    _item_description.description
;              Keywords describing this structural site.
;
    _item.name                  '_struct_site_keywords.text'
    _item.category_id             struct_site_keywords
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case          'active site'
                                 'binding pocket'
                                 'Ca coordination'
     save_

######################
## STRUCT_SITE_VIEW ##
######################

save_STRUCT_SITE_VIEW
    _category.description
;              Data items in the STRUCT_SITE_VIEW category record details
               about how to draw and annotate a useful didactic view of the
               structural site.
;
    _category.id                  struct_site_view
    _category.mandatory_code      no
    _category_key.name          '_struct_site_view.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'struct_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on NDB structure GDL001  M. Coll, J. Aymami, 
                G.A. Van Der Marel, J.H. Van Boom, A. Rich,  and A.H. -J. Wang
                [(1989).  Biochemistry, 28 310-320]
;
;
    _struct_site_view.view_id               1
    _struct_site_view.rot_matrix[1][1]      0.132
    _struct_site_view.rot_matrix[1][2]      0.922
    _struct_site_view.rot_matrix[1][3]     -0.363
    _struct_site_view.rot_matrix[2][1]      0.131
    _struct_site_view.rot_matrix[2][2]     -0.380
    _struct_site_view.rot_matrix[2][3]     -0.916
    _struct_site_view.rot_matrix[3][1]     -0.982
    _struct_site_view.rot_matrix[3][2]      0.073
    _struct_site_view.rot_matrix[3][3]     -0.172
    _struct_site_view.details
    ;
       This view highlights the the site of ATAT-Netropsin interaction.
    ;
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__struct_site_view.details
    _item_description.description
;              A description of special aspects of this view of the structural
               site. This data item can be used as a figure legend, if desired.
;
    _item.name                  '_struct_site_view.details'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case
;                                 The active site has been oriented with the
                                  specificity pocket on the right and the active
                                  site machinery on the left.
;
     save_

save__struct_site_view.id
    _item_description.description
;              The value of _struct_site_view.id must uniquely identify a
               record in the STRUCT_SITE_VIEW list.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_struct_site_view.id'
    _item.category_id             struct_site_view
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_examples.case          'Figure 1'
                                 'unliganded enzyme'
                                 'view down enzyme active site'
     save_

save__struct_site_view.rot_matrix[1][1]
    _item_description.description
;              The [1][1] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[1][1]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[1][2]
    _item_description.description
;              The [1][2] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[1][2]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[1][3]
    _item_description.description
;              The [1][3] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[1][3]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[2][1]
    _item_description.description
;              The [2][1] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[2][1]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[2][2]
    _item_description.description
;              The [2][2] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[2][2]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[2][3]
    _item_description.description
;              The [2][3] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[2][3]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[3][1]
    _item_description.description
;              The [3][1] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[3][1]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[3][2]
    _item_description.description
;              The [3][2] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[3][2]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.rot_matrix[3][3]
    _item_description.description
;              The [3][3] element of the matrix used to rotate the subset of the
               Cartesian coordinates in the ATOM_SITE category identified in the
               STRUCT_SITE_VIEW_GEN category to a view useful for describing the
               structural site. The conventions used in the rotation are
               described in _struct_site_view.details.

               |x'|                         |11 12 13| |x|
               |y'|~reoriented Cartesian~ = |21 22 23| |y|~Cartesian~
               |z'|                         |31 32 33| |z|
;
    _item.name                  '_struct_site_view.rot_matrix[3][3]'
    _item.category_id             struct_site_view
    _item.mandatory_code          no
    _item_sub_category.id         matrix
    _item_type.code               float
     save_

save__struct_site_view.site_id
    _item_description.description
;              This data item is a pointer to _struct_site.id in the STRUCT_SITE
               category.
;
    _item.name                  '_struct_site_view.site_id'
    _item.mandatory_code          yes
     save_

##############
## SYMMETRY ##
##############

save_SYMMETRY
    _category.description
;              Data items in the SYMMETRY category record details about the
               space-group symmetry.
;
    _category.id                  symmetry
    _category.mandatory_code      no
    _category_key.name          '_symmetry.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'symmetry_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
    _symmetry.entry_id                     '5HVP'
    _symmetry.cell_setting                 orthorhombic
    _symmetry.Int_Tables_number            18
    _symmetry.space_group_name_H-M         'P 21 21 2'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__symmetry.entry_id
    _item_description.description
;              This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                  '_symmetry.entry_id'
    _item.mandatory_code          yes
     save_

save__symmetry.cell_setting
    _item_description.description
;              The cell settings for this space-group symmetry.
;
    _item.name                  '_symmetry.cell_setting'
    _item.category_id             symmetry
    _item.mandatory_code          no
    _item_aliases.alias_name    '_symmetry_cell_setting'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               ucode
     loop_
    _item_enumeration.value       triclinic
                                  monoclinic
                                  orthorhombic
                                  tetragonal
                                  rhombohedral
                                  trigonal
                                  hexagonal
                                  cubic
     save_

save__symmetry.Int_Tables_number
    _item_description.description
;              Space-group number from International Tables for Crystallography,
               Vol. A (1987).
;
    _item.name                  '_symmetry.Int_Tables_number'
    _item.category_id             symmetry
    _item.mandatory_code          no
    _item_aliases.alias_name    '_symmetry_Int_Tables_number'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               int
     save_

save__symmetry.space_group_name_Hall
    _item_description.description
;              Space-group symbol as described by Hall. This symbol gives the
               space-group setting explicitly. Leave spaces between the separate
               components of the symbol.

               Ref: Hall, S. R. (1981). Acta Cryst. A37, 517-525.
;
    _item.name                  '_symmetry.space_group_name_Hall'
    _item.category_id             symmetry
    _item.mandatory_code          no
    _item_aliases.alias_name    '_symmetry_space_group_name_Hall'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          '-P 2ac 2n'
                                 '-R 3 2"'
                                 'P 61 2 2 (0 0 -1)'
     save_

save__symmetry.space_group_name_H-M
    _item_description.description
;              Hermann-Mauguin space-group symbol. Note that the H-M symbol does
               not necessarily contain complete information about the symmetry
               and the space-group origin. If used always supply the FULL symbol
               from International Tables for Crystallography, Vol. A (1987) and
               indicate the origin and the setting if it is not implicit. If
               there is any doubt that the equivalent positions can be uniquely
               deduced from this symbol specify the _symmetry_equiv.pos_as_xyz
               or _symmetry.space_group_name_Hall data items as well. Leave
               spaces between symbols referring to different axes.
;
    _item.name                  '_symmetry.space_group_name_H-M'
    _item.category_id             symmetry
    _item.mandatory_code          no
    _item_aliases.alias_name    '_symmetry_space_group_name_H-M'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
     loop_
    _item_examples.case          'P 1 21/m 1'
                                 'P 2/n 2/n 2/n (origin at -1)'
                                 'R -3 2/m'
     save_

####################
## SYMMETRY_EQUIV ##
####################

save_SYMMETRY_EQUIV
    _category.description
;              Data items in the SYMMETRY_EQUIV category list the
               symmetry equivalent positions for the space group.
;
    _category.id                  symmetry_equiv
    _category.mandatory_code      no
    _category_key.name          '_symmetry_equiv.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'symmetry_group'
     loop_
    _category_examples.detail
    _category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
    Example 1 - based on PDB entry 5HVP and laboratory records for the
                structure corresponding to PDB entry 5HVP
;
;
     loop_
    _symmetry_equiv.id
    _symmetry_equiv.pos_as_xyz
      1  '+x,+y,+z'
      2  '-x,-y,z'
      3  '1/2+x,1/2-y,-z'
      4  '1/2-x,1/2+y,-z'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__symmetry_equiv.id
    _item_description.description
;              The value of _symmetry_equiv.id must uniquely identify
               a record in the SYMMETRY_EQUIV category.

               Note that this item need not be a number; it can be any unique
               identifier.
;
    _item.name                  '_symmetry_equiv.id'
    _item.category_id             symmetry_equiv
    _item.mandatory_code          yes
    _item_aliases.alias_name    '_symmetry_equiv_pos_site_id'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               code
     save_

save__symmetry_equiv.pos_as_xyz
    _item_description.description
;              Symmetry equivalent position in the 'xyz' representation. Except
               for the space group P1, these data are repeated in a loop.
               The format of the data item is as per International Tables for
               Crystallography, Vol. A. (1987). All equivalent positions should
               be entered, including those for lattice centring and a centre of
               symmetry, if present.
;
    _item.name                  '_symmetry_equiv.pos_as_xyz'
    _item.category_id             symmetry_equiv
    _item.mandatory_code          no
    _item_aliases.alias_name    '_symmetry_equiv_pos_as_xyz'
    _item_aliases.dictionary      cif_core.dic
    _item_aliases.version         2.0.1
    _item_type.code               line
    _item_examples.case         '-y+x,-y,1/3+z'
     save_

####################
## ITEM_TYPE_LIST ##
####################
#
#
#  The regular expressions defined here are not compliant
#  with the POSIX 1003.2 standard as they include the 
#  '\n' and '\t' special characters. These regular expressions
#  have been tested using the version 0.12 of Richard Stallman's
#  GNU regular expression libary in POSIX mode. 
#
     loop_
    _item_type_list.code
    _item_type_list.primitive_code
    _item_type_list.construct
    _item_type_list.detail
               code      char
               '[_,.;:"&<>/\{}'`~!@#$%A-Za-z0-9*|+-]*'
;              code item types/single words ...
;
               ucode      uchar
               '[_,.;:"&<>/\{}'`~!@#$%A-Za-z0-9*|+-]*'
;              code item types/single words  (case insensitive) ...
;
               line      char
               '[][ \t_(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*'
;              char item types / multi-word items ...
;
               uline      uchar
               '[][ \t_(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*'
;              char item types / multi-word items (case insensitive)...
;
               text      char
               '[][ \n\t()_,.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*'
;              text item types / multi-line text ...
;
               int       numb
               '-?[0-9]+'
;              int item types are the subset of numbers that are the negative 
               or positive integers.
;
               float     numb
               '-?(([0-9]+)|([0-9]*[.][0-9]+))([(][0-9]+[)])?([eE][+-]?[0-9]+)?'
;              int item types are the subset of numbers that are the floating
               numbers.
;
               name      uchar
               '_[_A-Za-z0-9]+\.[][_A-Za-z0-9%-]+'
;              name item types take the form...
;
               idname    uchar
               '[_A-Za-z0-9]+'
;              idname item types take the form...
;
               any       char
               '.*'
;              A catch all for items that may take any form...
;
               yyyy-mm-dd  char
                '[0-9]?[0-9]?[0-9][0-9]-[0-9]?[0-9]-[0-9][0-9]'
;
               Standard format for CIF dates.
;
               uchar3    uchar
              '[+]?[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]'
;
               data item for 3 character codes
;
               uchar1    uchar
              '[+]?[A-Za-z0-9]'
;
               data item for 1 character codes
;
               symop    char
               '([1-9]|[1-9][0-9]|1[0-8][0-9]|19[0-2])(_[1-9][1-9][1-9])?'
;              symop item types takes the form n_mmm, where 'n' is the value of
               _symmetry_equiv.id that corresponds to the relevant value of
               _symmetry_equiv.pos_as_xyz and 'mmm' are the concatenated cell
               translations along x, y, z with respect to the base number 555.

               The symmetry transformation is applied to the fractional
               coordinates in the ATOM_SITE category identified by
               _atom_site_label. If there are no cell translations the
               translation number may be omitted.
;

#####################
## ITEM_UNITS_LIST ##
#####################

     loop_
    _item_units_list.code
    _item_units_list.detail
#
     'centimetres'            'centimetres (meters * 10^( -2))'
     'millimetres'            'millimetres (meters * 10^( -3))'
     'nanometres'             'nanometres  (meters * 10^( -9))'
     'angstroms'              'angstroms   (meters * 10^(-10))'
     'picometres'             'picometres  (meters * 10^(-12))'
     'femtometres'            'femtometres (meters * 10^(-15))'
#
     'reciprocal_centimetres' 'reciprocal centimetres (meters * 10^( -2)^-1)'
     'reciprocal_millimetres' 'reciprocal millimetres (meters * 10^( -3)^-1)'
     'reciprocal_nanometres'  'reciprocal nanometres  (meters * 10^( -9)^-1)'
     'reciprocal_angstroms'   'reciprocal angstroms   (meters * 10^(-10)^-1)'
     'reciprocal_picometres'  'reciprocal picometres  (meters * 10^(-12)^-1)'
#
     'nanometres_squared'     'nanometres squared (meters * 10^( -9))^2'
     'angstroms_squared'      'angstroms squared  (meters * 10^(-10))^2'
     '8pi2_angstroms_squared' '8pi^2 * angstroms squared (meters * 10^(-10))^2'
     'picometres_squared'     'picometres squared (meters * 10^(-12))^2'
#
     'nanometres_cubed'       'nanometres cubed (meters * 10^( -9))^3'
     'angstroms_cubed'        'angstroms cubed  (meters * 10^(-10))^3'
     'picometres_cubed'       'picometres cubed (meters * 10^(-12))^3'
#
     'kilopascals'            'kilopascals'
     'gigapascals'            'gigapascals'
#
     'hours'                  'hours'
     'minutes'                'minutes'
     'seconds'                'seconds'
     'microseconds'           'microseconds'
#
     'degrees'                'degrees (of arc)'
#
     'degrees_per_minute'     'degrees (of arc) per minute'
#
     'celsius'                'degrees (of temperature) Celsius'
     'kelvins'                'degrees (of temperature) Kelvin'
#
     'electrons'              'electrons'
#
     'electrons_squared'      'electrons squared'
#
     'electrons_per_nanometres_cubed'
; electrons per nanometres cubed (meters * 10^( -9))^3
;
     'electrons_per_angstroms_cubed'
; electrons per angstroms  cubed (meters * 10^(-10))^3
;
     'electrons_per_picometres_cubed'
; electrons per picometres cubed (meters * 10^(-12))^3
;
     'kilowatts'              'kilowatts'
     'milliamperes'           'milliamperes'
     'kilovolts'              'kilovolts'
#
     'arbitrary'
; arbitrary system of units.
;
#

     loop_
    _item_units_conversion.from_code
    _item_units_conversion.to_code
    _item_units_conversion.operator
    _item_units_conversion.factor
###
     'centimetres'              'millimetres'              '*'   1.0E+01
     'centimetres'              'nanometres'               '*'   1.0E+07
     'centimetres'              'angstroms'                '*'   1.0E+08
     'centimetres'              'picometres'               '*'   1.0E+10
     'centimetres'              'femtometres'              '*'   1.0E+13
#
     'millimetres'              'centimetres'              '*'   1.0E-01
     'millimetres'              'nanometres'               '*'   1.0E+06
     'millimetres'              'angstroms'                '*'   1.0E+07
     'millimetres'              'picometres'               '*'   1.0E+09
     'millimetres'              'femtometres'              '*'   1.0E+12
#
     'nanometres'               'centimetres'              '*'   1.0E-07
     'nanometres'               'millimetres'              '*'   1.0E-06
     'nanometres'               'angstroms'                '*'   1.0E+01
     'nanometres'               'picometres'               '*'   1.0E+03
     'nanometres'               'femtometres'              '*'   1.0E+06
#
     'angstroms'                'centimetres'              '*'   1.0E-08
     'angstroms'                'millimetres'              '*'   1.0E-07
     'angstroms'                'nanometres'               '*'   1.0E-01
     'angstroms'                'picometres'               '*'   1.0E+02
     'angstroms'                'femtometres'              '*'   1.0E+05
#
     'picometres'               'centimetres'              '*'   1.0E-10
     'picometres'               'millimetres'              '*'   1.0E-09
     'picometres'               'nanometres'               '*'   1.0E-03
     'picometres'               'angstroms'                '*'   1.0E-02
     'picometres'               'femtometres'              '*'   1.0E+03
#
     'femtometres'              'centimetres'              '*'   1.0E-13
     'femtometres'              'millimetres'              '*'   1.0E-12
     'femtometres'              'nanometres'               '*'   1.0E-06
     'femtometres'              'angstroms'                '*'   1.0E-05
     'femtometres'              'picometres'               '*'   1.0E-03
###
     'reciprocal_centimetres'   'reciprocal_millimetres'   '*'   1.0E-01
     'reciprocal_centimetres'   'reciprocal_nanometres'    '*'   1.0E-07
     'reciprocal_centimetres'   'reciprocal_angstroms'     '*'   1.0E-08
     'reciprocal_centimetres'   'reciprocal_picometres'    '*'   1.0E-10
#
     'reciprocal_millimetres'   'reciprocal_centimetres'   '*'   1.0E+01
     'reciprocal_millimetres'   'reciprocal_nanometres'    '*'   1.0E-06
     'reciprocal_millimetres'   'reciprocal_angstroms'     '*'   1.0E-07
     'reciprocal_millimetres'   'reciprocal_picometres'    '*'   1.0E-09
#
     'reciprocal_nanometres'    'reciprocal_centimetres'   '*'   1.0E+07
     'reciprocal_nanometres'    'reciprocal_millimetres'   '*'   1.0E+06
     'reciprocal_nanometres'    'reciprocal_angstroms'     '*'   1.0E-01
     'reciprocal_nanometres'    'reciprocal_picometres'    '*'   1.0E-03
#
     'reciprocal_angstroms'     'reciprocal_centimetres'   '*'   1.0E+08
     'reciprocal_angstroms'     'reciprocal_millimetres'   '*'   1.0E+07
     'reciprocal_angstroms'     'reciprocal_nanometres'    '*'   1.0E+01
     'reciprocal_angstroms'     'reciprocal_picometres'    '*'   1.0E-02
#
     'reciprocal_picometres'    'reciprocal_centimetres'   '*'   1.0E+10
     'reciprocal_picometres'    'reciprocal_millimetres'   '*'   1.0E+09
     'reciprocal_picometres'    'reciprocal_nanometres'    '*'   1.0E+03
     'reciprocal_picometres'    'reciprocal_angstroms'     '*'   1.0E+01
###
     'nanometres_squared'       'angstroms_squared'        '*'   1.0E+02
     'nanometres_squared'       'picometres_squared'       '*'   1.0E+06
#
     'angstroms_squared'        'nanometres_squared'       '*'   1.0E-02
     'angstroms_squared'        'picometres_squared'       '*'   1.0E+04
     'angstroms_squared'        '8pi2_angstroms_squared'   '*'   78.9568

#
     'picometres_squared'       'nanometres_squared'       '*'   1.0E-06
     'picometres_squared'       'angstroms_squared'        '*'   1.0E-04
###
     'nanometres_cubed'         'angstroms_cubed'          '*'   1.0E+03
     'nanometres_cubed'         'picometres_cubed'         '*'   1.0E+09
#
     'angstroms_cubed'          'nanometres_cubed'         '*'   1.0E-03
     'angstroms_cubed'          'picometres_cubed'         '*'   1.0E+06
#
     'picometres_cubed'         'nanometres_cubed'         '*'   1.0E-09
     'picometres_cubed'         'angstroms_cubed'          '*'   1.0E-06
###
     'kilopascals'              'gigapascals'              '*'   1.0E-06
     'gigapascals'              'kilopascals'              '*'   1.0E+06
###
     'hours'                    'minutes'                  '*'   6.0E+01
     'hours'                    'seconds'                  '*'   3.6E+03
     'hours'                    'microseconds'             '*'   3.6E+09
#
     'minutes'                  'hours'                    '/'   6.0E+01
     'minutes'                  'seconds'                  '*'   6.0E+01
     'minutes'                  'microseconds'             '*'   6.0E+07
#
     'seconds'                  'hours'                    '/'   3.6E+03
     'seconds'                  'minutes'                  '/'   6.0E+01
     'seconds'                  'microseconds'             '*'   1.0E+06
#
     'microseconds'             'hours'                    '/'   3.6E+09
     'microseconds'             'minutes'                  '/'   6.0E+07
     'microseconds'             'seconds'                  '/'   1.0E+06
###
     'celsius'                  'kelvins'                  '-'     273.0
     'kelvins'                  'celsius'                  '+'     273.0
###
     'electrons_per_nanometres_cubed'
     'electrons_per_angstroms_cubed'                       '*'   1.0E-03
     'electrons_per_nanometres_cubed'
     'electrons_per_picometres_cubed'                      '*'   1.0E-09
#
     'electrons_per_angstroms_cubed'
     'electrons_per_nanometres_cubed'                      '*'   1.0E+03
     'electrons_per_angstroms_cubed'
     'electrons_per_picometres_cubed'                      '*'   1.0E-06
#
     'electrons_per_picometres_cubed'
     'electrons_per_nanometres_cubed'                      '*'   1.0E+09
     'electrons_per_picometres_cubed'
     'electrons_per_angstroms_cubed'                       '*'   1.0E+06
###

########################
## DICTIONARY_HISTORY ##
########################

     loop_
    _dictionary_history.version
    _dictionary_history.update
    _dictionary_history.revision
   0.1.1  1993-02-11
;
   Highlighted all notes with # %%%%% surrounds.
;
   0.1.2  1993-02-11
;
   Started moving examples to *_appendix data items.
;
   0.1.3  1993-02-11
;
   Started moving core data names to the *_appendix data items
;
   0.1.4  1993-02-11
;
   Added example for _symmetry_
;
   0.1.5  1993-03-24
;
   Finished moving examples to *_appendix data items
;
   0.1.6  1993-03-24
;
   Dealt with many issues raised by SR Hall.
   Some were merely typographical.
   Changed temp to B_iso
   Changed occ to occupancy
   Changed special_details to details.
   Changed asl to label everywhere.
   Shuffled data names in _struct_conf_ and _struct_conn_
;
   0.1.7  1993-03-24
;
   Tested for Cyclops compliance - most problems are names that
   are too long.
   Changed crystal_preparation to crystal_prep
   Changed d_resolution to d_res
   Many other such changes
;
   0.1.8  1993-03-25
;
   Still testing for Cyclops compliance - reveal many additional
   syntax problems
   Also verified with new tool by RG Ball - still more errors fixed
   Dealt with issue raised by PE Bourne - amongst changes
   Rewrote _database_ section completely
   Changed _audit_contact_author_  to
           _audit_contact_author_name
           _audit_contact_author_address
;
   0.1.9  1993-03-26
;
   Removed _struct_topol_ section until it gets straightened out
;
   0.1.10 1993-03-28
;
   Filled in examples for several data categories
;
   0.1.11 1993-04-03
;
   Syntax checked using tools of Peter Murray-Rust - many problems fixed
;
   0.1.12 1993-04-06
;
   More syntax problems fixed a la Peter Murray-Rust
;
   0.1.13 1993-04-07
;
   Introduced _exptl_crystal_grow_ data names
;
   0.1.14 1993-04-07
;
   Experiment with refers_to, category and part_of_key in
   entity_conn_atom_ and entity_conn_bond_ sections.
   Discovered horror show with nonconcurrent versions on different
   computers - not yet resolved.
;
   0.1.15 1993-05-09
;
   Reconciled nonconcurrent versions
   Removed trailing blanks
   Made corrections based on email suggestions from P. Bourne
;
   0.1.16 1993-05-10
;
   Made corrections based on written comments from K. Watenpaugh
   Made corrections/additions based on discussions at Rutgers
;
   0.1.17 1993-05-11
;
   Changed _atom_site_label_component_? to new nomenclature
   Introduced category DDL throughout
   Introduced refers_to DDL throughout
   Introduced part_of_key DDL throughout
   Mandated that _list must be in each data definition
   Standardized 'need not be unique' statements
   Standardized example headers
;
   1.1.18 1993-05-12
;
   Looped out authors and editors in citation list
   Verified with RGB tools
   Some style consistency imposed
   Fleshed out category definitions and imposed style
   Updated "sets of data item" at beginning of document
   Checked alphabetical order of data names - moved id's
;
   0.2.1  1993-05-13
;
   Major rethinking of _entity_ data based following discussions
   of 1993-05-10 meeting
;
   0.2.2  1993-05-18
;
   Style consistency and proof reading changes throughout
   Make page numbers general to articles and chapters in citation
   Added *_method to all phasing categories
   Looped out keywords from _struct_site_ list
   Added _atom_site_label_ definitions as per H. Berman
   Added _struct_biol_view_ and struct_site_view_ items as per P. Bourne
   Added _atom_sites_alt_ data items to formally handle alternative
   conformations
   Verified with Cyclops and RGB tools
;
   0.2.3  1993-05-19
;
   Fixed based on problems unearthed by Peter Murray-Rust and Brian McMahon
;
   0.2.4  1993-05-20
;
   DDL adjustment from down under ):-(>
;
   0.2.5  1993-05-20
;
   A general merging of updates from PMR, BMcM and SRH
   Fixed typographical and stylistic problems a la BMcM
;
   0.2.6  1993-06-02
;
   Fixed _atom_site_ example (_entity_poly_seq_num)
   Removed _list_link_parent from _entity_mon_atom_atom_id a
   _entity_nonp_atom_atom_id
   Added real APS coordinates to _atom_site_ example
   Rewrote _atom_sites_footnote_ example
;
   0.2.7  1993-08-01
;
   Redesigned phasing_MIR definitions
;
   0.2.8  1993-08-03
;
   More work on phasing_MIR
   Created phasing_MIR_der and phasing_MIR_der_shell categories
;
   0.3.1  1993-08-08
;
   Began implementing DDL v0.7
;
   0.3.2  1993-08-11
;
   Cleaning up of stray notes
;
   0.3.3  1993-08-12
;
   Syntax and consistency checks - SRH
   Added _type of null for appendix items.
;
   0.3.4  1993-09-01
;
   Added _struct_conn_ptnr1_label_alt_id and
   _struct_conn_ptnr2_label_alt_id
   Corrected definitions for _struct_conn_ptnr2_ items
   Added _struct_site_gen_label_alt_id
   Fixed Cullis reference in _phasing_MIR_der_shell_R_Cullis
   Change _database_PDB_rev_ example to _loop construction
   Added _PDB_remark category (data items _PDB_remark_num and
   _PDB_remark_text)
   Added 'obsolete' to enumeration list for _database_PDB_rev_status
   Added _database_PDB_rev_replaces data item
;
   0.3.5  1993-09-08
;
   Added missing _diffrn_orient_matrix_UB_33 (in appendix)
   Added missing _phasing_MIR_der_shell_der_id to appropriate example
;
   0.3.6  1993-10-10
;
   Changed *_appendix to *_[mm] throughout
   Removed 'Need example here' from _chemical_[mm]
   Removed 'Need example here' from _chemical_conn_atom_[mm]
   Removed 'Need example here' from _chemical_conn_bond_[mm]
   Moved _PDB to end of all relevant data names (except _[mm])
   Added _database_rev_record_details_PDB data name
   Changed _refine_occupancy_limit_high to _refine_occupancy_max
   Changed _refine_occupancy_limit_low to _refine_occupancy_min
   Changed _refine_B_iso_limit_high to _refine_B_iso_max
   Changed _refine_B_iso_limit_low to _refine_B_iso_min
   Changed all definitions and examples in _refine_iso_B_ category
   to _refine_B_iso_ equivalents
;
   0.3.7  1993-11-16
;
   Changed form of dates in _update_history to CIF style
   Changed ? to . in examples, where appropriate
   Added _example_detail to _refine_ls_restr_type
   Expanded definition of _refine_ls_restr_type
;
   0.3.8  1993-11-30
;
    Moved _audit_author_, _citation_ categories to CIF core
    Definitions and small-molecule examples removed from *_[mm]
    sections that don't extend core categories - BMcM
;
   0.3.9  1993-12-02
;
   Deleted section summarizing categories  - PMDF
   Returned definitions for most *_[mm] sections - PMDF
   Added _list and  _list_level to global - PMDF
   Changed form of dates from yy-mm-dd to yyyy-mm-dd - PMDF
   Checked lists of data items in core, fixing some problems
   with missing names and alphabetization - PMDF
   Resorted some categories to correct alphabetization - PMDF
   Changed form and definitions of _database_remark_num_PDB and
   _database_remark_text_PDB - PMDF
   Added data item _database_rev_replaced_by_PDB - PMDF
   Reordered data items in _citation example - PMDF
   Added data item _exptl_crystal_density_%_sol - PMDF
;
   0.3.10  1993-12-15
;
   Various changes following suggestions from BMcM
   Refined definition of _atoms_site_label_atom_id - PMDF
   Removed _atom_sites_fract_tran (moved to core) - PMDF
   Changed _diffrn_crystal_physical_device to
           _diffrn_crystal_support - PMDF
   Changed _diffrn_measure_device_part to
           _diffrn_measure_device_specific - PMDF
   Changed _diffrn_rad_detector_part to
           _diffrn_rad_detector_specific - PMDF
   Changed _diffrn_rad_source_part to
           _diffrn_rad_source_specific - PMDF
   Changed *_par1* and *_par2* to *_ptnr* in _struct_conn* - PMDF
   Fixed several occurrences of \&A instead of \%A - PMDF
;
   0.3.11  1993-12-22
;
   Made a number of fixes relayed by PEB from MS AND RH
   _type of _atom_site_footnote_id (numb->char) - PMDF
   _type of _database_rev_record_rev_num_PDB (char->numb) - PMDF
   _type of _phasing_MIR_der_number_of_sites (char->numb) - PMDF
     _atom_sites_fract_tran_matrx to _matrix - PMDF
   _type of _phasing_MIR_site_details (numb->char) - PMDF
   _example of _struct_conf_type_reference - PMDF
;
   0.3.12  1993-12-23
;
   Broke out examples from intro sections to loop_  _item_examples.case
   _example_detail construction - BMcM
;
   0.3.13  1994-01-13
;
   Rationalization of categories between mm and core dicts - BMcM
   Deleted _diffrn_crystal_environment (same as core
           _diffrn_ambient_environment) and moved other _diffrn_crystal
           items to core - BMcM
   Fixed typos, removed hyphenation ("be kind to ciftex") - BMcM
   Some re-alphabetization - BMcM
;
   0.3.14  1994-01-26
;
   Lots more re-alphabetization - PMDF
   Changed non_s to nstd throughout - PMDF
   Changed nonp to npol throughout - PMDF
   Removed all multiple spaces - PMDF
   Fixed a couple of alignment problems - PMDF
;
   0.4.1  1994-02-04
;
    Major modifications of _entity_ subcategories - PMDF
    Added angles, planes, torsion angles and chiral centers to
    _entity_mon_ and _entity_npol_
    Added many missing definitions
    Added many missing examples
;
   0.4.2  1994-02-25
;
   Corrected spelling errors found by BMcM - PMDF
;
   0.4.3  1994-03-28
;
   Various changes following suggestions by IDB - PMDF
   Changed _entity_mon_angle_value to
           _entity_mon_angle_value_angle in example
   Changed _entity_npol_bond_value to
           _entity_npol_bond_value_dist
   Changed nonp to npol in _entity_npol_tor_value category
   Reworded angle _enumeration_details in _refine_ls_restr_type
   Reworded definitions in _struct_asym_[mm] and _struct_biol_[mm]
   Reworded definitions of _struct_conn_symmetry_*
                           _struct_site_gen_symmetry
                           _struct_biol_gen_symmetry
   Split _struct_conn_symmetry_* into
         _struct_conn_ptnr1_symmetry and
         _struct_conn_ptnr2_symmetry
   Split _struct_conn_role_* into
         _struct_conn_ptnr1_role and
         _struct_conn_ptnr2_role
   Removed _list_link_child from _struct_conn_conn_type_id
   Added _list_link_child to _struct_conn_type_id
;
   0.5.1   1994-10-10
;
   Implementation of Treaty of Brussels - PMDF
   Merged CIF core dated 1994-03-01 (from BMcM) with mm dictionary
   dated 1994-05-20.

   The history records for the core dictionary are included here
   to identify the version of the core that was merged:

    _dictionary_name            cifdic.c94
    _dictionary_version         2.0
    _dictionary_update          1994-03-01
    _dictionary_history

      1991-05-27  Created from CIF Dictionary text. SRH
      1991-05-30  Validated with CYCLOPS & CIF ms. SRH
      1991-06-03  Adjustments to some definitions. SRH
      1991-06-06  Adjustments a la B. McMahon. SRH
      1991-06-18  Additions & some redefinitions. SRH
      1991-07-04  Corrected 90:0 in *_detect_slit_. SRH
      1991-09-20  Additions & some redefinitions. SRH
      1991-09-20  Final published version. IUCr
      1991-11-12  Add _diffrn_ambient_environment. SRH
      1991-11-12  Allow 'c' for _atom_site_calc_flag. SRH
      1993-02-23  Apply global_ and 'unknown' -> '?' SRH
      1993-03-05  Changes resulting from MM dictionary. SRH
      1993-05-20  Changes arising from new DDL commands. SRH
      1993-08-05  Additional fine tuning pre-Beijing. SRH
      1993-12-22  Introductory sections added to categories. BMcM
      1993-12-22  Additional categories from mm work: _audit_author,
                  _citation, _atom_sites_fract_tran_matrix. BMcM
      1994-03-01  Add 'undef' to _refine_ls_hydrogen_treatment. BMcM
      1994-03-01  Add '_publ_section_exptl_prep' and '*_refinement'. BMcM
      1994-03-01  Add 'atom_site_aniso_ratio'. BMcM
                          --------------

   Removed all mm sections that enumeration items present in core
   but not present in mm dictionary.
   Fixed errors with missing trailing _'s in some category headers
   Also unbalanced ##'s in same place
   Removed "End of Example" statement everywhere
   Standardized syntax for missing examples
   Standardized syntax and style for category _definition data
   items. Added a bunch of ending dashed lines where they were missing.
   <Saved Brussels_airplane_1 at this point and began new file.>
   Merged [] and [mm] category explanation sections. Made HIV
   example always example 1, moved examples from core (where
   they were different from the HIV example) to higher numbers.
   <Saved Bussels_airplane_2 at this point - [] and [mm] sections
   not yet completely merged..
;
   0.5.2  1994-11-09
;
   Implementation of DDL 2.0.7 in CITATION category - PMDF & JW
;
   0.5.3  1994-11-13
;
   Implementation of DDL 2.0.7 dictionary wide - PMDF
   Finished merging [] and [mm] sections
   <Saved newddl_all_1 at this point>
   Changed data_ to save_ everywhere
   Changed _name to _item.name everywhere
   Added _item.mandatory_code  everywhere
   Added save_ everywhere
   Moved _description to top of _save frame everywhere
   Changed _example to _item_examples.case everywhere
   Changed _example_detail to _item_examples.detail everywhere
   Changed _description to _item.description.description
           everywhere
   Removed _list yes everywhere
   Removed _list_reference everywhere
   Changed _enumeration_range to enumeration_limit.minimum and
           enumeration_limit.maximum everywhere
   <saved newddl_all_2 at this point>
;
   0.5.4  1994-11-14
;
   Implementation of DDL 2.0.7 dictionary wide - PMDF
   Changed _enumeration to _enumeration.code
   Changed _enumeration_detail to _enumeration.code_detail
   Changed _enumeration_default to _enumeration_default.code
   Put .'s in item names (incomplete)
   Moved _PDB back to appropriate place in item names in the
    _database_remark_PDB_ and _database_rev_PDB_ and
    _database_rev_record_PDB_ categories
   Changed database_rev_PDB to database_PDB_rev
   Changed database_remark_PDB to database_PDB_remark
   Changed database_rev_record_PDB to database_PDB_rev_record
   Changed category items from item to category
   Began getting rid of *_whatever construction in category
       and item descriptions
   <saved newddl_all_3 at this point>
;
   0.5.5   1994-11-15
;
   Implementation of DDL 2.0.7 dictionary wide - PMDF
   Finished putting .'s in itme names
   Changed _diffrn_measure_ to _diffrn_measurement.
   Changed _diffrn_rad_ to _diffrn_radiation.
   <saved newddl_all_4 at this point>
   Implemented category and id pointers for entity category.
   Found all sorts of errors while doing this, and attempted
   to fix them consistently. Did not remove child data
   Items, even though they don't have to be specified - they
   should help keep all of this straight during the transition.
   Some silly reformatting to ensure that data values always
   have the first alphabetic character in column 33.
   More silly reformatting to put each example in an example
   loop on a separate line.
   <saved newddl_all_4 at this point and sent copy to JW>
;
  0.6.1  1994-11-21
;
  Changes (JDW):
  +  Converted dictionary and dictionary_history categories.
     Incorporated core dictionary history list into the new
     history list in the revision 0.5.1 where the dictionary
     merger is firsted discussed.
;
  0.6.2  1994-11-28
;
  Changes (PMDF):
  +  Made loop_ _item.name data items into separate data items
       This involved rewriting the definitions of most of them.
       In doing so I continued to eliminate the a.b_* construction.
     Added unit type of degrees.
     Added unit type of minutes.
     Added unit type of electrons.
;
  0.6.3  1994-11-30
;
  Changes (PMDF):
  +  Finished conversion of units data items
       Added a number of unit types to the table
       Conversation table still need to be fleshed out
     Removed _list_mandatory and changed _item_mandatory.code to yes for
       those data items
;
  0.6.4  1994-12-01
;
  Changes (PMDF):
  +  Began conversion of _list_link_parent items to appropriate new DDL
       relationships
;
  0.6.5  1994-12-02
;
  Changes (PMDF):
  +  Began implementation of new scheme for relationships in the entity
       category
       All entities will be treated as polymers - non-polymers will have
         a number of monomers of 1
       All data items in ENTITY_NPOL categories are eliminated
       All data items in ENTITY_POLY category are moved to ENTITY
;
  0.6.6  1994-12-06
;
  Changes (PMDF):
  +  Finished conversion of _list_link_parent items to appropriate new DDL
       relationships
     Filled out category_key.id items in each category
       Had to add diffrn_refln.id item, as cannot use h k l in that category
         (perfectly valid to measure same reflection more than once).
       Used _diffrn_standard_refln.code in that category - this may cause a
         problem with old files, as example file did not give this data item
       Moved _entity_poly items back to _entity category
       Moved _entity_poly.formula_weight to entity.formula_weight
       Used _exptl_crystal.id in that category - this may cause a
         problem with old files, as example file did not give this data item
       Added _exptl_crystal_grow.crystal_id in that category
       Added _symmetry_equiv.id in that category - this may cause a
         problem with old files, as this is a new data item
;
  0.6.7  1994-12-07
;
  Changes (PMDF):
  +  Created DATABASE_NEW category to solve logical problems with old DATABASE
       category. Need to think some more about how old data items are handled.
     Added aliases for remaining c91 data items
     Changed geom_angle to geom_angle.value (aliased to original name)
     Changed geom_torsion to geom_torsion.value (aliased to original name)
     Returned ATOM_SITE items taken out during ATOM_SITE_MM transition
;
  0.6.8  1994-12-08
;
  Changes (PMDF):
  +  Created ATOM_SITE_ANISOTROP category to provide for ability to have
       anisotropic data is a separate loop, if desired.
     Checked and fixed a bunch of style things
     Added item_units.code of degrees in data items with degrees in the
       description but not in the ddl
     Added item_units.code of kelvin in data items with kelvin in the
       description but not in the ddl (and added 'in degrees kelvin' to the
       description of those with item_units.code of kelvin but no corresponding
       phrase in the description)
     Added item_units.code of microseconds to _diffrn_radiation.detector_dtime
       (added to units list at same time)
     Added 'in minutes' to description of _diffrn_refln.elapsed_time
     Added 'in kilopascals' to to the description of those with item_units.code
       of kilopascals but no corresponding phrase in the description
     Added BLOCK category
       Added appropriate pointers (in category key, and with a data item
         pointing to _data_block.id) in all categories that needed them
;
  0.6.9  1994-12-09
;
  Changes (PMDF):
  +  Added _esd data items where needed
     Rationalized descriptions for all of the coordinate data items
;
  0.6.10  1994-12-13
;
  Changes (PMDF):
  +  Established check-list for unfinished tasks and began dealing with them
     Added enumeration limits of 0 and 1 and enumeration default of 1.0 to
       occupancy data items
       Left heavy-atom maximum with an enumeration of ?
     Added enumeration default of 1_555 to all _symmetry data items where it was
       missing
     Changed 'connect type' to 'interaction' in _struct_conn_type data items.
     Filled out sub_category ddl items for cartesian coordinates, fractional
       coordinates, cartesian coordinates esds, and Miller indices.
;
  0.6.11 1994-12-14
;
  Changes (PMDF):
  +  Fixed R-Kraut reference
     Changed _reflns_shell.possible_&_all to _reflns_shell.percent_possible_all
     Changed _reflns_shell.possible_&_obs to _reflns_shell.percent_possible_obs
     Changed _exptl_crystal.density_%_sol to _exptl_crystal.density_percent_sol
       Included full formula for this calculation in description
     Changed _refine_ls_restr.model _refine_ls_restr.dev_ideal
     Changed _refine_ls_restr.target _refine_ls_restr.dev_ideal_target
     Improved wording of all definitions in REFINE_LS_RESTR
     Explained sums in _reflns_shell.Rmerge_I_obs and related data items
;
  0.6.12 1994-12-15
;
  Changes (PMDF):
  +  Changed _enumeration_default.code to _item_default.value
     Changed _enumeration_default.value to _item_default.value
     Changed _enumeration.code to _item_enumeration.value
     Changed _enumeration.detail to _item_enumeration.detail
     Changed _enumeration.case to _item_enumeration.value
     Changed _enumeration_limit.maximum to _item_range.maximum
     Changed _enumeration_limit.minimum to _item_range.minimum
     Checked that matrix were properly labeled as either rw_rowwise or just
       plan rowwise.
     Reworded matrix descriptions for consistency.
     Got rid of the last of the a.b_* constructions in descriptions
     Added cell_length, cell_length_esd, cell_angle and cell_angle_esd
       subcategories
     Changed special_details to details for core items - original names retained
       in aliases
     Added atom_site.id
     Added mm_atom_site_label subcategory
     Commented out _atom_site.label_component until it can be dealt with
       properly
     Changed 'SIF' to 'data block' in a number of descriptions.
;
  0.6.13 1994-12-16
;
  Changes (PMDF):
  +  Added data item _refln.R_free_status
     Added data item _reflns.R_free_details
     Changed _refine_ls_shell.reflns to refine_ls_shell.number_obs
     Added _refine_ls_shell.number_R_free
     Added _refine_ls_shell.number_all
     Added _refine_ls_shell.R_factor_R_free
     Added _refine_ls_shell.wR_factor_R_free
     Tidied up the count and R-factor descriptions in REFINE_LS_SHELL
     Added appropriate item_related names to the R-factors in REFINE_LS_SHELL
     Changed 'count' to 'number' in several data names
     Changed _reflns.number_total to _reflns.number_all
     Changed _reflns.number_observed to _reflns.number.obs
     Added _refine.ls_R_factor_R_free
     Added _refine.ls_wR_factor_R_free
     Edited descriptions of the other R-factor data items in the REFINE
       category to conform to the style in REFINE_LS_SHELL
     Re-alphabetized the things I changed yesterday from special_details to
       details - I had forgotten to do that yesterday
;
  0.6.14 1994-12-19
;
  Changes (PMDF):
  +  Changed refine.ls_number_reflns to refine.ls_number_reflns_obs
     Added refine.ls_number_reflns_all
     Added refine.ls_number_reflns_R_free
     Changed _refln.observed_status to refln.status
       Expanded enumeration list to include resolution limits and R-free flag
       Rewrote definition
       Eliminated refln.R_free_status
     Changed _refine_ls_shell.number_all to _refine_ls_shell.number_reflns_all
     Changed _refine_ls_shell.number_obs to _refine_ls_shell.number_reflns_obs
     Changed _refine_ls_shell.number_R_free to
             _refine_ls_shell.number_reflns_R_free
     Added PHASING category
     Filled in and reformatted units conversion table
;
  0.7.1 1994-12-19
;
  Changes (JDW):
  +  First pass through SIFLIB checking tools. Corrected syntax errors and
     missing parent references.
;
  0.7.2 1994-12-20
;
  Changes (PMDF):
  +  Merged JDW changes with version 0.6.12
       Changed _item_type.code of numb to either int or float
       Changed _item_description.description to category.description where
         appropriate
       Fixed a bunch of pure syntax errors
       Removed 'refln_scale_group' from list of category groups.
       Changed _refln_scale_group_code to _refln.scale_group_code somewhere
       Changed REFLN_SCALE_GROUP_CODE to _refln.scale_group_code somewhere
       Reformatted CATEGORY_GROUP_LIST items to match style of other
         header categories
       Ensures that all _category data items obey they rule of first
         alphabetic character is column 34 (most didn't before this check)
       Removed _item_related stuff from _atom_site.aniso_U[1][1] (at the
         rest) data items, and added wording to description that these
         items are only there for compliance via the alias (but left in
         the one _item_related thing that made the matrix element data item
         alternate exclusive to the full matrix data item
       Added language about compliance to _atom_sites.Cartn_tran_matrix
       Added language about compliance to _diffrn_orient_matrix.UB
       Added language about compliance to _diffrn_reflns.transf_matrix
       Removed matrix element data items for _atom_sites.fract_tran_matrix -
         this wasn't in c91 and so doesn't need aliasing
;
  0.7.3 1994-12-22
;
  Changes (PMDF):
  +  Fixed things turned up by JDW checking of 0.7.2
       Couple of small typos
       Added angstroms_cubed to units list and conversion tables
     Added _phasing_MIR_site.atom_type_symbol and added this reference to the
       table until _atom_type.symbol
     Added _entity_mon_atom.substruct_code
     Began adding STRUCT_MON_PROT, but this is not yet complete
;
  0.7.4 1995-01-12
;
  Changes (PMDF):
  +  Finished working on STRUCT_MON_PROT category
     Added STRUCT_MON_DETAILS category
     Added STRUCT_MON_PROT_CIS category
     Added STRUCT_NCS_ENS category
     Added STRUCT_NCS_ENS_OPER category
     Added STRUCT_NCS_DOM category
     Added STRUCT_NCS_DOM_GEN category
     Added equations to definitions of _phasing_MIR_der_shell.fom and
       _phasing_MIR_shell.fom
     Added REFINE_HIST category
;
  0.7.5 1995-01-13
;
  Changes (PMDF):
  +  Provided for sequence microheterogeneity by making _entity_poly_seq.mon_id
       part of the category key and by adding the data item
       _entity_poly_seq.hetero as a flag
     Added ENTITY_POLY_SEQ_DIF category - this meant adjusting some pointer
       in referenced data items.
     Added _entity_mon_atom.alt_atom_id.
     Added COMP_PROG category
     Removed non-c91 COMPUTING data items (phasing averaging, MAD, MIR and MR)
;
  0.7.6 1995-01-17
;
  Changes (PMDF):
  +  Added ENTITY_SRC_NAT category
     Added ENTITY_SRC_GEN category
     Added ENTITY_NAM_COM category
     Added ENTITY_NAM_SYS category
     Added _entity.src_method data item
     Moved other entity data items to new categories as appropriate
;
  0.7.7 1995-01-18
;
  Changes (PMDF):
  +  Added PHASING_MIR_REFLN category
;
  0.7.8 1995-01-25
;
  Changes (PMDF):
  +  Added _entity_mon.type, _entity_mon.number_atoms_all,
       _entity_mon.number_atoms_nh, _entity_mon.one_letter_code
     Added _entity_mon_angle.value_angle_esd, _entity_mon_angle.value_dist_esd,
       _entity_mon_bond.value_dist_esd
     Added _entity_mon_atom.type_energy, but since this is intended to be a
       pointer to a category (_atom_type_energy) that doesn't exist yet, have
       left it commented out
     Added _entity_mon_chir.volume_three, _entity_mon_chir.volume_three_esd and
       _entity_mon_chir.volume_flag
     Added _entity_mon_plane.number_atoms_all, _entity_mon_plane.number_atoms_nh
     Added _entity_mon_chir.number_atoms_all, _entity_mon_chir.number_atoms_nh
     Added _entity_mon_chir_atom.dev
     Added _entity_mon_tor_value.angle_esd, _entity_mon_tor_value.dist_esd
     Added ENTITY_LINK category
     Added ENTITY_LINK_ANGLE category
     Added ENTITY_LINK_BOND category
  Changes (HB et al.):
  +  Added STRUCT_MON_NUCL category
  Changes (PMDF):
  +  Added label links from STRUCT_MON_NUCL to rest of dictionary
     Added label links from STRUCT_MON_PROT as well (forget them initially)
;
  0.7.9 1995-01-30
;
  Changes (PMDF):
  +  Fixed syntax errors unearthed by checking of JW and PDB
;
  0.7.10 1995-02-03
;
  Changes (PMDF):
  +  Removed loop_ construction from loop_ or order one, except not for
       category examples and not for parent/child loops
     Standardized style of yes/no enumeration lists
     Made style of all enumeration lists more standard (still not happy here)
     Standardized style of examples
     Standardized style of references in definitions
     Began standardizing style of equations in definitions
;
  0.7.11 1995-02-07
;
  Changes (PMDF):
  +  Finished standardizing style of equations in definitions
     Moved ITEM_TYPE_LIST to bottom of dictionary
     Moved ITEM_UNITS_LIST to bottom of dictionary
     Moved ITEM_STRUCTURE_LIST to bottom of dictionary
     Moved DICTIONARY_HISTORY to bottom of dictionary (it will come back up
       to the top with version 1.0.0)
     Rewrote dictionary header comments to reflect this dictionary
;
  0.7.12 1995-02-09
;
  Changes (JDW):
  +  Changed _atom_site.label_res_id to _atom_site.label_comp_id which is
     a child of _chem_comp.id.
  +  Changed all children items named label_res_id to label_comp_id
  +  Changed descriptions of many label_comp_id to reference correct
     parent item. (_atom_site.label_comp_id rather than comp_comp.id).
  +  Changed ENTITY_MON to CHEM_COMP and removed polymer component specific
     terminology.
  +  Changed ENTITY_LINK to CHEM_LINK and removed polymer component specific
     terminology.
  +  Added data type for yyyy-mm-dd and applied this where appropriate.
  +  Added chem_comp_group and chem_link_group to the category group list.
  +  Added '_' prefix to all data item save frame names.
;
  0.7.13 1995-04-20
;
  Changes (PMDF):
  +  Changed all matrices back to element by element representation.
  +  Reworded definitions of B and U matrices to clarify alternate exclusive
       relationship
  +  Changed 'miller' to 'Miller' in some definitions, but left it 'miller' in
       data values.
  +  Changed 'CIF' to 'data bock' where appropriate.
  +  Made changes according to notes from last Rutgers meeting. Mostly this is
       clearer wording of definitions.
       Made formal Ref: for scattering factors.
       Changed atom_site.description to atom_site.details
       Expanded definitions for the components of the atom site label.
       Added disclaimer to some records in ATOM_SITE and ATOM_SITES categories.
       Changed _atom_type.analytical_mass_% to
         _atom_type.analytical_mass_percent
       Expanded definition of AUDIT category
       Added separate esd data items to examples in CELL category
       Added real formula in definition of _cell.volume
       Moved disclaimer to the top in CHEMICAL categories
       Changed enumeration to example in _chem_comp.one_letter_code
       Changed _phasing_MIR_refln.F_sigma to _phasing_MIR_refln.F_meas_sigma
         and adjusted definition to style of other esd definitions. Added type
         condition esd to _phasing_MIR_refln.F_meas
       Changed refln.observed_status to refln.status in example
       Changed _refln.F_sigma to _refln.F_meas_sigma and adjusted definition to
         style of other esd definitions. Added type condition esd to
         _refln.F_meas
;
  0.7.14 1995-05-03
;
  Changes (PMDF):
  +  Fixed definitions of _phasing_MIR_refln.index_k and
       _phasing_MIR_refln.index_l
;
  0.7.15 1995-05-18
;
  Changes (PMDF):
  +  Added DDL linking data names that are value to the data names that are
       esds of those values
     Changed _geom_bond.distance to _geom_bond.dist and _geom_bond.distance_esd
       to _geom_bond.dist_esd
     Changed _geom_contact.distance to _geom_contact.dist and
       _geom_contact.distance_esd to _geom_contact.dist_esd
     Changed _cell_measurement.temperature to _cell_measurement.temp and
       _cell_measurement.temperature_esd to _cell_measurement.temp_esd
     Changed _diffrn.ambient_temperature to _diffrn.ambient_temp and
       _diffrn.ambient_temperature_esd to _diffrn.ambient_temp_esd
;
  0.7.16 1995-05-18
;
  Changes (PMDF):
  +  Added _item.name DDL to those data items that didn't have it
     Wrote program to check that the added names were all correct
       Fixed problems that turned up (including one missing . in
       _diffrn_radiation_detector_details
;
  0.7.17 1995-05-22
;
  Changes (PMDF):
  +  Added _phasing_MIR_refln.F_meas_au and _phasing_MIR_refln.F_meas_au_sigma
       and adjusted appropriate _item.related DDL
     Added _refln.F_meas_au and _refln.F_meas_au_sigma and adjusted as above
     Added _phasing_MIR_refln.F_calc_au and adjusted as above
     Added _refln.F_calc_au and adjusted as above
     Added _refln.A_calc_au and adjusted as above
     Added _refln.B_calc_au and adjusted as above
     Added _refln.A_meas_au and adjusted as above
     Added _refln.B_meas_au and adjusted as above
     Changed _item_related.function_code from 'replace' to
        'alternate_exclusive' in database_2 data items
     Added _item_related DDL to appropriate _database data items
;
  0.7.18 1995-07-20
;
  Changes (JDW):
    + Added '_struct_biol_gen.symmetry' to the key on struct_biol_gen.
    + Changed category block to entry.
    + Added     _dictionary.datablock_id
    + Replace publ_group and journal_group with category group named iucr_group
    + Added category group named pdb_group
    + Removed all the _atom_site.label references and repointed any
      references to this item to _atom_site.id.
    + Added optional atom identifiers to all of the GEOM categories.
    + Added translation vector to transformations in ATOM_SITES
    + Created subcategories for matrices and vectors
    + Moved _struct.keywords to a new category STRUCT_KEYWORDS
    + Added pointer to exptl_crystal.id as part of key in
      category EXPTL_CRYSTAL_GROW_COMP.
    + Restructured DATABASE_PDB_REMARK category
    + Changed alternate_exclusive to replaces and replacedby in
      DATABASE and DATABASE_2
    + Restructured examples in _chem_comp.one_letter_code ...
    + Added data item _chem_comp.three_letter_code
    + Made atom_site.label_alt_id and its children an optional item
    + Changed item names _atom_sites.frac_tran_* _atom_site.frac_transf_*
      and _atom_sites.Cartn_tran_* _atom_site.Cartn_transf_*
    + Changed the key of ATOM_SITE_ANISOTROP to _atom_site_anisotrop.id
    + Added all of the GEOM category atom label items to their appropriate
      parent data items.
    + 'arbitrary' added to list of item_units_list.code's
    + Fixed conflicting mandatory codes...
;
  0.7.19 1995-07-23
;
  Changes (JDW & PMDF):
    + Minor corrections in sheet example and version update.
    + Removed illegal characters from data item names.
      Changed any "/" in data item names to "_over_".
;
  0.7.20 1995-08-02
;
  Changes (PMDF):
    + Enforced 80 character per line limit throughout.
    + Realphabetized _geom_angle.value and _geom_angle.value_esd.
    + Realphabetized _geom_torsion.value and _geom_torsion.value_esd.
    + Removed trailing blanks.
    + Fixed a couple of problems with missing terminal '.
;
  0.7.21 1995-08-08
;
  Changes (PMDF):
    + Added _citation_author.ordinal and updated examples to reflect this
        addition.
    + Changed _item.mandatory_code for _citation_author.name to 'yes'.
    + First pass at checking the dictionary for spelling - lots of little
        changes in lots of places.
    + Removed many occurrences of 'with with' in definitions.
;
  0.7.22 1995-08-09
;
  Changes (PMDF):
    + Added definitions for _chem_link_angle.link_id and 
        _chem_link_bond.link_id
    + Straighted out spacing inconsistencies with _item.mandatory_code
    + Another quick pass at spell checking
;
  0.7.23 1995-08-10
;
  Changes (PMDF):
    + Changed _struct_sheet_gen.label_seq_id to _struct_site_gen.label_seq_id
        in _atom_site.label_seq_id tree
    + Removed duplicate entry of _phasing_MIR.entry_id in _entry.id tree
    + Removed alias in definitionof _refln.A_meas_au
    + Removed _item.category_id from
        _chem_link.type_comp_1
        _chem_link.type_comp_2
        _phasing_mad_clust.expt_id
        _phasing_mad_set.clust_id
        _phasing_mad_set.expt_id
        _phasing_mad_set.set_id
        _phasing_mad_ratio.expt_id
        _phasing_mad_ratio.clust_id
        _phasing_mad_ratio.wavelength_1
        _phasing_mad_ratio.wavelength_2
    + Removed _item_type.code from most of the above (it wasn't there in all
        of them).
    + Added _item.mandatory_code to _phasing_mir_der.der_set_id
    + Corrected _item.name for _phasing_mad_ratio.wavelength_2
;
  0.7.24 1995-08-21
;
  Changes (PMDF):
    + Corrected category.id for data items in the DIFFRN_STANDARDS category
    + Corrected category.id for data items in the PHASING_MAD_EXPT category
    + Corrected category.id for selected data items in the PHASING_SET 
        category
    + Corrected alias for _atom_site.thermal_displace_type
    + Introduced alias of _atom_site_aniso_label for _atom_site_anistrop.id
    + Introduced alias of _atom_site_aniso_type_symbol for
        _atom_site_anisotrop.type_symbol
;
  0.7.25 1995-08-31
;
  Changes (PMDF):
    + Eliminated duplicate line in _entry_id parent/child table
    + Changed the three occurrences of _item_type.code text to char
        _atom_sites_alt.details
        _atom_sites_alt_ens.details
        _database_PDB_remark.text
    + Fixed Klyne and Prelog reference in GEOM_TORSION category description
    + Added data item _chem_comp_chir.atom_config
    + Added hyphen in non-crystallographic in definition sof
         _struct_ncs_ens.point_group
    + Changed Data Base to Database when referring to the CSD
    + Fixed four occurrances of 'the the' in definitions
    + Added _item_range.maximum and _item_range.minimum DDL items to 
         _refine.ls_abs_structure_Flack and removed discussion of limits from
         the definition.
    + Changed two occurances of 'will be' to 'are' in the definition of
         _entity.type.
    + Changed ENTITY_NPOL to CHEM_COMP in definition of _entity.type.
    + Changes ATOM to HETATM for APS coordinates in Example 1 for the 
          ATOM_SITE category
    + Corrected _item.category_id for _struct_mon_details.prot_cis.
    + Corrected _item.category_id for _refine_hist.details.
    + Rewrote header comments to emphasize use of the mmCIF listserver as the
      forum for the dictionary review process.
;
  0.7.26 1995-09-25
;
  Changes (PMDF):
    + Put single quotes around 5HVP in those examples where they were missing.
    + Fixed registration of '5VHP' in examples.
    + Fixed typos in definition of _diffrn_measurement.device_specific.
    + Added _item.name loop and parent-child tree to _chem_comp.type
    + Fixed _item.name for _phasing_mir_der.der_set_id
    + Fixed _item.name for _phasing_mir_der.native_set_id
    + Added _phasing_mir_der_refln.set_id to _item.name loops and parent-child
        tree of _phasing_set.id
    + Fixed two misspellings of reference (refence).
;
  0.7.27 1995-09-27
;
  Changes (JDW & SH):
    + Added _item_aliases.dictionary and _item_aliases.version to all
      alias items.
    + Added several missing aliases from cifdic.C94.
    + Added a few missing data type codes in chem_link_*
    + Modified all _item_range items to reflect the correction in 
      DDL 2.1.1. Checked all of the boundary conditions on ranges.
    + Made corrections in virtually all of the regular expressions.
    + Added data types 'ucode' and 'uchar'. These are case insensitive 
      character types for words and single line strings, respectively.
      The regular expressions for these items will match characters
      of upper and lower case but the primitive type is uchar so
      all comparisons are performed in upper case. This avoids
      problems with case, where case is really not important.
    + Reviewed all items with character data types and made the following
      changes (hopefully uniformly):
       -  Data items with single word enumerates were set to type 'ucode'.
       -  Data items with multi word enumerates were set to type 'uchar'.
       -  Any item which could potentially exceed 80 characters was
          set to type text.
       -  Items which are restricted to single words were set to type 'code'.
       -  Items which are short strings which may not span lines were
          set to type 'char'.
    + Moved aliases for anisotropic temperature factors from category
      ATOM_SITE to ATOM_SITE_ANISOTROP
    + Added category DATABASE_PDB_MATRIX to hold the SCALE and ORIGX
      matrices/vectors.
    + Modified the defintions of data types 'char1' and 'char3' to 
      permit leading '+' to indicate a modification. 
    + Checked dictionary with SIFLIB and returned to Paula ...
;
  0.7.28 1995-10-06
;
  Changes (PMDF):
    + Removed loop from category example for DATABASE_2
    + Fixed data names in category example for STRUCT_KEYWORDS
    + Rewrote enumeration list for _struct_conf_type.id 
    + Removed references to chemical_formula.appendix and replaced them with
      reference to the CHEMICAL_FORMULA category description
    + Added data items _chem_comp.formula and _chem_comp.formula_weight
    + Changed _chem_link_angle.atom_1_atom_id to _chem_link_angle.atom_id_1
    + Changed _chem_link_angle.atom_2_atom_id to _chem_link_angle.atom_id_2
    + Changed _chem_link_angle.atom_3_atom_id to _chem_link_angle.atom_id_3
    + Changed _chem_link_bond.atom_1_atom_id to _chem_link_bond.atom_id_1
    + Changed _chem_link_bond.atom_2_atom_id to _chem_link_bond.atom_id_2
    + Realphabetized to accomodation the above changes
    + Added CHEM_LINK_CHIR category
    + Added CHEM_LINK_CHIR_ATOM category
    + Added CHEM_LINK_PLANE category
    + Added CHEM_LINK_PLANE_ATOM category
    + Added CHEM_LINK_TOR category
    + Added CHEM_LINK_TOR_VALUE category
    + Added entries to parent/child table for _chem_link.id for reflect the
        addition of the new categories.
    + Added Engh and Huber/Priestle examples to CHEM_LINK_BOND and
        CHEM_LINK_ANGLE
    + Realphabetized categories in PHASING_MAD section
  Changes (JDW):
    + Added _item_type.code's for _chem_link_chir*.atom_id and
      _chem_link_tor.atom_id_*.
;
  0.7.29 1995-12-11
;
  Changes (PMDF):
    + Changes to my title and Brian's in header information.
    + Enhanced description of the 'Hill system' of element ordering in
        the definition of _chem_comp.formula.
    + Added _item.mandatory_code to _phasing_mir_der.native_set_id
    + Added DATABASE_PDB_CAVEAT category.
    + Changed supercedes to superseded in DATABASE category description.
    + Changed DATABASE_NEW to DATABASE_2 in category description.
    + Changed SRUCT_SHEET_TOPOLOGY to STRUCT_SHEET_TOPOLOGY in category
        description.
    + Changed examples for STRUCT_SHEET_RANGE to contain only
        _struct_sheet_range.symmetry, not _struct_sheet_range.beg_symmetry and
        _struct_sheet_range.end_symmetry
    + Added cell.Z_PDB data item
    + Changed _atoms_sites.Cartn_tran_matrix to atom_sites.Cartn_transf_matrix
        in definition of _atom_sites.Cartn_transform_axes
    + Changed _chem_comp.nstd_class to _chem_comp.mon_nstd_class in
        definition of _chem_comp.mon_nstd_flag
    + Added data items for _chem_link_bond.value_angle and
        _chem_link_bond.value_angle_esd
    + Changed reference to _chemical_formula.appendix to CHEMICAL_FORMULA
        category description in definition of _chemical_formula.moiety
    + Changed _comp.prog.version to _comp_prog.version and 
        _comp.prog.citation_id to _comp_prog.citation_id in COMP_PROG example
    + Changed reference to _computing.phasing_mir in _phasing_mir.method to
        a reference to the COMP_PROG category.
        Similarly with _computing.phasing_averaging in 
        _phasing_averaging.method and _computing.phasing_mad in
        _phasing_mad.method and _computing.save_reduction in
        _reflns.data_reduction_method
    + Changed _entity.name_com.name to _entity_name_com.name in 
        ENTITY_NAME_COM example
    + Changed reference to _exptl_crystal.face_ to data items in the 
        EXPTL_CRYSTAL_FACE category in the definition of 
        _exptl_crystal.description.
    + Changed _diffrn.attenuator_code to _diffrn_attenuator.code in
        the definition of _diffrn_refln.attenuator_code
    + Changed _exptl.crystal_preparation to _exptl_crystal.preparation in the
        definition of _exptl.details
    + Changed _geom_bond.distance to _geom_bond.dist in the definition of
        _geom_bond.dist_esd
    + Added data items for _refine.ls_d_res_high and _refine.ls_d_res_low
    + Changed _refine.d_res_high to _refine.ls_d_res_high and
        _refine.d_res_low to _refine.ls_d_res_low in the definition of
        _refln.status
    + Changed _reflns_scale_group.code to _reflns_scale.group_code in the
        definition of _refln.scale_group_code
    + Changed _struct_site_view_details to _struct_biol_view.details in the
        rotation matrix element definitions in the STRUCT_BIOL_VIEW
        category (even though I realize that this isn't really correct in
        terms of the definition of _struct_biol_view.details)
    + Changed _symmetry.equiv_pos_as_xyz to _symmetry_equiv.pos_as_xyz in
        the definition of _symmetry.space_group_name_H-M
    + Changed _struct_mon.details_RSSR to _struct_mon_details.RSSR and
        _struct_mon.details_RSR to _struct_mon_details.RSR in a number of
        definitions in the STRUCT_MON_PROT and STRUCT_MON_NUCL categories
    + Changed _reflns_shell.possible_%_obs to _reflns_shell.percent_possible_obs
        in the REFLNS_SHELL example
    + Corrected alphabetical order of data items in the REFLNS_SHELL category
    + Changed _struct_sheet.number_details to _struct_sheet.details in the
        STRUCT_SHEET examples
    + Replaced _struct_sheet_range.beg_symmetry and
        _struct_sheet_range.end_symmetry with _struct_sheet_range.symmetry
        in the STRUCT_SHEET_RANGE category and fixed example itself
    + Changed _refine.ls_number_reflns to _refine.ls_number_reflns_obs in the
        definitions of _refine.ls_restrained_S_all and
        _refine.ls_restrained_S_obs
    + Changed _refine_ls_shell.reflns to _refine_ls_shell.number_reflns_obs in
        the REFINE_LS_SHELL example
    + Removed example from DATABASE category as it was not longer valid
;
  0.7.30 1996-01-29
;
  Changes (PMDF, HB, JDW):
    + Added data items for pseudorotation in STRUCT_MON_NUCL.
    + Globally changed future tense usage to present tense (eg. will be -> is)
    + Added _citation.book_publisher_city.
    + Changed _citation.journal_coden_PDB to _citation.journal_coden_CSD.
    + Added _citation.journal_coden_CAS.
    + Generalized the defintion of _atom_site.calc_flag.
    + Corrections to definitions defining beginning and ends of ranges in 
      category STRUCT_SHEET_HBOND.
    + Added data items _diffrn_refln.scan_rate and 
       _diffrn_refln.scan_time_backgd
    + Added HELX_LH_27_P and HELX_RH_27_P helix enumeration types.
    + Added figure of merit data item _refln.fom.
;
  0.7.31 1996-02-12
;
  Changes (JDW):
    + Added data items for _database_pdb_matrix.tvect_matrix[][] and 
      _database_pdb_matrix.tvect_vector[].
    + Generalized category CHEM_LINK to handle descriptions of a 
      any type of linkage. Created CHEM_COMP_LINK to describe 
      linkages between components, and ENTITY_LINK to describe
      linkages between entities (and within entities between 
      nonsequential components). Both CHEM_COMP_LINK and ENTITY_LINK
      reference the linkage description in the CHEM_LINK_* categories.
;
  0.7.32 1996-02-17
;
  Changes (JDW):
    + atom_site.entity_id renamed atom_site.label_entity_id.
    + atom_site.entity_seq_num deleted.
    + added items _atom_site.auth_asym_id, _atom_site.auth_atom_id, 
      _atom_site.auth_comp_id, and _atom_site.auth_seq_id. These 
      items provide placeholders for alternative nomenclature that
      may be used by the author.
    + Set the parentage for _atom_site.label_seq_id to 
      _entity_poly_seq.num. All components of the atom site label
      (_atom_site.label_*) are now linked to the mmCIF hierarchical
      description of structure. The data items in _atom_site.auth_*
      may be used by authors to provide alternative identifiers
      in the atom site which conform with the  scheme that is used in 
      the publication of the structure. 
    + added category group mm_atom_site_auth_label
    + added auth_asym_id, auth_atom_id, auth_comp_id, and auth_seq_id
      child data items to the categories:  GEOM_ANGLE,GEOM_BOND,
      GEOM_CONTACT, STRUCT_CONF, STRUCT_CONN, STRUCT_MON_NUCL,
      STRUCT_PROT, STRUCT_PROT_CIS, STRUCT_NCS_DOM_GEN, 
      STRUCT_SHEET_HBOND, STRUCT_SHEET_RANGE, and STRUCT_SITE_GEN.
;
  0.7.33 1996-02-19
;
  Changes (JDW):
    + Replaced category COMP_PROG with category SOFTWARE supplied by
      P. Bourne.
    + Fine tuned some values of _item_type.code. Fixed regular expression
      for code and ucode.
;
  0.7.34 1996-02-20
;
  Changes (JDW):
    + Integrated STRUCT_REF, STRUCT_REF_SEQ and STRUCT_REF_SEQ_DIF from
      PMDF.
    + Removed ENTITY_REFERENCE and ENTITY_POLY_SEQ_DIF.
    + Integrated modified categories STRUCT_NCS_DOM, STRUCT_NCS_DOM_LIM,
      STRUCT_NCS_ENS, STRUCT_NCS_ENS_GEN, and STRUCT_NCS_OPER from PMDF.
    + changed _item_type.code's 'char' and 'uchar' to 'line' and 'uline'.
;
  0.8.0 1996-03-06
;
  Changes (PMDF, HB, JDW):
    + Added unit type 8pi2_angstroms_squared B anisotropic temperature factors,
      and added conversion factor for this new unit type in the 
      ITEM_UNITS_CONVERSION category.
    + Changed _item_type.code for _symmetry_equiv.id to 'code'
    + Added default value 'no' to _chem_comp.mon_nstd_flag.
;
  0.8.01 1996-03-12
;
  Changes (PMDF):
    + Added missing circumflex to definition of 
      _exptl_crystal.density_percent_sol.
    + Fixed erroneous reference to _atom_site.entity_seq_num in definition
      of _atom_site.auth_seq_id.
    + Changed _chem_comp_link.id to _chem_link.id in definition of
     _chem_comp_link.link_id.
    + Changed _citation.journal_coden_PDB to _citation.journal_coden_CSD in
      citation category example
    + Changed _entity_link.id to _chem_link.id in definition of 
      _entity_link.link_id.
    + Changed _chem_link.type_comp_1 to _chem_comp_link.type_comp_1 in
      _item_name and parent/child tables for _chem_comp.type. The same change
      was made for component 2.
;
  0.8.02 1996-03-18
;
  Changes (PMDF):
    + Changed category from chem_comp to chem_comp_link for data items
      _chem_comp_link.type_comp_1 and _chem_comp_link.type_comp_1 in the
      parent/child tree for the chem_comp.type data item. 
    + Added _struct_ref_seq.seq_align_beg and _struct_ref_seq.seq_aling_end
      to the mandatory code table for _entity_poly_seq.num.
    + Added _struct_ref_seq_dif.seq_num to both the parent/child and mandatory
      code tables for _entity_poly_seq.num.
    + Added data item _struct_ncs_oper.code.
    + Changed units type to 8pi2_angstroms_squares for 
      _atom_site.B_iso_or_equiv and _atom_site.B_iso_or_equiv_esd.
    + Moved TVECT vector from DATABASE_PDB_MATRIX to 
      a new category DATABASE_PDB_TVECT and added a identifier
      and details item to this new category. The matrix component of 
      TVECT has been removed.
;
  0.8.03 1996-04-03
;
  Changes (PMDF):
    + Began implementing changes to bring this dictionary into alignment
      with the current version of the CIF core dictionary. These differences
      were provided by Brian McMahon and I. David Brown. As most of these
      changes are matters of style and not substance, they will not be noted
      individually here. Anything that does involve substance will be.
    + Changed specification of the format of names to included that provision
      for a dynanastic modifier.
;
  0.8.04 1996-11-04
;
  Changes (PMDF):
    + Changed format of references in data item definitions to match style of
      extended core.
    + Changed format of matrices in data item definitions to match style of
      extended core, with the addition of more rigorous definition of style
      agreed to by PMDF, JDW and HB.
    + Changed format of equivations in data item definitions to match style of
      extended core, with the addition of more rigorous definition of style
      agreed to by PMDF, JDW and HB.
    + Added aliases to data items where they were missing to establish
      correspondence with extended core.
    + Changed frac to fract in _atom_site.frac... data items.
    + Added _citation_editor_ordinal.
    + Added JOURNAL_INDEX data items, as well as _journal.language and
      _journal.paper_category.
    + Added _diffrn_measurement_specimen_support
            _diffrn_orient_refln_angle_omega
            _diffrn_orient_refln_angle_theta
    + Added PUBL_BODY category and data items.
    + Added _publ.contact_author_address
            _publ.contact_author_name
    + Added _publ.section_exptl_solution
            _publ.section_synopsis
            _publ.section_title_footnote
    + Added AUDIT_CONFORM category and data items.
    + Added GEOM_HBOND category and data items.
;
  0.8.05 1996-11-11
;
  Changes (PMDF):
    + More changes to bring this dictionary into alignement with the extended
        core
    + Added _chemical_forumula.iupac
    + Added _atom_site.B_equiv_geom_mean (and its esd)
    + Added _atom_site.U_equiv_geom_mean (and its esd)
    + Added _atom_type.scat_length_neutron
;
  0.8.06 1996-11-13
;
  Changes (JDW):
    + Reorganized categories in the DIFFRN group to formally support 
      multiple diffraction data sets.
;
  0.8.07 1996-12-18
;
  Changes (PMDF):
    + Removed single quote from value of DDL items where they were not needed
    + Cleaned up style of range minimum/maximum data value
    + Cleaned up alignment of various DDL items
    + Deleted _chem_link_bond.value_angle and _chem_link_bond.value_angle_esd
;
  0.8.08 1997-01-06
;
  Changes (PMDF):
    + Added R_work data items to the various REFINE categories
    + Rewrote definitions for existing R-factor definitions to distinguish
      between R_work, R_free and conventional R
  Changes (JDW) (retrieved from earlier, misplaced version):
    + Added data item _chem_comp.mon_nstd_parent_comp_id to provide explicit
      reference between a non-standard component and the parent component.
    + Changed _item_type.code for _chem_comp.id and all of its children
      to 'ucode'.
    + Changed char3 and char1 to uchar3 and uchar1 to be consistent with
      other case insensitive data type codes. Corrected the regular
      expressions and primitive codes for these data types.
    + Added _chem_comp_atom.partial_charge.
    + Corrected the descriptions for _chem_comp_tor.comp_id,
      _chem_comp_bond.comp_id and _chem_comp_angle.comp_id.
    + Added _chem_comp_tor_value.comp_id as a key for category
      CHEM_COMP_TOR_VALUE.
    + Added _chem_comp_plane_atom.comp_id as a key in category
      CHEM_COMP_PLANE_ATOM.
    + Miscellaneous corrections in item descriptions in CHEM_COMP_GROUP
      categories.
    + Added item _chem_comp_plane_atom.dist_esd
;
  0.8.09 1997-01-07
;
  Changes (PMDF):
    + More changes to align with new core:
      Changed _citation.book_coden_ISBN to _citation.book_id_ISBN
      Changed _citation.journal_coden_ASTM to _citation.journal_id_ASTM
      Changed _citation.journal_coden_CAS  to _citation.abstract_id_ASTM
      Changed _citation.journal_coden_CSD  to _citation.journal_id_CSD
      Changed _citation.journal_coden_ISSN to _citation.journal_id_ISSN
      Changed _citation.medline_AN         to _citation.database_id_Medline
      Added _publ.requested_category
      Corrected alias for _atom_type.scat_length_neutron
      Added _journal.data_validation_number
      Changed _diffrn_detector.detector_specific to _diffrn_detector.type
      Deleted _diffrn_detector.detector_type
      Added _diffrn_radiation.probe
      Adjusted definition of _diffrn_radiation.type
      Changed _diffrn_source.source_specific to _diffrn_source.type
      Deleted old _diffrn_source.type
      Changed _diffrn_radiation_wavelength.wavelength_wt to 
              _diffrn_radiation_wavelength.wt
      Added _diffrn_radiation.xray_symbol
      Aliased both versions 1.0 and 2.0 of the core for
        _diffrn_detector.detector
        _diffrn_detector.dtime
        _diffrn_source.source
;
  0.8.10 1997-01-22
;
  Changes (PMDF):
    + Still more changes to align with new core:
        Added _refine.ls_R_Fsqd_factor_obs
        Added _refine.ls_R_I_factor_obs
        Added _atom_site.disorder_assembly
        Added new definition of _atom_site.disorder_group
        Many more style and wording changes
      Changes to provide compatibility with PDB Remark 3
        Added _chem_comp_chir_atom.comp_id
        Added _diffrn.ambient_temp_details
        Added _exptl_crystal_grow.temp_details
        Enlarged enumeration list of _phasing.method
        Added _reflns.Rmerge_F_all
        Added _reflns.Rmerge_F_obs
        Added _reflns.B_iso_Wilson_estimate
        Added _reflns.percent_possible_obs
        Added _refine_ls_restr.weight
        Added _refine.aniso_B data items
        Added _exptl_crystal.density_matthews
        Added _refine.ls_percent_reflns_R_free
        Added _refine_ls_shell.percent_reflns_R_free
        Added _refine.Luzzati_coordinate_error_obs
        Added _refine.Luzzati_d_res_low_obs
        Added _refine.Luzzati_sigma_a_obs
        Added _refine.Luzzati_sigma_a_obs_details
        Added _refine.Luzzati_coordinate_error_free
        Added _refine.Luzzati_d_res_low_free
        Added _refine.Luzzati_sigma_a_free
        Added _refine.Luzzati_sigma_a_free_details
        Added _refine.number_disordered_residues
        Added _refine.occupancy_sum_hydrogen
        Added _refine.occupancy_sum_non_hydrogen
;
  0.8.11 1997-01-22
;
  Changes (PMDF):
    Enforced style of only one space at the end of a sentence and after a ;
    Enforced stye in the categories section
    Enforced style of Need example 1
    + More changes to provide compatibility for PDB Remark 3
        Added _refine.B_iso_mean
        Added _refine.ls_percent_reflns_obs
        Added _refine.ls_R_factor_R_free_error
        Added _refine.ls_R_factor_R_free_error_details
        Added _refine_ls_shell.percent_reflns_obs
        Added _refine_ls_shell.R_factor_R_free_error
        Added _refine_ls_shell.redundancy_reflns_all
        Added _refine_ls_shell.redundancy_reflns_obs
        Added _refine.ls_redundancy_reflns_all
        Added _refine.ls_redundancy_reflns_obs
        Added _reflns.observed_criterion_sigma_F
        Added _reflns.observed_criterion_sigma_I
        Added REFINE_LS_RESTR_NCS category
        Added _refine.solvent_model_details
        Added _refine.solvent_model_param_bsol
        Added _refine.solvent_model_param_ksol
;
  0.8.12 1997-01-28
;
  Changes (JDW):
        Replaced all tabs with spaces. 
        Fixed instances of lines > 80 characters.
        Added 'GLX' to the enumeration list for _chem_comp.three_letter_code.
        Added 'B' and 'Z' to the enumeration list for 
            _chem_comp.one_letter_code.
        Corrected definition for _cell_measurement.wavelength.
        Corrected definitions for _atom_type.scat_dispersion_imag and
        _atom_type.scat_dispersion_real.
        Corrected examples for categories: CITATION, DIFFRN_DETECTOR,
        DIFFRN_MEASUREMENT, DIFFRN_SOURCE, GEOM_HBOND, REFINE_ANALYZE,
        REFINE_LS_RESTR, 
        Corrected definition for _reflns_shell.Rmerge_F_obs.
        Corrected definition for _reflns_scale.group_code.
        Changed _refine_ls_restr_ncs.weight_iso_B to 
                          _refine_ls_restr_ncs.weight_B_iso.	
        Corrected definitions in: _diffrn_refln.angle_[chi-theta].

	Using experimental data kindly provided by  Tom Emge, 
        Shri Jain, Rachel Kramer, Jinsong Liu, and Gary Parkinson
        examples were added for the following categories:  
	DIFFRN_ORIENT_MATRIX, DIFFRN_ORIENT_REFLN, DIFFRN_REFLN,
        DIFFRN_SCALE_GROUP, EXPTL, EXPTL_CRYSTAL, EXPTL_CRYSTAL_FACE,
        STRUCT_REF_SEQ, STRUCT_REF_SEQ_DIF, STRUCT_NCS_OPER,
        STRUCT_NCS_DOM, STRUCT_NCS_DOM_LIM, STRUCT_NCS_ENS, 
        STRUCT_NCS_ENS_GEN, REFINE_LS_RESTR_NCS, PHASING_MIR_DER_REFLN,
        PHASING_SET, PHASING_SET_REFLN, STRUCT_MON_NUCL, STRUCT_MON_PROT,
        REFINE_HIST, ATOM_SITE_ANISOTROP, CHEM_COMP_LINK, JOURNAL, PUBL,
        CELL_MEASUREMENT_REFLN, CHEMICAL, CHEMICAL_CONN_ATOM, 
        CHEMICAL_CONN_BOND, STRUCT_BIOL_VIEW, STRUCT_SITE_VIEW,
        STRUCT_MON_PROT_CIS.
        Added _exptl_crystal_face.crystal_id.
        Added items: _reflns.observed_criterion_I_min
                     _reflns.observed_criterion_I_max
                     _reflns.observed_criterion_F_max
                     _reflns.observed_criterion_F_min.
        Changed dictionary tile and data block name to the conforming
        name recommended by SRH/BMcM, cif_mm.dic.  
        Restore consistency to the 'arbitrary units' suffix:
          Changed   _phasing_set_refln.F_meas_au_sigma to 
                    _phasing_set_refln.F_meas_sigma_au
          Changed   _phasing_mir_der_refln.F_meas_au_sigma to
                    _phasing_mir_der_refln.F_meas_sigma_au
          Changed   _phasing_set_refln.F_meas_au_sigma to
                    _phasing_set_refln.F_meas_sigma_au
          Changed   _refln.F_meas_au_sigma to 
                    _refln.F_meas_sigma_au
        Although data item names and category names are not case
        sensitive, as a matter of style certain abbreviations are
        consistently expressed in upper case (e.g. B, MIR, MAD, PDB).
        Corrected definition for category DATABASE.
        Added category ENTRY_LINK and corresponding aliases to 
        CIF core category audit_link.
        Corrected alias name _refine_ls_R_I_factor.
        Added core CIF alias _diffrn_refln_crystal_id to data item
        _diffrn.crystal_id.
;
  0.9.0 1997-01-30
;
  Changes (PMDF):
  + Corrected _reflns_observed_criterion to _reflns.observed_criterion in
    a number of places
  + Aligned enumeration lists in this dictionary with those in version 2.0 of
      the core dictionary.  This involved changes in:
        _citation.coordinate_linkage
        _diffrn_radiation.xray_symbol
        _diffrn_refln.scan_mode
        _diffrn_refln.scan_mode_backgd
        _exptl.absorpt_correction_type
        _publ_manuscript_incl.extra_defn
        _refine.ls_hydrogen_treatment
        _refine.ls_structure_factor_coef
  + A number of corrections to errors pointed out by H. Bernstein
     Added category.id to _database_PDB_tvect.id
     Fixed spelling of _publ.section_exptl_soltuion
     Corrected _refine.ls_R_factor_work to 
               _refine.ls_R_factor_R_work in description
     Corrected spelling of _refine_analyze.Luzaatti_d_res_low_obs in example
     Corrected spelling of _refine_analyze.Luzzatti_coordinate_error_obs in
               example
     Corrected _geom_hbond.atom_site_label_id_D to
               _geom_hbond.atom_site_id_D in example
     Corrected _geom_hbond.atom_site_label_id_H to
               _geom_hbond.atom_site_id_H in example
     Corrected _geom_hbond.atom_site_label_id_A to
               _geom_hbond.atom_site_id_A in example
     Corrected _entry_link.description to _entry_link.details
     Corrected _DIFFRN_SCALE_GROUP to DIFFRN_SCALE_GROUP in description
     Corrected _refine_ls_restr_ncs.model_details to 
               _refine_ls_restr_ncs.ncs_model_details in example
     Corrected _refln.observed_criterion to _reflns.observed_criterion in
                description
     Corrected _struct_biol_view.view_id to _struct_biol_view.id in example
     Corrected _chem_comp_link.id to _chem_comp_link.link_id in example
     Corrected _chem_comp_link.comp_type_1 to
               _chem_comp_link.type_comp_1
     Corrected _chem_comp_link.comp_type_1 to
               _chem_comp_link.type_comp_1
     Corrected _entry_link.link_id to _entry_link.entry_id in description
  Changes (JDW):
     Corrections to REFINE_HIST category example and removal of a 
     few misplaced colons.
;
  0.9.01 1997-01-31
;
  Changes (PMDF):
  + Removed occurrance of two or more blank lines
  + Enforced rule of no apostrophes around values for _item_sub_category.id
  + Enforced rule of no apostrophes around values for_item_default.value
  + Enforced rule of no apostrophes around values for_item.mandatory_code
      and fixed one alignment problem
  + Enforced rule of no apostrophes around values for
      _item_related.function_code and fixed a few alignment problems
  + Added _item.mandatory_code for _diffrn_refln.wavelength_id
  + Changed cifdic.c94 to cif_core.dic in _item_aliases.dictionary everywhere
  + Changed 2.0 to 2.0.1 in _item_aliases.version everywhere
  + Changed to consistent usage of kelvins instead of kelvin, got rid of
      capitalized versions
  + Removed capitalized usages of angstroms
  + Enforced rule of no apostrophes around values for _item_units.code
  + Fixed alignment problems with a few _category_key.name values         
;

