##############################################################################
#                                                                            #
#                             MIF DATA DICTIONARY                            #
#                                                                            #
#   Standard definitions for DATA stored in a Molecular Information File.    #
#   The DDL commands used in this dictionary are defined in "ddldic.c93".    #
#                                                                            #
##############################################################################

global_            
    _dictionary_name            mifdic.t93
    _dictionary_version         0.7
    _dictionary_update          1993-07-09
    _dictionary_history
;
  1993-02-22  Created from document "The Molecular Information File (MIF):
              A Standard File Format for Molecuar Information" J M Barnard
              and A P F Cook (4 Dec 1992). SRH
  1993-02-25  Adjustments and refinement of data name definitions. SRH
  1993-03-12  Corrections and refinements. SRH
  1993-03-25  Amendments resulting from the Cambridge Workshop. SRH
  1993-04-28  Amendments resulting from J M Barnard fax (25 Apr). SRH
  1993-04-28  Amendments resulting from A P F Cook email (26 Apr). SRH
  1993-05-21  Apply new DDL commands from ddldic.c93. SRH
  1993-05-27  Added periodic table symbils to _atom_type. SRH
  1993-05-28  Some major trial definition changes -- testing only. SRH
  1993-06-02  Expansion of the trial definitions. SRH
  1993-06-04  Some fine tuning and corrections. SRH
  1993-07-09  Changes following Dutch 'Chemical Structures' meeting. SRH
;
    _list                        no
    _list_mandatory              no
    _list_level                  1
    _enumeration                 ?
    _enumeration_default         ?
    _esd                         no



data_atom_attach_
    loop_ _name                '_atom_attach_all'
                               '_atom_attach_ring'
                               '_atom_attach_nh'  
                               '_atom_attach_h'
    _category                    atom
    _type                        numb
    _list                        yes
    _list_reference            '_atom_id'
    _enumeration_range           0:   
    _definition
;              The number of atom sites considered to be attached to this site.
                   all    all sites
                   ring   all sites forming rings
                   nh     all sites excl. hydrogens and unshared electron pairs
                   h      hydrogen sites
;

data_atom_charge
    _name                      '_atom_charge'
    _category                    atom
    _type                        numb
    _list                        yes
    _list_reference            '_atom_id'
    _enumeration_range           -99:99
    _definition
;              Specifies the formal electronic charge on the atom for the 
               different atomic representation conventions. The convention
               for charge is specified by _define_atom_convention.
;

data_atom_cip
    _name                      '_atom_cip'    
    _category                    atom
    _type                        char
    _list                        yes
    _list_reference            '_atom_id'
    _definition
;              Specifies the Cahn-Ingold-Prelog designation for the atom.
               The designators are by Prelog and Helmchen (Angew. Chem. 
               Int. Ed. Engl. 1982, 21, 567-583).
;

data_atom_model_ 
    loop_ _name                '_atom_coord_x'
                               '_atom_coord_y'
                               '_atom_coord_z'
    _category                    atom
    _type                        numb
    _list                        yes
    _list_reference            '_atom_id'
     loop_ _units_extension
           _units_description
           _units_conversion     ' '    'Angstroms'  *1.0
                                 '_pm'  'picometres' /100.
                                 '_nm'  'nanometres' *10.
    _definition
;              Specifies the Cartesian coordinates for the atom at an arbitary
               origin and arbitary orthogonal axes.
;

data_atom_id          
    _name                      '_atom_id'      
    _category                    atom
    _type                        numb
    _list                        yes
    _list_mandatory              yes
    _list_uniqueness           '_atom_id'
    loop_ _list_link_child     '_bond_id_1'      
                               '_bond_id_2'      
                               '_stereo_centre_id'    
                               '_stereo_vertex_id' 
    _enumeration_range           1:
    _definition
;              This specifies a unique numeric identifier for an 'atom site'
               in a molecule or fragment. A designated atom site may be 
               occupied by a 'dummy' atom (see _atom_type).
;

data_atom_mass_number
    _name                      '_atom_mass_number'
    _category                    atom
    _type                        numb
    _list                        yes
    _list_reference            '_atom_id'
    _enumeration_range           1:   
    _definition
;              Specifies the mass number or isotopic state of the atom. 
               The default is the most abundant naturally occuring value.
;

data_atom_label
    _name                      '_atom_label'  
    _category                    atom
    _type                        char
    _list                        yes
    _list_reference            '_atom_id'
    _definition
;              The code providing unique identification of the atom site.     
               See also _atom_type.
;

data_atom_radical
    _name                      '_atom_radical'
    _category                    atom
    _type                        numb
    _list                        yes
    _list_reference            '_atom_id'
    loop_ _enumeration      
          _enumeration_detail    none     'not a radical'
                                 singlet  'singlet biradical'
                                 doublet  'doublet (i.e. ordinary) radical'
                                 triplet  'triplet biradiacal'
    _enumeration_default         none
    _definition
;              Specifies the formal radical state of the atom.
;

data_atom_type
    _name                      '_atom_type'  
    _category                    atom
    _type                        char
    _list                        yes
    _list_reference            '_atom_id'
    loop_ _enumeration_detail
          _enumeration        
                   1  H   2 He  3 Li  4 Be  5 B   6 C   7 N   8 O   9 F  10  Ne
                   11 Na 12 Mg 13 Al 14 Si 15 P  16 S  17 C1 18 Ar 19 K  20 Ca
                   21 Sc 22 Ti 23 V  24 Cr 25 Mn 26 Fe 27 Co 28 Ni 29 Cu 30 Zn
                   31 Ga 32 Ge 33 As 34 Se 35 Br 36 Kr 37 Rb 38 Sr 39 Y  40 Zr
                   41 Nb 42 Mo 43 Tc 44 Ru 45 Rh 46 Pd 47 Ag 48 Cd 49 In 50 Sn
                   51 Sb 52 Te 53 I  54 Xe 55 Cs 56 Ba 57 La 58 Ce 59 Pr 60 Nd
                   61 Pm 62 Sm 63 Eu 64 Gd 65 Tb 66 Dy 67 Ho 68 Er 69 Tm 70 Yb
                   71 Lu 72 Hf 73 Ta 74 W  75 Re 76 Os 77 Ir 78 Pt 79 Au 80 Hg
                   81 Tl 82 Pb 83 Bi 84 Po 85 At 86 Rn 87 Fr 88 Ra 89 Ac 90 Th
                   91 Pa 92 U  93 Np 94 Pu 95 Am 96 Cm 97 Bk 98 Cf 99 Es 100 Fm
                   101                      Md
                   102                      No
                   103                      Lr
                  'unshared electron pair'  usp 
                  'dummy atom'              dum 
    _definition  
;              Specifies the type of atom site identified by _atom_id. Hydrogen
               atoms will usually not assigned to sites except where they are 
               connected to more than one other atom, or where it is necessary 
               to reference them, for example, in describing stereochemistry. 
;

data_atom_valency
    _name                      '_atom_valency'
    _category                    atom
    _type                        numb
    _list                        yes
    _list_reference            '_atom_id'
    _enumeration_range          -99:99   
    _definition
;              Specifies the valency state of the atom.
;

data_bond_cip
    _name                      '_bond_cip'
    _category                    bond
    _type                        char
    _list                        yes
    _list_reference            '_bond_id_'
    _definition
;              Specifies the Cahn-Ingold-Prelog designation for the bond.
               The designators are by Prelog and Helmchen (Angew. Chem. 
               Int. Ed. Engl. 1982, 21 567-583).
;

data_bond_environment
    _name                      '_bond_environment'
    _category                    bond
    _type                        char
    _list                        yes
    _list_reference            '_bond_id_'
    loop_ _enumeration
          _enumeration_detail    ring   'in a ring'
                                 chain  'in a chain'
    _definition
;              Specifies the connection environment of the bond.
;

data_bond_id_
    loop_ _name                '_bond_id_1'      
                               '_bond_id_2'      
    _category                    bond
    _type                        numb
    _list                        yes
    _list_mandatory              yes
    _list_link_parent          '_atom_id'
    loop_ _list_uniqueness     '_bond_id_1'
                               '_bond_id_2'
    _enumeration_range           1:
    _definition
;              Specify the atoms joined by a covalent bond in the 
               applicable bonding convention; the atom id's may appear
               in either order except for asymmetric bonds. Each covalent 
               bond shall be represented only once.         
;

data_bond_type_casreg3
    _name                      '_bond_type_casreg3'
    _category                    bond
    _type                        char
    _list                        yes
    _list_reference            '_bond_id_'
    loop_ _related_item
          _related_function    '_bond_type_mif'    convention
                               '_bond_type_ccdc'   convention
    loop_ _enumeration
          _enumeration_detail    S  'single exact bond'
                                 D  'double exact bond'
                                 T  'triple exact bond'
                                 A  'ring alternating normalised bond'
                                 U  'tautomer normalised bond'
    _definition
;              Specifies the nature of the covalent bond using the
               CASREG3 bonding convention. 
;

data_bond_type_ccdc
    _name                      '_bond_type_ccdc'
    _category                    bond
    _type                        char
    _list                        yes
    _list_reference            '_bond_id_'
    loop_ _related_item
          _related_function    '_bond_type_casreg3' convention
                               '_bond_type_mif'     convention
    loop_ _enumeration
          _enumeration_detail  
                           S  'single (2-electron) bond or sigma bond to metal'
                           D  'double (4-electron) bond'
                           T  'triple (6-electron) bond'
                           Q  'quadruple (8-electron, metal-metal) bond'
                           A  'alternating normalized ring bond (aromatic)'
                           C  'catena-forming bond in crystal structure'
                           E  'equivalent (delocalized double) bond'
                           P  'pi-bond (metal-ligand pi interaction)'
    _definition
;              Specifies the nature of the covalent bond using the
               Cambridge Crystallographic Data Centre (CCDC) bonding 
               convention. 
;

data_bond_type_mif
    _name                      '_bond_type_mif'
    _category                    bond
    _type                        char
    _list                        yes
    _list_reference            '_bond_id_'
    loop_ _related_item
          _related_function    '_bond_type_casreg3' convention
                               '_bond_type_ccdc'    convention
    loop_ _enumeration
          _enumeration_detail    S  'single (2-electron) bond'
                                 D  'Double (4-electron) bond'
                                 T  'Triple (6-electron) bond'
                                 O  'Other (e.g. coordination) bond'
    _definition
;              Specifies the nature of the covalent bond using the
               MIF bonding convention. Aromatic and normalised
               tautomeric bonds cannot be shown. 
;

data_conformance_
    loop_ _name                '_conformance_primary'
                               '_conformance_secondary'
    _category                    conformance
    _type                        char
    _list                        both
    _definition
;              File names of the DDL dictionaries containing definitions to
               which the contained data conforms. The "primary" dictionaries
               are used for standard conformance (_type, _enumeration, etc.)
               testing by STAR compliant software. The "secondary" files, if
               specified, contain additional definitions used by applications.
               E.g. if data uses the "query" construction (as defined in
               _define_object_conformance), the primary dictionary will contain
               definitions for this construction and the secondary dictionary
               will contain definitions for the standard data as "unwrapped"
               by the application.
;

data_define_atom_convention
    _name                      '_define_atom_convention'  
    _category                    define
    _type                        char
    loop_ _enumeration
          _enumeration_detail    casreg3      'Chemical Abstracts Reg 3'
                                 ccdc         'Cambridge Cryst. Data Centre'
                                 mif          'basic MIF'                 
    _enumeration_default         mif            
    _definition
;              Specifies the convention used for the values of the items:  
                                   _atom_charge
                                   _atom_radical
                                   _atom_valency
;

data_define_object_class
    _name                      '_define_object_class'    
    _category                    define
    _type                        char
    loop_ _enumeration
          _enumeration_detail    molecule     'molecular structure data'
                                 conformation 'molecular conformation data'
                                 stereo-group 'stereo data in same group'
          _enumeration_default   molecule 
    _definition
;              Specifies the nature of the object being represented by the 
               data block or save frame.
;

data_define_object_conformance
    _name                      '_define_object_conformance'
    _category                    define
    _type                        char
    loop_ _enumeration
          _enumeration_detail  data   'primary conformance to data dictionary'
                               query  'primary conformance to query dictionary'
          _enumeration_default data
    _definition
;              Specifies the dictionary definitions which the data in this
               object conforms to. If the value is "data" the definitions
               are contained within the standard DDL file(s) specified by
               _conformance_primary. The value "query" indicates that the
               primary definitions are contained within a DDL query file
               specified by _conformance_primary, but the standard DDL data
               file is specified by _conformance_secondary.
;

data_define_stereo_relationship
    _name                       '_define_stereo_relationship'
    _category                   '_define_'
    _type                        char
    loop_ _enumeration
          _enumeration_detail    absolute 'configuration is as shown'    
                                 relative 'configuration is relative'
                                 unknown  'configuration is unknown' 
                                 racemic  '2 stereoisomers: equal mix of d & l'
                                 abs-xs   '2 stereoisomers; excess as shown'
                                 rel-xs   '2 stereoisomers; excess unknown' 
    _enumeration_default         unknown
    _definition
;              Defines the enantiomorphic relationship of the stereo
               geometry in this data set (data block or save frame).
               The descriptions of independently defined stereo regions, 
               whose centres all have the same inter-centre relationship, 
               may be grouped together. For each such group the inter-centre
               relationship is specified by _define_stereo_relationship.
               Where there is only one such group, all the relevant data 
               may be included in the data block or save frame for the 
               molecule as a whole. Where there are several different
               such groups, each should be shown in a separate save frame, 
               and _reference_stereo_group used to reference the different 
               save frames. 
               For each stereo group, a 2 level loop structure may be used to 
               define the stereocentres it contains. Each stereocentre is 
               defined by a _stereo_geometry and _stereo_centre_id items in 
               the first loop level, and _stereo_vertex_id in the second.
;

data_display_colour 
    _name                      '_display_colour'
    _category                    display
    _type                        char
    _list                        yes
    _list_reference            '_display_id'
    loop_ _enumeration        
                                 white     black        grey
                                 red       pink         dark_red  
                                 blue      light_blue   dark_blue
                                 green     light_green  dark_green
                                 yellow    lemon        orange
                                 violet    mauve        magenta
    _enumeration_default         black
    _definition
;              The colour of the _display_object.
;

data_display_conn_colour 
    _name                      '_display_conn_colour'
    _category                    display_conn
    _type                        char
    _list                        yes
    _list_level                  2
    _list_reference            '_display_conn_id'
    loop_ _enumeration        
                                 white
                                 black     grey
                                 red       pink         dark_red  
                                 blue      light_blue   dark_blue
                                 green     light_green  dark_green
                                 yellow    lemon        orange
                                 violet    mauve        magenta
    _enumeration_default         black
    _definition
;              The colour of the _display_conn_symbol.
;

data_display_conn_id
    _name                      '_display_conn_id'
    _category                    display_conn
    _type                        numb
    _list                        yes
    _list_level                  2
    _list_mandatory              yes
    _list_link_parent          '_display_id'
    _definition
;              The identifying number of a connect site.         
;

data_display_conn_symbol
    _name                      '_display_conn_symbol'
    _category                    display_conn
    _type                        char
    _list                        yes
    _list_level                  2
    _list_reference            '_display_conn_id'
    loop_ _enumeration        
          _enumeration_detail
                 .c      'dotted line to object centres'
                 -c      'dashed line to object centres'
                 1c      'solid line to object centres'
                 2c      'double solid line to object centres'
                 3c      'triple solid line to object centres'
                 .b      'dotted line to object boundary'
                 -b      'dashed line to object boundary'
                 1b      'solid line to object boundary'
                 2b      'double solid line to object boundary'
                 3b      'triple solid line to object boundary'
                 >b      'wedge with apex at _display_conn_id'
                 <b      'wedge with apex at _display_id'
    _definition
;              The symbolic connection to the sites defined by
               _display_id and _display_conn_id.
;

data_display_coord_
    loop_ _name                '_display_coord_x'
                               '_display_coord_y'
    _category                    display
    _type                        numb
    _list                        yes
    _list_reference            '_display_id'
    _definition
;              The projected coordinates of the display object identified in
               _display_object and _display_symbol. A display diagram has the
               y axis from bottom to top; the x axis bottom left to right.
               The display origin is defined with _display_origin. Coordinate
               values can be scaled using _display_scale and _display_span_.
;

data_display_id
    _name                      '_display_id'
    _category                    display
    _type                        numb
    _list                        yes
    _list_mandatory              yes
    _list_uniqueness           '_display_id'
    _list_link_child           '_display_conn_id'
    _definition
;              The identifying number of this display object.
;

data_display_span_ 
    loop_ _name                '_display_span_x'
                               '_display_span_y'
    _category                    display_define
    _type                        numb
    _enumeration_range           0.:
    _definition
;              The span of the display diagram in _display_coord_ units.  
;

data_display_object
    _name                      '_display_object'
    _category                    display
    _type                        char
    _list                        yes
    _list_reference            '_display_id'
    loop_ _enumeration           
          _enumeration_detail   text 'char string specified as _display_symbol'
                                icon 'icon specified as _display_symbol'
                                null 'no object is displayed'
    _enumeration_default        null
    _definition
;              Code identifying object to be displayed.           
;

data_display_origin
    _name                      '_display_origin'
    _category                    display_define
    _type                        char
    loop_ _enumeration           
          _enumeration_detail    centre  'at centre of diagram'
                                 bottom  'at the bottom left corner'     
                                 top     'at the top left corner'     
    _enumeration_default         bottom 
    _definition
;              Code identifying the origin of the _display_coord_ values with
               respect to the diagram origin.
;

data_display_scale 
    _name                      '_display_scale'
    _category                    display_define
    _type                        numb
    _enumeration_range           0.:
    _definition
;              The number of _display_coord_ units per centimetre.        
;

data_display_size  
    _name                      '_display_size'
    _category                    display
    _type                        numb
    _list                        yes
    _list_reference            '_display_id'
    _enumeration_range           0.:
    _definition
;              The size of the object in coord units in the y direction.
;

data_display_symbol
    _name                      '_display_symbol'
    _category                    display
    _type                        char
    _list                        yes
    _list_reference            '_display_id'
    loop_ _enumeration           
          _enumeration_detail    
           
           6s   'saturated 6 membered ring with circle'
           lp   'lone pair symbol'
           *    'any text string (when _display_object is "text")'

    _definition
;              Code identifying object type to be displayed.           
;

data_molecule_name_
    loop_ _name                '_molecule_name_common'
                               '_molecule_name_iupac'
                               '_molecule_name_cas_8ci'
                               '_molecule_name_cas_9ci'
                               '_molecule_name_cas_10ci'
    _category                    molecule
    _type                        char
    _definition
;              Specifies the short and systematic names for the molecule 
               described within the data block or save frame. 
               Data names can have the suffixes:
                 iupac    IUPAC name (Pure Appl. Chem. 1971, 28, 1-110  & The
                            Notation of Organic Chemistry, Oxford, Perg. 1979)
                 cas_8ci  Chemical Abstracts 8th Collective Index
                 cas_9ci  Chemical Abstracts 9th Collective Index
                 cas_10ci Chemical Abstracts 10th Collective Index
;

data_reference_
    loop_ _name                '_reference_conformation' 
                               '_reference_stereo_group' 
    _category                    reference
    _list                        yes
    _list_mandatory              yes
    _type                        char
    _definition
;              Identifies the save frames containing specific categories of
               data which have been specified with a _define_ data value.
               Character strings must be frame reference pointers starting 
               with a $ character.
;

data_stereo_geometry
    _name                      '_stereo_geometry'      
    _category                    stereo
    _type                        char
    _list                        yes
    _list_reference            '_stereo_centre_id'
    loop_ _enumeration           
          _enumeration_detail    square      '4 atoms in square'
                                 olefin      '4 atoms in rectangle'
                                 allene      '4 atoms in distorted tetrahedon'
                                 tetrahedron '4 atoms in regular tetrahedron'
                                 squ-pyramid '5 atoms in square pyramid'
                                 trig-bipyra '5 atoms in trigonal bipyramid'
                                 octahedron  '6 atoms in octahedron'
                                 cube        '8 atoms in cube'
    _definition
;              Specifies the geometry of the stereocentre being described. 
               Note that the enumeration values are not descriptions of the 
               chemical entities just the stereo geometry. Thus, the stereo-
               chemistry of hindered biphenyls may conform to the ALLENE 
               geometry, though they are not chemically allenes.
;

data_stereo_centre_id
    _name                      '_stereo_centre_id'    
    _category                    stereo
    _type                        numb
    _list                        yes
    _list_level                  2
    _list_mandatory              yes
    _list_link_parent          '_atom_id'
    _enumeration_range           1:
    _definition
;              Specifies the identity of the atom sites at the centre
               of the stereo set.
;

data_stereo_vertex_id
    _name                      '_stereo_vertex_id' 
    _category                    stereo_vertex
    _type                        numb
    _list                        yes
    _list_level                  2
    _list_mandatory              yes
    _list_link_parent          '_atom_id'
    _enumeration_range           1:
    _definition
;              Specifies the identity of atom sites at the vertices of the 
               stereogenic centre.
               Where one or more of the vertices in the specified geometry
               corresponds to an implicit hydrogen atom or unshared
               electron pair, the value "." may be used.
;

#eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof-eof
