###########################################################################
#
# File:  mmcif_em.dic
# Date:  Mon Aug 16 07:18:26 EDT 2021
#
# Created from files in CVS module dict-mmcif_em.dic unless noted:
#        mmcif_em-header.dic   
#        mmcif_em-data.dic   
#        mmcif_em-def-1.dic   
#        mmcif_em-def-ilg.dic   
#
###########################################################################
 
 

###########################################################################
#
# File:  mmcif_em-header.dic                                             
# 
#               PDB Extension Dictionary for 3-Dimensional
#                          Electron Microscopy                
#
#     This dictionary supplements the contents of the mmCIF data dictionary 
#     with additional data items that may be required to represent 
#     structure and experimental data produced by 3-dimensional electron
#     microscopy experiments.
#
#     Extensions are based on community suggestions and encoded by
#     Richard Newman and Kim Henrick at the Molecular Structure Database 
#     (MSD) Group/EBI and John Westbrook at PDB RCSB.
#     
#                                                                           
#                                                                           
#                               Header Section 
#                                                                           
##############################################################################

data_mmcif_em.dic

    _datablock.id                          mmcif_em.dic
    _datablock.description
;
     This data block holds the mmCIF data definitions with extensions
     for 3-dimensional electron microscopy.

     This dictionary incorporates the recommendations of a 2004 Cryo-EM 
     Workshop - http://rcsb-cryo-em-development.rutgers.edu/workshop/participant.html.

     The content of this dictionary has largely been incorporated into the
     wwPDB Exchange Dictionary.   Further development of 3DEM data definitions
     has been done within the wwPDB dictionary.
;

    _dictionary.title           mmcif_em.dic
    _dictionary.datablock_id    mmcif_em.dic
    _dictionary.version         0.015
#
     loop_
    _dictionary_history.version
    _dictionary_history.update
    _dictionary_history.revision
   0.001  2001-09-21
;
 Initial version.
;
   0.002  2004-04-15
; Changes: (jdw)
   + Added partitioning and dictionary revision history.
   + Fix syntax errors in category examples.
   + Added missing units.
;
   0.003  2004-10-10
; Changes: (jdw)
   + Adjust enumerations
;
   0.004  2004-11-03
; Changes:
   + Reflects revisions from EM Workshop Oct 2004. 
;
   0.005  2004-12-04
; Changes:
   + Added em_electron_diffraction, em_electron_diffraction_phasing, and 
     em_electron_diffraction_pattern
   + Miscellaneous corrections.
;
   0.006  2005-06-01
; Changes: (jdw)
  + Add category groups
  + Add changes proposed by EM Workshop participants.
;
   0.007  2005-06-09
; Changes: (jdw)
  + Reorganize em_sample_description_group
  + Reorganize em_data_collection_group
  + Reorganize em_image_selection_group
  + Detailed particle list categories temporarily removed from this version.
;
   0.008  2005-06-09
; Changes: (jdw)
  + revise category keys in em_image_selection group
;
   0.009  2005-07-13
; Changes: (jdw)
  + Added Cathy Lawson's revised definitions and examples.
;
   0.010  2005-07-28
; Changes: (jdw)
  + Implemented changes recommended by Wah Chiu, Matt Baker, and Cathy Lawson.
;

   0.011  2005-07-29
; Changes: (jdw)
  + Corrections to v0.010
  + Implemented changes recommended by Bridget Carragher and Ron Milligan
;
   0.012  2005-08-23
; Changes: (jdw)
  + Remove non-ascii characters from description text.  
;
   0.013  2005-10-14
; Changes: (jdw)
  + Remove more special characters from enumerations.  
  + Renamed iims -> em
;
   0.014  2007-11-19
; Changes: (jdw/cl)
  + update example for category em_array_formation
  + miscellaneous corrections
;
   0.015  2013-1018
;  Changes (jdw):
   + Dictionary description updated.
;
### EOF mmcif_em-header.dic
###########################################################################
#
# File:  mmcif_em-data.dic                                             
# 
#               PDB Extension Dictionary for 3-Dimensional
#                          Electron Microscopy                
#
#                           Data Section 
# 
#                                                                        
###########################################################################



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

     loop_
    _sub_category.id
    _sub_category.description
              'cartesian_coordinate'
;              The collection of x, y, and z components of a position specified
               with reference 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 reference to a
               Cartesian (orthogonal angstrom) coordinate system.
;
              'fractional_coordinate'
;              The collection of x, y, and z components of a position specified
               with reference 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 reference to unit cell
               directions.
;
              'matrix'
;              The collection of elements of a matrix.
;
               miller_index
;              The collection of h, k, and l components of 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.
;
              'em_group'   .   
; Categories that belong to the Electron Microscopy dictionary.
;
              'em_sample_description_group'   .   
; Categories that belong to the Electron Microscopy sample description.
;
              'em_biochemical_preparation_group'   .   
; Categories that belong to the Electron Microscopy sample preparation.
;
              'em_specimen_preparation_group'   .   
; Categories that belong to the Electron Microscopy specimen preparation.
;
              'em_data_collection_group'   .   
; Categories that belong to the Electron Microscopy data collection.
;
              'em_image_selection_group'   .   
; Categories that describing the selection of Electron Microscopy images.
;
              'em_reconstruction_group'   .   
; Categories that belong to the Electron Microscopy image reconstruction.
;
              'em_structure_analysis_group'   .   
; Categories that belong to the Electron Microscopy structure analysis.
;
              'em_map_group'   .   
; Categories that belong to the Electron Microscopy map description.
;
              'em_tomography_group'   .   
; Categories that belong to the Electron Microscopy tomography.
;
              'em_single_particle_group'   .   
; Categories that describe the properties of single particles in EM studies.
;
              'em_helical_group'   .   
; Categories that describe the properties of helical particles in EM studies.
;
              'em_2D_crystal_group'   .   
; Categories that describe the properties of 2D crystals in EM studies.
;

####################
## 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. 
#
#                                                                            
# 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.                                       
#                                                                            
##############################################################################

     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 take the form n_klm, where n refers to the
               symmetry operation that is applied to the coordinates in the
               ATOM_SITE category identified by _atom_site_label.  It must
               match a number given in _symmetry_equiv_pos_site_id.

               k, l, and m refer to the translations that are subsequently
               applied to the symmetry transformed coordinates to generate
               the atom used.  These translations (x,y,z) are related to
               (k,l,m) by
                     k = 5 + x
                     l = 5 + y
                     m = 5 + z
               By adding 5 to the translations, the use of negative numbers
               is avoided.
;
               atcode      char
               '[][ _(),.;:"&<>/\{}'`~!@#$%?+=*A-Za-z0-9|^-]*'
;              Character data type for atom names  ...
;
#####################
## 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.
;
#
     'megadaltons'            'megadaltons'
     'daltons'                'daltons'
     'microns_squared'        'microns squared'
     'microns'                'microns'
#     'millimeters'            'millimeters'
     'electrons_angstrom_squared'   'electrons square angstrom'
     'electron_volts'         'electron volts'
     'millimolar'             'millimolar'
     'mg_per_ml'              'milligram per milliliter'

     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
###
 
### EOF mmcif_em-data.dic
##########################################################################
#
# File:  mmcif_em-def-1.dic                                             
# 
#               PDB Extension Dictionary for 3-Dimensional
#                          Electron Microscopy                
#
#                           Definition Section v1
#                            
#                                                                        
###########################################################################




###############
## EM_ENTRY  ##
###############

save_em_entry
    _category.description
;  The EM_ENTRY category records a unique identifier for the 
   data block describing an EM experiment.
;
    _category.id                  em_entry
    _category.mandatory_code      yes
    _category_key.name           '_em_entry.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
     save_

save__em_entry.id
    _item_description.description
;  The value of _em_entry.id identifies the data block.
   Note that this item need not be a number; it can be any unique
   identifier.
;
    _item.name                   '_em_entry.id'
    _item.category_id            em_entry
    _item.mandatory_code         yes
    _item_type.code              code
    _item_examples.case          RDV2
     save_
#
############
# EM_EXPTL #
############

save_em_exptl
    _category.description
;   Data items in the em_assembly category record basic information 
    about the method used to produce the EM map.
;
    _category.id                  em_exptl
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_exptl.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
   'based on PDB entry 1DGI'  
;
  _em_exptl.entry_id                 1DGI
  _em_exptl.reconstruction_method    'SINGLE PARTICLE'
  _em_exptl.resolution_published     22.0  
;
    save_

save__em_exptl.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_exptl.entry_id'
    _item.category_id            em_exptl
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_exptl.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_exptl.reconstruction_method
    _item_description.description
;    A description of the method used in the EM experiment 
     to generate the map.
      
     SINGLE PARTICLE: reconstruction of asymmetric particles or
     particles with point symmetry, e.g., ribosome, GroEL, 
     icosahedral phage

     FILAMENT: reconstruction of particles with helical symmetry,
     e.g., filamentous phage, helical acetylcholine receptor crystal

     2D CRYSTAL: reconstruction of a 2D lattice, e.g., aquoporin 
     crystal, bacteriorhodopsin crystal

     3D CRYSTAL: reconstruction of a 3D lattice, e.g., yeast 
     peroxisome crystal, acrosomal bundle

     INDIVIDUAL STRUCTURE (TOMOGRAM): reconstruction of a single object,
     e.g., bacterial cell, desmosomal knot

     MULTIPLE SELECTION: multiple methods used.
;
    _item.name               '_em_exptl.reconstruction_method'
    _item.category_id        em_exptl
    _item.mandatory_code     yes
    _item_type.code          line
     loop_
    _item_enumeration.value
        'SINGLE PARTICLE' 
        'FILAMENT' 
        '2D CRYSTAL' 
        '3D CRYSTAL' 
        'INDIVIDUAL STRUCTURE' 
        'MULTIPLE SELECTION' 
      save_


save__em_exptl.resolution_high
    _item_description.description
;    The author determined highest resolution
     of the reconstruction
;
    _item.name                   '_em_exptl.resolution_high'
    _item.category_id            em_exptl
    _item.mandatory_code         no
    _item_type.code              float
    _item_units.code             angstroms
      save_


save__em_exptl.resolution_low
    _item_description.description
;    The author determined lowest resolution
     of the reconstruction
;
    _item.name                   '_em_exptl.resolution_low'
    _item.category_id            em_exptl
    _item.mandatory_code         no
    _item_type.code              float
    _item_units.code             angstroms
      save_


save__em_exptl.resolution_published
    _item_description.description
;    The author determined resolution of the reconstruction
;
    _item.name                   '_em_exptl.resolution_published'
    _item.category_id            em_exptl
    _item.mandatory_code         yes
    _item_type.code              float
    _item_units.code             angstroms
      save_



#################
## EM_ASSEMBLY ##
#################


save_em_assembly
    _category.description
;   Data items in the em_assembly category record basic information 
    about the assembly represented by the EM map.
;
    _category.id                  em_assembly
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_assembly.id'
                                 '_em_assembly.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
   'based on PDB entry 1DGI'  
;
  _em_assembly.id                    1 
  _em_assembly.entry_id              1DGI
  _em_assembly.name                 'Poliovirus-CD155'
  _em_assembly.composition          'virus-receptor complex'
  _em_assembly.num_components        2
  _em_assembly.array                 no
  _em_assembly.superstructure        no
;
   'based on PDB entry 2BG9'  
;
  _em_assembly.id                    1 
  _em_assembly.entry_id              2BG9
  _em_assembly.name                 'Acetylcholine receptor, Torpedo postsynaptic membrane'
  _em_assembly.composition          'integral membrane receptor'
  _em_assembly.num_components        1
  _em_assembly.array                 yes
  _em_assembly.superstructure        yes
;
    save_
  
save__em_assembly.id
    _item_description.description
;    The value of _em_assembly.id must uniquely identify
     the EM experiment.
;
    _item.name                   '_em_assembly.id'
    _item.category_id            em_assembly
    _item.mandatory_code         yes 
    _item_type.code              code
    _item_linked.child_name      '_em_entity_assembly.assembly_id'
    _item_linked.parent_name     '_em_assembly.id'
     save_

save__em_assembly.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_assembly.entry_id'
    _item.category_id            em_assembly
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_assembly.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_assembly.name
    _item_description.description
;    The name of the biological assembly
;
    _item.name                   '_em_assembly.name'
    _item.category_id            em_assembly
    _item.mandatory_code         yes
    _item_type.code              line
     loop_
    _item_examples.case
      'helical crystals of acetylcholine receptor'  
      'poliovirus - CD155 receptor complex'
      save_

save__em_assembly.composition
    _item_description.description
;    The known composition of the sample.
;
    _item.name                   '_em_assembly.composition'
    _item.category_id            em_assembly
    _item.mandatory_code         no
    _item_type.code              line
      save_

save__em_assembly.details
    _item_description.description
;    Any additional details about the assembly.
;
    _item.name                   '_em_assembly.details'
    _item.category_id            em_assembly
    _item.mandatory_code         no
    _item_type.code              text
     save_


#--- next 3 items required to dynamically generate web input pages first
#


save__em_assembly.num_components
    _item_description.description
;    The number of components of the biological assembly.
;
    _item.name                   '_em_assembly.num_components'
    _item.category_id            em_assembly
    _item.mandatory_code         no
    _item_type.code              int
      save_

save__em_assembly.array
    _item_description.description
;    A flag to indicate whether the imaged assembly 
     is part of a regular array, e.g, a 2D or helical crystal.
;
    _item.name                   '_em_assembly.array'
    _item.category_id            em_assembly
    _item.mandatory_code         no
    _item_type.code              line
    loop_
    _item_enumeration.value
         YES  
         NO
     save_

save__em_assembly.superstructure
    _item_description.description
;    A flag to indicate whether the imaged assembly 
     is part of a larger structure, e.g., a membrane, virus, or cell.
;
    _item.name                   '_em_assembly.superstructure'
    _item.category_id            em_assembly
    _item.mandatory_code         no
    _item_type.code              line
   loop_
    _item_enumeration.value
         YES  
         NO
      save_



########################
## EM_ENTITY_ASSEMBLY ##
########################

save_em_entity_assembly
    _category.description
;    The EM_ENTITY_ASSEMBLY category defines a hierarchy-independent 
     list of assemblies relevant to the EM experiment.
     
     The recommended convention is that the imaged assembly, defined 
     in the category EM_ASSEMBLY, is listed first.
 
     Components, arrays and superstructures of the assembly  
     are also described. 
   
     The hierarchy independence enables descriptions of
     symmetry, sample preparation, particle selection, and map masks
     at multiple levels.
;
    _category.id                  em_entity_assembly
    _category.mandatory_code      no
     loop_
    _category_key.name          
                                '_em_entity_assembly.id'

     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
 'based on PDB entry 1DGI'
; 
 loop_
_em_entity_assembly.id  		
_em_entity_assembly.assembly_id
_em_entity_assembly.type 
_em_entity_assembly.symmetry_type       	
_em_entity_assembly.name  	
1 1 'COMPLEX ASSEMBLY' 'point symmetry' 'poliovirus-CD155 complex' 
2 1 VIRUS 'point symmetry' 'poliovirus' 
3 1 PROTEIN 'asymmetric' 'CD155 receptor'  
;
'based on PDB entry 2BG9'
;
 loop_
_em_entity_assembly.id  		
_em_entity_assembly.assembly_id     
_em_entity_assembly.type 
_em_entity_assembly.symmetry_type       	
_em_entity_assembly.name       	
1 1 PROTEIN 'asymmetric' 'acetylcholine receptor' 
2 1 MEMBRANE . 'torpedo post-synaptic membrane' 
3 1 ARRAY    'helical' 'helical crystal' 
;
     save_

save__em_entity_assembly.id
    _item_description.description
;    The value of _em_entity_assembly.id must uniquely identify
     the assembly, component, or superstructure.
;    _item.name                         '_em_entity_assembly.id'
    _item.category_id                   em_entity_assembly    
    _item.mandatory_code                yes  
    _item_type.code                     code
         save_

save__em_entity_assembly.assembly_id
    _item_description.description
;    This data item is a pointer to _em_assembly.id in the
     em_assembly category.  
;
    _item.name                   '_em_entity_assembly.assembly_id'
    _item.category_id            em_entity_assembly
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_entity_assembly.assembly_id'  
    _item_linked.parent_name     '_em_assembly.id'
      save_

save__em_entity_assembly.type
    _item_description.description
;    A description of the biological structure type of 
     the assembly, component, or superstructure.  
     
     For assemblies containing multiple components,
     use 'COMPLEX ASSEMBLY'.
;
    _item.name                   '_em_entity_assembly.type'
    _item.category_id            em_entity_assembly
    _item.mandatory_code         no
    _item_type.code              line
     loop_
    _item_enumeration.value
        'COMPLEX ASSEMBLY'
        ARRAY
        CELL
        MEMBRANE  
        'CELLULAR COMPONENT'
        VIRUS
        PROTEIN
        'NUCLEIC ACID'
        LIPID
        CARBOHYDRATE
        LIGAND
        LABEL
        OTHER 
      save_

save__em_entity_assembly.symmetry_type
    _item_description.description
;    The type of symmetry of the assembly, component or superstructure.        
;
    _item.name                   '_em_entity_assembly.symmetry_type'
    _item.category_id            em_entity_assembly
    _item.mandatory_code         no
    _item_type.code              line
     loop_
    _item_enumeration.value
    _item_enumeration.detail
       asymmetric  'object with no internal symmetry'
       'point' 'point symmetry object'
       helical 'helix/filament' 
       2D      '2D crystal'
       3D      '3D crystal'
       save_


save__em_entity_assembly.go_id
    _item_description.description
; The Gene Ontology (GO) identifier for the component.
  The GO id is the appropriate identifier used by the Gene Ontology
  Consortium. Reference: Nature Genetics vol 25:25-29 (2000).
;
    _item.name                  '_em_entity_assembly.go_id'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
           'GO:0005876'
           'GO:0015630'
     save_

save__em_entity_assembly.ipr_id
    _item_description.description
;  The InterPro (IPR) identifier for the component.
   The IPR id is the appropriate identifier used by the Interpro Resource.
   Reference: Nucleic Acid Research vol 29(1):37-40(2001).
;
    _item.name                  '_em_entity_assembly.ipr_id'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
              '001304'
              '002353'
     save_

save__em_entity_assembly.name
    _item_description.description
;   The name of the component of the observed assembly.
;
    _item.name                  '_em_entity_assembly.name'
    _item.category_id           em_entity_assembly
    _item.mandatory_code        no
    _item_type.code             text
     save_


save__em_entity_assembly.synonym
    _item_description.description
;             Alternative name of the component.
;
    _item.name                  '_em_entity_assembly.synonym'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'FADV-1'
     save_


save__em_entity_assembly.details
    _item_description.description
;   Additional details about the component.
;
    _item.name                  '_em_entity_assembly.details'
    _item.category_id           em_entity_assembly
    _item.mandatory_code        no
    _item_type.code             text
     save_


save__em_entity_assembly.pdbx_organism_scientific
    _item_description.description
;   The species of the natural organism from which the component
    was obtained.
;
    _item.name                  '_em_entity_assembly.pdbx_organism_scientific'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
    _item_aliases.alias_name     '_em_entity_assembly.ebi_organism_scientific'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0

     save_

save__em_entity_assembly.pdbx_organism_common
    _item_description.description
;   The common name of the species of the natural organism from which 
    the component was obtained.
;
    _item.name                  '_em_entity_assembly.pdbx_organism_common'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
    _item_aliases.alias_name     '_em_entity_assembly.ebi_organism_common'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0

     save_

save__em_entity_assembly.pdbx_strain
    _item_description.description
;    The strain of the natural organism from which the component was
      obtained, if relevant.
;
    _item.name                  '_em_entity_assembly.pdbx_strain'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          
               'DH5a'
               'BMH 71-18'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_strain'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0

     save_

save__em_entity_assembly.pdbx_tissue
    _item_description.description
;  The tissue of the natural organism from which the component was
   obtained.
;
    _item.name                  '_em_entity_assembly.pdbx_tissue'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          
              'heart'
              'liver'
              'eye lens'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_tissue'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0

     save_

save__em_entity_assembly.pdbx_cell
    _item_description.description
;              The cell from which the component was
               obtained.
;
    _item.name                  '_em_entity_assembly.pdbx_cell'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          
         'CHO'
         'HELA'
         '3T3'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_cell'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0

     save_



save__em_entity_assembly.pdbx_organelle
    _item_description.description
;   The organelle from which the component was
    obtained.
;
    _item.name                  '_em_entity_assembly.pdbx_organelle'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          
               'golgi'
               'mitochondrion'
               'cytoskeleton'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_organelle'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0

     save_

save__em_entity_assembly.pdbx_cellular_location
    _item_description.description
;   The cellular location of the component.
;
    _item.name                  '_em_entity_assembly.pdbx_cellular_location'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case          
           'cytoplasm'
           'endoplasmic reticulum'
           'plasma membrane'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_cellular_location'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0
     save_

save__em_entity_assembly.pdbx_engineered
    _item_description.description
;    A flag to indicate whether the component is engineered.
;
    _item.name                  '_em_entity_assembly.pdbx_engineered'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
                YES
                NO
    _item_aliases.alias_name     '_em_entity_assembly.ebi_engineered'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0
     save_

save__em_entity_assembly.pdbx_expression_system
    _item_description.description
;   The expression system used to produce the component.
;
    _item.name                  '_em_entity_assembly.pdbx_expression_system'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
            'eschericia coli'
            'saccharomyces cerevisiae'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_expression_system'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0
     save_

save__em_entity_assembly.pdbx_expression_system_plasmid
    _item_description.description
;   The plasmid used in the expression system used to produce the component.
;
    _item.name                  '_em_entity_assembly.pdbx_expression_system_plasmid'
    _item.category_id             em_entity_assembly
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
           'pBR322'
           'pMB9'
    _item_aliases.alias_name     '_em_entity_assembly.ebi_expression_system_plasmid'
    _item_aliases.dictionary     'mmcif_iims.dic'
    _item_aliases.version        1.0
     save_



#############################
## EM_ENTITY_ASSEMBLY_LIST ##
#############################

save_em_entity_assembly_list
    _category.description
;    Data items in the  EM_ENTITY_ASSEMBLY_LIST category record details
     of the molecular entities within the assembly.
;   
    _category.id                  em_entity_assembly_list
    _category.mandatory_code      no
     loop_
    _category_key.name          
                                '_em_entity_assembly_list.assembly_id'
                                '_em_entity_assembly_list.id'
                                '_em_entity_assembly_list.entity_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
   'based on PDB entry 1DGI'
; 
   loop_
   _em_entity_assembly_list.id
   _em_entity_assembly_list.assembly_id
   _em_entity_assembly_list.entity_id
   _em_entity_assembly_list.number_of_copies
    VP1       1 1 60
    VP2       1 2 60
    VP3       1 3 60
    VP4       1 4 60
    CD155frag 1 5 60
;
'based on PDB entry 2BG9'
;
 loop_
   _em_entity_assembly_list.id
   _em_entity_assembly_list.assembly_id
   _em_entity_assembly_list.entity_id
   _em_entity_assembly_list.number_of_copies
     alpha   1  1  2
     beta    1  2  1
     gamma   1  3  1
     delta   1  4  1
;


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__em_entity_assembly_list.id 
    _item_description.description
;    The value of _em_entity_assembly_list.id must uniquely identify
     the component.
;
    _item.name                '_em_entity_assembly_list.id'        
    _item.category_id             em_entity_assembly_list
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__em_entity_assembly_list.entity_id
    _item_description.description
;    A pointer to entity id.
;
    _item.name                   '_em_entity_assembly_list.entity_id'  
    _item.category_id            em_entity_assembly_list
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_entity_assembly_list.entity_id'
    _item_linked.parent_name     '_entity.id'
     save_

save__em_entity_assembly_list.assembly_id
    _item_description.description
;    This data item is a pointer to _em_assembly.id in
     the EM_ASSEMBLY category.
;
    _item.name                   '_em_entity_assembly_list.assembly_id'
    _item.category_id              em_entity_assembly_list
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name      '_em_entity_assembly_list.assembly_id'
    _item_linked.parent_name     '_em_assembly.id'
     save_


save__em_entity_assembly_list.details
    _item_description.description
;    The oligomeric state of the entity.
;
    _item.name                   '_em_entity_assembly_list.details'
    _item.category_id              em_entity_assembly_list
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_entity_assembly_list.number_of_copies
    _item_description.description
;    The number of copies of the entity within the assembly.
;
    _item.name                   '_em_entity_assembly_list.number_of_copies'
    _item.category_id              em_entity_assembly_list
    _item.mandatory_code           no
    _item_type.code                int
      save_

save__em_entity_assembly_list.mol_wt
    _item_description.description
;    The value (in daltons) of the molecular weight of each component
     of the assembly determined by _em_entity_assembly_list.mol_wt_method.
;
    _item.name                   '_em_entity_assembly_list.mol_wt'
    _item.category_id            em_entity_assembly_list
    _item.mandatory_code         no
    _item_type.code              float
    _item_units.code             daltons
      save_


save__em_entity_assembly_list.mol_wt_method
    _item_description.description
;    The method used in determining
     the molecular weight.
;
    _item.name                   '_em_entity_assembly_list.mol_wt_method'
    _item.category_id            em_entity_assembly_list
    _item.mandatory_code         no
    _item_type.code              text
    save_



###############################
## EM_ENTITY_ASSEMBLY_MOL_WT ##
###############################

save_em_entity_assembly_mol_wt
    _category.description
;    Data items in the  EM_ENTITY_ASSEMBLY_MOL_WT category record details
     of the molecular weight of structural elements in each component.
;   
    _category.id                  em_entity_assembly_mol_wt
    _category.mandatory_code      no
     loop_
    _category_key.name          '_em_entity_assembly_mol_wt.id'
                                '_em_entity_assembly_mol_wt.entity_assembly_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - microtubule
; 
; 
   loop_
   _em_entity_assembly_mol_wt.id
   _em_entity_assembly_mol_wt.entity_assembly_id
   _em_entity_assembly_mol_wt.mol_wt
   _em_entity_assembly_mol_wt.mol_wt_method
   _em_entity_assembly_mol_wt.details
    1  1 12000 Calculated 'predicted from gene sequence'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__em_entity_assembly_mol_wt.entity_assembly_id 
    _item_description.description
;    The value of _em_entity_assembly_mol_wt.entity_assembly_id identifies
     a component defined in the EM_ENTITY_ASSEMBLY category.  This is a pointer to 
     _em_entity_assembly.id.
;
    _item.name                   '_em_entity_assembly_mol_wt.entity_assembly_id'        
    _item.category_id             em_entity_assembly_mol_wt
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name     '_em_entity_assembly_mol_wt.entity_assembly_id'
    _item_linked.parent_name    '_em_entity_assembly.id'
     save_


save__em_entity_assembly_mol_wt.id 
    _item_description.description
;    The value of _em_entity_assembly_mol_wt.id must uniquely identify
     the molecular weight value provided for each component.  
;
    _item.name                '_em_entity_assembly_mol_wt.id'        
    _item.category_id             em_entity_assembly_mol_wt
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name     '_em_entity_assembly_mol_wt.id'
    _item_linked.parent_name    '_em_entity_assembly_list.id'
     save_

save__em_entity_assembly_mol_wt.mol_wt
    _item_description.description
;    The value (in megadaltons) of the experimentally
     determined molecular weight of each component
     of the assembly.
;
    _item.name                   '_em_entity_assembly_mol_wt.mol_wt'
    _item.category_id            em_entity_assembly_mol_wt
    _item.mandatory_code         no
    _item_type.code              float
    _item_units.code             megadaltons
      save_

save__em_entity_assembly_mol_wt.mol_wt_method
    _item_description.description
;    The method used to determine the molecular weight.
;
    _item.name                   '_em_entity_assembly_mol_wt.mol_wt_method'
    _item.category_id            em_entity_assembly_mol_wt
    _item.mandatory_code         no
    _item_type.code              line
     loop_
    _item_enumeration.value
       'calculated'
       'SDS-PAGE'
       'size exclusion'
       'mass spectrometry'
       'STEM'
       'other'
    save_

save__em_entity_assembly_mol_wt.details
    _item_description.description
;    Details of the method used to determine the molecular weight.
;
    _item.name                   '_em_entity_assembly_mol_wt.details'
    _item.category_id            em_entity_assembly_mol_wt
    _item.mandatory_code         no
    _item_type.code              text
   _item_examples.case      
; Scanning Transmission Electron Microscopy Mass Measurement-- PM28 
  isoforms solubilized in OTG were adsorbed for 1 min to glow discharged 
  thin carbon films supported by a thick fenestrated carbon layer (directly 
  after cation-exchange chromatography). The gold-plated copper grids were 
  then washed on 8 drops of quartz double-distilled water and were 
  freeze-dried at -80C overnight in the microscope. For mass analysis, 
  annular dark-field images were recorded in a STEM (VG-HB5) at 80 kV 
  and doses of 325 +/- 35 electrons/nm2. Digital acquisition of the images 
  and microscope parameters, system calibration, and mass analysis were 
  carried out as described previously. The total experimental error was 
  calculated as the standard error of the mean, plus 5% of the measured 
  particle mass to account for the absolute calibration uncertainty. 
;
    save_
##

###############################
## EM_ENTITY_ASSEMBLY_MOL_WT ##
###############################

save_em_entity_assembly_mol_wt
    _category.description
;    Data items in the  EM_ENTITY_ASSEMBLY_MOL_WT category record details
     of the molecular weight of structural elements in each component.
;   
    _category.id                  em_entity_assembly_mol_wt
    _category.mandatory_code      no
     loop_
    _category_key.name          '_em_entity_assembly_mol_wt.id'
                                '_em_entity_assembly_mol_wt.entity_assembly_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - microtubule
; 
; 
   loop_
   _em_entity_assembly_mol_wt.id
   _em_entity_assembly_mol_wt.entity_assembly_id
   _em_entity_assembly_mol_wt.mol_wt
   _em_entity_assembly_mol_wt.mol_wt_method
   _em_entity_assembly_mol_wt.details
    1  1 12000 Calculated 'predicted from gene sequence'
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__em_entity_assembly_mol_wt.entity_assembly_id 
    _item_description.description
;    The value of _em_entity_assembly_mol_wt.entity_assembly_id identifies
     a component in the EM_ENTITY_ASSEMBLY category.  This is a pointer to 
     _em_entity_assembly.id.
;
    _item.name                   '_em_entity_assembly_mol_wt.entity_assembly_id'        
    _item.category_id             em_entity_assembly_mol_wt
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name     '_em_entity_assembly_mol_wt.entity_assembly_id'
    _item_linked.parent_name    '_em_entity_assembly.id'
     save_


save__em_entity_assembly_mol_wt.id 
    _item_description.description
;    The value of _em_entity_assembly_mol_wt.id must uniquely identifies
     the molecular weight value provided for each component.  
;
    _item.name                '_em_entity_assembly_mol_wt.id'        
    _item.category_id             em_entity_assembly_mol_wt
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name     '_em_entity_assembly_mol_wt.id'
    _item_linked.parent_name    '_em_entity_assembly_list.id'
     save_

save__em_entity_assembly_mol_wt.mol_wt
    _item_description.description
;    The value (in megadaltons) of the experimentally
     determined molecular weight of each component
     of the assembly.
;
    _item.name                   '_em_entity_assembly_mol_wt.mol_wt'
    _item.category_id            em_entity_assembly_mol_wt
    _item.mandatory_code         no
    _item_type.code              float
    _item_units.code             megadaltons
      save_

save__em_entity_assembly_mol_wt.mol_wt_method
    _item_description.description
;    The method used to determine the molecular weight.
;
    _item.name                   '_em_entity_assembly_mol_wt.mol_wt_method'
    _item.category_id            em_entity_assembly_mol_wt
    _item.mandatory_code         no
    _item_type.code              line
     loop_
    _item_enumeration.value
       'calculated'
       'SDS-PAGE'
       'size exclusion'
       'mass spectrometry'
       'STEM'
       'other'
    save_

save__em_entity_assembly_mol_wt.details
    _item_description.description
;    Details of the method used to determine the molecular weight.
;
    _item.name                   '_em_entity_assembly_mol_wt.details'
    _item.category_id            em_entity_assembly_mol_wt
    _item.mandatory_code         no
    _item_type.code              text
   _item_examples.case      
; Scanning Transmission Electron Microscopy Mass Measurement-- PM28 
  isoforms solubilized in OTG were adsorbed for 1 min to glow discharged 
  thin carbon films supported by a thick fenestrated carbon layer (directly 
  after cation-exchange chromatography). The gold-plated copper grids were 
  then washed on 8 drops of quartz double-distilled water and were 
  freeze-dried at -80C overnight in the microscope. For mass analysis, 
  annular dark-field images were recorded in a STEM (VG-HB5) at 80 kV 
  and doses of 325 +/- 35 electrons/nm2. Digital acquisition of the images 
  and microscope parameters, system calibration, and mass analysis were 
  carried out as described previously. The total experimental error was 
  calculated as the standard error of the mean, plus 5% of the measured 
  particle mass to account for the absolute calibration uncertainty. 
;
    save_



#####################
## EM_VIRUS_ENTITY ##
#####################

save_em_virus_entity
    _category.description
;   Data items in the EM_VIRUS_ENTITY category record details
    of a virus component.
;   
    _category.id                  em_virus_entity
    _category.mandatory_code      no
     loop_
    _category_key.name          
                                '_em_virus_entity.id'
                                '_em_virus_entity.entity_assembly_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
; Example 1 - based on PDB entry 1DYL and laboratory records for the
             structure corresponding to PDB entry 1DYL
; 
;  loop_
   _em_virus_entity.id
   _em_virus_entity.entity_assembly_id
   _em_virus_entity.virus_host_category
   _em_virus_entity.virus_host_species
   _em_virus_entity.virus_type
   _em_virus_entity.virus_isolate
   _em_virus_entity.ictvdb_id
   _em_virus_entity.enveloped
   _em_virus_entity.empty
   1 1  'VERTERBRATES' 'HOMO SAPIENS' 'VIRUS' 'STRAIN'  '00.073.0.01.023'  'YES' 'NO'
;
     save_

save__em_virus_entity.id
    _item_description.description
;   The value of _em_virus_entity.id must uniquely identify
     a set of the filament parameters for this assembly component.   
;
    _item.name                   '_em_virus_entity.id'
    _item.category_id             em_virus_entity
    _item.mandatory_code          yes
    _item_type.code               code
      save_


save__em_virus_entity.entity_assembly_id
    _item_description.description
;    The value of _em_virus_entity.entity_assembly_id identifies
     a particular assembly component.

     This data item is a pointer to _em_entity_assembly.id in the 
     EM_ENTITY_ASSEMBLY category.
;
    _item.name                   '_em_virus_entity.entity_assembly_id'
    _item.category_id              em_virus_entity
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name      '_em_virus_entity.entity_assembly_id'
    _item_linked.parent_name     '_em_entity_assembly.id'
      save_

save__em_virus_entity.virus_host_category
    _item_description.description
;   The host category description for the virus.
;
    _item.name                  '_em_virus_entity.virus_host_category'
    _item.category_id             em_virus_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
        ALGAE   
        ARCHAEA  
        'BACTERIA(EUBACTERIA)'
        FUNGI
        INVERTEBRATES
        'PLANTAE (HIGHER PLANTS)'
        PROTOZOA
        VERTEBRATES
     save_

save__em_virus_entity.virus_host_species
    _item_description.description
;  The host species from which the virus was isolated.
;
    _item.name                  '_em_virus_entity.virus_host_species'
    _item.category_id             em_virus_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
          'homo sapiens'
          'gallus gallus'
     save_

save__em_virus_entity.virus_host_growth_cell
    _item_description.description
;   The host cell from which the virus was isolated.
;
    _item.name                  '_em_virus_entity.virus_host_growth_cell'
    _item.category_id             em_virus_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
           'HELA'
           'CHO'
     save_


save__em_virus_entity.virus_type
    _item_description.description
;   The type of virus.
;
    _item.name                  '_em_virus_entity.virus_type'
    _item.category_id             em_virus_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
        VIRION
        SATELLITE 
        PRION
        VIROID
        'VIRUS-LIKE PARTICLE'
     save_

save__em_virus_entity.virus_isolate
    _item_description.description
;   The isolate from which the virus was obtained.
;
    _item.name                  '_em_virus_entity.virus_isolate'
    _item.category_id             em_virus_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case 
        'STRAIN HIV-1'  
        'SEROTYPE A'

     save_

save__em_virus_entity.ictvdb_id
    _item_description.description
;     The International Committee on Taxonomy of Viruses
      (ICTV) Taxon Identifier is the Virus Code used throughout the
      ICTV database (ICTVdb). The ICTVdb id is the appropriate
      identifier used by the International Committee on Taxonomy of Viruses
      Resource. Reference: Virus Taxonomy, Academic Press (1999).
      ISBN:0123702003.
      http://www.ncbi.nlm.nih.gov/ICTVdb/
;
    _item.name                  '_em_virus_entity.ictvdb_id'
    _item.category_id             em_virus_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_examples.case          
           '01.0.2.0.001'
           '01.0.2.0.002'
     save_

save__em_virus_entity.enveloped
    _item_description.description
;    Flag to indicate if the virus is enveloped or not.
;
    _item.name                   '_em_virus_entity.enveloped'
    _item.category_id              em_virus_entity
    _item.mandatory_code           no
    _item_type.code                line
     loop_
    _item_enumeration.value
        YES
        NO
      save_

save__em_virus_entity.empty
    _item_description.description
;  Flag to indicate if the virus is empty or not.
;
    _item.name                   '_em_virus_entity.empty'
    _item.category_id              em_virus_entity
    _item.mandatory_code           no
    _item_type.code                line
    loop_
    _item_enumeration.value
        YES
        NO
      save_


##########################
## EM_VIRUS_SHELLS ##
##########################

save_em_virus_shells
    _category.description
;   Data items in the EM_VIRUS_SHELLS category record details
    of the viral shell number, diameter of each shell and triangulation 
    number of an icoshedral virus.
;
    _category.id                  em_virus_shells
    _category.mandatory_code      no
     loop_
    _category_key.name          
                                '_em_virus_shells.virus_entity_id'
                                '_em_virus_shells.id'
     loop_
    _category_group.id           
                             'inclusive_group'
                             'em_group'
                             'em_sample_description_group'
     loop_
    _category_examples.detail
    _category_examples.case
; Example 1 - based on PDB entry 1DYL and laboratory records for the
             structure corresponding to PDB entry 1DYL
; 
;  loop_
   _em_virus_shells.virus_entity_id
   _em_virus_shells.id
   _em_virus_shells.shell_diameter
   _em_virus_shells.triangulation_num
     1 1 400 4
;
     save_

save__em_virus_shells.virus_entity_id
    _item_description.description
;    The value of _em_virus_shells.virus_entity_id is
     a pointer to _em_virus_entity.id in the VIRUS_ENTITY
     category.
;
    _item.name                   '_em_virus_shells.virus_entity_id'
    _item.category_id              em_virus_shells
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name       '_em_virus_shells.virus_entity_id'
    _item_linked.parent_name      '_em_virus_entity.id'
      save_


save__em_virus_shells.id
    _item_description.description
;    The value of _em_em_virus_shells.id must uniquely identify
     the number and diameter of each virus protein shell and its
     triangulation number.
;
    _item.name                   '_em_virus_shells.id'
    _item.category_id              em_virus_shells
    _item.mandatory_code           yes
    _item_type.code                code
      save_

save__em_virus_shells.shell_diameter
    _item_description.description
;   The value of the diameter (in angstroms) for each
    protein shell of the virus.     
;
    _item.name                   '_em_virus_shells.shell_diameter'
    _item.category_id              em_virus_shells
    _item.mandatory_code           no
    _item_type.code                float
    _item_units.code               angstroms
      save_

save__em_virus_shells.triangulation_num
    _item_description.description
;   The triangulation number (T number) refers to the organisation 
    of the virus geometry. figure.

    It is given by the following relationship:
    T= h*2 + hk +k*2,  where h and k are positive integers that
    define the position of the five-fold vertex on the original 
    hexagonal net.
;
    _item.name                   '_em_virus_shells.triangulation_num'
    _item.category_id              em_virus_shells
    _item.mandatory_code           no
    _item_type.code                int
     loop_
    _item_examples.case            4 131 1

   save_

#######################
#  EM_HELICAL_ENTITY  #
#######################

save_em_helical_entity
    _category.description
;   Data items in the EM_HELICAL_ENTITY category record details
    for a helical or filament type of assembly component.
;
    _category.id                  em_helical_entity
    _category.mandatory_code      yes
     loop_
    _category_key.name          
                                '_em_helical_entity.id'
                                '_em_helical_entity.entity_assembly_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
                                 'em_helical_group'
     save_

save__em_helical_entity.id
    _item_description.description
;    The value of _em_helical_entity.id must uniquely identify
     a set of the filament parameters for this assembly component.
;
    _item.name                   '_em_helical_entity.id'
    _item.category_id            em_helical_entity
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_helical_entity.entity_assembly_id
    _item_description.description
;    The value of _em_helical_entity.entity_assembly_id
     identifies a particular assembly component. 

     This data item is a pointer to _entity_assembly.id
     in the EM_ENTITY_ASSEMBLY category.
;
    _item.name                   '_em_helical_entity.entity_assembly_id'
    _item.category_id            em_helical_entity
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_helical_entity.entity_assembly_id'
    _item_linked.parent_name     '_em_entity_assembly.id'
      save_

save__em_helical_entity.details
    _item_description.description
;    General details on the filaments studied
;
    _item.name                   '_em_helical_entity.details'
    _item.category_id            em_helical_entity
    _item.mandatory_code         no
    _item_type.code              text
      save_

#save__em_helical_entity.delta_phi
#    _item_description.description
#;    The value for delta Phi to describe the repeat
#     parameters for a set of filaments
#;
#    _item.name                   '_em_helical_entity.delta_phi'
#    _item.category_id            em_helical_entity
#    _item.mandatory_code         no
#    _item_type.code              float
#      save_

#save__em_helical_entity.delta_z
#    _item_description.description
#;    The value for delta Z to describe the repeat
#     parameters for a set of filaments
#;
#    _item.name                   '_em_helical_entity.delta_z'
#   _item.category_id            em_helical_entity
#    _item.mandatory_code         no
#    _item_type.code              float
#      save_

save__em_helical_entity.dyad
    _item_description.description
;    The value for the dyad to describe the repeat
     parameters for a set of filaments
;
    _item.name                   '_em_helical_entity.dyad'
    _item.category_id            em_helical_entity
    _item.mandatory_code         no
    _item_type.code              line
      save_

save__em_helical_entity.axial_symmetry
    _item_description.description
;    A description of the filament axial symmetry
     observed
;
    _item.name                   '_em_helical_entity.axial_symmetry'
    _item.category_id            em_helical_entity
    _item.mandatory_code         no
    _item_type.code              text
      save_

#save__em_helical_entity.helical_family
#    _item_description.description
#;    The helical family of tubes used in the 3d reconstruction for 
#     the helical assembly. The indices that characterise individual
#     helical families are determined by the numbers of the two
#     principal lines (helices) required to fill 360 degrees of azimuth.
#     Each family of tubes gives rise to a distinct
#     diffraction pattern determined by the number of principal 1,0 and
#     0,1 helical lines around the tube circumference and by the 
#     orientation of the surface lattice. Diffraction patterns from the 
#     images of the helical tubes consist of closely spaced lines of 
#     continuous intensity called layer-lines running perpendicular to 
#     the tube axis. Within a helical family of tubes the layer-line 
#     positions can also vary slightly, leading to a range of tube types
#     characterised by a particular helical selection rule.
#;
#    _item.name                   '_em_helical_entity.helical_family'
#    _item.category_id              em_helical_entity
#    _item.mandatory_code           no
#    _item_type.code                line
#      save_

#save__em_helical_entity.helical_pitch
#    _item_description.description
#;    The helical pitch of tubes used in the 3d reconstruction for 
#     the helical assembly.
#;
#    _item.name                   '_em_helical_entity.helical_pitch'
#    _item.category_id              em_helical_entity
#    _item.mandatory_code           no
#    _item_type.code                line
#      save_

save__em_helical_entity.angular_rotation_per_subunit
    _item_description.description
;    The angular rotation per helical subunit. 
;
    _item.name                   '_em_helical_entity.angular_rotation_per_subunit'
    _item.category_id              em_helical_entity
    _item.mandatory_code           no
    _item_type.code               float
    _item_units.code              degrees
      save_

save__em_helical_entity.axial_rise_per_subunit
    _item_description.description
;    The axial rise per subunit in the helical assembly.
;
    _item.name                   '_em_helical_entity.axial_rise_per_subunit'
    _item.category_id              em_helical_entity
    _item.mandatory_code           no
    _item_type.code                float
    _item_units.code               'angstroms'
      save_

##########################
## EM_2D_CRYSTAL_ENTITY ##
##########################

save_em_2d_crystal_entity
    _category.description
;          Data items in the EM_2D_CRYSTAL_ENTITY category record 
           the symmetry details of a 2D crystal assembly component.  
           
;
    _category.id                  em_2d_crystal_entity
    _category.mandatory_code      no
     loop_
    _category_key.name          
                                 '_em_2d_crystal_entity.id'
                                 '_em_2d_crystal_entity.entity_assembly_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
                                 'em_2D_crystal_group'

    save_


save__em_2d_crystal_entity.id
    _item_description.description
;   The value of _em_2d_crystal_entity.id must uniquely identify
     a set of the crystal parameters for this assembly component.   
;
    _item.name                   '_em_2d_crystal_entity.id'
    _item.category_id             em_2d_crystal_entity
    _item.mandatory_code          yes
    _item_type.code               code
      save_

save__em_2d_crystal_entity.entity_assembly_id
    _item_description.description
;    The value of _em_2d_crystal_entity.entity_assembly_id identifies
     an assembly component with 2d crystal symmetry.

     This data item is a pointer to _em_entity_assembly.id in the 
     EM_ENTITY_ASSEMBLY category.
;
    _item.name                  '_em_2d_crystal_entity.entity_assembly_id'
    _item.category_id             em_2d_crystal_entity
    _item.mandatory_code          yes
    _item_type.code              code
    _item_linked.child_name      '_em_2d_crystal_entity.entity_assembly_id'
    _item_linked.parent_name     '_em_entity_assembly.id'
     save_

save__em_2d_crystal_entity.length_a
    _item_description.description
;      Unit-cell length a corresponding to the structure reported, in Angstroms.
;
    _item.name                  '_em_2d_crystal_entity.length_a'
    _item.category_id             em_2d_crystal_entity
    _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__em_2d_crystal_entity.length_b
    _item_description.description
;      Unit-cell length b corresponding to the structure reported, in Angstroms.
;
    _item.name                  '_em_2d_crystal_entity.length_b'
    _item.category_id             em_2d_crystal_entity
    _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__em_2d_crystal_entity.angle_gamma
    _item_description.description
;      Unit-cell angle gamma of the reported structure, in degrees. 
;
    _item.name                  '_em_2d_crystal_entity.angle_gamma'
    _item.category_id             em_2d_crystal_entity
    _item.mandatory_code          no
    _item_default.value           90.0
     loop_
    _item_range.maximum           
    _item_range.minimum           180.0   180.0
                                  180.0     0.0
                                    0.0     0.0
    _item_type.code               float
    _item_units.code              degrees
     save_


save__em_2d_crystal_entity.thickness
    _item_description.description
;              The thickness of the crystal sample in the out-of-plane 
               direction.
;
    _item.name                  '_em_2d_crystal_entity.thickness'
    _item.category_id             em_2d_crystal_entity
    _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__em_2d_crystal_entity.space_group_name_H-M
    _item_description.description
;     The 17 plane groups are classified as oblique, rectangular, square, and hexagonal. 
      To describe 2D crystals of biological molecules, 
      the plane groups are expanded to their equivalent noncentrosymmetric space groups.
      The space group setting is chosen such that the 2D crystal plane 
      corresponds to the 'ab' plane of the space group. 
      .   
      Enumerated space group descriptions include the H-M plane group symbol 
      and plane group class. 
;
    _item.name                  '_em_2d_crystal_entity.space_group_name_H-M'
    _item.category_id             em_2d_crystal_entity
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
    _item_enumeration.detail
        'P 1'         'p1,   oblique'
        'P 1 1 2'     'p2,   oblique, 2-fold perpendicular to plane'       
        'P 1 2 1'     'pm,   rectangular, 2-fold on b axis'
        'P 1 21 1'    'pg,   rectangular, 2(1)screw on b axis'   
        'C 1 2 1'     'cm,   rectangular'    
        'P 2 2 2'     '2mm,  rectangular'
        'P 21 2 2'    'p2mg, rectangular'
        'P 21 21 2'   'p2gg, rectangular'
        'C 2 2 2'     'c2mm, rectangular'
        'P 4'         'p4,   square'
        'P 4 2 2'     'p4mm, square'
        'P 4 21 2'    'p4gm, square'
        'P 3'         'p3,   hexagonal'
        'P 3 1 2'     'p3m1, hexagonal'
        'P 3 2 1'     'p31m, hexagonal'
        'P 6'         'p6,   hexagonal'
        'P 6 2 2'     'p6mm, hexagonal'
      save_


save__em_2d_crystal_entity.Int_Tables_number
    _item_description.description
;              Space-group number from International Tables for Crystallography,
               Vol. A (1987).
;
    _item.name                  '_em_2d_crystal_entity.Int_Tables_number'
    _item.category_id             em_2d_crystal_entity
    _item.mandatory_code          no
    _item_type.code               int
     save_


save__em_2d_crystal_entity.details
    _item_description.description
;    Additional details describing this 2D crystal component
;
    _item.name                   '_em_2d_crystal_entity.details'
    _item.category_id            em_2d_crystal_entity
    _item.mandatory_code         no
    _item_type.code              text
   save_



##############################
# EM_SINGLE_PARTICLE_ENTITY  #
##############################

save_em_single_particle_entity
    _category.description
;   Data items in the EM_SINGLE_PARTICLE_ENTITY category record details
    for a single particle assembly component.
;
    _category.id                  em_single_particle_entity
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_single_particle_entity.id'
                                 '_em_single_particle_entity.entity_assembly_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_sample_description_group'
                                 'em_single_particle_group'
     save_

save__em_single_particle_entity.id
    _item_description.description
;   The value of _em_single_particle_entity.id must uniquely identify
     a set of the single particle parameters for this assembly component.   
;
    _item.name                   '_em_single_particle_entity.id'
    _item.category_id             em_single_particle_entity
    _item.mandatory_code          yes
    _item_type.code               code
      save_

save__em_single_particle_entity.entity_assembly_id
    _item_description.description
;    The value of _em_single_particle_entity.entity_assembly_id identifies
     a particular assembly component.

     This data item is a pointer to _em_entity_assembly.id in the 
     EM_ENTITY_ASSEMBLY category.
;
    _item.name                  '_em_single_particle_entity.entity_assembly_id'
    _item.category_id             em_single_particle_entity
    _item.mandatory_code          yes
    _item_type.code              code
    _item_linked.child_name      '_em_single_particle_entity.entity_assembly_id'
    _item_linked.parent_name     '_em_entity_assembly.id'
     save_


save__em_single_particle_entity.point_group_symmetry
    _item_description.description
;    The point group symmetry of the single particle
;
    _item.name                   '_em_single_particle_entity.point_group_symmetry'
    _item.category_id            em_single_particle_entity
    _item.mandatory_code         no
    _item_type.code              line
      save_


save__em_single_particle_entity.details
    _item_description.description
;    Additional details describing the single particle
;
    _item.name                   '_em_single_particle_entity.details'
    _item.category_id            em_single_particle_entity
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_single_particle_entity.point_group_symmetry
    _item_description.description
;    The point group symmetry of the single particle
     provided as the Schoenflies symbol. 

     Descriptions for the Schoenflies symbols list
     the equivalent short Hermann-Mauguin symbols.

     For circular (Cn) and dihedral (Dn) point groups with
     n > 8, provide the value for n in related data item
     _em_single_particle_entity.point_group_symmetry_n.   
;
    _item.name                   '_em_single_particle_entity.point_group_symmetry'
    _item.category_id            em_single_particle_entity
    _item.mandatory_code         no
    _item_type.code              line
   loop_
   _item_enumeration.value 
   _item_enumeration.detail
     C1       'asymmetric         1'
     C2       'circular           2'
     C3       'circular           3'
     C4       'circular           4'
     C5       'circular           5'
     C6       'circular           6'
     C7       'circular           7'
     C8       'circular           8'
     Cn       'circular           n  (n > 8)'
     D2       'dihedral           222'
     D3       'dihedral           32'
     D4       'dihedral           422'
     D5       'dihedral           52'
     D6       'dihedral           622'
     D7       'dihedral           72'
     D8       'dihedral           822'
     Dn       'dihedral           n2 or n22 (n > 8)'
     T        'tetrahedral        23'
     O        'octahedral(cubic)  432'
     I        'icosahedral        235'
      save_

save__em_single_particle_entity.point_group_symmetry_n
    _item_description.description
;    n value for circular and dihedral 
     point group symmetries (n > 8).
;
    _item.name                   '_em_single_particle_entity.point_group_symmetry_n'
    _item.category_id            em_single_particle_entity
    _item.mandatory_code         no
    _item_type.code              int
    _item_range.maximum         .
    _item_range.minimum         8
      save_



###########################
## EM_SAMPLE_PREPARATION ##
###########################

save_em_sample_preparation
    _category.description
;   Data items in the EM_SAMPLE_PREPARATION category
    record details of sample conditions prior to loading
    onto grid support.
;
    _category.id                  em_sample_preparation
    _category.mandatory_code      no
    loop_
    _category_key.name           
                         '_em_sample_preparation.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_biochemical_preparation_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
  _em_sample_preparation.id                         1
  _em_sample_preparation.entity_assembly_id                1
  _em_sample_preparation.pH                         7.6
  _em_sample_preparation.solution_id                1
  _em_sample_preparation.sample_concentration       5
  _em_sample_preparation.array_formation_id         .
  _em_sample_preparation.support.id                 1
;
     save_

#save__em_sample_preparation.pdb_entry_id
#   _item_description.description
#;  This data item is a pointer to _entry.id in the ENTRY category.
#;
#    _item.name                   '_em_sample_preparation.pdb_entry_id'
#    _item.category_id              em_sample_preparation
#    _item.mandatory_code           yes
#    _item_type.code                code
#    _item_linked.child_name     '_em_sample_preparation.pdb_entry_id'
#    _item_linked.parent_name    '_entry.id'
#     save_


save__em_sample_preparation.entity_assembly_id
   _item_description.description
;  This data item is a pointer to _entity_assembly.id in the 
   entity_assembly category.
;
    _item.name                   '_em_sample_preparation.entity_assembly_id'
    _item.category_id              em_sample_preparation
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_sample_preparation.entity_assembly_id'
    _item_linked.parent_name    '_em_entity_assembly.id'
     save_

save__em_sample_preparation.id
    _item_description.description
;   The value of _em_sample_preparation.id must
    uniquely identify the sample preparation.
;
    _item.name                  '_em_sample_preparation.id'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          yes
    _item_type.code               code
        save_

save__em_sample_preparation.details
    _item_description.description
;   Details on the sample preparation
;
    _item.name                  '_em_sample_preparation.details'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case     
    _item_examples.detail
    1          
; Selectively stained by injection of horseradish peroxidase, 
  embedded in Spurr's resin and cut into 2-3 um thick sections. 
;
    2
; Enzyme Preparations. S. cerevisiae PDC was purified to near homogeneity 
  from baker's yeast by modification of a published procedure. Highly 
  purified E1 was obtained by resolution of PDC with 2 M NaCl at pH 7.3 
  followed by FPLC on a Superdex 200 column. The weight-average molecular 
  weight of the PDC was determined by light scattering measurement to be 
  ~8 x 106. On the basis of the known molecular weight of the complex and 
  its component enzymes and the experimentally determined polypeptide chain 
  ratios of E2/BP/E3, we estimated that the subunit composition of the 
  S. cerevisiae PDC is ~24 E1 tetramers, 60 E2 monomers, 12 BP monomers, 
  and 8 E3 dimers. Sufficient E1 was added to a sample of the PDC 
  preparation to increase the molar ratio of E1/E2 core to 60:1. 
  This product is designated larger PDC or ~60 E1/E2 core PDC
;
    3
;  embedment in vitreous ice. 
;
    4
;   Detergent-solubilized particles eluted from the cation-exchange 
    column were directly adsorbed for 1 min to parlodion carbon-coated 
    copper grids rendered hydrophilic by glow discharge at low pressure 
    in air. Grids were washed with 4 drops of double-distilled water 
    and stained with 2 drops of 0.75% uranyl formate. Images were recorded 
    on Eastman Kodak Co. SO-163 sheet film with a Hitachi H-7000 
    electron microscope operated at 100 kV. Electron micrographs of 
    single particles adsorbed to the carbon film were digitized using 
    a Leafscan-45 scanner (Leaf Systems, Inc., Westborough, MA). 
;
        save_


save__em_sample_preparation.pH
    _item_description.description
;   The pH value of the observed sample buffer.
;
    _item.name                  '_em_sample_preparation.pH'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          yes
    _item_type.code               float
     save_

save__em_sample_preparation.solution_id
    _item_description.description
;   This data item is a pointer to _em_solution_composition.id in the
    EM_SOLUTION_COMPOSITION category.
;
    _item.name                  '_em_sample_preparation.solution_id'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          no
    _item_type.code               code
    _item_linked.child_name     '_em_sample_preparation.solution_id'
    _item_linked.parent_name    '_em_solution_composition.id'
         save_


save__em_sample_preparation.sample_concentration
    _item_description.description
;   The value of the concentration (mg/mL for mg per milliliter)
    of the complex in the sample.
;
    _item.name                  '_em_sample_preparation.sample_concentration'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          yes
    _item_type.code               float
    _item_units.code              mg_per_ml
     save_


save__em_sample_preparation.array_formation_id
    _item_description.description
;  This data item is a pointer to _em_array_formation.id
   in the ARRAY_FORMATION category.
;
    _item.name                  '_em_sample_preparation.array_formation_id'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          no
    _item_type.code               code
     save_
   


save__em_sample_preparation.support_id
    _item_description.description
;   This data item is a pointer to _em_sample_support.id
    in the EM_SAMPLE_SUPPORT category.
;
    _item.name                  '_em_sample_preparation.support_id'
    _item.category_id             em_sample_preparation
    _item.mandatory_code          no
    _item_type.code               code
    _item_linked.child_name     '_em_sample_preparation.support_id'  
    _item_linked.parent_name    '_em_sample_support.id'
     save_


#######################
## EM_SAMPLE_SUPPORT ##
#######################

save_em_sample_support
    _category.description
;   Data items in the EM_SAMPLE_SUPPORT category record details
    of the electron microscope grid type, grid support film and pretreatment
    of whole before sample is applied
;
    _category.id                  em_sample_support
    _category.mandatory_code      no
    _category_key.name           '_em_sample_support.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_biochemical_preparation_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
   _em_sample_support.id               1
   _em_sample_support.film_material    'HOLEY CARBON'
   _em_sample_support.method           .
   _em_sample_support.grid_material    COPPER
   _em_sample_support.grid_mesh_size   400
   _em_sample_support.grid_type        MESH
   _em_sample_support.pretreatment     'GLOW DISCHARGE'
   _em_sample_support.details          .
   _em_sample_support.citation_id      2
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__em_sample_support.id
    _item_description.description
;    The value of _em_sample_support.id must uniquely identify
     the sample support.
;
    _item.name                  '_em_sample_support.id'
    _item.category_id             em_sample_support
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__em_sample_support.film_material
    _item_description.description
;   The support material covering the em grid.
;
    _item.name                  '_em_sample_support.film_material'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
         CARBON
         'FORMVAR PLUS CARBON'
         'CELLULOSE ACETATE PLUS CARBON'
         'PARLODION PLUS CARBON'
         'HOLEY CARBON'
         QUANTAFOIL
         OTHER
     save_

save__em_sample_support.method
    _item_description.description
;   A description of the method used to produce the support film.
;
    _item.name                  '_em_sample_support.method'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case       '1% formvar in chloroform cast on distilled water'
     save_

save__em_sample_support.grid_material
    _item_description.description
;   The name of the material from which the grid is made.
;
    _item.name                  '_em_sample_support.grid_material'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
        COPPER
        COPPER/PALLADIUM
        COPPER/RHODIUM
        GOLD
        NICKEL
        PLATINUM
        TUNGSTEN
        TITANIUM
        MOLYBDENUM
     save_

save__em_sample_support.grid_mesh_size
    _item_description.description
;   The value of the mesh size (per inch) of the em grid.
;
    _item.name                  '_em_sample_support.grid_mesh_size'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               int
    _item_examples.case           400
     save_

save__em_sample_support.grid_type
    _item_description.description
;   A description of the grid type.
;
    _item.name                  '_em_sample_support.grid_type'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
        SLOT
        APERTURE
        DIAMOND
        HEXAGONAL
        MESH
     save_

save__em_sample_support.pretreatment
    _item_description.description
;   A description of the grid plus support film pretreatment. 
;
    _item.name                  '_em_sample_support.pretreatment'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case           'glow-discharged for 30 sec in argon'
     save_

save__em_sample_support.details
    _item_description.description
;   A description of any additional details concerning the sample support. 
;
    _item.name                  '_em_sample_support.details'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_type.code               text
     loop_
    _item_examples.case    
    _item_examples.detail 
     1         
     'This grid plus sample was kept at -170 deg C for a month before use'
     2
;    A 3-microliter sample of each PDC preparation (~0.35 mg/ml containing 
     20 microgram/ml bacitracin) was deposited, blotted, and quick-frozen 
     in liquid ethane on a glow-discharged carbon-coated holey grid. 
     The vitrified samples were recorded at ~1 micrometer under focus at 
     ~10 e/Angstroms-squared dose for image processing. A second exposure 
     of ~2-3 micrometer under focus was recorded and used as an aid 
     in analyzing the images with the focal pair method. The images were 
     recorded on Kodak SO 163 film at a nominal magnification of x50,000 
     in a JEOL JEM 1200 electron microscope operated at 100 kV.
;
     3
;   Orientation of 4300 Ribosome projections identified by 3D projection 
    matching using low resolution reference. (Penczek et al., 1994). 
    Reconstruction (SIRT) simultaneously performed CTF correction 
    (Zhu et al. submitted). 
;
    save_

save__em_sample_support.citation_id
    _item_description.description
;   This data item is a pointer to _citation.id
    in the CITATION category.
;
    _item.name                  '_em_sample_support.citation_id'
    _item.category_id             em_sample_support
    _item.mandatory_code          no
    _item_linked.child_name     '_em_sample_support.citation_id'
    _item_linked.parent_name    '_citation.id'
    _item_type.code               code
     save_

########################
## EM_ARRAY_FORMATION ##
########################

save_em_array_formation
    _category.description
;   Data items in the EM_ARRAY_FORMATION category
    record details of growth conditions for the array
    samples.
;
    _category.id                  em_array_formation
    _category.mandatory_code      no
     loop_
    _category_key.name            
                                  '_em_array_formation.id' 
                                  '_em_array_formation.type'

     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_biochemical_preparation_group'
                                 'em_2D_crystal_group'
                                 'em_helical_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1AT9 and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; _em_array_formation.id              1
  _em_array_formation.type            "2D-CRYSTAL"
  _em_array_formation.method          .
  _em_array_formation.apparatus       .
  _em_array_formation.atmosphere      'room air'
  _em_array_formation.pH              5.2
  _em_array_formation.temp            18
  _em_array_formation.time            .
  _em_array_formation.buffer_id       2
  _em_array_formation.details         'on grid'
  _em_array_formation.citation_id       2
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     save_

save__em_array_formation.id
    _item_description.description
;  The value of _em_array_formation.id
   must uniquely identify the sample.
;
    _item.name                  '_em_array_formation.id'
    _item.category_id             em_array_formation
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__em_array_formation.type
    _item_description.description
;  The value of _em_array_formation.type
   must identifies the type of array studied.
;
    _item.name                  '_em_array_formation.type'
    _item.category_id             em_array_formation
    _item.mandatory_code         yes
    _item_type.code              line
     loop_
    _item_enumeration.value
       'TUBE'
       '2D-CRYSTAL'
       '3D-CRYSTAL'
       'ICOSAHEDRON'
#       '2D-ARRAY'
#       '3D-ARRAY'
       'OTHER'
      save_

save__em_array_formation.method
    _item_description.description
;   The method used for growing the array. 
;
    _item.name                  '_em_array_formation.method'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'lipid monolayer'
     save_

save__em_array_formation.apparatus
    _item_description.description
;  The type of the apparatus used for growing the array. 
;
    _item.name                  '_em_array_formation.apparatus'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'Langmuir trough'
     save_

save__em_array_formation.atmosphere
    _item_description.description
;  The type of atmosphere in which arrays were grown. 
;
    _item.name                  '_em_array_formation.atmosphere'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case           'room air'
     save_

save__em_array_formation.pH
    _item_description.description
;   the pH value used for growing the array. 
;
    _item.name                  '_em_array_formation.pH'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               float
    _item_examples.case           4.7
     save_

save__em_array_formation.temp
    _item_description.description
;  The value of the temperature in degrees Kelvin used for
   growing the arrays. 
;
    _item.name                  '_em_array_formation.temp'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              kelvins
    _item_examples.case           293
     save_

save__em_array_formation.time
    _item_description.description
;   The length of time required to grow the array. 
;
    _item.name                  '_em_array_formation.time'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case           'approximately 2 days'
     save_

save__em_array_formation.solution_id
    _item_description.description
;   This data item is a pointer to _em_solution_composition.id in the
    EM_SOLUTION_COMPOSITION category.
;
    _item.name                  '_em_array_formation.solution_id'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               code
     save_

save__em_array_formation.details
    _item_description.description
;   Any additional items concerning array growth. 
;
    _item.name                  '_em_array_formation.details'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case 
; Two-dimensional Crystallization-- Purified protein (2 mg/ml) was mixed 
  with E. coli lipids solubilized in OTG (mixed micelles stock solution, 
  4 mg/ml E. coli lipids in 20 mM Mes-NaOH (pH 6), 5% OTG, 0.01% NaN3) 
  to achieve a lipid to protein ratio of 1 (w/w). The final protein 
  concentration was adjusted to 1.33 mg/ml, and the final OTG content 
  was adjusted to 1.93%. The reconstitution mixture (60 microliters) 
  was preincubated at room temperature for 30 min and dialyzed against 
  1.5 liters of 10 mM Mes-NaOH (pH 6), 100 mM NaCl, 100 mM MgCl2, 
  2 mM dithiothreitol, 0.01% NaN3 for 24 h at room temperature, 
  24 h at 37 C, and another 24 h at room temperature. 
;
    save_

#save__em_array_formation.number_2d_crystals
#    _item_description.description
#; The number of 2d crystals imaged. 
#;
#    _item.name                  '_em_array_formation.number_2d_crystals'
#    _item.category_id             em_array_formation
#    _item.mandatory_code          no
#    _item_type.code               int
#     save_

#save__em_array_formation.mean_2d_crystal_size
#    _item_description.description
#; The approximate size (microns squared) of 2d crystals imaged. 
#;
#    _item.name                  '_em_array_formation.mean_2d_crystal_size'
#    _item.category_id             em_array_formation
#    _item.mandatory_code          no
#    _item_type.code               float
#    _item_units.code               microns_squared
#     save_
#
save__em_array_formation.citation_id
    _item_description.description
;   This data item is a pointer to _citation.id
    in the CITATION category.
;
    _item.name                  '_em_array_formation.citation_id'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_linked.child_name     '_em_array_formation.citation_id'
    _item_linked.parent_name    '_citation.id'
    _item_type.code               code
     save_


save__em_array_formation.buffer_id
    _item_description.description
;   This data item is a pointer to _em_solution_composition.id.
;
    _item.name                  '_em_array_formation.buffer_id'
    _item.category_id             em_array_formation
    _item.mandatory_code          no
    _item_type.code               code
    _item_linked.child_name     '_em_array_formation.buffer_id'
    _item_linked.parent_name    '_em_solution_composition.id'
     save_


#############################
## EM_SOLUTION_COMPOSITION ##
#############################

save_em_solution_composition
    _category.description
;   Data items in the EM_SOLUTION_COMPOSITION category
    record details of the sample buffer. 
;
    _category.id                  em_solution_composition
    _category.mandatory_code      no
    _category_key.name           '_em_solution_composition.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_biochemical_preparation_group'
     save_

save__em_solution_composition.id
    _item_description.description
;  The value of _em_solution_composition.id must
   uniquely identify the sample solution conditions.
;
    _item.name                  '_em_solution_composition.id'
    _item.category_id             em_solution_composition
    _item.mandatory_code          yes
    _item_type.code               code


     save_

save__em_solution_composition.name
    _item_description.description
;  The name of the buffer. 
;
    _item.name                  '_em_solution_composition.name'
    _item.category_id             em_solution_composition
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'Acetic acid'
     save_

save__em_solution_composition.pH
    _item_description.description
;  The pH of the buffer. 
;
    _item.name                  '_em_solution_composition.pH'
    _item.category_id             em_solution_composition
    _item.mandatory_code          no
    _item_type.code               float
    _item_examples.case           6.93
     save_

save__em_solution_composition.details
    _item_description.description
;   Any additional details to do with buffer. 
;
    _item.name                  '_em_solution_composition.details'
    _item.category_id             em_solution_composition
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case           'aerated'
     save_





######################
## EM_VITRIFICATION ##
######################

save_em_vitrification
    _category.description
; Data items in the EM_VITRIFICATION category
  record details about the method and cryogen used in
  rapid freezing of the sample on the grid prior to its
  insertion in the electron microscope
;
    _category.id                  em_vitrification
    _category.mandatory_code      no
     loop_
    _category_key.name          
              '_em_vitrification.id'
              '_em_vitrification.entry_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_specimen_preparation_group'
     loop_
    _category_examples.detail
    _category_examples.case
; Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
  _em_vitrification.entry_id               1DYL
  _em_vitrification.id                     1
  _em_vitrification.sample_preparation_id  1
  _em_vitrification.cryogen_name           "ETHANE"
  _em_vitrification.humidity               90
  _em_vitrification.temp                   95
  _em_vitrification.instrument             .
  _em_vitrification.protocol               "PLUNGE VITRIFICATION"
  _em_vitrification.time_resolved_state    .
  _em_vitrification.citation_id            1
  _em_vitrification.details                
  ; SAMPLES WERE PREPARED AS THIN             
    LAYERS OF VITREOUS ICE AND                
    MAINTAINED AT NEAR LIQUID NITROGEN        
    TEMPERATURE IN THE ELECTRON MICROSCOPE    
    WITH A GATAN 626-0300 CRYOTRANSFER        
    HOLDER.                            
  ;
;
     save_

save__em_vitrification.entry_id
   _item_description.description
;  This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_vitrification.entry_id'
    _item.category_id              em_vitrification
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_vitrification.entry_id'
    _item_linked.parent_name    '_entry.id'
     save_

save__em_vitrification.id
    _item_description.description
;  The value of _em_vitrification.id must uniquely identify
   the vitrification procedure. 
;
    _item.name                  '_em_vitrification.id'
    _item.category_id             em_vitrification
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__em_vitrification.sample_preparation_id
    _item_description.description
; This data item is a pointer to _em_sample_preparation.id in the
  EM_SAMPLE_PREPARATION category.
;
    _item.name                  '_em_vitrification.sample_preparation_id'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               code
    _item_linked.child_name     '_em_vitrification.sample_preparation_id'
    _item_linked.parent_name    '_em_sample_preparation.id'
     save_

save__em_vitrification.cryogen_name
    _item_description.description
; This is the name of the cryogen.
;
    _item.name                  '_em_vitrification.cryogen_name'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
         HELIUM
         NITROGEN
         PROPANE
         ETHANE
         METHANE
         'FREON 22'
         'FREON 12'
     save_

save__em_vitrification.humidity
    _item_description.description
; The humidity (%) in the vicinity of the vitrification process. 
;  
    _item.name                  '_em_vitrification.humidity'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case           90
     save_

save__em_vitrification.temp
    _item_description.description
;  The temperature (in degrees Kelvin) at which vitrification took place. 
;
    _item.name                  '_em_vitrification.temp'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code               kelvins
    _item_examples.case            4.2
     save_

save__em_vitrification.instrument
    _item_description.description
; The type of instrument used in the vitrification process. 
;
    _item.name                  '_em_vitrification.instrument'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
        'REICHERT PLUNGER'
        LEICA
        GATAN
        VITROBOT
        HOME-MADE
     save_

save__em_vitrification.protocol
    _item_description.description
; The procedure for vitrification. 
;
    _item.name                  '_em_vitrification.protocol'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          'blot for 2 seconds before plunging'
     save_

save__em_vitrification.time_resolved_state
    _item_description.description
; The length of time after an event effecting the sample that
  vitrification was induced and a description of the event. 
;
    _item.name                  '_em_vitrification.time_resolved_state'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case           '30 msec after spraying with effector''
     save_

save__em_vitrification.citation_id
    _item_description.description
; This data item is a pointer to _citation.id in the
  CITATION category.
; 
    _item.name                  '_em_vitrification.citation_id'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               code
    _item_linked.child_name     '_em_vitrification.citation_id'
    _item_linked.parent_name    '_citation.id'
     save_

save__em_vitrification.details
    _item_description.description
;  Any additional details relating to vitrification.
;
    _item.name                  '_em_vitrification.details'
    _item.category_id             em_vitrification
    _item.mandatory_code          no
    _item_type.code               text
    _item_examples.case          'argon atmosphere'
     save_


################
## EM_IMAGING ##
################

save_em_imaging
    _category.description
;  Data items in the EM_IMAGING category record details about 
   the parameters used in imaging the sample in the electron microscope.
;
    _category.id                  em_imaging
    _category.mandatory_code      no
    loop_
    _category_key.name          
                                '_em_imaging.entry_id'
                                '_em_imaging.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
;  
   _em_imaging.entry_id               1DYL
   _em_imaging.id                     1
   _em_imaging.sample_support_id      1
   _em_imaging.microscope_id          1
   _em_imaging.specimen_holder_model  'gatan 626-0300'
   _em_imaging.details                .
   _em_imaging.accelerating_voltage   200
   _em_imaging.illumination_mode      'bright field'
   _em_imaging.mode                   'low dose'
   _em_imaging.nominal_cs             2.0
   _em_imaging.nominal_defocus_min    975
   _em_imaging.nominal_defocus_max    7600
   _em_imaging.tilt_angle_min         0
   _em_imaging.tilt_angle_max         0
   _em_imaging.nominal_magnification  50000
   _em_imaging.calibrated_magnification .
   _em_imaging.electron_dose          .
   _em_imaging.energy_filter          .
   _em_imaging.energy_window          .
   _em_imaging.citation_id            1
   _em_imaging.temperature            95
   _em_imaging.detector_distance      .
   _em_imaging.recording_temp_range   .
;
     save_

save__em_imaging.entry_id
   _item_description.description
;  This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_imaging.entry_id'
    _item.category_id              em_imaging
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_imaging.entry_id'
    _item_linked.parent_name    '_entry.id'
     save_


save__em_imaging.id
    _item_description.description
; The value of _em_imaging.id must uniquely identify
  each imaging experiment. 
;
    _item.name                  '_em_imaging.id'
    _item.category_id             em_imaging
    _item.mandatory_code          yes
    _item_type.code               code
     save_

save__em_imaging.detector_id
    _item_description.description
;   The value of _em_imaging.detector_id must uniquely identify
    the type of detector used in the experiment. 
;
    _item.name                  '_em_imaging.detector_id'
    _item.category_id             em_imaging
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name      '_em_imaging.detector_id'  
    _item_linked.parent_name     '_em_detector.id'
     save_

save__em_imaging.image_scanning_id
    _item_description.description
; The value of _em_imaging.image_scans_id identifies
  the scanning protocol used in the experiment.

  The item is a pointer to _em_image_scanning.id in category
  EM_IMAGE_SCANNING.  
;
    _item.name                  '_em_imaging.image_scanning_id'
    _item.category_id             em_imaging
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name      '_em_imaging.image_scanning_id'    
    _item_linked.parent_name     '_em_image_scanning.id'
     save_


save__em_imaging.microscope_id
    _item_description.description
;  A pointer to _em_microscope.id in the EM_MICROSCOPE category
;
    _item.name                  '_em_imaging.microscope_id'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               code
    _item_linked.child_name     '_em_imaging.microscope_id'
    _item_linked.parent_name    '_em_microscope.id'
    save_

save__em_imaging.sample_support_id
    _item_description.description
; This data item is a pointer to _em_sample_support.id in
  the EM_SAMPLE_SUPPORT category.
;
    _item.name                  '_em_imaging.sample_support_id'
    _item.category_id             em_imaging
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name      '_em_imaging.sample_support_id'  
    _item_linked.parent_name     '_em_sample_support.id'
     save_


save__em_imaging.mode
    _item_description.description
;  The mode of imaging. 
;
    _item.name                  '_em_imaging.mode'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
              'BRIGHT FIELD'
              'DARK FIELD'
              DIFFRACTION
              OTHER
     save_

save__em_imaging.accelerating_voltage
    _item_description.description
;  A value of accelerating voltage (in kV) used for imaging. 
;
    _item.name                  '_em_imaging.accelerating_voltage'
    _item.category_id             em_imaging
    _item.mandatory_code          yes
    _item_type.code               int
    _item_units.code              kilovolts
    _item_examples.case           300
     save_

save__em_imaging.illumination_mode
    _item_description.description
; The mode of illumination. 
;
    _item.name                  '_em_imaging.illumination_mode'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
              'FLOOD BEAM'
              'SPOT SCAN'
              OTHER
     save_

save__em_imaging.condenser_aperture_details
    _item_description.description
;    The details about the condenser aperture used including dimension,
     material, and treatment.
;
    _item.name                  '_em_imaging.condenser_aperture_details'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__em_imaging.spot_size
    _item_description.description
;    Description of the spot size as determined by the setting of the first
     condenser lens.  
;
    _item.name                  '_em_imaging.spot_size'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
     save_

#save__em_imaging.specimen_holder_type
#    _item_description.description
#; The type of specimen holder used during imaging. 
#;
#    _item.name                  '_em_imaging.specimen_holder_type'
#    _item.category_id             em_imaging
#    _item.mandatory_code          no
#    _item_type.code               line
#    _item_examples.case          'cryo'
#     save_


save__em_imaging.specimen_holder_model
    _item_description.description
; The name of the model of specimen holder used during imaging. 
;
    _item.name                  '_em_imaging.specimen_holder_model'
    _item.category_id             em_imaging
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_enumeration.value
            'GATAN HELIUM'
            'GATAN LIQUID NITROGEN'
'GATAN CT3500 CRYO-TRANSFER'
'GATAN CT3500TR TILT-ROTATE CRYO-TRANSFER'
'GATAN 626 CRYO-TRANSFER'
'GATAN 630 HIGH TILT TOMOGRAPHY'
'GATAN 910 MULTISPECIMEN HOLDER'
'GATAN 915 DOUBLE TILT HOLDER'
'GATAN SINGLE TILT ULTRA HIGH RESOLUTION NITROGEN COOLING HOLDER, UHRST 3500'
'GATAN DOUBLE TILT HIGH RESOLUTION NITROGEN COOLING HOLDER, CHDT 3504'
'GATAN SINGLE TILT HEATING / NITROGEN COOLING HOLDER, HC 3500'
'GATAN SINGLE TILT HIGH RESOLUTION HELIUM COOLING HOLDER, HCHST 3008'
'GATAN ULTRA LOW TEMPERATURE SINGLE TILT HELIUM COOLING HOLDER, ULTST'
'GATAN DOUBLE TILT HIGH RESOLUTION HELIUM COOLING HOLDER, HCHDT 3010'
'GATAN ULTRA LOW TEMPERATURE DOUBLE TILT HELIUM COOLING HOLDER, ULTDT'
'GATAN 677 FIB MULTIPLE SPECIMEN HOLDER'
'GATAN 912J HIGH TILT TOMOGRAPHY HOLDER FOR URP POLE PIECES'
'GATAN 912P HIGH TILT TOMOGRAPHY HOLDER FOR ULTRA-TWIN POLE PIECES'
'GATAN 914 NITROGEN COOLED CRYOTRANSFER TOMOGRAPHY HOLDER'
'GATAN 916 ROOM TEMPERATURE TOMOGRAPHY HOLDER'
'OXFORD CT3500P'
'FISCHIONE 2020 TOMOGRAPHY HOLDER'
'JEOL SPECIFIC'
'FEI SPECIFIC'
'HITACHI SPECIFIC'
'ZEISS SPECIFIC'
            OTHER
     save_

save__em_imaging.temperature
    _item_description.description
;    The mean specimen stage temperature (degrees Kelvin) during imaging
     in the microscope. 
;
    _item.name                  '_em_imaging.temperature'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code               kelvins
     save_

save__em_imaging.imaging_cryogen
    _item_description.description
;    The imaging cryogen used
;
    _item.name                  '_em_imaging.imaging_cryogen'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               line
     loop_
    _item_enumeration.value
              Helium
              Nitrogen
              OTHER
     save_

save__em_imaging.tilt_angle_min
    _item_description.description
;  The minimum angle at which the specimen was tilted to obtain
   recorded images.
;
    _item.name                  '_em_imaging.tilt_angle_min'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
    _item_examples.case          0
     save_

save__em_imaging.tilt_angle_max
    _item_description.description
;  The maximum angle at which the specimen was tilted to obtain
   recorded images.
;
    _item.name                  '_em_imaging.tilt_angle_max'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code              degrees
    _item_examples.case          60
     save_


save__em_imaging.electron_dose_range
    _item_description.description
; The electron dose range received by the specimen 
  (electrons per square angstrom). 
;
    _item.name                  '_em_imaging.electron_dose_range'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case           '0.9 - 1.1'
#    _item_related.related_name   '_em_imaging.electron_dose'
#    _item_related.function_code   alternate_exclusive
     save_

save__em_imaging.electron_dose_method
    _item_description.description
; The method used to determine the electron dose received by the specimen.
;
    _item.name                  '_em_imaging.electron_dose_method'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
     save_


save__em_imaging.nominal_defocus_min
    _item_description.description
;   The minimum defocus value of the objective lens (in nanometres) used
    to obtain the recorded images. 
;
    _item.name                  '_em_imaging.nominal_defocus_min'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code             nanometres
    _item_examples.case           975
     save_

save__em_imaging.nominal_defocus_max
    _item_description.description
;   The maximum defocus value of the objective lens (in nanometres) used
    to obtain the recorded images. 
;
    _item.name                  '_em_imaging.nominal_defocus_max'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code             nanometres
    _item_examples.case           7600
     save_

save__em_imaging.objective_aperture_details
    _item_description.description
;    Description of the objective aperture used including the dimension,
     material, and treatment.
;
    _item.name                  '_em_imaging.objective_aperture_details'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
     save_


save__em_imaging.selective_aperture
    _item_description.description
;    Description of the selective aperture used
;
    _item.name                  '_em_imaging.selective_aperture'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__em_imaging.diffraction_camera_length
    _item_description.description
;    The camera length (in millimetres). The camera length is the 
     product of the objective focal length and the combined magnification
     of the intermediate and projector lenses when the microscope is
     operated in the diffraction mode. 
;
    _item.name                  '_em_imaging.diffraction_camera_length'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code               millimetres
     save_

save__em_imaging.nominal_magnification
    _item_description.description
;  The magnification indicated by the microscope readout. 
;
    _item.name                  '_em_imaging.nominal_magnification'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               int
    _item_examples.case           60000
     save_

save__em_imaging.calibrated_magnification
    _item_description.description
;  The magnification value obtained for a known standard just
   prior to, during or just after the imaging experiment. 
;
    _item.name                  '_em_imaging.calibrated_magnification'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               int
    _item_examples.case          61200
     save_

save__em_imaging.calibrated_magnification_method
    _item_description.description
;  The method used to determine the calibrated magnification.
;
    _item.name                  '_em_imaging.calibrated_magnification_method'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
     save_

save__em_imaging.energy_filter
    _item_description.description
;   The type of energy filter spectrometer apparatus. 
;
    _item.name                  '_em_imaging.energy_filter'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               line
    _item_examples.case          'FEI'
     loop_
    _item_enumeration.value
     'FEI'
     'JEOL OMEGA'
     'GATAN GIF'
     'GATAN TRIDIEM'
     'ZEISS OMEGA'
     'ZEISS MANDOLINEN'
     'GATAN ENFINA'
     save_

### --??  Enumerated list with other  (post column, in column)

save__em_imaging.energy_window
    _item_description.description
;   The energy filter range in electron volts (eV)set by spectrometer. 
;
    _item.name                  '_em_imaging.energy_window'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               line
    _item_units.code              electron_volts
    _item_examples.case          '0 - 15'
     save_

save__em_imaging.citation_id
    _item_description.description
;    This data item is a pointer to _citation.id in
     the CITATION category.
;
    _item.name                  '_em_imaging.citation_id'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_linked.child_name     '_em_imaging.citation_id'
    _item_linked.parent_name    '_citation.id'
    _item_type.code              code
     save_



#save__em_imaging.recording_temperature_minimum
#    _item_description.description
#;    The specimen temperature minimum (degrees Kelvin) for the duration
#     of imaging. 
#;
#    _item.name                  '_em_imaging.recording_temperature_minimum'
#    _item.category_id             em_imaging
#    _item.mandatory_code          no
#    _item_type.code               float
#    _item_units.code               kelvins
#     save_
#
#save__em_imaging.recording_temperature_maximum
#    _item_description.description
#;    The specimen temperature maximum (degrees Kelvin) for the duration
#     of imaging. 
#;
#    _item.name                  '_em_imaging.recording_temperature_maximum'
#    _item.category_id             em_imaging
#    _item.mandatory_code          no
#    _item_type.code               float
#    _item_units.code               kelvins
#     save_
#



save__em_imaging.details
    _item_description.description
; Any additional imaging details. 
;
    _item.name                  '_em_imaging.details'
    _item.category_id             em_imaging
    _item.mandatory_code          no
    _item_type.code               text
    loop_
   _item_examples.case
   _item_examples.detail
   1
;  Tilt series for tomographic reconstruction was recorded 
   over a 124 degree angular range, using a 2 degree angular 
   interval, with a high voltage electron microscope. 
   Acceleration voltage = 1.0 MV. Em = AEI. 
   Alignment using gold markers and cross-correlation. 
   Reconstruction technique: Modified back-projection. 
   Direction of missing wedge: 
;
   2
;  All image processing steps described below were performed using the 
   Semper image processing system(Synoptics Ltd., Cambridge, United Kingdom). 
;
    save_



#################
## EM_DETECTOR ##
#################

save_em_detector
    _category.description
;  Data items in the EM_DETECTOR category record details
   of the image detector type.
;
    _category.id                  em_detector
    _category.mandatory_code      no
    loop_
    _category_key.name          
                     '_em_detector.entry_id'
                     '_em_detector.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
  _em_detector.entry_id                        1DYL
  _em_detector.id                             1
  _em_detector.type                           'FILM'
;
     save_



save__em_detector.entry_id
   _item_description.description
;   This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_detector.entry_id'
    _item.category_id              em_detector
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_detector.entry_id'
    _item_linked.parent_name    '_entry.id'
     save_

save__em_detector.id
    _item_description.description
;    The value of _em_detector.id must uniquely identify
     the detector used for imaging.     
;
    _item.name                   '_em_detector.id'
    _item.category_id              em_detector
    _item.mandatory_code           yes
    _item_type.code                code
    save_


save__em_detector.type
    _item_description.description
;    The detector type used for recording images. 
     Usually film or CCD camera.  
;
    _item.name                   '_em_detector.type'
    _item.category_id              em_detector
    _item.mandatory_code           no
    _item_type.code                line
     loop_
    _item_enumeration.value
          'FILM'
          'CCD'
          'OTHER'
     save_


######################
## EM_DETECTOR_FILM ##
######################

save_em_detector_film
    _category.description
;  Data items in the EM_DETECTOR_FILM category record details
   of the image detector type.
;
    _category.id                  em_detector_film
    _category.mandatory_code      no
    _category_key.name          '_em_detector_film.detector_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
  _em_detector_film.entry_id                        1DYL
  _em_detector_film.id                             1
  _em_detector_film.details                        .
  _em_detector_film.type                           'KODAK SO163 FILM'
;
     save_


save__em_detector_film.detector_id
    _item_description.description
;    The value of _em_detector_film.detector_id must uniquely identify
     the characteristics of the film detector.

     The value of _em_detector_film.detector_id is a pointer to 
     _em_detector.id in category EM_DETECTOR.
;
    _item.name                   '_em_detector_film.detector_id'
    _item.category_id              em_detector_film
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name       '_em_detector_film.detector_id'
    _item_linked.parent_name      '_em_detector.id'
    save_

save__em_detector_film.details
    _item_description.description
;    Any additional information about the detection system. 
;
    _item.name                   '_em_detector_film.details'
    _item.category_id              em_detector_film
    _item.mandatory_code           no
    _item_type.code                text
     save_

save__em_detector_film.film_type
    _item_description.description
;    The film type used for recording images. 
;
    _item.name                   '_em_detector_film.film_type'
    _item.category_id              em_detector_film
    _item.mandatory_code           no
    _item_type.code                line
     loop_
    _item_enumeration.value
          'KODAK SO163'
          'ILFORD ELECTRON MICROSCOPE FILM'
          'FUJI FG'
          'FUJI IP'
          'KODAK 4489'
          'AGFA SCIENTIA FILM 23D56'
          'OTHER'
     save_

#save__em_detector_film.pixel_size
#    _item_description.description
#;    The detector pixel size
#;
#    _item.name                   '_em_detector_film.pixel_size'
#    _item.category_id              em_detector_film
#    _item.mandatory_code           no
#    _item_type.code                line
#    save_

save__em_detector_film.film_processing_conditions
    _item_description.description
;    Description of film_processing_conditions
;
    _item.name                   '_em_detector_film.film_processing_conditions'
    _item.category_id              em_detector_film
    _item.mandatory_code           no
    _item_type.code                text
    save_



save__em_detector_film.dimension_x
    _item_description.description
;    The detector dimension in x
;
    _item.name                   '_em_detector_film.dimension_x'
    _item.category_id              em_detector_film
    _item.mandatory_code           no
    _item_type.code                int
     save_


save__em_detector_film.dimension_y
    _item_description.description
;    The detector dimension in y
;
    _item.name                   '_em_detector_film.dimension_y'
    _item.category_id              em_detector_film
    _item.mandatory_code           no
    _item_type.code                int
     save_


#####################
## EM_DETECTOR_CCD ##
#####################

save_em_detector_CCD
    _category.description
;  Data items in the EM_DETECTOR_CCD category record details
   of the CCD detector type.
;
    _category.id                  em_detector_CCD
    _category.mandatory_code      no
    _category_key.name          '_em_detector_CCD.detector_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - 
;
; 
  _em_detector_CCD.detector_id                    1
  _em_detector_CCD.details                        .
  _em_detector_CCD.type                           'PROSCAN'
;
     save_



save__em_detector_CCD.detector_id
    _item_description.description
;    The value of _em_detector_CCD.detector_id must uniquely identify
     the description of the CCD detector.

     The value of _em_detector_CCD.detector_id is a pointer to 
     _em_detector.id in category EM_DETECTOR.
;
    _item.name                   '_em_detector_CCD.detector_id'
    _item.category_id              em_detector_CCD
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name       '_em_detector_CCD.detector_id'
    _item_linked.parent_name      '_em_detector.id'
    save_

save__em_detector_CCD.details
    _item_description.description
;    Any additional information about the detection system. 
;
    _item.name                   '_em_detector_CCD.details'
    _item.category_id              em_detector_CCD
    _item.mandatory_code           no
    _item_type.code                text
     save_

save__em_detector_CCD.model
    _item_description.description
;    The CCD detector model used for recording images. 
;
    _item.name                   '_em_detector_CCD.model'
    _item.category_id              em_detector_CCD
    _item.mandatory_code           no
    _item_type.code                line
     loop_
    _item_enumeration.value
          AMT
          'GATAN  673' 
          'GATAN  676' 
          'GATAN  692' 
          'GATAN 1000' 
          'GATAN 4000' 
'GATAN ES500W'
'GATAN ES300'
'GATAN MSC 600W (MODEL 792)'
'GATAN MSC 600CW (MODEL 791)'
'GATAN MSC 600HP (MODEL 794)'
'GATAN USC 4000 (MODEL 895)'
'GATAN USC 4000SP (MODEL 890)'
'GATAN USC 1000 (MODEL 894)'
          PROSCAN
          'TVIPS BIOCAM'
          'TVIPS TEMCAM F214'
          'TVIPS TEMCAM F224'
          'TVIPS FASTSCAN F114'
'TVIPS F114 - ON-AXIS'
'TVIPS F114FX - OFF-AXIS'
'TVIPS F114NX - NEAR-AXIS'
'TVIPS F114R - RETRACTABLE'
'TVIPS F214 - 2K RESOLUTION, 14 MICROMETER PIXEL SIZE, 12 BIT'
'TVIPS F224HD - 2K RESOLUTION, 24 MICROMETER PIXEL SIZE, 16 BIT'
'TVIPS F415/MP - 4K RESOLUTION, 15 MICROMETER PIXEL SIZE, 16 BIT'
          'OTHER'
     save_

save__em_detector_CCD.pixel_size
    _item_description.description
;    The detector pixel size
;
    _item.name                   '_em_detector_CCD.pixel_size'
    _item.category_id              em_detector_CCD
    _item.mandatory_code           no
    _item_type.code                line
    save_

save__em_detector_CCD.dimension_x
    _item_description.description
;    The detector dimension in x
;
    _item.name                   '_em_detector_CCD.dimension_x'
    _item.category_id              em_detector_CCD
    _item.mandatory_code           no
    _item_type.code                int
     save_


save__em_detector_CCD.dimension_y
    _item_description.description
;    The detector dimension in y
;
    _item.name                   '_em_detector_CCD.dimension_y'
    _item.category_id              em_detector_CCD
    _item.mandatory_code           no
    _item_type.code                int
     save_



#######################
## EM_IMAGE_SCANNING ##
#######################

save_em_image_scanning
    _category.description
;  Data items in the EM_IMAGE_SCANNING category record
   type of image scanning device used digitized the image.
;
    _category.id                  em_image_scanning
    _category.mandatory_code      no
    loop_
    _category_key.name           
                 '_em_image_scanning.entry_id'
                 '_em_image_scanning.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
;  
   _em_image_scanning.entry_id                      1DYL
   _em_image_scanning.id                            2
   _em_image_scanning.type                         'FILM_SCANNING'
;
     save_


save__em_image_scanning.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the
     ENTRY category.
;
    _item.name                   '_em_image_scanning.entry_id'
    _item.category_id              em_image_scanning
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name      '_em_image_scanning.entry_id'
    _item_linked.parent_name     '_entry.id'
     save_


save__em_image_scanning.id
    _item_description.description
;    The value of _em_image_scanning.id must uniquely identify
     a particular scanning protocol.
;
    _item.name                   '_em_image_scanning.id'
    _item.category_id              em_image_scanning
    _item.mandatory_code           yes
    _item_type.code                code
     save_

save__em_image_scanning.type
    _item_description.description
;    The type of scanning used in the experiment.
;
    _item.name                   '_em_image_scanning.type'
    _item.category_id              em_image_scanning
    _item.mandatory_code           yes
    _item_type.code                line
     loop_
    _item_enumeration.value
          'FILM SCANNING'
          'CCD READOUT'
          'OTHER'
     save_

save__em_image_scanning.citation_id
    _item_description.description
;    This data item is a pointer to _citation.id
     in the CITATION category.
;
    _item.name                   '_em_image_scanning.citation_id'
    _item.category_id              em_image_scanning
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name     '_em_image_scanning.citation_id'
    _item_linked.parent_name    '_citation.id'
     save_



############################
## EM_IMAGE_SCANNING_FILM ##
############################

save_em_image_scanning_film
    _category.description
;  Data items in the EM_IMAGE_SCANNING_FILM category record details
   of the film scanning device (microdensitometer)
   and parameters for digitization of the image.
;
    _category.id                  em_image_scanning_film
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_image_scanning_film.image_scanning_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
;  
   _em_image_scanning_film.image_scanning_id             2
   _em_image_scanning_film.details                       .
   _em_image_scanning_film.scanner_model                 .
   _em_image_scanning_film.step_size                     .
   _em_image_scanning_film.od_range                      .
   _em_image_scanning_film.bits_per_pixel                .

;
     save_

save__em_image_scanning_film.image_scanning_id
    _item_description.description
;    The value of _em_image_scanning_film.id must uniquely identify
     a set of image scanning parameters.     

     This value is a pointer to '_em_image_scanning_film.id' in 
     the EM_IMAGE_SCANNING category.
;
    _item.name                    '_em_image_scanning_film.image_scanning_id'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name       '_em_image_scanning_film.image_scanning_id'
    _item_linked.parent_name      '_em_image_scanning.id'

     save_

save__em_image_scanning_film.details
    _item_description.description
;    Any additional details about scanning film images.     
;
    _item.name                   '_em_image_scanning_film.details'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                text
     save_


save__em_image_scanning_film.scanner_model
    _item_description.description
;    The film scanner model.     
;
    _item.name                   '_em_image_scanning_film.scanner_model'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           yes
    _item_type.code                line
     loop_
    _item_enumeration.value
          'ZEISS SCAI'
          'EMIL 10'
          OPTRONICS
          'PERKIN ELMER'
          TEMSCAN
          NIKON
          'NIKON SUPERCOOLSCAN 8000'
          'NIKON SUPERCOOLSCAN 9000'
          'JOYCE LOEBL'
          'HEIDELBERG TANGO'
          OTHER
     save_

save__em_image_scanning_film.step_size
    _item_description.description
;    The sampling step size (microns) set on the scanner.     
;
    _item.name                   '_em_image_scanning_film.step_size'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                float
    _item_units.code                microns
     save_

save__em_image_scanning_film.od_range
    _item_description.description
;    The optical density range (OD=-log 10 transmission).     
     To the eye OD=1 appears light grey and OD=3 is opaque.
;
    _item.name                   '_em_image_scanning_film.od_range'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                float
    _item_examples.case            1.4
     save_

save__em_image_scanning_film.bits_per_pixel
    _item_description.description
;    The number of bits per pixel used in digitization.
;
    _item.name                   '_em_image_scanning_film.bits_per_pixel'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                int
    _item_examples.case           8
     save_

save__em_image_scanning_film.spot_size
    _item_description.description
;    The spot size 
;
    _item.name                   '_em_image_scanning_film.spot_size'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                text
     save_


save__em_image_scanning_film.binning_x
    _item_description.description
;    The detector binning in x direction
;
    _item.name                   '_em_image_scanning_film.binning_x'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                int
     save_

save__em_image_scanning_film.binning_y
    _item_description.description
;    The detector binning in y direction
;
    _item.name                   '_em_image_scanning_film.binning_y'
    _item.category_id              em_image_scanning_film
    _item.mandatory_code           no
    _item_type.code                int
     save_





###########################
## EM_IMAGE_READOUT_CCD ##
###########################

save_em_image_readout_ccd
    _category.description
;  Data items in the EM_IMAGE_READOUT_CCD category record details
   of the CCD readout and parameters for digitization of the image.
;
    _category.id                  em_image_readout_ccd
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_image_readout_ccd.image_scanning_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - 
               
;
;  
   _em_image_readout_ccd.image_scanning_id             2
   _em_image_readout_ccd.details                       .
;
     save_

save__em_image_readout_ccd.image_scanning_id
    _item_description.description
;    The value of _em_image_readout_ccd.id must uniquely identify
     a set of CCD image scanning parameters.     

     This value is a pointer to '_em_image_readout_ccd.id' in 
     the EM_IMAGE_SCANNING category.
;
    _item.name                    '_em_image_readout_ccd.image_scanning_id'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name       '_em_image_readout_ccd.image_scanning_id'
    _item_linked.parent_name      '_em_image_scanning.id'

     save_

save__em_image_readout_ccd.details
    _item_description.description
;    Any additional details about CCD image scanning.
;
    _item.name                   '_em_image_readout_ccd.details'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           no
    _item_type.code                text
     save_


save__em_image_readout_ccd.binning_x
    _item_description.description
;    The detector binning in x direction
;
    _item.name                   '_em_image_readout_ccd.binning_x'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           no
    _item_type.code                int
     save_

save__em_image_readout_ccd.binning_y
    _item_description.description
;    The detector binning in y direction
;
    _item.name                   '_em_image_readout_ccd.binning_y'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           no
    _item_type.code                int
     save_


save__em_image_readout_ccd.offset_x
    _item_description.description
;    The detector offset in x  from the top left corner of the CCD
;
    _item.name                   '_em_image_readout_ccd.offset_x'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           no
    _item_type.code                int
     save_

save__em_image_readout_ccd.offset_y
    _item_description.description
;    The detector offset in y from the top left corner of the CCD 
;
    _item.name                   '_em_image_readout_ccd.offset_y'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           no
    _item_type.code                int
     save_


save__em_image_readout_ccd.speed
    _item_description.description
;    The detector read-out speed
;
    _item.name                   '_em_image_readout_ccd.speed'
    _item.category_id              em_image_readout_ccd
    _item.mandatory_code           no
    _item_type.code                int
     save_


############################
## EM_PARTICLE_SELECTION  ##
############################

save_em_particle_selection
    _category.description
;   Data items in the EM_PARTICLE_SELECTION category record details
    about the method to pick select from the raw micrographs.
;
    _category.id                  em_particle_selection
    _category.mandatory_code      no
     loop_
    _category_key.name           '_em_particle_selection.id'
                                 '_em_particle_selection.entity_assembly_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_image_selection_group'
                                 'em_single_particle_group'

     save_
  

save__em_particle_selection.id
    _item_description.description
;    The value of _em_particle_selection.id uniquely identifies a
     set of selection conditions for this entity.
;
    _item.name                   '_em_particle_selection.id'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              code
      save_

save__em_particle_selection.entity_assembly_id
    _item_description.description
;    The value of _em_particle_selection.entity_assembly_id identifies
     assembly or assembly component associated with this set of 
     selection conditions.

     This data item is a pointer to _em_entity_assembly.id
     in the EM_ENTITY_ASSEMBLY category.
;
    _item.name                   '_em_particle_selection.entity_assembly_id'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_particle_selection.entity_assembly_id'
    _item_linked.parent_name     '_em_entity_assembly.id'
      save_

save__em_particle_selection.pre_processing_filters_details
    _item_description.description
;    Description of the pre-processing filters used
;
    _item.name                   '_em_particle_selection.pre_processing_filters_details'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              text
      save_

save__em_particle_selection.citation_id
    _item_description.description
;    This data item is a pointer to _citation.id in the
     CITATION category.
;
    _item.name                   '_em_particle_selection.citation_id'
    _item.category_id              em_particle_selection
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name     '_em_particle_selection.citation_id'
    _item_linked.parent_name    '_citation.id'
     save_


save__em_particle_selection.correlation_threshold
    _item_description.description
;    Maxima having correlation scores below this threshold are 
     not considered as possible particle locations. 
;
    _item.name                   '_em_particle_selection.correlation_threshold'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              float
      save_

save__em_particle_selection.local_maxima_radius
    _item_description.description
;     Radius used to test if a point's correlation score is locally maximal. 
;
    _item.name                   '_em_particle_selection.local_maxima_radius'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_particle_selection.grow_threshold
    _item_description.description
;  Minimum difference between a peak and its surrounding trough in 
  the correlation score.    
;
    _item.name                   '_em_particle_selection.grow_threshold'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              float
      save_

save__em_particle_selection.min_radius
    _item_description.description
;  Minimum radius of the peaks in the correlation score.
;
    _item.name                   '_em_particle_selection.min_radius'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              float
      save_

save__em_particle_selection.max_radius
    _item_description.description
;  Maximium radius of the peaks in the correlation score.
;
    _item.name                   '_em_particle_selection.max_radius'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_particle_selection.details
    _item_description.description
;  General details on the particle picking method
;
    _item.name                   '_em_particle_selection.details'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              text
    loop_
    _item_examples.case
    _item_examples.detail
   1
;  Particles were picked using a program written in-house for selecting 
   filaments. Lines are drawn over the filaments using the computer mouse, 
   and the program selects coordinates for boxing the particles at a 
   user-selected interval while keeping track of groups of particles 
   coming from the same filament. This is useful where polarity can be 
   determined per filament by two-dimensional averaging. The program also 
   keeps track of the angle of the overlaid, user-drawn line, which is 
   used for preliminary vertical orientation of the particles. 
   8440 particles of 80 x 80 pixel size were selected from the filaments. 
;
   2
;  A reference was established by selecting a well preserved particle 
   and symmetrizing it 20-fold rotationally. Cross-correlation functions 
   of this reference with images of digitized micrographs containing 
   adsorbed particles of PM28 revealed correlation peaks at the particle 
   positions, irrespective of their angular orientation. Using this 
   particle picking method a gallery of 4096 particles was created. 
;
    save_


save__em_particle_selection.method
    _item_description.description
;  The particle picking method
;
    _item.name                   '_em_particle_selection.method'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              line
   loop_
   _item_enumeration.value 
   _item_enumeration.detail
     'Template-based'        .
     'Edge detection-based'  .
     'Intensity comparison'  .
     'Texture-based'         .
     'Neural network'        .
     'Learning based'        .
     'Manually selected'     .
     Hybrid                  .
     'Lata method'
; Ultramicroscopy 58 (1995) 381-391 particles are automatically classified according 
  to texture descriptors.
;
      'Local Fast Correlation'
; B.K. Rath and J. Frank, Journal of Structural Biology, 
  Volume 145, Issues 1-2, January 2004, Pages 84-90 and
  Alan Roseman (Ultramicroscopy, Vol 94, Issues 3-4, 
 (2003), 225-236) 
;
  save_

save__em_particle_selection.centering_method
    _item_description.description
;  The particle picking centering method
   The so-called center of gravity method where the image is scanned and 
  the intensity peaks calculated to find the center of the particle 'mass'. 
  The image is then shifted by the correct amounts to maximize the number 
  of peaks near the center.
  Another centering method averages all the picked particles together, and 
  then cross correlates each individual particle to the average. The cross
  correlation function is used to determine by how much to shift each particle 
  when trying to center it. When all the particles have been cross correlated 
  to the average and shifted, a new average is generated. Once again, all the 
  particles are compared to the new average, and shifted as necessary to 
  center them as best as possible. This iterative process is repeated until no 
  significant shift is necessary for all the particles Crosscorrelating to a 
  global average is but one variation on this theme. Similar methods also use 
  an external model or a rotational average of the particle itself as the 
  centering reference. Unfortunately, it can be difficult to obtain a 
  reasonable external refernce, so a global average or a rotational average 
  are most often used.
;
    _item.name                   '_em_particle_selection.centering_method'
    _item.category_id            em_particle_selection
    _item.mandatory_code         yes
    _item_type.code              line
   loop_
   _item_enumeration.value 
      'centre of gravity'
      'cross correlation'
   save_



##################################
## EM_SINGLE_PARTICLE_SELECTION ##
##################################

save_em_single_particle_selection
    _category.description
;   Data items in the EM_SINGLE_PARTICLE_SELECTION category
    record details of images from scanned micrographs and the 
    number of particles selected from a scanned set of micrographs.
;
    _category.id                  em_single_particle_selection
    _category.mandatory_code      no
    _category_key.name           '_em_single_particle_selection.selection_id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_image_selection_group'
                                 'em_single_particle_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
   _em_single_particle_selection.selection_id         1
   _em_single_particle_selection.number_particles    5267
   _em_single_particle_selection.software_name         1
   _em_single_particle_selection.method              'INTERACTIVE'
   _em_single_particle_selection.details             .
   _em_single_particle_selection.citation_id         1
;
     save_


save__em_single_particle_selection.selection_id
   _item_description.description
;  The value of _em_single_particle_selection.selection_id identifies
   the general set of selection conditions associated with specific
   single particle selection conditions described in this category.

   The value of _em_single_particle_selection.selection_id points to
   the _em_particle_selection.id in the  EM_PARTICLE_SELECTION category.
;
    _item.name                   '_em_single_particle_selection.selection_id'
    _item.category_id              em_single_particle_selection
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_single_particle_selection.selection_id'
    _item_linked.parent_name    '_em_particle_selection.id'
     save_

save__em_single_particle_selection.num_micrographs
    _item_description.description
;    The number of micrographs used
;
    _item.name                   '_em_single_particle_selection.num_micrographs'
    _item.category_id            em_single_particle_selection
    _item.mandatory_code         no
    _item_type.code              int
      save_

save__em_single_particle_selection.num_particles
    _item_description.description
;    The number of particles selected from the projection set of images.
;
    _item.name                   '_em_single_particle_selection.num_particles'
    _item.category_id              em_single_particle_selection
    _item.mandatory_code           no
    _item_type.code                int
    _item_examples.case            840
     save_


save__em_single_particle_selection.protocol
    _item_description.description
;    The protocol used for selecting observed assemblies.
;  
    _item.name                   '_em_single_particle_selection.protocol'
    _item.category_id              em_single_particle_selection
    _item.mandatory_code           no
    _item_type.code                text
     save_

save__em_single_particle_selection.method
    _item_description.description
;    The method used for selecting observed assemblies.
;
    _item.name                   '_em_single_particle_selection.method'
    _item.category_id              em_single_particle_selection
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case           'particles picked interactively from monitor'
     save_

save__em_single_particle_selection.details
    _item_description.description
;    Any additional details used for selecting observed assemblies.
;
    _item.name                   '_em_single_particle_selection.details'
    _item.category_id              em_single_particle_selection
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case          
          'negative monitor contrast facilitated particle picking'
     save_

save__em_single_particle_selection.citation_id
    _item_description.description
;   This data item is a pointer to _citation.id in the
    CITATION category.
;
    _item.name                   '_em_single_particle_selection.citation_id'
    _item.category_id              em_single_particle_selection
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name     '_em_single_particle_selection.citation_id'
    _item_linked.parent_name    '_citation.id'
    save_


#########################
#  EM_HELICAL_SELECTION #
#########################

save_em_helical_selection
    _category.description
;   Data items in the EM_HELICAL_SELECTION category record details
    for the selection of helical or filament particle types.
;
    _category.id                  em_helical_selection
    _category.mandatory_code      yes
    _category_key.name           '_em_helical_selection.selection_id'

     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_image_selection_group'
                                 'em_helical_group'
     save_


save__em_helical_selection.selection_id
   _item_description.description
;  The value of _em_helical_selection.selection_id identifies
   the general set of selection conditions associated with specific
   filament selection conditions described in this category.

   The value of _em_filament_particle_selection.selection_id points to
   the _em_particle_selection.id in the  EM_PARTICLE_SELECTION category.
;
    _item.name                   '_em_helical_selection.selection_id'
    _item.category_id              em_helical_selection
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_helical_selection.selection_id'
    _item_linked.parent_name    '_em_particle_selection.id'
     save_

save__em_helical_selection.num_unit_cells
    _item_description.description
;    The numeber of unit cells or asymmetric units
     used to refine the repeat parameters
;
    _item.name                   '_em_helical_selection.num_unit_cells'
    _item.category_id            em_helical_selection
    _item.mandatory_code         no
    _item_type.code              int
      save_

save__em_helical_selection.num_helices
    _item_description.description
;    The numeber of number of helices used
     used to refine the repeat parameters
;
    _item.name                   '_em_helical_selection.num_helices'
    _item.category_id            em_helical_selection
    _item.mandatory_code         no
    _item_type.code              int
      save_

#save__em_helical_selection.straightening_details
#    _item_description.description
#;   Details on the method used to determine the path of the helical 
#    axis and thus correct curvature in the filaments.
#;
#    _item.name                   '_em_helical_selection.straightening_details'
#    _item.category_id            em_helical_selection
#    _item.mandatory_code         no
#    _item_type.code              text
#    _item_examples.case
#; The filament axis was identified by first orienting the template 
#  to match the local orientation of a short segment of the original 
#  filament and then calculating a cross correlation between the 
#  reoriented template and this short segment of filament. This 
#  procedure is then repeated along the length of the filament. 
#  We have implemented such a procedure by having the user trace 
#  the approximate filament axis through identification a few points 
#  along the filament. A spline curve fitted to this axis provides 
#  the approximate local curvature of each filament segment.
#;
#    save_



#save__em_helical_selection.box_criteria
#    _item_description.description
#;    The box criteria for tubes used in the 3d reconstruction for 
#     the helical assembly. 
#     For three-dimensional structure determination tubes are treated
#     as helical objects and analysed by dividing them into axail repeat 
#     lengths, echa of which contains a complete set of views,e.g. The 
#     tube is first divided into (overlapping) portions, each corresponding 
#     to one axial repeat in length. Areas of tube boxed off from the digitised
#     images and interpolated in real space so that after refinement an exact 
#     multiple of the axial repeat distance would be included in the Fourier 
#     transform. This means all the layer-lines fall exactly on the transform
#     grid, while maintaining a constant sampling along the layer-lines so that 
#     different images can be easily compared.
#     The whole repeats are boxed off and aligned against
#     the reference dataset using Fourier terms extending only to the 
#     first or second zero in the CTF. Next the whole repeats are 
#     divided up into half-segments (length approximately equal to the
#     radius of the tube), and the half segments are aligned against
#     the reference data set. Finally the the segments themselves, in
#     orientations determined from the half-segment alignment are 
#     refined against the reference dataset. Seven parameters are
#     obtained for each segment: orientation in the image plane;
#     out-of-plane tilt;effective repeat length; width relative to that
#     of the reference;transverse, longitudinal and azimuthal
#     alignments of the origin.
#;
#    _item.name                   '_em_helical_selection.box_criteria'
#    _item.category_id              em_helical_selection
#    _item.mandatory_code           no
#    _item_type.code                line
#      save_


############################
#  EM_2D_CRYSTAL_SELECTION #
############################

save_em_2d_crystal_selection
    _category.description
;   Data items in the EM_2D_CRYSTAL_SELECTION category record details
    for the selection of 2D crystals.
;
    _category.id                  em_2d_crystal_selection
    _category.mandatory_code      yes
    _category_key.name           '_em_2d_crystal_selection.selection_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_image_selection_group'
                                 'em_2D_crystal_group'
     save_


save__em_2d_crystal_selection.selection_id
   _item_description.description
;  The value of _em_2d_crystal_selection.selection_id identifies
   the general set of selection conditions associated with specific
   filament selection conditions described in this category.

   The value of _em_2d_crystal_selection.selection_id points to
   the _em_particle_selection.id in the  EM_PARTICLE_SELECTION category.
;
    _item.name                   '_em_2d_crystal_selection.selection_id'
    _item.category_id              em_2d_crystal_selection
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_2d_crystal_selection.selection_id'
    _item_linked.parent_name    '_em_particle_selection.id'
     save_


save__em_2d_crystal_selection.details
    _item_description.description
;    Any additional details used for selecting 2d crystals.
;
    _item.name                   '_em_2d_crystal_selection.details'
    _item.category_id              em_2d_crystal_selection
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case          
          'negative monitor contrast facilitated particle picking'
     save_


##########################
## EM_3D_RECONSTRUCTION ##
##########################

save_em_3d_reconstruction
    _category.description
;  Data items in the EM_3D_RECONSTRUCTION category
   record details of the 3D reconstruction procedure from 2D projections.
;
    _category.id                  em_3d_reconstruction
    _category.mandatory_code      no
     loop_
    _category_key.name           
                 '_em_3d_reconstruction.entry_id'
                 '_em_3d_reconstruction.id'
     loop_
    _category_group.id           'inclusive_group'
                                 'em_group'
                                 'em_reconstruction_group'
                                 'em_single_particle_group'
     loop_
    _category_examples.detail
    _category_examples.case
; Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
;
  _em_3d_reconstruction.entry_id                 1DYL
  _em_3d_reconstruction.id                       1
  _em_3d_reconstruction.method                   'CROSS-COMMON LINES'
  _em_3d_reconstruction.citation_id              1
  _em_3d_reconstruction.details                  .
  _em_3d_reconstruction.resolution               9
  _em_3d_reconstruction.resolution_method        .
  _em_3d_reconstruction.ctf_correction_method    .
  _em_3d_reconstruction.nominal_pixel_size       2.64
  _em_3d_reconstruction.actual_pixel_size        2.52
;
     save_


save__em_3d_reconstruction.entry_id
   _item_description.description
;  This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_3d_reconstruction.entry_id'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_3d_reconstruction.entry_id'
    _item_linked.parent_name    '_entry.id'
     save_


save__em_3d_reconstruction.id
    _item_description.description
;    The value of _em_3d_reconstruction.id must
     uniquely identify the 3d reconstruction.
;
    _item.name                   '_em_3d_reconstruction.id'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           yes
    _item_type.code                code
     save_

save__em_3d_reconstruction.num_particles
    _item_description.description
;    The number of particles used in the 3d reconstruction
;
    _item.name                   '_em_3d_reconstruction.num_particles'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           yes
    _item_type.code                int
     save_

save__em_3d_reconstruction.details
    _item_description.description
;    General details on the 3d recontruction
;
    _item.name                   '_em_3d_reconstruction.details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
     loop_
    _item_examples.case
    _item_examples.detail
      1
;   Orientation determination using the random-conical data 
    collection method. This method uses a defined geometry in 
    the data collection, and is able to find the handedness of 
    the structure unambiguously. Each specimen field is imaged 
    twice, once tilted, once untilted. Particles are selected 
    simultaneously from both untilted- and tilted-specimen fields, 
    using a special interactive particle-selection program that is 
    able to "predict" the location of a particle in the tilted-specimen 
    field when its counterpart has been selected in the untilted field. 
    From the untilted-specimen particle data set, all particles are 
    selected that exhibit the same view. This can be done by using 
    alignment followed by classification. The corresponding 
    tilted-specimen data subset can be used to compute a reconstruction:
    the orientations of the tilted-particle projections lie on a cone 
    with fixed angle (the tilt angle) and random azimuths (the 
    in-plane angles found in the alignment of the untilted particle set).
;
     2
;   Orientation determination using common lines (a.k.a. 
    "angular reconstitution"). This method is based on the fact that 
    in Fourier space any two projections intersect along a central line 
    ("the common line"). Hence, in principle, the relative orientations 
    between three projections can be determined - except that the 
    handedness of the constellation is ambiguous. Because of the low 
    signal-to-noise ratio of raw particle images, averages of projections 
    falling into roughly the same orientation must be used. Since the 
    procedure leads to solutions presenting local minima, it must be 
    repeated several times to find solutions that form a cluster, 
    presumably around the global minimum. Such clustering of solutions 
    can be detected by multivariate statistical analysis of the resulting 
    3D maps. Two clusters are expected, one for each enantiomorph. 
    After initial structure is obtained, it should be further refined 
    using 3D projection matching strategy described next. 
;
     3
;   Orientation determination by 3D projection matching. Here the 
    existing 3D map is projected in many orientations on a regular 
    angular grid, and the resulting projections that are compared, 
    one by one, with each of the experimental projections. This comparison 
    (by cross-correlation ) yields a refined set of Eulerian angles , 
    with which a refined reconstruction can be computed using one 
    of the possible reconstruction techniques. This procedure requires
    iteration until the angles for each projection stabilize. 
;
     save_


save__em_3d_reconstruction.method_details
    _item_description.description
;    The algorithm method used for the 3d-reconstruction.
  e.g. 
 Random-conical reconstruction: 
  a method of data collection and reconstruction used for single particles, 
  typically used initially in a project, to obtain a first low-resolution 
  reconstruction of the macromolecule [Radermacher et al., 1987]. Two images 
  of the same specimen field are collected, one with untilted grid, the 
  other with the grid tilted by 50 to 60 degrees. Any set of particles 
  presenting the same view in the untilted-specimen image form a 
  random-conical projection set in the associated tilted-specimen image.
 Helical reconstruction 
  Helical reconstruction is used when the protein of interest forms a 
  natural helix. Since the helix is a recurring structure with a very 
  well defined pattern, the repeating pattern of the helix can be 
  exploited to solve the structure. In this case, no alignment of the 
  particles is needed, since the individual positions of subunits within 
  the helix are clearly defined by the shape of the helix. Two common 
  examples of structures solved by helical reconstruction are TMV and 
  microtubules.
 Icosahedral reconstruction 
  Icosahedral reconstructions also take advantage of internal symmetry 
  and repetition to generate a detailed three-dimensional structure from 
  the data set. In this case, the symmetry is icosahedral (twenty-one sided). 
  Many viruses exhibit icosahedral symmetry in their capsid proteins, 
  and this method has been used to solve their structures.
 Electron crystallography 
  Electron crystallography is similar to x-ray crystallography in that it 
  exploits the repeating pattern found within a crystal to generate a 
  structure. Just as with x-ray crystallography, difraction patterns are 
  generated and are used to define an electron density map. However, it 
  differs in that the crystal used is a two-dimensional sheet as opposed 
  to three three-dimensional crystals of x-ray crystallography.
 Common Lines
  Another reconstruction method searches for the intersection of any two 
  projections in Fourier space. The Fourier transform of the experimental 
  projections all form slices around a common core in Fourier space. 
  Therefore, the intersection of these projections are unique (unless the 
  projections perfectly overlap), and their relative orientation can be 
  found when three or more projections are used. A principal problem with 
  this method is that the handedness of the image is lost. This, however, 
  can later be corrected by visual examination of the model with other 
  known structural information.
 Back Projection 
  As its name implies, back projection is the inverse function of projection. 
  When an n-dimensional object is projected, each projection is an n-1 
  dimensional sum of its density along the projection axis. Therefore, a 
  sphere would have circles as its projections. A cube, on the other hand, 
  would produce either squares, diamonds, or other intermediate parallelograms
  depending on the direction of projection. The actual shape, of course, 
  depends on the orientation from which the projection was made. The reverse 
  function is called back projection and regenerates the original object.
;
    _item.name                   '_em_3d_reconstruction.method_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case           'cross-common lines'
     save_

save__em_3d_reconstruction.citation_id
    _item_description.description
;    This data item is a pointer to _citation.id in the
     CITATION category.
;
    _item.name                   '_em_3d_reconstruction.citation_id'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name     '_em_3d_reconstruction.citation_id'
    _item_linked.parent_name    '_citation.id'
     save_



save__em_3d_reconstruction.resolution
    _item_description.description
;    The final resolution (in angstroms)of the 3d reconstruction.
;
    _item.name                   '_em_3d_reconstruction.resolution'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                float
    _item_units.code                angstroms
     save_

save__em_3d_reconstruction.resolution_method_details
    _item_description.description
;    The  method used to determine the final resolution 
     of the 3d reconstruction.
     The Fourier Shell Correlation criterion as a measure of
     resolution is based on the concept of splitting the (2D)
     data set into two halves; averaging each and comparing them
     using the Fourier Ring Correlation (FRC) technique.
;
    _item.name                   '_em_3d_reconstruction.resolution_method_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case          'FSC at 0.5 cut-off'
     save_


save__em_3d_reconstruction.amplitude_correction_details
    _item_description.description
;    The  Amplitude correction method. 
     Frequency amplitude correction with X-ray scattering data enhances
     the Fourier amplitudes of a reconstructed cryo-EM volume so they 
     more closely resemble those of experimental low-angle X-ray 
     scattering data. Normal amplitude correction (in which case the 
     SNR weighted averaging of particles will still occur properly) may
     be applied or without it, in which case the (phase-flipped) data 
     is not corrected during averaging, then the final 3D model is 'fixed'.
;
    _item.name          '_em_3d_reconstruction.amplitude_correction_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
     save_

save__em_3d_reconstruction.b-factor_correction_details
    _item_description.description
;    Details of the  B-factor correction method. 
;
    _item.name          '_em_3d_reconstruction.b-factor_correction_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
     save_


save__em_3d_reconstruction.envelope_function_correction_details
    _item_description.description
;    Details of the envelope function correction method. 
;
    _item.name          '_em_3d_reconstruction.envelope_function_correction_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
     save_


save__em_3d_reconstruction.ctf_correction_method_details
    _item_description.description
;    The  CTF-correction method. 
     The Contrast Transfer Function CTF compensation for low contrast
     specimens (e.g. frozen-hydrated), for which phase contrast is the only
     significant mechanism, then higher defocus levels must be used to
     achieve any significant transfer, and several images at different
     focus levels must be combined to complete the information lost from
     the transfer gaps of any one image.  The CTF correction can be applied
     to each extracted particle separately or to the whole micrograph after
     digitisation. The simplest level of compensation is to reverse phases
     at the negative lobes of the CTF.
;
    _item.name            '_em_3d_reconstruction.ctf_correction_method_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case          'CTF correction of each particle'
     save_


save__em_3d_reconstruction.local_symmetry_detail
    _item_description.description
;    General details describing any local or approximate symmetry used in
     the single particle reconstruction
;
    _item.name                   '_em_3d_reconstruction.local_symmetry_detail'
    _item.category_id            em_3d_reconstruction
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_3d_reconstruction.num_asymmetric_units
    _item_description.description
;    The number of asymmetric units used in
     the single particle reconstruction
;
    _item.name                   '_em_3d_reconstruction.num_asymmetric_units'
    _item.category_id            em_3d_reconstruction
    _item.mandatory_code         no
    _item_type.code              int
      save_


save__em_3d_reconstruction.voxel_size_x
    _item_description.description
;    The actual pixel size of projection set of images in x
     IF only _em_3d_reconstruction.voxel_size_x is given
     then a cube is assumed.
;
    _item.name                   '_em_3d_reconstruction.voxel_size_x'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                float
     save_

save__em_3d_reconstruction.voxel_size_y
    _item_description.description
;    The actual pixel size of projection set of images in y
     IF only _em_3d_reconstruction.voxel_size_x is given
     then a cube is assumed.
;
    _item.name                   '_em_3d_reconstruction.voxel_size_y'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                float
     save_

save__em_3d_reconstruction.voxel_size_z
    _item_description.description
;    The actual pixel size of projection set of images in z
     IF only _em_3d_reconstruction.voxel_size_x is given
     then a cube is assumed.
;
    _item.name                   '_em_3d_reconstruction.voxel_size_z'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                float
     save_


save__em_3d_reconstruction.helix_straightening_details
    _item_description.description
;    Details on how  located layer lines are used to choose a selection rule 
     which best fits the data. Based on this selection rule the filament is 
     then reboxed and restraightened using the original digitized image so 
    that the final image contains an integral number of helical repeats.
    The selection rule define helical lattices which relate the layer-
     line number l to the order of the Bessel function, n, contributing
     to the layer-line. (n is the start number, ie number around the
     circumference, of the contributing helix).
     The diffraction pattern from a helix consists not of discrete spots
     but of difraction spots which have been broadened into layer-lines.
     The order of the Bessel functions allowed to contribute to the 
     diffraction pattern of a helix on a given layer line versus the 
     layer line along the ordinate gives a function which is described
     by a lattice. Such a plot is analogous to the diffraction pattern
     from a planar array corresponding to a flattened helix and is called
     an (n,l) plot.
     e.g. the n,l plot corresponding to the selection rule l = 5n + 12m
     where m is an integer and indicates e.g. 12 (ribosomes) per repeat  
     five turns long, whilst the n,l plot corresponding to the selection 
     rule l = 5n + 17m indicates 17(ribosomes) per repeat five turns along.
;
    _item.name                   '_em_3d_reconstruction.helix_straightening_details'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                text
      save_


save__em_3d_reconstruction.helix_number_datasets
    _item_description.description
;    The number of datasets used in the 3d reconstruction for the helical assembly.
;
    _item.name                   '_em_3d_reconstruction.helix_number_datasets'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                int
      save_

save__em_3d_reconstruction.helix_average_phase_residual
    _item_description.description
;     The average phase residual for the helical assembly.
;
    _item.name                   '_em_3d_reconstruction.helix_average_phase_residual'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_3d_reconstruction.helix_layerline_d_res_high
    _item_description.description
;    The layer-line resolution. Layer-lines fade out and are only visible
     to a certain resolution.
;
    _item.name                   '_em_3d_reconstruction.helix_layerline_d_res_high'
    _item.category_id              em_3d_reconstruction
    _item.mandatory_code           no
    _item_type.code                line
      save_


###################
## EM_3D_FITTING ##
###################



save_em_3d_fitting
    _category.description
;    Data items in the 3D_FITTING category
     record details of the method of fitting atomic
     coordinates from a PDB file into a 3d-em
     volume map file 
;
    _category.id                  em_3d_fitting
    _category.mandatory_code      no
    loop_
    _category_key.name           
                           '_em_3d_fitting.id'
                           '_em_3d_fitting.entry_id'
     loop_
    _category_group.id           
                                 'em_group'
                                 'inclusive_group'
                                 'em_structure_analysis_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - EMDB entry EM1078 
;
;
  loop_
   _em_3d_fitting.id                      
   _em_3d_fitting.entry_id               
   _em_3d_fitting.method    
   _em_3d_fitting.target_criteria  
   _em_3d_fitting.over_all_b_value       
   _em_3d_fitting.ref_space 
   _em_3d_fitting.ref_protocol            
   _em_3d_fitting.details                 
     1 EM1078 AUTOMATIC . . REAL 'RIGID BODY REFINEMENT' .
     2 EM1078 AUTOMATIC . . REAL 'RIGID BODY REFINEMENT' .
     3 EM1078 AUTOMATIC . . REAL 'RIGID BODY REFINEMENT' .
;
;  Example 2 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
;
; 
   _em_3d_fitting.id                      1
   _em_3d_fitting.entry_id                1DYL
   _em_3d_fitting.method                  AUTOMATIC
   _em_3d_fitting.target_criteria         R-FACTOR
   _em_3d_fitting.over_all_b_value        .
   _em_3d_fitting.ref_space               REAL
   _em_3d_fitting.ref_protocol            'RIGID BODY REFINEMENT'
   _em_3d_fitting.details                 
   ;   THE CRYSTAL STRUCTURE OF THE CAPSID              
       PROTEIN FROM CHOI ET AL (1997) PROTEINS 3 27:345-359                
       (SUBUNIT A OF PDB FILE 1VCQ) WAS PLACED INTO THE CRYO-EM            
       DENSITY MAP. THE CAPSID PROTEIN WAS FIRST MANUALLY POSITIONED       
       INTO THE CRYO-EM DENSITY CORRESPONDING TO POSITIONS OF THE          
       FOUR INDEPENDENT MONOMER DENSITIES BETWEEN THE INNER LEAFLET        
       OF THE BILAYER AND THE RNA. THESE POSITIONS WERE THEN REFINED       
       BY RIGID BODY REFINEMENT IN REAL SPACE WITH THE PROGRAM EMFIT       
       (CHENG ET AL. 1995, CELL 80, 621-630).  THE QUALITY OF THE FIT      
       CAN BE SEEN FROM THE MAP DENSITY WITHIN THE PROTEIN. ALL 4563       
       ATOMS ARE IN DENSITY OF AT LEAST 4 SIGMA (96.73) ABOVE THE          
       AVERAGE (512.04), 1167 ATOMS ARE IN DENSITY BETWEEN 4 AND 5         
       SIGMA, 3174 ATOMS ARE IN DENSITY BETWEEN 5 AND 6 SIGMA, AND 222     
       ATOMS ARE IN DENSTY OF 6 SIGMA OR ABOVE. THE VARIATION IN           
       DENSITY OVER THE FITTED PROTEIN CAN BE VISUALIZED WITH THE          
       PSEUDO TEMPERATURE FACTOR. THE DENSITY VALUE AT EACH ATOM IS        
       GIVEN IN THE 8TH COLUM (USUALLY THE OCCUPANCY) AS THE NUMBER        
       OF STANDARD DEVIATION ABOVE BACKGROUND. COLUMN NINE (USUALLY        
       THE TEMPERATURE FACTOR) CONTAINS THE VALUE OF THE RELATIVE          
       DENSITY WITHIN THE FITTED PROTEIN SCALED LINEARLY SO THAT THE       
       MINIMUM DENSITY IS 100.0 AND THE MAXIMUM DENSITY IS 1.0.  THE       
       ATOMS THAT LIE IN THE LOWER DENSITY REGIONS WILL HAVE THE           
       HIGHEST PSEUDO TEMPERATURE FACTORS.                                 
   ;
;
     save_



save__em_3d_fitting.id
    _item_description.description
;    The value of _em_3d_fitting.id must uniquely identify
     a fitting procedure of atomic coordinates
     into 3dem reconstructed volume map.
;

     loop_
    _item.name
    _item.category_id
    _item.mandatory_code
            '_em_3d_fitting.id'                   em_3d_fitting      yes
            '_em_3d_fitting_list.3d_fitting_id'   em_3d_fitting_list yes
     loop_
    _item_linked.child_name
    _item_linked.parent_name
               '_em_3d_fitting_list.3d_fitting_id'  '_em_3d_fitting.id'
    _item_type.code               code
    save_

save__em_3d_fitting.entry_id
    _item_description.description
;    This data item is a pointer to _entry_id in
     the ENTRY category.
;
    _item.name                   '_em_3d_fitting.entry_id'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_3d_fitting.entry_id'
    _item_linked.parent_name    '_entry.id'
     save_



save__em_3d_fitting.method
    _item_description.description
;    The method used to fit atomic coordinates
     into the 3dem reconstructed map.
;
    _item.name                   '_em_3d_fitting.method'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                line
     save_

save__em_3d_fitting.target_criteria
    _item_description.description
;    The quality of fit of the atomic coordinates into the 
     3dem volume map.
;
    _item.name                   '_em_3d_fitting.target_criteria'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case           'best visual fit using the program O'
     save_


#save__em_3d_fitting.quality_index
#    _item_description.description
#;    The quality of fit of the atomic coordinates into the 
#     3dem volume map.
#;
#    _item.name                   '_em_3d_fitting.quality_index'
#    _item.category_id              em_3d_fitting
#    _item.mandatory_code           no
#    _item_type.code                text
#     save_
#
save__em_3d_fitting.local_variance
    _item_description.description
;    Description of local variance of fit of the atomic coordinates into the 
     3dem volume map.
;
    _item.name                   '_em_3d_fitting.local_variance'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                text
     save_


save__em_3d_fitting.quality_details
    _item_description.description
;    Description of the quality of fit of the atomic coordinates into the 
     3dem volume map.
;
    _item.name                   '_em_3d_fitting.quality_details'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                text
     save_



save__em_3d_fitting.details
    _item_description.description
;    Any additional details regarding fitting of atomic
     coordinates into the 3d-em volume. 
;
    _item.name                   '_em_3d_fitting.details'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case           'partial'
     save_

save__em_3d_fitting.overall_b_value
    _item_description.description
;     The overall B (temperature factor) value for the 3d-em volume. 
;
    _item.name                   '_em_3d_fitting.overall_b_value'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                float
     save_

save__em_3d_fitting.ref_space
    _item_description.description
;    A flag to indicate whether fitting was carried out in real
     or reciprocal refinement space.
;  
    _item.name                   '_em_3d_fitting.ref_space'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                line
     loop_
    _item_enumeration.value
                REAL
                RECIPROCAL
     save_

save__em_3d_fitting.ref_protocol
    _item_description.description
;  The type of protocol used in the refinement. 
;
    _item.name                   '_em_3d_fitting.ref_protocol'
    _item.category_id              em_3d_fitting
    _item.mandatory_code           no
    _item_type.code                text
    _item_examples.case          'rigid body'
     save_

########################
## EM_3D_FITTING_LIST ##
########################

save_em_3d_fitting_list
    _category.description
;  Data items in the 3D_FITTING_LIST category
   lists the methods of fitting atomic coordinates from a PDB file
   into a 3d-em volume map file 
;
    _category.id                  em_3d_fitting_list
    _category.mandatory_code      no
    loop_
    _category_key.name           
                           '_em_3d_fitting_list.id'
                           '_em_3d_fitting_list.3d_fitting_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_structure_analysis_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on EM entry 1078
;
;  
  loop_
   _em_3d_fitting_list.id
   _em_3d_fitting_list.3d_fitting_id
   _em_3d_fitting_list.entry_id
   _em_3d_fitting_list.pdb_entry_id
   _em_3d_fitting_list.pdb_chain_id
   _em_3d_fitting_list.start_seq
   _em_3d_fitting_list.end_seq
   _em_3d_fitting_list.fitted_pdb_entry_id
   _em_3d_fitting_list.fitted_pdb_chain_id
   _em_3d_fitting_list.start_pdb_symm_as_xyz
   _em_3d_fitting_list.transform_matrix[1][1]
   _em_3d_fitting_list.transform_matrix[1][2]
   _em_3d_fitting_list.transform_matrix[1][3]
   _em_3d_fitting_list.transform_matrix[1][4]
   _em_3d_fitting_list.transform_matrix[2][1]
   _em_3d_fitting_list.transform_matrix[2][2]
   _em_3d_fitting_list.transform_matrix[2][3]
   _em_3d_fitting_list.transform_matrix[2][4]
   _em_3d_fitting_list.transform_matrix[3][1]
   _em_3d_fitting_list.transform_matrix[3][2]
   _em_3d_fitting_list.transform_matrix[3][3]
   _em_3d_fitting_list.transform_matrix[3][4]
   _em_3d_fitting_list.transform_matrix[4][1]
   _em_3d_fitting_list.transform_matrix[4][2]
   _em_3d_fitting_list.transform_matrix[4][3]
   _em_3d_fitting_list.transform_matrix[4][4]
   1 1 EM1078 1EL6 A   1 219 1PDF A 'x, y, z' . . . . . . . . . . . .
   2 1 EM1078 1EL6 B   1 219 1PDF B 'x, y, z' . . . . . . . . . . . .
   3 1 EM1078 1EL6 C   1 219 1PDF C 'x, y, z' . . . . . . . . . . . .
   4 1 EM1078 1EL6 A   1 219 1PDF D 'x, y, z' . . . . . . . . . . . .
   5 1 EM1078 1EL6 B   1 219 1PDF E 'x, y, z' . . . . . . . . . . . .
   6 1 EM1078 1EL6 C   1 219 1PDF F 'x, y, z' . . . . . . . . . . . .
   7 1 EM1078 1EL6 A   1 219 1PDF G 'x, y, z' . . . . . . . . . . . .
   8 1 EM1078 1EL6 B   1 219 1PDF H 'x, y, z' . . . . . . . . . . . .
   9 1 EM1078 1EL6 C   1 219 1PDF I 'x, y, z' . . . . . . . . . . . .
  10 1 EM1078 1EL6 A   1 219 1PDF J 'x, y, z' . . . . . . . . . . . .
  11 1 EM1078 1EL6 B   1 219 1PDF K 'x, y, z' . . . . . . . . . . . .
  12 1 EM1078 1EL6 C   1 219 1PDF L 'x, y, z' . . . . . . . . . . . .
  13 1 EM1078 1EL6 A   1 219 1PDF M 'x, y, z' . . . . . . . . . . . .
  14 1 EM1078 1EL6 B   1 219 1PDF N 'x, y, z' . . . . . . . . . . . .
  15 1 EM1078 1EL6 C   1 219 1PDF O 'x, y, z' . . . . . . . . . . . .
  16 1 EM1078 1EL6 A   1 219 1PDF P 'x, y, z' . . . . . . . . . . . .
  17 1 EM1078 1EL6 B   1 219 1PDF Q 'x, y, z' . . . . . . . . . . . .
  18 1 EM1078 1EL6 C   1 219 1PDF R 'x, y, z' . . . . . . . . . . . .
  19 2 EM1078 1H6W A 250 397 1PDI A 'x, y, z' . . . . . . . . . . . .
  20 2 EM1078 1OCY A 397 527 1PDI A 'x, y, z' . . . . . . . . . . . .
  21 2 EM1078 1H6W A 250 397 1PDI B '1-y, 1+x-y, z' . . . . . . . . . . . .
  22 2 EM1078 1OCY A 397 527 1PDI B '1-y, 1+x-y, z' . . . . . . . . . . . .
  23 2 EM1078 1H6W A 250 397 1PDI C 'y-x, 1-x, z' . . . . . . . . . . . . .
  24 2 EM1078 1OCY A 397 527 1PDI C 'y-x, 1-x, z' . . . . . . . . . . . . .
  25 2 EM1078 1H6W A 250 397 1PDI D 'x, y, z' . . . . . . . . . . . .
  26 2 EM1078 1OCY A 397 527 1PDI D 'x, y, z' . . . . . . . . . . . .
  27 2 EM1078 1H6W A 250 397 1PDI E '1-y, 1+x-y, z' . . . . . . . . . . . .
  28 2 EM1078 1OCY A 397 527 1PDI E '1-y, 1+x-y, z' . . . . . . . . . . . .
  29 2 EM1078 1H6W A 250 397 1PDI F 'y-x, 1-x, z' . . . . . . . . . . . .
  30 2 EM1078 1OCY A 397 527 1PDI F 'y-x, 1-x, z' . . . . . . . . . . . .
  31 2 EM1078 1H6W A 250 397 1PDI G 'x, y, z' . . . . . . . . . . . .
  32 2 EM1078 1OCY A 397 527 1PDI G 'x, y, z' . . . . . . . . . . . .
  33 2 EM1078 1H6W A 250 397 1PDI H '1-y, 1+x-y, z' . . . . . . . . . . . .
  34 2 EM1078 1OCY A 397 527 1PDI H '1-y, 1+x-y, z' . . . . . . . . . . . .
  35 2 EM1078 1H6W A 250 397 1PDI I 'y-x, 1-x, z' . . . . . . . . . . . .
  36 2 EM1078 1OCY A 397 527 1PDI I 'y-x, 1-x, z' . . . . . . . . . . . .
  37 2 EM1078 1H6W A 250 397 1PDI J 'x, y, z' . . . . . . . . . . . .
  38 2 EM1078 1OCY A 397 527 1PDI J 'x, y, z' . . . . . . . . . . . .
  39 2 EM1078 1H6W A 250 397 1PDI K '1-y, 1+x-y, z' . . . . . . . . . . . .
  40 2 EM1078 1OCY A 397 527 1PDI K '1-y, 1+x-y, z' . . . . . . . . . . . .
  41 2 EM1078 1H6W A 250 397 1PDI L 'y-x, 1-x, z' . . . . . . . . . . . .
  42 2 EM1078 1OCY A 397 527 1PDI L 'y-x, 1-x, z' . . . . . . . . . . . .
  43 2 EM1078 1H6W A 250 397 1PDI M 'x, y, z' . . . . . . . . . . . .
  44 2 EM1078 1OCY A 397 527 1PDI M 'x, y, z' . . . . . . . . . . . .
  45 2 EM1078 1H6W A 250 397 1PDI N '1-y, 1+x-y, z' . . . . . . . . . . . .
  46 2 EM1078 1OCY A 397 527 1PDI N '1-y, 1+x-y, z' . . . . . . . . . . . .
  47 2 EM1078 1H6W A 250 397 1PDI O 'y-x, 1-x, z' . . . . . . . . . . . .
  48 2 EM1078 1OCY A 397 527 1PDI O 'y-x, 1-x, z' . . . . . . . . . . . .
  49 2 EM1078 1H6W A 250 397 1PDI P 'x, y, z' . . . . . . . . . . . .
  50 2 EM1078 1OCY A 397 527 1PDI P 'x, y, z' . . . . . . . . . . . .
  51 2 EM1078 1H6W A 250 397 1PDI Q '1-y, 1+x-y, z' . . . . . . . . . . . .
  52 2 EM1078 1OCY A 397 527 1PDI Q '1-y, 1+x-y, z' . . . . . . . . . . . .
  53 2 EM1078 1H6W A 250 397 1PDI R 'y-x, 1-x, z' . . . . . . . . . . . .
  54 2 EM1078 1OCY A 397 527 1PDI R 'y-x, 1-x, z' . . . . . . . . . . . .
  55 3 EM1078 1QEX A   1 288 1PDP A 'x, y, z' . . . . . . . . . . . .
  56 3 EM1078 1QEX B   1 288 1PDP B 'x, y, z' . . . . . . . . . . . .
  57 3 EM1078 1QEX A   1 288 1PDP C '-y, x-y, z' . . . . . . . . . . . .
  58 3 EM1078 1QEX B   1 288 1PDP D '-y, x-y, z' . . . . . . . . . . . .
  59 3 EM1078 1QEX A   1 288 1PDP E 'y-x, -x, z' . . . . . . . . . . . .
  60 3 EM1078 1QEX B   1 288 1PDP F 'y-x, -x, z' . . . . . . . . . . . .
  61 3 EM1078 1QEX A   1 288 1PDP G 'x, y, z' . . . . . . . . . . . .
  62 3 EM1078 1QEX B   1 288 1PDP H 'x, y, z' . . . . . . . . . . . .
  63 3 EM1078 1QEX A   1 288 1PDP I '-y, x-y, z' . . . . . . . . . . . .
  64 3 EM1078 1QEX B   1 288 1PDP J '-y, x-y, z' . . . . . . . . . . . .
  65 3 EM1078 1QEX A   1 288 1PDP K 'y-x, -x, z' . . . . . . . . . . . .
  66 3 EM1078 1QEX B   1 288 1PDP L 'y-x, -x, z' . . . . . . . . . . . .
  67 3 EM1078 1QEX A   1 288 1PDP M 'x, y, z' . . . . . . . . . . . .
  68 3 EM1078 1QEX B   1 288 1PDP N 'x, y, z' . . . . . . . . . . . .
  69 3 EM1078 1QEX A   1 288 1PDP O '-y, x-y, z' . . . . . . . . . . . .
  70 3 EM1078 1QEX B   1 288 1PDP P '-y, x-y, z' . . . . . . . . . . . .
  71 3 EM1078 1QEX A   1 288 1PDP Q 'y-x, -x, z' . . . . . . . . . . . .
  72 3 EM1078 1QEX B   1 288 1PDP R 'y-x, -x, z' . . . . . . . . . . . .
;               
    save_


save__em_3d_fitting_list.id
    _item_description.description
;    This data item is a unique identifier.
;
    _item.name                   '_em_3d_fitting_list.id'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           yes
    _item_type.code                code
     save_


save__em_3d_fitting_list.3d_fitting_id
    _item_description.description
;    The value of _em_3d_fitting_list.3d_fitting_id is a pointer
     to  _em_3d_fitting.id in the 3d_fitting category
;
    _item.name                   '_em_3d_fitting_list.3d_fitting_id'
    _item.mandatory_code          yes
     save_

save__em_3d_fitting_list.pdb_entry_id
    _item_description.description
;  The PDB code for the entry used in fitting. 
;
    _item.name                   '_em_3d_fitting_list.pdb_entry_id'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                line
    _item_linked.child_name      '_em_3d_fitting_list.pdb_entry_id'
    _item_linked.parent_name     '_entry.id'
     save_

save__em_3d_fitting_list.pdb_chain_id
    _item_description.description
;  The chain id for the entry used in fitting. 
;
    _item.name                   '_em_3d_fitting_list.pdb_chain_id'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                code
     save_

save__em_3d_fitting_list.model_details
    _item_description.description
;  Description of a particular component pdb entry used in fitting. 
;
    _item.name                   '_em_3d_fitting_list.model_details'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                text
     save_

save__em_3d_fitting_list.fitted_pdb_entry_id
    _item_description.description
;  The PDB code for the entry produced by the fitting. 
;
    _item.name                   '_em_3d_fitting_list.fitted_pdb_entry_id'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                line
    _item_linked.child_name      '_em_3d_fitting_list.fitted_pdb_entry_id'
    _item_linked.parent_name     '_entry.id'
     save_

save__em_3d_fitting_list.entry_id
    _item_description.description
;  The EM entry id pointer
;
    _item.name                   '_em_3d_fitting_list.entry_id'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                line
    _item_linked.child_name      '_em_3d_fitting_list.entry_id'
    _item_linked.parent_name     '_entry.id'
     save_

save__em_3d_fitting_list.fitted_pdb_chain_id
    _item_description.description
;  The chain id for the resulting fitted coordinates
;
    _item.name                   '_em_3d_fitting_list.fitted_pdb_chain_id'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                code
     save_

save__em_3d_fitting_list.start_seq
    _item_description.description
;  The start sequence ID for the pdb entry chain
   used in the fitting
;
    _item.name                   '_em_3d_fitting_list.start_seq'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                code
     save_

save__em_3d_fitting_list.end_seq
    _item_description.description
;  The end sequence ID for the pdb entry chain
   used in the fitting
;
    _item.name                   '_em_3d_fitting_list.end_seq'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                code
     save_

save__em_3d_fitting_list.start_pdb_symm_as_xyz
    _item_description.description
;  The symmetry required to be applied to the starting
   PDB entry chain before starting the fitting procedure
;
    _item.name                   '_em_3d_fitting_list.start_pdb_symm_as_xyz'
    _item.category_id              em_3d_fitting_list
    _item.mandatory_code           no
    _item_type.code                line
     save_


save__em_3d_fitting_list.transform_matrix[1][1]
    _item_description.description
;  The (1,1) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[1][1]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[1][2]
    _item_description.description
;  The (1,2) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[1][2]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_

save__em_3d_fitting_list.transform_matrix[1][3]
    _item_description.description
;  The (1,3) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[1][3]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[1][4]
    _item_description.description
;  The (1,4) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[1][4]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_



save__em_3d_fitting_list.transform_matrix[2][1]
    _item_description.description
;  The (2,1) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[2][1]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[2][2]
    _item_description.description
;  The (2,2) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[2][2]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[2][3]
    _item_description.description
;  The (2,3) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[2][3]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_




save__em_3d_fitting_list.transform_matrix[2][4]
    _item_description.description
;  The (2,4) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[2][4]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_

save__em_3d_fitting_list.transform_matrix[3][1]
    _item_description.description
;  The (3,1) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[3][1]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[3][2]
    _item_description.description
;  The (3,2) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[3][2]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[3][3]
    _item_description.description
;  The (3,3) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[3][3]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


save__em_3d_fitting_list.transform_matrix[3][4]
    _item_description.description
;  The (3,4) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[3][4]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_

save__em_3d_fitting_list.transform_matrix[4][1]
    _item_description.description
;  The (4,1) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[4][1]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_

save__em_3d_fitting_list.transform_matrix[4][2]
    _item_description.description
;  The (4,2) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[4][2]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_

save__em_3d_fitting_list.transform_matrix[4][3]
    _item_description.description
;  The (4,3) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[4][3]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_

save__em_3d_fitting_list.transform_matrix[4][4]
    _item_description.description
;  The (4,4) element of a 4,4 matrix relating
   the starting PDB chain to the fitted coordinates
   in the case of rigid body refinement
;
   _item.name               '_em_3d_fitting_list.transform_matrix[4][4]'
   _item.mandatory_code     no
   _item.category_id        em_3d_fitting_list
   _item_sub_category.id    matrix
   _item_type.code          float
   save_


####################
## EM_MICROGRAPHS ##
####################

save_em_micrographs
    _category.description
;   Data items in the EM_MICROGRAPHS category record details
    about em raw data images
;
    _category.id                  em_micrographs
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_micrographs.image_id'
                                 '_em_micrographs.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     save_
  
save__em_micrographs.image_id
    _item_description.description
;    The value of _em_micrograph.image_id must uniquely identify
     an image used in the em experiments.
;
    _item.name                   '_em_micrographs.image_id'
    _item.category_id            em_micrographs
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_micrographs.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_micrographs.entry_id'
    _item.category_id            em_micrographs
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_micrographs.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_micrographs.microscope_id
    _item_description.description
;    This data item is a pointer to _em_microscope.id
    in the EM_MICROSCOPE category.
;
    _item.name                   '_em_micrographs.microscope_id'
    _item.category_id            em_micrographs
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_micrographs.microscope_id'
    _item_linked.parent_name     '_em_microscope.id'
      save_

save__em_micrographs.specimen_id
    _item_description.description
;    This data item is a pointer to _em_sample_preparation.id
    in the EM_SAMPLE_PREPARATION category.
;
    _item.name                   '_em_micrographs.specimen_id'
    _item.category_id            em_micrographs
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_micrographs.specimen_id'
    _item_linked.parent_name     '_em_sample_preparation.id'
      save_


save__em_micrographs.astigmatism_flag
    _item_description.description
; Astigmatism(axial): an electron-optical lens aberration that causes 
  the defocus to be a function of azimuth, and the contrast transfer 
  function to deviate from circular symmetry about the optical axis. 
  As a consequence, the Thon rings deform into elliptic or hyperbolic 
  patterns, depending on the size of defocus and the size of the 
  astigmatic defocus difference. 
  A flag for   Y or N  for astigmatism estimation
;
   _item.name                   '_em_micrographs.astigmatism_flag'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               ucode
   loop_
   _item_enumeration.value    N NO Y YES
   save_

save__em_micrographs.circular_averaging_flag
    _item_description.description
; A flag for Y or N  for circular averaging 
;
   _item.name                   '_em_micrographs.circular_averaging_flag'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               ucode
   loop_
   _item_enumeration.value    N NO Y YES
   save_

save__em_micrographs.image_filter
    _item_description.description
; The type of image filter used
;
   _item.name                   '_em_micrographs.image_filter'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               line
   loop_
   _item_enumeration.value    
  Focus
  'Far from focus'
        'Near to focus'
   save_


save__em_micrographs.edge_threshold
    _item_description.description
; The threshold set for edge detection for carbon and ice images.
;
   _item.name                   '_em_micrographs.edge_threshold'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               text
   save_
  
save__em_micrographs.power_factor
    _item_description.description
; The upper cutoff frequency
;
   _item.name                   '_em_micrographs.power_factor'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               text
   save_
  


save__em_micrographs.averaging_overlap
    _item_description.description
; For each micrograph smaller images are cropped from the 
  image with the power spectrum found for all small images 
  and they are averaged to improve signal to noise ratio. 
;
   _item.name                   '_em_micrographs.averaging_overlap'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               text
   save_

  
save__em_micrographs.field_size
    _item_description.description
; Field size refers to the width of each small image cropped. 
  An _em_micrographs.averaging_overlap implies that the 
  successive images have an overalp of 
  (1-_em_micrographs.averaging_overlap)*field size. 
  A higher value of _em_micrographs.averaging_overlap means 
  a greater number of smaller images are used for averaging.  
  If the signal to noise ratio is very low, the averaging overlap 
  should be changed for better estimate of power spectrum.
;
   _item.name                   '_em_micrographs.field_size'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               text
   save_
   
save__em_micrographs.nominal_defocus 
    _item_description.description
;   The nominal defocus e.g. 2.00
;
    _item.name                   '_em_micrographs.nominal_defocus'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               float
   save_

save__em_micrographs.refined_defocus_estimate 
    _item_description.description
;   The refined defocus estimate e.g. 1.975
;
    _item.name                   '_em_micrographs.refined_defocus_estimate'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               float
   save_

save__em_micrographs.amplitude_contrast 
    _item_description.description
;   The amplitude contrast e.g. 0.06
;
   _item.name                   '_em_micrographs.amplitude_contrast'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               float
   save_


save__em_micrographs.astigmatism_ratio 
    _item_description.description
;   The astigmatism ratio e.g. 0.96
;
   _item.name                   '_em_micrographs.astigmatism_ratio'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               float
   save_

save__em_micrographs.correction_type 
    _item_description.description
;  The difference between the two is that in Phase only correction 
  only the phase of the CTF is flipped whereas in Phase and Amplitude 
  correction, Wiener filtering is done to correct both phase and 
  amplitude. If the envelope function and noise spectrum parameters 
  are not available then phase only correction is recommended. 
  For example if the parameters calculated from far from focus images 
  are used to correct near to focus images (after adjusting for the 
  defocus difference), the envelope function and noise spectrum 
  parameter estimates of far from focus images are not reliable for 
  near to focus images.  
;
   _item.name                   '_em_micrographs.correction_type'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
   _item_type.code               line
   loop_
   _item_enumeration.value 
      'Phase and Amplitude correction'
      'Phase only correction'
   save_


save__em_micrographs.experiment_mode
    _item_description.description
;   parameters of the CTF used for correcting are estimated 
  from each image
  or
  parameters estimated for the far from images are used to 
  correct near to focus images after compensating for the defocus
;
    _item.name                   '_em_micrographs.experiment_mode'
    _item.category_id            em_micrographs
    _item.mandatory_code         no
    _item_type.code               text
   save_


save__em_micrographs.exposure_time
    _item_description.description
;    The exposure time in micro-seconds
;
    _item.name                   '_em_micrographs.exposure_time'
    _item.category_id              em_micrographs
    _item.mandatory_code           no
    _item_type.code                float
    save_

save__em_micrographs.exposure_type
    _item_description.description
;    The exposure type 
;
    _item.name                   '_em_micrographs.exposure_type'
    _item.category_id              em_micrographs
    _item.mandatory_code           no
    _item_type.code                line
     loop_
    _item_enumeration.value
      normal
      dark
     save_




##########################
## EM_MICROSCOPE        ##
##########################

save_em_microscope
    _category.description
;   Data items in the EM_MICROSCOPE category record details
    about the microscope 
;
    _category.id                  em_microscope
    _category.mandatory_code      no
    _category_key.name           '_em_microscope.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
     save_
  
save__em_microscope.id
    _item_description.description
;    The value of _em_microscope.id must uniquely identify
     a microscope used in the em experiments.
;
    _item.name                   '_em_microscope.id'
    _item.category_id            em_microscope
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_microscope.model
    _item_description.description
;    The microscope model
;
    _item.name                   '_em_microscope.model'
    _item.category_id            em_microscope
    _item.mandatory_code         yes 
    _item_type.code              line
     loop_
    _item_enumeration.value
         'HITACHI H8100' 
         'HITACHI HF2000' 
         'HITACHI HF2000-UHR' 
         'HITACHI H9000-UHR' 
         'HITACHI H9000-NAR' 
         'HITACHI 300KEV FEG' 
         'HITACHI HU1250' 
         'HITACHI H-1500' 
         'JEOL 2000EX' 
         'JEOL 2010HT' 
         'JEOL 2010UHR' 
         'JEOL 2010F' 
         'JEOL 3010HT' 
         'JEOL 3010UHR' 
         'JEOL KYOTO-3000SFF' 
         'JEOL 4000EX' 
         'JEOL HAREM' 
         'JEOL ARM-1000' 
         'FEI/PHILIPS CM120T'  
         'FEI/PHILIPS CM200T' 
         'FEI/PHILIPS CM20/ST' 
         'FEI/PHILIPS CM20/SOPHIE' 
         'FEI/PHILIPS CM200FEG/ST' 
         'FEI/PHILIPS CM20/UT' 
         'FEI/PHILIPS CM200FEG/UT' 
         'FEI/PHILIPS CM30/T' 
         'FEI/PHILIPS CM300FEG/T' 
         'FEI/PHILIPS CM300FEG/HE'  
         'FEI/PHILIPS CM30/ST' 
         'FEI/PHILIPS CM300FEG/ST' 
         'FEI/PHILIPS CM300FEG/UT' 
         'FEI TECNAI 12' 
         'FEI TECNAI 20' 
         'FEI TECNAI F20' 
         'FEI TECNAI F30' 
         'FEI MORGAGNI' 
'JEOL 1200'
'JEOL 1210'
'JEOL 1010'
'JEOL 2500SE'
'JEOL 1230'
'JEOL ARM1300'
'JEOL 4010'
'JEOL 2010'
'JEOL 3000F'
'JEOL 3010'
'JEOL 3010F'
'JEOL 3100'
'JEOL 3200FS'
'JEOL 2200FS'
'JEOL 2100'
'JEOL 2100F'
'FEI TECNAI SPHERA'
'FEI TECNAI POLORA'
'FEI TECNAI 30'
'FEI TECNAI SPIRIT TWIN'
'FEI TECNAI SPIRIT BIOTWIN'
'ZEISS LIBRA EFTEM 120'
'ZEISS LIBRA EFTEM 200FE'
     save_

save__em_microscope.electron_source
    _item_description.description
; The source of electrons. The electron gun.
;
    _item.name                  '_em_microscope.electron_source'
    _item.category_id             em_microscope
    _item.mandatory_code          yes
    _item_type.code               line
     loop_
    _item_enumeration.value
              'FIELD EMISSION GUN'
              LAB6
              'TUNGSTEN HAIRPIN'
              OTHER
     save_

save__em_microscope.nominal_cs
    _item_description.description
; The spherical aberration coefficient (Cs) in millimetres,
  of the objective lens. 
;
    _item.name                  '_em_microscope.nominal_cs'
    _item.category_id             em_microscope
    _item.mandatory_code          no
    _item_type.code               float
    _item_units.code               millimetres
    _item_examples.case           1.4
     save_


#################
## EM_CLASSES  ##
#################

save_em_classes
    _category.description
;   Data items in the EM_CLASSES category record details
    about the particle classification. 
  Particle classification involves grouping images that are similar, 
  and separating images that are distinct. In practical use, this means 
  that experimental projections that have the same orientation (shape) 
  are placed within the same category for later averaging. In this case, 
  orientation means that the particles are showing the same face to the 
  viewer and the only difference between them is that they can be rotated 
  by some angle in the plane of the image. The experimental projections 
  might also be shifted relative to each other, but the centering of 
  the experimental projections is often done before classification.

  is this required?
  E(e1,e2,e3) = E(w,h,i)

  cos(i)cos(h)cos(w)-sin(i)sin(h)    cos(i)cos(h)sin(w)+sin(i)sin(h)  -cos(i)sin(h)
 -sin(i)cos(h)cos(w)-cos(i)sin(h)    sin(i)cos(h)sin(w)+cos(i)sin(h)   sin(i)sin(h)
  sin(h)cos(w)                       sin(h)sin(w)                      cos(h)


;
    _category.id                  em_classes
    _category.mandatory_code      no
    _category_key.name           '_em_classes.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_reconstruction_group'
                                 'em_single_particle_group'
     save_
  
save__em_classes.id
    _item_description.description
;    The value of _em_classes.id must uniquely identify
     the classes used in the em experiments.
;
    _item.name                   '_em_classes.id'
    _item.category_id            em_classes
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_classes.details
    _item_description.description
;    Description of the classes derived in the em experiments.
;
    _item.name                   '_em_classes.details'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              text
    loop_
    _item_examples.case
    _item_examples.detail
   1
; We have used size variation analyses to classify images recorded 
  from preparations of the WT S. cerevisiae PDC to which sufficient 
  E1 was added to occupy its 60 binding sites and the same preparation 
  with about one-third of the E1 binding sites occupied. Two 3D 
  reconstructions representative of images that vary in size by 10-12% 
  (~50 Angstroms in diameter) from these preparations were computed to 
  document the E1 organization about the core and the length of its 
  inner linkers. 

  In this regard, our previous structure of the WT bovine kidney PDC in 
  which ~22 E1s were bound indicated that the outer shell could readily 
  accommodate 60 molecules of E1 without significant crowding. Surprisingly, 
  this study shows that extensive E1 binding favors a more extended inner 
  linker and an altered arrangement of E1 about the core.
;
    2
; The focal pair method of orientation determination, refinement, and 
  3D reconstruction as implemented in the IMIRS software package was 
  used except that an additional step of particle-size evaluation was 
  performed in the current reconstruction. Data sets consisting of 
  1,500 and 690 particle images of PDC with a molar ratio of 60 E1/E2 
  core and ~24 E1/E2 core, respectively, were processed. For both data 
  sets, an iterative procedure was implemented to classify the particles 
  according to their sizes by using the SIZEDIFF program with contrast 
  transfer function correction incorporated. A preliminary 3D reconstruction 
  was calculated by combining all of the particles, and this "average" 
  reconstruction was used to classify the images into a 1.0 size group 
  comprising a 3% size variation of the images. For the PDC with ~60 
  E1/E2 core, the converged structure from 128 images in the 1.0 size 
  group, was then used as a model to classify 45 and 80 images in the 
  0.95 and 1.05 size groups, respectively. For the WT PDC preparation 
  (24 E1/E2 core) the converged structure from 80 images in the 1.0 
  size group was used as model to classify 46 and 53 images in the 
  0.95 and 1.05 size groups, respectively. The image size distribution 
  appears bell-shaped and is consistent with a more extensive data set 
  of the human PDC (Y.G., Z.H.Z., Y. Hiromasa, H. Bao, X. Yan, 
  T. E. Roche, and J.K.S., unpublished results). The finding that 1.0 
  size groups consist of the larger and smaller reconstructions in the 
  PDC preparations according to their greater or lesser degree of 
  E1 occupancy, respectively, indicates that the extent of E1 binding 
  is related to the variable size of the molecules.
;
   3
; A classification was performed using the self-organizing map (SOM) 
  algorithms of the XMIPP package. The entire set was first low 
  pass-filtered to 3.2 nm, and a reference-free alignment was performed 
  using the Spider software package. Transformations in x, y, and 
  in-plane angle  were imposed, and the data set was fed to the kernel 
  density SOM procedure using a 10 x 10 grid. The procedure generates 
  a grid of code vectors that represent the assigned images. It was 
  verified that clean looking code vectors represented classes of clean 
  particles, while particles assigned to defect-ridden code vectors were 
  themselves of poor quality. The procedure was repeated several times 
  with different parameters, and in each case a set of roughly 3000 good 
  particles was obtained. Further processing was conducted on a set 
  containing 2943 particles. 
;
   4
; The picked particles were submitted to a multivariate statistical 
  analysis without alignment and were classified into clusters of 
  particles with similar features. To this end, a program package 
  kindly provided by J. P.  Bretaudiere was used. The various cluster 
  averages revealed square and round shaped particles at different 
  angular orientations. These averages were taken as references for 
  subsequent angular and translational alignment of the extracted 4096 
  particles. Aligned particles were classified again, and cluster 
  averages were calculated. 
;
    save_

save__em_classes.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_classes.entry_id'
    _item.category_id            em_classes
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_classes.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_classes.origin_x
    _item_description.description
;    The class origin in X
;
    _item.name                   '_em_classes.origin_x'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.origin_y
    _item_description.description
;    The class origin in Y
;
    _item.name                   '_em_classes.origin_y'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.euler_1 
    _item_description.description
;    The euler angle about z-axis
;
    _item.name                   '_em_classes.euler_1'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.euler_2
    _item_description.description
;    The euler angle about y-axis
;
    _item.name                   '_em_classes.euler_2'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.euler_3
    _item_description.description
;    The second euler angle about z-axis
;
    _item.name                   '_em_classes.euler_3'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_


save__em_classes.num_particles
    _item_description.description
;    The number of particles used in the class average
;
    _item.name                   '_em_classes.num_particles'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              int
    save_

save__em_classes.angular_error_threshold
    _item_description.description
;    The percentage angular error threshold
;
    _item.name                   '_em_classes.angular_error_threshold'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.internal_resolution_flag
    _item_description.description
;    flag for method used for internal resolution
;
    _item.name                   '_em_classes.internal_resolution_flag'
    _item.category_id            em_classes
    _item.mandatory_code         no
   _item_type.code               ucode
   loop_
   _item_enumeration.value    
  _item_enumeration.detail
    O    OTHER
    S    'S image'
    I    'I image'
    save_

save__em_classes.average_angular_error
    _item_description.description
;    The average_angular_error in degrees
;
    _item.name                   '_em_classes.average_angular_error'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.average_translational_pixel_shift_error
    _item_description.description
;    The average_translational_pixel_shift_error
;
    _item.name                   '_em_classes.average_translational_pixel_shift_error'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_


save__em_classes.fractional_minimum_amplitude
    _item_description.description
;    The fractional_minimum_amplitude
;
    _item.name                   '_em_classes.fractional_minimum_amplitude'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.global_correlation_coefficient
    _item_description.description
;    The global_correlation_coefficient
;
    _item.name                   '_em_classes.global_correlation_coefficient'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_

save__em_classes.global_real-space_correlation_coefficient
    _item_description.description
;    The global_real-space_correlation_coefficient
;
    _item.name                   '_em_classes.global_real-space_correlation_coefficient'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code              float
    save_




save__em_classes.clustering_method
    _item_description.description
;    The clustering_method used
;
    _item.name                   '_em_classes.clustering_method'
    _item.category_id            em_classes
    _item.mandatory_code         no
   _item_type.code               ucode
   loop_
   _item_enumeration.value    
   _item_enumeration.detail
    'single linkage'     . 
    'complete linkage'   . 
    'average linkage'    . 
    'centroid method'    . 
    'Wards method'       .
    'Correspondence Analysis'
; (CA) uses Chi-squared distance This is superior 
       because it ignores differences in exposure between 
       images, eliminating the need to rescale between images.
;
    'Principal Component Analysis'
; (PCA) computes the distance between data vectors 
      with Euclidean distances.
;
     'Didays method'
; A disadvantage of the K-means method is that the 
      final grouping is very dependent of what seeds are 
      initially chosen. Diday surpassed this by appplying 
      the K-means technique multiple times with different 
      seeds. Then, cross-tabuluating the results, and 
      using only the clusters that were repeatedly formed. 
;
     'Automatic Clustering and Hierarchical Ascendant Classifications (HAC)'
;  HAC it uses only Ward's criterion. Ward's criterion 
       states that merging HAC clusters should be focused 
       on minimizing the added interclass variance. The two 
       clusters that differ the least between each other 
       will be merged and create a new group, one "level" higher. 
;
       'K-Means Clustering'
; K-Means is a method of clustering that devides the data 
      into a user defined number of groups. Two random images 
      "seeds" are chosen, and their centers of gravity are 
      computed. A partition is drawn down the middle between 
      the centers, the new centers of gravity are computed, 
      and the process is repeated for a given number of times. 
      The final result is VERY dependent on which image seeds 
      are the first chosen. Because our faces data set is 
      manufactured. We know exactly which images are identical, 
      except the random noise, and the exact number of groups. 
      The output discussed was obtained with 8 classes, using 
      factors 1-3, and an even factor weight of 1.0 between 
      those three factors.
;
       save_


save__em_classes.alignment_method
    _item_description.description
;    The alignment_method used
;
    _item.name                   '_em_classes.alignment_method'
    _item.category_id            em_classes
    _item.mandatory_code         no
    _item_type.code               ucode
    loop_
    _item_enumeration.value    
    _item_enumeration.detail
      'Reference-based alignment'
; We assume that the reference image is known or that a good 
    approximation of it is available. We expect all the particles 
    to be noisy versions of the reference, with possible small 
    variations. In this case the alignment problem becomes a pattern 
    matching problem. We have to place every particle in an orientation 
    in which it will best match the reference image. In the case of 
    many reference images, in addition, we have to decide which 
    reference is the most similar one. We must also try the mirror 
    orientation since the particle may be flipped.
;
     'Alignment with the reference refinement'
; We assume that a set of particles in one orientation is available. 
    Particles are not identical, but they share the same motif. 
    begins with calculation of the global average to approximate the 
    reference, then aligns all the images and calculates new average 
    to obtain improved reference. These steps are iterated prescribed 
    number of times. 
;
      'Multireference alignment'
; We assume that a very large data set is available. It 
    comprises particles in a few distinct orientations. The data 
    set is sufficiently large that at least some of the similar views 
    occur in similar in-plane orientations, and so can be averaged. 
    Thus, if we can approximately center the particles, the subsequent 
    classification step should reveal some of the classes. These 
    classes are used as reference images in the next multireference 
    alignment step, classification is repeated, and new classes are 
    formed. This procedure is iterated until stable classes are 
    obtained. Such a multireference alignment is sometimes called 
    alignment through classification. This name reflects the idea 
    that alignment is done separately within groups produced by 
    the classification step.
  (a) - radius for alignment and mask -- 
    should correspond to the particle radius;
  (b) - whether classification is done using all pixels within mask 
    in the computation of Euclidean distance, or factors 
    from Principal Component Analysis (PCA);
  (c) - if PCA is to be used, the number of factors has to be set;
  (d) - the number of groups into which the data set will be divided -- 
    this determines the number of class averages that 
    will be obtained;
  (e) - the number of times the procedure should be repeated. 
;
     'Reference-free alignment'
;  The reference-free alignment Will seek such orientations of 
     all the particles in the data set that all the possible pairs 
     of images from this set are in the 'best' relative orientation 
     as determined by the maximum of the CCF. The reference-free 
     alignment programs were designed for very noisy data, for 
     particles in many different orientations, and in general for 
     cases in which a reference image is unknown or in which its 
     usage could result in a bias and incorrect results. 
;
        save_

#######################
## EM_3D_REFINEMENT  ##
#######################

save_em_3d_refinement
    _category.description
;   Data items in the EM_3D_REFINEMENT category record details
    about the class/particle refinement. 
  In random conical tilt, images were assigned angular positions through 
  rotational alignment and tilt-angles. From each different class, a 
  three-dimensional preliminary model is constructed. To improve the output, 
  those preliminary models from each class that have a high degree of 
  similarity are merged. In theory, these models corresponded to groups 
  of the same molecule just viewed from different orientations. Once all 
  the good random conical tilt models (and their corresponding particle 
  data sets) have been merged, iterative angular refinement is used to 
  improve the model's resolution. Equidistant projections are first 
  generated from the merged model. The entire particle data set (whether 
  the old random conical tilt experimental particles, or new untilted 
  experimental particles, or both) is then cross correlated to each 
  reference projection. A correlation coefficient is generated between 
  each experimental particle and reference projection. For each individual 
  experimental particle, it is matched to the reference projection that 
  gave the highest correlation coefficient. Therefore, it is assumed that 
  this particle matches the Euler angles of the reference projection.
;
    _category.id                  em_3d_refinement
    _category.mandatory_code      no
    _category_key.name           '_em_3d_refinement.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_reconstruction_group'
                                 'em_single_particle_group'
     save_
  
save__em_3d_refinement.id
    _item_description.description
;    The value of _em_3d_refinement.id must uniquely identify
     the refinement used in the em experiments.
;
    _item.name                   '_em_3d_refinement.id'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_3d_refinement.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_3d_refinement.entry_id'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_3d_refinement.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_3d_refinement.method_details
    _item_description.description
;    Description of the 3d refinement method
;
    _item.name                   '_em_3d_refinement.method_details'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              text
      save_


save__em_3d_refinement.num_iterations
    _item_description.description
;    the number of iterations used in refinement
;
    _item.name                   '_em_3d_refinement.num_iterations'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              int
      save_

save__em_3d_refinement.angular_search_step_size
    _item_description.description
;    the angular_search_step_size used in refinement
;
    _item.name                   '_em_3d_refinement.angular_search_step_size'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              float
      save_


save__em_3d_refinement.max_spatial_frequency
    _item_description.description
;    the max_spatial_frequency used in refinement (1/A)
;
    _item.name                   '_em_3d_refinement.max_spatial_frequency'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              float
      save_

save__em_3d_refinement.max_spatial_frequency_criterion
    _item_description.description
;    The criterion used to determine the maximum spatial frequency.
;
    _item.name                   '_em_3d_refinement.max_spatial_frequency_criterion'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              text
      save_


save__em_3d_refinement.structure_radius
    _item_description.description
;    the structure_radius in pixels
;
    _item.name                   '_em_3d_refinement.structure_radius'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              float
      save_



save__em_3d_refinement.projection_radius
    _item_description.description
;    the Projection radius in pixels
;
    _item.name                   '_em_3d_refinement.projection_radius'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              float
      save_

save__em_3d_refinement.alignment_radius
    _item_description.description
;    Alignment radius (pixels) used in alignment search
;
    _item.name                   '_em_3d_refinement.alignment_radius'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              float
      save_

save__em_3d_refinement.convergence_criterion
    _item_description.description
;    Convergence criterion fraction 
     e.g. Converges when x16 % of all images move < 1.5 * stepsize
;
    _item.name                   '_em_3d_refinement.convergence_criterion'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_3d_refinement.num_particles_refined
    _item_description.description
;    The number of particles used in refinement.
;
    _item.name                  '_em_3d_refinement.num_particles_refined'
    _item.category_id            em_3d_refinement
    _item.mandatory_code         no
    _item_type.code              int
      save_


#######################
#  EM_MAP_RESOLUTION  #
#######################

save_em_map_resolution
    _category.description
;   Data items in the EM_MAP_RESOLUTION category record details
    about the Fourier Shell Correlation 
  The most popular method at the moment for resolution assessment is the
  Fourier Shell Correlation, although there is no standard way to define
  the cutoff value. It assumes a uniform distribution of the resolution
  along the three-dimensions (so there is a single value of resolution).
  The Fourier Shell Correlation curve is defined as a list of value pairs 
  (x, y) where x is the spatial frequency (or inverse resolution in 1/A) 
  and y is the correlation coefficient (a value between 0 and 1).
;
    _category.id                  em_map_resolution
    _category.mandatory_code      no
    _category_key.name           '_em_map_resolution.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
; Example 1
;
;
      _em_map_resolution.entry_id EM9999
      _em_map_resolution.title       "ACh receptor FSC Plot"
      _em_map_resolution.x_axis      "Resolution (A-1)" 
      _em_map_resolution.y_axis      "Correlation Coefficient"
;
     save_
  
save__em_map_resolution.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id
     in the ENTRY category.
;
    _item.name                   '_em_map_resolution.entry_id'
    _item.category_id            em_map_resolution
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_map_resolution.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_



save__em_map_resolution.title
    _item_description.description
;    The title of the FSC graph - equivalent to the
     name of the assembly of observed complexes.
;
    _item.name                   '_em_map_resolution.title'
    _item.category_id            em_map_resolution
    _item.mandatory_code         yes
    _item_type.code              line
      save_


save__em_map_resolution.x_axis
    _item_description.description
;    The title of the x_axis in the FSC graph
     Usually the resolution in reciprical Angstroms
     may be spatial_frequency
;
    _item.name                   '_em_map_resolution.x_axis'
    _item.category_id            em_map_resolution
    _item.mandatory_code         yes
    _item_type.code              line
      save_

save__em_map_resolution.y_axis
    _item_description.description
;    The title of the y_axis in the FSC graph 
     The Correlation coefficient
     or sigma_value
;
    _item.name                   '_em_map_resolution.y_axis'
    _item.category_id            em_map_resolution
    _item.mandatory_code         yes
    _item_type.code              line
      save_

save__em_map_resolution.map_id
    _item_description.description
;    _em_map_resolution.map_id is a pointer to _em_map.id in the EM_MAP category
;
    _item.name                   '_em_map_resolution.map_id'
    _item.category_id            em_map_resolution
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_map_resolution.map_id'
    _item_linked.parent_name     '_em_map.id'
      save_

save__em_map_resolution.curve_id
    _item_description.description
;    _em_map_resolution.curve_id uniquely identifies a fsc plot
;
    _item.name                   '_em_map_resolution.curve_id'
    _item.category_id            em_map_resolution
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_map_resolution.curve_id'
    _item_linked.parent_name     '_em_fsc_curve.curve_id'
      save_

save__em_map_resolution.cutoff_used
    _item_description.description
; The cutoff value to estimate the resolution value can be defined by:
   - the point of the curve where the correlation is 0.5
   - the point of the curve that crosses a significance threshold curve
  According to Orlova et al. 1997 (J Mol Biol, 271:417) this significance
  threshold curve is defined as the 3*sigma (sigma = standard deviation of
  the FSC) for non-symmetrical particles.  (units: 1/A) 
  [stc stands for significance threshold curve]
;
    _item.name                   '_em_map_resolution.cutoff_used'
    _item.category_id            em_map_resolution
    _item.mandatory_code         no
    _item_type.code              float
      save_

save__em_map_resolution.sigma_weight
    _item_description.description
; the curve has to be weigthed taking into the account the number of
  independent asymmetric units (N). In that case the curve would be
  defined as sqrt(N)*3*sigma. This is the weighted factor used.
  If this weighted factor is always defined as 3*sqrt(N) then we only 
  need to know the number of independent units N. 
;
    _item.name                   '_em_map_resolution.sigma_weight'
    _item.category_id            em_map_resolution
    _item.mandatory_code         no
    _item_type.code              float
      save_



save__em_map_resolution.fsc_criteria
    _item_description.description
;    The value of the fourier shell correlation criterion. 
     A more accurate measure of the resolution is obtained by multiplying
     the sigma threshold value by the square root of the number of 
     asymmetric units within the given point group symmetry. Reference:
     (Orlova et al, J mol Biol, 271, 417-437,1997).
;
    _item.name                   '_em_map_resolution.fsc_criteria'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_
 
save__em_map_resolution.3d_reconstruction_resolution_method
      _item_description.description
;     Method used to determine the resolution of the map. The first of the 
        two fundamentally different methods is one that relies on dividing the 
        the data into two halves and then calculating two independent
        reconstructions which are then compared by Fourier Shell Correlation
        (FSC) or differential phase residual (DPR). The second different method
        of assessing resolution is more relevant where there is a combination of EM
        and X-ray data. The similarity between the EM density and the electron
        density corresponding to the atomic structure can be used to determine
        the resolution of the EM map.
;
      _item.name                   '_em_map_resolution.3d_reconstruction_resolution_method'
      _item.category_id              em_map_resolution
      _item.mandatory_code           no
      _item_type.code                text
        save_
 
save__em_map_resolution.resolution_cut_off_criteria
    _item_description.description
;     The cut-off criteria used in the resolution determination.e.g an FSC
      limit of 0.5 is used as a conservative measure of resolution.
;
    _item.name                   '_em_map_resolution.resolution_cut_off_criteria'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_map_resolution.nyquist_frequency
    _item_description.description
;     The Nyquist frequency is double the sampling step. e.g. for data
      sampled at 5 angstroms the Nyquist frequency is 1/10 angstroms.
      It is important to have the sampling rate of the data high enough
      so that the image information stays sufficiently away from the
      Nyquist frequency, otherwise there is a danger that the high-
      resolution information in both of the reconstruction volumes
      may be correlated.    
;
    _item.name                   '_em_map_resolution.nyquist_frequency'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_
  

save__em_map_resolution.fsc_significance_threshold
    _item_description.description
;    The fourier shell correlation significance threshold in sigma.
     e.g. a 3 sigma threshold is three standard deviations over
     the random noise value. 
;
    _item.name                   '_em_map_resolution.fsc_significance_threshold'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_resolution.fsc_spatial_frequency
    _item_description.description
;    The fourier shell correlation spatial frequency value.
;
    _item.name                   '_em_map_resolution.fsc_spatial_frequency'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_



save__em_map_resolution.spectral_value
    _item_description.description
;    The spectral-signal-to-noise ratio value.
     This two-dimensional resolution determination method compares reprojections.
;
    _item.name                   '_em_map_resolution.spectral_value'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_


save__em_map_resolution.dpr_spatial_frequency
    _item_description.description
;    The two dimensional differential phase residual spatial frequency value.
;
    _item.name                   '_em_map_resolution.dpr_spatial_frequency'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_resolution.dpr_value
    _item_description.description
;    The differential phase residual value.
;
    _item.name                   '_em_map_resolution.dpr_value'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_resolution.dpr_crit
    _item_description.description
;    The value of the differential phase residual criterion. 
;
    _item.name                   '_em_map_resolution.dpr_crit'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_resolution.details
    _item_description.description
;    Any additional details about the resolution determination method. 
;
    _item.name                   '_em_map_resolution.details'
    _item.category_id              em_map_resolution
    _item.mandatory_code           no
    _item_type.code                text
      save_


##################
#  EM_FSC_CURVE  #
##################

save_em_fsc_curve
    _category.description
;   Data items in the EM_FSC_CURVE category record the
    values for the Fourier Shell Correlation Curve
;
    _category.id                  em_fsc_curve
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                '_em_fsc_curve.id'
                                '_em_fsc_curve.curve_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     save_
  
save__em_fsc_curve.curve_id
    _item_description.description
;    _em_fsc.curve_id uniquely identifies a fsc plot
     and is a pointer to _em_fsc.curve_id in the
     EM_FSC category
;
    _item.name                   '_em_fsc_curve.curve_id'
    _item.category_id            em_fsc_curve
    _item.mandatory_code         yes
    _item_type.code              code
      save_

save__em_fsc_curve.id
    _item_description.description
;    This data item uniquely identifies a row
     in the FSC curve
;
    _item.name                   '_em_fsc_curve.id'
    _item.category_id            em_fsc_curve
    _item.mandatory_code         yes
    _item_type.code              int
      save_

save__em_fsc_curve.x
    _item_description.description
;    The x values in the FSC curve
;
    _item.name                   '_em_fsc_curve.x'
    _item.category_id            em_fsc_curve
    _item.mandatory_code         yes
    _item_type.code              float
      save_

save__em_fsc_curve.y
    _item_description.description
;    The y values in the FSC curve
;
    _item.name                   '_em_fsc_curve.y'
    _item.category_id            em_fsc_curve
    _item.mandatory_code         yes
    _item_type.code              float
      save_


##############
#  EM_STAIN  #
##############

save_em_stain
    _category.description
;   Data items in the EM_STAIN category record details
    about the staining techniques used.
;
    _category.id                  em_stain
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_stain.id'
                                 '_em_stain.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_specimen_preparation_group'
     save_

save__em_stain.id
    _item_description.description
;    The value of _em_stain.id must uniquely identify
     set of stain parameters
;
    _item.name                   '_em_stain.id'
    _item.category_id            em_stain
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_stain.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id
     in the ENTRY category.
;
    _item.name                   '_em_stain.entry_id'
    _item.category_id            em_stain
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_stain.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_


#save__em_stain.cryo_flag
#    _item_description.description
#;    A mandatory flag to indicate if the data items
#     describe cryo staining or not
#;
#    _item.name                   '_em_stain.cryo_flag'
#    _item.category_id            em_stain
#    _item.mandatory_code         yes
#    _item_type.code               line
#     loop_
#    _item_enumeration.value
#                YES
#                NO
#      save_

save__em_stain.details
    _item_description.description
;    General details on the staining techniques used
;
    _item.name                   '_em_stain.details'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_stain.citation
    _item_description.description
;    Text describing a reference citation
     on the staining techniques used
;
    _item.name                   '_em_stain.citation'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_stain.protocol
    _item_description.description
;    Text describing the protocol for the staining techniques used
;
    _item.name                   '_em_stain.protocol'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_stain.time_resolved_state
    _item_description.description
;    Text giving details on the time factors
     involved in the staining techniques used
;
    _item.name                   '_em_stain.time_resolved_state'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

#save__em_stain.cryogen_name
#    _item_description.description
#;    If the details given are for a cryogen staining
#     method the name of the cryogen used
#;
#    _item.name                   '_em_stain.cryogen_name'
#    _item.category_id            em_stain
#    _item.mandatory_code         no
#    _item_type.code              text
#      save_

save__em_stain.temperature
    _item_description.description
;    The staining technique temperature used
;
    _item.name                   '_em_stain.temperature'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_stain.humidity
    _item_description.description
;    The humidity at which the staining technique was used
;
    _item.name                   '_em_stain.humidity'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_stain.type
    _item_description.description
;    The general class or type of the staining technique
     used
;
    _item.name                   '_em_stain.type'
    _item.category_id            em_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

#save__em_stain.instrument
#    _item_description.description
#;    Details on the instrument used in the staining technique
#     used
#;
#    _item.name                   '_em_stain.instrument'
#    _item.category_id            em_stain
#    _item.mandatory_code         no
#    _item_type.code              text
#      save_
#
save__em_stain.sample_preparation_id
    _item_description.description
;    A pointer to _em_sample_preparation.id in the
     EM_SAMPLE_PREPARATION category
;
    _item.name                   '_em_stain.sample_preparation_id'
    _item.category_id            em_stain
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_stain.sample_preparation_id'
    _item_linked.parent_name     '_em_sample_preparation.id'
      save_



###################
#  EM_CRYO_STAIN  #
###################

save_em_cryo_stain
    _category.description
;   Data items in the EM_CRYO_STAIN category record details
    about the staining techniques used.
;
    _category.id                  em_cryo_stain
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_cryo_stain.id'
                                 '_em_cryo_stain.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_specimen_preparation_group'
     save_

save__em_cryo_stain.id
    _item_description.description
;    The value of _em_cryo_stain.id must uniquely identify
     set of stain parameters
;
    _item.name                   '_em_cryo_stain.id'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_cryo_stain.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id
     in the ENTRY category.
;
    _item.name                   '_em_cryo_stain.entry_id'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_cryo_stain.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_


#save__em_cryo_stain.cryo_flag
#    _item_description.description
#;    A mandatory flag to indicate if the data items
#     describe cryo staining or not
#;
#    _item.name                   '_em_cryo_stain.cryo_flag'
#    _item.category_id            em_cryo_stain
#    _item.mandatory_code         yes
#    _item_type.code               line
#     loop_
#    _item_enumeration.value
#                YES
#                NO
#      save_

save__em_cryo_stain.details
    _item_description.description
;    General details on the staining techniques used
;
    _item.name                   '_em_cryo_stain.details'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.citation
    _item_description.description
;    Text describing a reference citation
     on the staining techniques used
;
    _item.name                   '_em_cryo_stain.citation'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.protocol
    _item_description.description
;    Text describing the protocol for the staining techniques used
;
    _item.name                   '_em_cryo_stain.protocol'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.time_resolved_state
    _item_description.description
;    Text giving details on the time factors
     involved in the staining techniques used
;
    _item.name                   '_em_cryo_stain.time_resolved_state'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.cryogen_name
    _item_description.description
;    If the details given are for a cryogen staining
     method the name of the cryogen used
;
    _item.name                   '_em_cryo_stain.cryogen_name'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.temperature
    _item_description.description
;    The staining technique temperature used
;
    _item.name                   '_em_cryo_stain.temperature'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.humidity
    _item_description.description
;    The humidity at which the staining technique was used
;
    _item.name                   '_em_cryo_stain.humidity'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.type
    _item_description.description
;    The general class or type of the staining technique
     used
;
    _item.name                   '_em_cryo_stain.type'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.instrument
    _item_description.description
;    Details on the instrument used in the staining technique
     used
;
    _item.name                   '_em_cryo_stain.instrument'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_cryo_stain.sample_preparation_id
    _item_description.description
;    A pointer to _em_sample_preparation.id in the
     EM_SAMPLE_PREPARATION category
;
    _item.name                   '_em_cryo_stain.sample_preparation_id'
    _item.category_id            em_cryo_stain
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_cryo_stain.sample_preparation_id'
    _item_linked.parent_name     '_em_sample_preparation.id'
      save_

 
########################
#  EM_EMBEDDING_AGENT  #
########################

save_em_embedding_agent
    _category.description
;   Data items in the EM_EMBEDDING_AGENT category record details
    about the type of reagents into which the sample was embedded
;
    _category.id                  em_embedding_agent
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_embedding_agent.id'
                                 '_em_embedding_agent.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_specimen_preparation_group'
     save_

save__em_embedding_agent.id
    _item_description.description
;    The value of _em_embedding_agent.id must uniquely identify
     set of the embedding agent parameters
;
    _item.name                   '_em_embedding_agent.id'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_embedding_agent.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id
     in the ENTRY category.
;
    _item.name                   '_em_embedding_agent.entry_id'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_embedding_agent.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_embedding_agent.type
    _item_description.description
;    The type of embedding agent used
;
    _item.name                   '_em_embedding_agent.type'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         yes 
    _item_type.code              line
     loop_
    _item_enumeration.value
        glucose
        trehalose
        glycerol
        sucrose
        "tannic acid"
        other
      save_

save__em_embedding_agent.details
    _item_description.description
;    General details on the embedding agent used
;
    _item.name                   '_em_embedding_agent.details'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_embedding_agent.citation
    _item_description.description
;    Details on a reference citation on the embedding agent used
;
    _item.name                   '_em_embedding_agent.citation'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         no
    _item_type.code              text
      save_

save__em_embedding_agent.temperature
    _item_description.description
;    The temperature the embedding agent was used at
;
    _item.name                   '_em_embedding_agent.temperature'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         no
    _item_type.code              float
      save_


save__em_embedding_agent.time_resolved
    _item_description.description
;    Details about the effect of time resolution for
     the embedding agent used
;
    _item.name                   '_em_embedding_agent.time_resolved'
    _item.category_id            em_embedding_agent
    _item.mandatory_code         no
    _item_type.code              line
      save_



##############
## EM_MAP   ##
##############

save_em_map
    _category.description
;   Data items in the EM_MAP category record details
    about the type of the 3d-em map. The map is represented
    logically as a three-dimensional array of data-values
    of the same data-type. To interpret the contents of of a 3d-map file 
    it is necessary to know the data-type of the array and the size of the
    array in three dimensions (i.e.the number of columns, rows and sections).
    In a 1d-array representation columns are the fastest changing, followed by 
    rows and sections. The first element of the array will have index 0.
    The 3d-em map is in a defined orientation/position in Universal 3D Space.
    This space is described by a right-handed cartesian coordinate system 
    (and is the same coordinate system as that used for structures deposited
    in the PDB).    
;
    _category.id                  em_map
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_map.id'
                                 '_em_map.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
; 
; _em_map.id                   1 
  _em_map.pdb_entry_id         1DYL
  _em_map.entry_id          EM9999
  _em_map.num_columns          100  
  _em_map.num_rows             100  
  _em_map.num_sections         100  
  _em_map.num_spacing_x        2.0
  _em_map.num_spacing_y        2.0
  _em_map.num_spacing_z        2.0
  _em_map.details              .
  _em_map.value_density_max    .
  _em_map.value_density_min    .
  _em_map.value_density_mean   .
;
     save_
  
save__em_map.3d_reconstruction_id
    _item_description.description
;   This data item is a pointer to the 3D_RECONSTRUCTION category.
;
    _item.name                   '_em_map.3d_reconstruction_id'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map.3d_reconstruction_id'
    _item_linked.parent_name    '_em_3d_reconstruction.id'
      save_

save__em_map.imaging_id
    _item_description.description
;   This data item is a pointer to the IMAGING category.
;
    _item.name                   '_em_map.imaging_id'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map.imaging_id'
    _item_linked.parent_name    '_em_imaging.id'
      save_


save__em_map.entry_id
    _item_description.description
;   This data item is a pointer to the ENTRY category.
;
    _item.name                   '_em_map.entry_id'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map.entry_id'
    _item_linked.parent_name    '_entry.id'
      save_

save__em_map.map_files_id
    _item_description.description
;   This data item is a pointer to the MAP_FILES category.
;
    _item.name                   '_em_map.map_files_id'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map.map_files_id'
    _item_linked.parent_name    '_em_map_files.id'
      save_


save__em_map.num_columns
    _item_description.description
;     The number of columns of the map.
;
    _item.name                   '_em_map.num_columns'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.num_rows
    _item_description.description
;     The number of rows of the map.
;
    _item.name                   '_em_map.num_rows'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.num_sections
    _item_description.description
;     The number of sections of the map.
;
    _item.name                   '_em_map.num_sections'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.spacing_x
    _item_description.description
;    The length of the x interval in microns.
;
    _item.name                   '_em_map.spacing_x'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.spacing_y
    _item_description.description
;    The length of the y interval in microns.
;
    _item.name                   '_em_map.spacing_y'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.spacing_z
    _item_description.description
;    The length of the z interval in microns.
;
    _item.name                   '_em_map.spacing_z'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_


save__em_map.data_type
    _item_description.description
;   The map data_type describes the types of data in the map.
    Mode defines the data structure on disc.
    Mode 0=integer*1;mode 1=integer*2;mode 2=real*4. Mode 2 is the normal 
    mode used in CCP4 programs. 
;
    _item.name                   '_em_map.data_type'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.pixel_x
    _item_description.description
;    The x pixel size
;
    _item.name                   '_em_map.pixel_x'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_
save__em_map.pixel_y
    _item_description.description
;    The y pixel size
;
    _item.name                   '_em_map.pixel_y'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_


save__em_map.pixel_z
    _item_description.description
;    The z pixel size
;
    _item.name                   '_em_map.pixel_z'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.row_limit
    _item_description.description
;    The limit in row size
;
    _item.name                   '_em_map.row_limit'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.col_limit
    _item_description.description
;    The limit in column size
;
    _item.name                   '_em_map.col_limit'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.sec_limit
    _item_description.description
;    The limit in section size
;
    _item.name                   '_em_map.sec_limit'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.plane_group
    _item_description.description
;    Description of any plane group present
;
    _item.name                   '_em_map.plane_group'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
      save_


save__em_map.origin_x
    _item_description.description
;    The x origin of the map. 
;
    _item.name                   '_em_map.origin_x'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.origin_y
    _item_description.description
;    The y origin of the map.
;
    _item.name                   '_em_map.origin_y'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.origin_z
    _item_description.description
;    The z origin of the map.
;
    _item.name                   '_em_map.origin_z'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_


save__em_map.value_density_min
    _item_description.description
;    Minimum density value in the map.
;
    _item.name                   '_em_map.value_density_min'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.value_density_max
    _item_description.description
;    Maximum density value in the map.
;
    _item.name                   '_em_map.value_density_max'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.value_density_mean
    _item_description.description
;    Mean (average) density value of the map.
;
    _item.name                   '_em_map.value_density_mean'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.details
    _item_description.description
;    Any additional details about the map.
;
    _item.name                   '_em_map.details'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map.value_density_std
    _item_description.description
;    The standard deviation density value of the map.
;
    _item.name                   '_em_map.value_density_std'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

  
save__em_map.id
    _item_description.description
;     Unique identifier of the volume map.
;
    _item.name                   '_em_map.id'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                code
      save_

save__em_map.2d_crystal_grow_id
    _item_description.description
;   This data item is a pointer to the 2D_CRYSTAL_GROW category.
;
    _item.name                   '_em_map.2d_crystal_grow_id'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                code
#    _item_linked.child_name     '_em_map.2d_crystal_grow_id'
#    _item_linked.parent_name    '_em_2d_crystal_grow.id'
      save_

save__em_map.map_symmetry_id
    _item_description.description
;   This data item is a pointer to the EM_SYMMETRY category.
;
    _item.name                   '_em_map.map_symmetry_id'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name     '_em_map.map_symmetry_id'
    _item_linked.parent_name    '_em_map_symmetry.id'
      save_

save__em_map.map_structure_factors_id
    _item_description.description
;   This data item is a pointer to the MAP_STRUCTURE_FACTORS category.
;
    _item.name                   '_em_map.map_structure_factors_id'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name     '_em_map.map_structure_factors_id'
    _item_linked.parent_name    '_em_map_structure_factors.id'
      save_

save__em_map.cell_length_a
    _item_description.description
;     Unit cell length a.
;
    _item.name                   '_em_map.cell_length_a'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_length_b
    _item_description.description
;     Unit cell length b.
;
    _item.name                   '_em_map.cell_length_b'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_length_c
    _item_description.description
;     Unit cell length c.
;
    _item.name                   '_em_map.cell_length_c'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_length_a_esd
    _item_description.description
;    Error standard deviation of unit cell length a.
;
    _item.name                   '_em_map.cell_length_a_esd'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_length_b_esd
    _item_description.description
;     Error standard deviation of unit cell length b.
;
    _item.name                   '_em_map.cell_length_b_esd'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_length_c_esd
    _item_description.description
;      Error standard deviation of unit cell length c.
;
    _item.name                   '_em_map.cell_length_c_esd'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_angle_alpha
    _item_description.description
;      Value of unit cell angle alpha in degrees.
;
    _item.name                   '_em_map.cell_angle_alpha'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_angle_beta
    _item_description.description
;      Value of unit cell angle beta in degrees.
;
    _item.name                   '_em_map.cell_angle_beta'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.cell_angle_gamma
    _item_description.description
;      Value of unit cell angle gamma in degrees.
;
    _item.name                   '_em_map.cell_angle_gamma'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_


save__em_map.reflection_wavelength
    _item_description.description
;     Wavelength of electrons in angstroms.
;
    _item.name                   '_em_map.reflection_wavelength'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.r_value_all_data
    _item_description.description
;     The R-factor value compares overall agreement between the amplitudes
      of two sets of structure factors as follows:
            R= sigma || Fobs | - | Fcalc || / sigma | Fobs |
      For each reflection the magnitude of the computed difference between 
      the observed structure-factor amplitude from the native data 
      set |Fobs| and the calculated amplitude from the model in its current 
      trial location |Fcalc| is summed for all reflections and divided by
      the sum of the observed structure factors. 
;
    _item.name                   '_em_map.r_value_all_data'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.r_free
    _item_description.description
;     The R-free statistic value measures the agreement between the atomic
      model and the diffraction data for a 'test' set of reflections (usually
      10%) that is omitted during refinement.
;
    _item.name                   '_em_map.r_free'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.num_atoms
    _item_description.description
;     The number of atoms.
;
    _item.name                   '_em_map.num_atoms'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                int
      save_

save__em_map.num_observations
    _item_description.description
;     The number of observations.
;
    _item.name                   '_em_map.num_observations'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                int
      save_

save__em_map.num_unique_reflns
    _item_description.description
;     The number of unique electron reflections collected.
;
    _item.name                   '_em_map.num_unique_reflns'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                int
      save_

save__em_map.percent_reflns_collected
    _item_description.description
;     The percentage of possible reflections collected to specified resolution.
;
    _item.name                   '_em_map.percent_reflns_collected'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                line
      save_



save__em_map.map_eigenvalues_id
    _item_description.description
;     Pointer to the MAP_EIGENVALUES category.
;
    _item.name                   '_em_map.map_eigenvalues_id'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                code
      save_

save__em_map.handedness_method
    _item_description.description
;     The method used to determine the hand of the virus.
      The hand is fixed for the reconstruction by combining the
      projections in a consistent way. Information gleaned from
      pairs of images of tilted particles must be used to validate a
      particular choice of hand. 
;
    _item.name                   '_em_map.handedness_method'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map.phase_origin_method
    _item_description.description
;     The method used to determine the phase origin of the virus map.
;
    _item.name                   '_em_map.phase_origin_method'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
      save_



save__em_map.num_class_averages
    _item_description.description
;    The number of class averages (one class average contains 
     images that are the same) resulting from the multivariate statistical
     analysis of the individual images of particles are 2d projections
     of a 3d structure in different projection directions. Given a 
     sufficiently large number of good 2d projections the 3d structure
     can be reconstructed knowing the orientational relationship 
     between all the projection class averages. For an entirely asymmetric
     particle at least three different projections are required to solve
     the orientation problem.
;
    _item.name                   '_em_map.num_class_averages'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
      save_


save__em_map.axisOrderFast
    _item_description.description
;    The map axis order fast
;
    _item.name                   '_em_map.axisOrderFast'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                line
      save_


save__em_map.axisOrderMedium
    _item_description.description
;    The map axis order fast
;
    _item.name                   '_em_map.axisOrderMedium'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_map.axisOrderSlow
    _item_description.description
;    The map axis order slow
;
    _item.name                   '_em_map.axisOrderSlow'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_map.spaceGroupNumber
    _item_description.description
;    The space group number for the map
;
    _item.name                   '_em_map.spaceGroupNumber'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_map.isosurface_countour_level
    _item_description.description
;    The isosurface_countour_level for the map
;
    _item.name                   '_em_map.isosurface_countour_level'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map.author_threshold
    _item_description.description
;    The author_threshold for isosurface_countour_level for the map
;
    _item.name                   '_em_map.author_threshold'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code                float
      save_

save__em_map.contrast_convention
    _item_description.description
;    The contrast convention used for the map
;
    _item.name                   '_em_map.contrast_convention'
    _item.category_id              em_map
    _item.mandatory_code           yes
    _item_type.code               ucode
    loop_
    _item_enumeration.value    
    _item_enumeration.detail
      P  'protein positive'
      N  'protein negative'
    save_

save__em_map.enforced_symmetry
    _item_description.description
;    Description of any enforced symmetry present in the map
;
    _item.name                   '_em_map.enforced_symmetry'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
    save_

save__em_map.local_symmetry_details
    _item_description.description
;    Description of any local symmetry present in the map
;
    _item.name                   '_em_map.local_symmetry_details'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                text
    save_

save__em_map.thickness
    _item_description.description
;    for 2d crystals the thickness
;
    _item.name                   '_em_map.thickness'
    _item.category_id              em_map
    _item.mandatory_code           no
    _item_type.code                float
    save_

save__em_map.release_date
    _item_description.description
; Date (YYYY-MM-DD) of map release
;
    _item.name                  '_em_map.release_date'
    _item.category_id             em_map
    _item.mandatory_code          yes
    _item_type.code               yyyy-mm-dd
    _item_examples.case          '2001-05-08'     
     save_




###########################
## EM_MAP_CTF_CORRECTION ##
###########################

save_em_map_ctf_correction
    _category.description
;   Data items in the EM_MAP_CTF_CORRECTION category record details
    about the CTF correction method.
;
    _category.id                  em_map_ctf_correction
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_map_ctf_correction.id'
                                 '_em_map_ctf_correction.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
; 
; _em_map_ctf_correction.id                                  1 
  _em_map_ctf_correction.map_id                              1
  _em_map_ctf_correction.method                              .
  _em_map_ctf_correction.details                             .
;
     save_


save__em_map_ctf_correction.id
    _item_description.description
;     Unique identifier for CTF correction of the map.
;
    _item.name                   '_em_map_ctf_correction.id'
    _item.category_id              em_map_ctf_correction
    _item.mandatory_code           yes
    _item_type.code                code
      save_


save__em_map_ctf_correction.map_id
    _item_description.description
;     This data item is a pointer to the EM_MAP category.
;
    _item.name                   '_em_map_ctf_correction.map_id'
    _item.category_id              em_map_ctf_correction
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map_ctf_correction.map_id'
    _item_linked.parent_name    '_em_map.id'
      save_

save__em_map_ctf_correction.method
    _item_description.description
;     The method used to correct for the image distortions introduced
      by the phase contrast transfer function (CTF). CTF correction
      could be applied to the entire scanned micrograph or alternatively
      they may be applied to the extracted images of individual particles
      or at the end of the analysis to the density map reconstructed 
      from the micrograph.
;
    _item.name                    '_em_map_ctf_correction.method'
    _item.category_id              em_map_ctf_correction
    _item.mandatory_code           no
    _item_type.code                text
      save_


save__em_map_ctf_correction.details
    _item_description.description
;     Any additional details about ctf correction.
;
    _item.name                   '_em_map_ctf_correction.details'
    _item.category_id              em_map_ctf_correction
    _item.mandatory_code           no
    _item_type.code                line
      save_


##############################
## EM_MAP_STRUCTURE FACTORS ##
##############################

save_em_map_structure_factors
   _category.description
;   Data items in the EM_MAP_STRUCTURE_FACTORS category record details
   about structure factors relating to the map. These are uploaded
   in a file.
;
   _category.id                  em_map_structure_factors
   _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_map_structure_factors.id'
                                 '_em_map_structure_factors.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - 
; 
; 
  _em_map_structure_factors.id                               1 
  _em_map_structure_factors.map_id                           1
  _em_map_structure_factors.method                           .
  _em_map_structure_factors.details                          . 
  _em_map_structure_factors.map_file_id                    file1
;
     save_

save__em_map_structure_factors.id
    _item_description.description
;     Unique identifier of the map structure factors.
;
    _item.name                   '_em_map_structure_factors.id'
    _item.category_id              em_map_structure_factors
    _item.mandatory_code           yes
    _item_type.code                code
      save_

save__em_map_structure_factors.map_id
    _item_description.description
;   This data item is a pointer to the MAP category.
;
    _item.name                   '_em_map_structure_factors.map_id'
    _item.category_id              em_map_structure_factors
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name      '_em_map_structure_factors.map_id'
    _item_linked.parent_name     '_em_map.id'
      save_

save__em_map_structure_factors.method
    _item_description.description
;    A description of how the structure factors of the 
     masked cryo-EM maps were calculated.
     For example structure factors could be calculated by
     Fourier transformation using the progrma SFALL of the
     CCP4 package.
;
    _item.name                   '_em_map_structure_factors.method'
    _item.category_id              em_map_structure_factors
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map_structure_factors.details
    _item_description.description
;    Any additional details about the structure factors file.
;
    _item.name                   '_em_map_structure_factors.details'
    _item.category_id              em_map_structure_factors
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map_structure_factors.map_files_id
    _item_description.description
;     Pointer to the MAP_FILES category.
;
    _item.name                   '_em_map_structure_factors.map_files_id'
    _item.category_id              em_map_structure_factors
    _item.mandatory_code           no
    _item_type.code                code
    _item_linked.child_name      '_em_map_structure_factors.map_files_id'
    _item_linked.parent_name     '_em_map_files.id'
      save_

######################
### EM_MAP_SYMMETRY ##
######################

save_em_map_symmetry
    _category.description
;   Data items in the EM_MAP_SYMMETRY category record details
    about the symmetry of the assembly in the map.
;
    _category.id                  em_map_symmetry
    _category.mandatory_code      yes
    _category_key.name           
                                 '_em_map_symmetry.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - based on PDB entry 1DYL and laboratory records for the
                structure corresponding to PDB entry 1DYL
; 
; 
  _em_map_symmetry.map_id                   1 
  _em_map_symmetry.id                       1
  _em_map_symmetry.plane_group_name_H-M     .
  _em_map_symmetry.enforced_symmetry        .
  _em_map_symmetry.equiv_pos_as_xyz         .
;
     save_

save__em_map_symmetry.id
    _item_description.description
;     Unique identifier of the map symmetry.
;
    _item.name                   '_em_map_symmetry.id'
    _item.category_id              em_map_symmetry
    _item.mandatory_code           yes
    _item_type.code                code
      save_

save__em_map_symmetry.map_id
    _item_description.description
;   This data item is a pointer the MAP category.
;
    _item.name                   '_em_map_symmetry.map_id'
    _item.category_id              em_map_symmetry
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name      '_em_map_symmetry.map_id'
    _item_linked.parent_name     '_em_map.id'
      save_

save__em_map_symmetry.plane_group_name_H-M
    _item_description.description
;   This is the plane group described using Herman Maugin nomenclature.
;
    _item.name                   '_em_map_symmetry.plane_group_name_H-M'
    _item.category_id              em_map_symmetry
    _item.mandatory_code           yes
    _item_type.code                line
     loop_
    _item_enumeration.value
        P1
        P2
        P12      
        P121      
        C12         
        P222
        P221
        P22121
        C222
        P4
        P422
        P4212
        P3
        P321
        P312
        P6
        P622
      save_

save__em_map_symmetry.enforced_symmetry
    _item_description.description
;   This is the enforced symmetry applied to the map.
;
    _item.name                   '_em_map_symmetry.enforced_symmetry'
    _item.category_id              em_map_symmetry
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_map_symmetry.equiv_pos_as_xyz
    _item_description.description
;   This is an equivalent xyz position.
;
    _item.name                   '_em_map_symmetry.equiv_pos_as_xyz'
    _item.category_id              em_map_symmetry
    _item.mandatory_code           no
    _item_type.code                line
      save_




#################################
### EM_MAP_ORTHOGONAL_SLICES ##
#################################

save_em_orthogonal_slices
    _category.description
;   Data items in the EM_ORTHOGONAL_SLICES category record
    details about orthogonal slices through the map. These consist
    of an x-slice, y-slice and z-slice through the map.
;
    _category.id                  em_orthogonal_slices
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_orthogonal_slices.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - 
               
; 
; 
  _em_orthogonal_slices.id                               1 
  _em_orthogonal_slices.map_id                           1
  _em_orthogonal_slices.x_slice_id                       1
  _em_orthogonal_slices.y_slice_id                       1 
  _em_orthogonal_slices.z_slice_id                       1
  _em_orthogonal_slices.x_slice_number                   1
  _em_orthogonal_slices.y_slice_number                   1
  _em_orthogonal_slices.z_slice_number                   1
;
     save_


save__em_orthogonal_slices.id
    _item_description.description
;   This data item is a unique identifier for the ORTHOGONAL_SLICES category.
;
    _item.name                   '_em_orthogonal_slices.id'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           yes
    _item_type.code                code
      save_

save__em_orthogonal_slices.map_id
    _item_description.description
;   This data item is a pointer to the MAP category.
;
    _item.name                   '_em_orthogonal_slices.map_id'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_orthogonal_slices.map_id'
    _item_linked.parent_name    '_em_map.id'
      save_

save__em_orthogonal_slices.x_slice_id
    _item_description.description
;    The orthogonal x slice id.
;
    _item.name                   '_em_orthogonal_slices.x_slice_id'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           yes
    _item_type.code                line
      save_

save__em_orthogonal_slices.y_slice_id
    _item_description.description
;    The orthogonal y slice id.
;
    _item.name                   '_em_orthogonal_slices.y_slice_id'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           yes
    _item_type.code                line
      save_

save__em_orthogonal_slices.z_slice_id
    _item_description.description
;    The orthogonal z slice id.
;
    _item.name                   '_em_orthogonal_slices.z_slice_id'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           yes
    _item_type.code                line
      save_

save__em_orthogonal_slices.x_slice_number
    _item_description.description
;    The orthogonal x slice number.
;
    _item.name                   '_em_orthogonal_slices.x_slice_number'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_orthogonal_slices.y_slice_number
    _item_description.description
;    The orthogonal y slice number.
;
    _item.name                   '_em_orthogonal_slices.y_slice_number'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           no
    _item_type.code                line
      save_

save__em_orthogonal_slices.z_slice_number
    _item_description.description
;    The orthogonal z slice number.
;
    _item.name                   '_em_orthogonal_slices.z_slice_number'
    _item.category_id              em_orthogonal_slices
    _item.mandatory_code           no
    _item_type.code                line
      save_

####################
### EM_MAP_FIGURE ##
####################

save_em_map_figure
    _category.description
;   Data items in the EM_MAP_FIGURE record details
    about figures associated with the map. These can consist
    of figures with associated text which are related to the map.
;
    _category.id                  em_map_figure
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_map_figure.id'
                                 '_em_map_figure.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - 
               
; 
; 
  _em_map_figure.id                               1 
  _em_map_figure.map_id                           1
  _em_map_figure.num_bytes                     1000   
  _em_map_figure.details                          .
  _em_map_figure.map_files_id                 file1
;
     save_

save__em_map_figure.id
    _item_description.description
;     Unique identifier of the figure assembly.
;
    _item.name                   '_em_map_figure.id'
    _item.category_id              em_map_figure
    _item.mandatory_code           yes
    _item_type.code                code
      save_


save__em_map_figure.map_id
    _item_description.description
;   This data item is a pointer to the EM_MAP category.
;
    _item.name                   '_em_map_figure.map_id'
    _item.category_id              em_map_figure
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map_figure.map_id'
    _item_linked.parent_name    '_em_map.id'
      save_

save__em_map_figure.num_bytes
    _item_description.description
;    The number of bytes in the image file.
;
    _item.name                   '_em_map_figure.num_bytes'
    _item.category_id              em_map_figure
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_figure.details
    _item_description.description
;    Any additional details about the figure uploaded with the map.
     These could include captions.
;
    _item.name                   '_em_map_figure.details'
    _item.category_id              em_map_figure
    _item.mandatory_code           no
    _item_type.code                text
      save_


save__em_map_figure.map_files_id
    _item_description.description
;     Unique identifier of the figure assembly.
;
    _item.name                   '_em_map_figure.map_files_id'
    _item.category_id              em_map_figure
    _item.mandatory_code           yes
    _item_type.code                code
      save_

###############################
### EM_MAP_SURFACE_RENDERING ##
###############################
#
save_em_map_surface_rendering
    _category.description
;   Data items in the EM_MAP_SURFACE_RENDERING category record details
    about surface rendering of the map. The surface of the map has to
    be defined and 'rendered' to make understandable images. The quality
    of the structure can be judged visually by looking at the high-resolution
    texture of the molecular surface. It can make sense to threshold/interpret
    data to 100% (or up to 120%) of the expected volume of the molecular assembly
    which has been calculated from the molecular mass. To emphasize the fine 
    structures in the map thresholding values as little as 25% may be used. 
    
;
    _category.id                  em_map_surface_rendering
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_map_surface_rendering.id'
                                 '_em_map_surface_rendering.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - 
               
; 
; 
  _em_map_surface_rendering.id                               1 
  _em_map_surface_rendering.map_id                           1
  _em_map_surface_rendering.method                           .
  _em_map_surface_rendering.threshold_volume_mol_wt          .
  _em_map_surface_rendering.details                          . 
  _em_map_surface_rendering.map_files_id                   file1
;
     save_

save__em_map_surface_rendering.id
    _item_description.description
;     Unique identifier of the surface rendered image figure of the assembly.
;
    _item.name                   '_em_map_surface_rendering.id'
    _item.category_id              em_map_surface_rendering
    _item.mandatory_code           yes
    _item_type.code                code
      save_


save__em_map_surface_rendering.map_id
    _item_description.description
;   This data item is a pointer to the EM_MAP category.
;
    _item.name                   '_em_map_surface_rendering.map_id'
    _item.category_id              em_map_surface_rendering
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map_surface_rendering.map_id'
    _item_linked.parent_name    '_em_map.id'
      save_

save__em_map_surface_rendering.method
    _item_description.description
;    The method used to obtain the surface rendered image.
;
    _item.name                   '_em_map_surface_rendering.method'
    _item.category_id              em_map_surface_rendering
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map_surface_rendering.threshold_volume_mol_wt
    _item_description.description
;    The threshold volume molecular weight (as a percentage) used to
     produce the surface rendered image.
;
    _item.name                   '_em_map_surface_rendering.threshold_volume_mol_wt'
    _item.category_id              em_map_surface_rendering
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_surface_rendering.details
    _item_description.description
;    Any additional details about the surface rendered image.
;
    _item.name                   '_em_map_surface_rendering.details'
    _item.category_id              em_map_surface_rendering
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_surface_rendering.map_files_id
    _item_description.description
;   This data item is a pointer to the EM_FILES category.
;
    _item.name                   '_em_map_surface_rendering.map_files_id'
    _item.category_id              em_map_surface_rendering
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map_surface_rendering.map_files_id'
    _item_linked.parent_name    '_em_map_files.id'
      save_

###################
### EM_MAP_FILES ##
###################

save_em_map_files
    _category.description
;   Data items in the EM_MAP_FILES category record details
    about files relating to the map. These files can be
    uploaded and include files containing information
    about 
;
    _category.id                  em_map_files
    _category.mandatory_code      no
    loop_
    _category_key.name           
                                 '_em_map_files.id'
                                 '_em_map_files.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - 
; 
; 
  _em_map_files.id                               1 
  _em_map_files.map_id                           1
  _em_map_files.details                          .
;
     save_

save__em_map_files.id
    _item_description.description
;     Unique identifier of the MAP_FILES category.
;
    _item.name                   '_em_map_files.id'
    _item.category_id              em_map_files
    _item.mandatory_code           yes
    _item_type.code                code
      save_


save__em_map_files.map_id
    _item_description.description
;   This data item is a pointer to the EM_MAP category.
;
    _item.name                   '_em_map_files.map_id'
    _item.category_id              em_map_files
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map_files.map_id'
    _item_linked.parent_name    '_em_map.id'
      save_

save__em_map_files.orthogonal_slices_x_slice_id
    _item_description.description
;    The orthogonal slices x_slice file identifier.
;
    _item.name                   '_em_map_files.orthogonal_slices_x_slice_id'
    _item.category_id              em_map_files
    _item.mandatory_code           no
    _item_type.code                code
      save_

save__em_map_files.orthogonal_slices_y_slice_id
    _item_description.description
;    The orthogonal slices y_slice file identifier.
;
    _item.name                   '_em_map_files.orthogonal_slices_y_slice_id'
    _item.category_id              em_map_files
    _item.mandatory_code           no
    _item_type.code                code
      save_

save__em_map_files.orthogonal_slices_z_slice_id
    _item_description.description
;    The orthogonal slices z_slice file identifier.
;
    _item.name                   '_em_map_files.orthogonal_slices_z_slice_id'
    _item.category_id              em_map_files
    _item.mandatory_code           no
    _item_type.code                code
      save_

save__em_map_files.details
    _item_description.description
;    Any additional details about the files.
;
    _item.name                   '_em_map_files.details'
    _item.category_id              em_map_files
    _item.mandatory_code           no
    _item_type.code                text
      save_


#########################
### EM_MAP_EIGENVALUES ##
#########################

save_em_map_eigenvalues
    _category.description
;   Data items in the EM_MAP_EIGENVALUES category record details
    about values of the eigenvectors for projection sets.
    2d projection images are considered as a linear combination of     
    the main eigenvectors 'eigenimages' of the projection set,
    enabling a reduction of the total amount of data and simplifying 
    its interpretation. The eigenvalue spectrum gives an indication
    of the randomness of the data that is included in the reconstruction.
    The completeness of the data can be verified eg all eigenvalues exceeded 1.0.
;
    _category.id                  em_map_eigenvalues
    _category.mandatory_code      yes
    loop_
    _category_key.name           
                                 '_em_map_eigenvalues.id'
                                 '_em_map_eigenvalues.map_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_map_group'
     loop_
    _category_examples.detail
    _category_examples.case
;Example 1 - 
               
; 
; 
  _em_map_eigenvalues.id                               1 
  _em_map_eigenvalues.map_id                           1
  _em_map_eigenvalues.number_eigenimages               .
  _em_map_eigenvalues.details                          . 
  _em_map_eigenvalues.spectrum                         .
  _em_map_eigenvalues.min_value                        .
  _em_map_eigenvalues.max_value                        . 
;
     save_

save__em_map_eigenvalues.id
    _item_description.description
;     Unique identifier of the EIGENVALUES category.
;
    _item.name                   '_em_map_eigenvalues.id'
    _item.category_id              em_map_eigenvalues
    _item.mandatory_code           yes
    _item_type.code                code
      save_


save__em_map_eigenvalues.map_id
    _item_description.description
;   This data item is a pointer to the EM_MAP category.
;
    _item.name                   '_em_map_eigenvalues.map_id'
    _item.category_id              em_map_eigenvalues
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_map_eigenvalues.map_id'
    _item_linked.parent_name    '_em_map.id'
      save_

save__em_map_eigenvalues.details
    _item_description.description
;    Any additional details about the eigenvalues.
;
    _item.name                   '_em_map_eigenvalues.details'
    _item.category_id              em_map_eigenvalues
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map_eigenvalues.spectrum
    _item_description.description
;    A description of the eigenvalue spectrum for the data set used in the 3d
     reconstruction for the map. A data set consisting of pure noise has a 
     characteristic eigenvalue spectrum which depends on the number of images, 
     the number of image elements and the noise statistics. 
     Since the eigenvalues are only determined by the spacing and number of 
     the sample points, the eigenvalue spectrum is not affected by the signal 
     to noise in the data or the reliability of the orientations. This 
     information is seen from the resolution dependence of the phase residual 
     seen during refinement.
     For the eigenvectors to be significant, the associated eigenvalues should 
     stand out from the noise eigenvalue spectrum.
;
    _item.name                   '_em_map_eigenvalues.spectrum'
    _item.category_id              em_map_eigenvalues
    _item.mandatory_code           no
    _item_type.code                text
      save_

save__em_map_eigenvalues.min_value
    _item_description.description
;   The minimum eigenvalue.  A low inverse eigenvalue indicates that many, 
    well-spaced samples have been averaged to generate the coefficient 
    while a high one indicates that only a few sample points were used 
    so that the coefficient is more susceptible to noise.
;
    _item.name                   '_em_map_eigenvalues.min_value'
    _item.category_id              em_map_eigenvalues
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_map_eigenvalues.max_value
    _item_description.description
;   The maximum eigenvalue.  A low inverse eigenvalue indicates that many, 
    well-spaced samples have been averaged to generate the coefficient 
    while a high one indicates that only a few sample points were used 
    so that the coefficient is more susceptible to noise.
;
    _item.name                   '_em_map_eigenvalues.max_value'
    _item.category_id              em_map_eigenvalues
    _item.mandatory_code           no
    _item_type.code                float
      save_


#####################
### EM_TOMOGRAPHY  ##
#####################

save_em_tomography
    _category.description
;   Electron tomography allows the structural organisation of individual 
    cells and organelles and bacterial cells to be studied at nanometre 
    resolution. The samples are unique objects which precludes averaging 
    over many copies so that tomograms are built from images of a  tilt 
    series taken from a single copy of the object.
;
    _category.id                  em_tomography
    _category.mandatory_code      no
    _category_key.name           '_em_tomography.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_tomography_group'
     save_

save__em_tomography.id
    _item_description.description
;    The value of _em_tomography.id must uniquely identify
     a collection of observed complexes.
;
    _item.name                   '_em_tomography.id'
    _item.category_id            em_tomography
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_tomography.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_tomography.entry_id'
    _item.category_id            em_tomography
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_tomography.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_tomography.tilt_angle_incr
    _item_description.description
;     Tilt angle increment in (degrees) used in reconstruction of 
      tomographic map.
;
    _item.name                   '_em_tomography.tilt_angle_incr'
    _item.category_id              em_tomography
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_tomography.num_sections
    _item_description.description
;     Number of sections used in reconstruction of tomographic map.
;
    _item.name                   '_em_tomography.num_sections'
    _item.category_id              em_tomography
    _item.mandatory_code           no
    _item_type.code                int
      save_

save__em_tomography.details
    _item_description.description
;     General details on the tomographic experiment
;
    _item.name                   '_em_tomography.details'
    _item.category_id              em_tomography
    _item.mandatory_code           no
    _item_type.code                text
      save_


save__em_tomography.StagePositionX
    _item_description.description
;     the StagePosition in X
;
    _item.name                   '_em_tomography.StagePositionX'
    _item.category_id              em_tomography
    _item.mandatory_code           no
    _item_type.code                float
      save_

save__em_tomography.StagePositionY
    _item_description.description
;     the StagePosition in Y
;
    _item.name                   '_em_tomography.StagePositionY'
    _item.category_id              em_tomography
    _item.mandatory_code           no
    _item_type.code                float
      save_




###########################
### EM_TOMOGRAPHY_IMAGE  ##
###########################

save_em_tomography_image
    _category.description
;  Data items in the EM_TOMOGRAPHY_IMAGE category
   record details of each of the images collected
;
    _category.id                  em_tomography_image
    _category.mandatory_code      no
    _category_key.name           '_em_tomography_image.id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_tomography_group'
     save_

save__em_tomography_image.id
    _item_description.description
;    The value of _em_tomography_image.id must uniquely identify
     each tilted image
;
    _item.name                   '_em_tomography_image.id'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes 
    _item_type.code              code
     save_

save__em_tomography_image.entry_id
    _item_description.description
;    This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_tomography_image.entry_id'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              code
    _item_linked.child_name      '_em_tomography.entry_id'
    _item_linked.parent_name     '_entry.id'
      save_

save__em_tomography_image.defocus
    _item_description.description
;    The defocus used for each image
;
    _item.name                   '_em_tomography_image.defocus'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_



save__em_tomography_image.electron_dose
    _item_description.description
;    The electron_dose used for each image
;
    _item.name                   '_em_tomography_image.electron_dose'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_tomography_image.exposure_time
    _item_description.description
;    The exposure_time used for each image
;
    _item.name                   '_em_tomography_image.exposure_time'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_tomography_image.magnification
    _item_description.description
;    The magnification used for each image
;
    _item.name                   '_em_tomography_image.magnification'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_tomography_image.pixel_size  
    _item_description.description
;    The pixel_size used for each image
;
    _item.name                   '_em_tomography_image.pixel_size'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_tomography_image.shift_x 
    _item_description.description
;    The shift in x used for each image
;
    _item.name                   '_em_tomography_image.shift_x'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_


save__em_tomography_image.shift_y
    _item_description.description
;    The shift in y used for each image
;
    _item.name                   '_em_tomography_image.shift_y'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_

save__em_tomography_image.tilt_angle
    _item_description.description
;    The tilt_angle used for each image
;
    _item.name                   '_em_tomography_image.tilt_angle'
    _item.category_id            em_tomography_image
    _item.mandatory_code         yes
    _item_type.code              float
      save_


#############################
## EM_ELECTRON_DIFFRACTION ##
#############################

save_em_electron_diffraction
    _category.description
;   The EM_ELECTRON_DIFFRACTION category records basic 
    information about electron diffraction experiment.
;
    _category.id                  em_electron_diffraction
    _category.mandatory_code      no
    loop_
    _category_key.name           
                         '_em_electron_diffraction.id'
                         '_em_electron_diffraction.entry_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
                                 'em_2D_crystal_group'
     loop_
    _category_examples.detail
    _category_examples.case
;  Example 1 - based on PDB entry 1TUB and laboratory records for the
                structure corresponding to PDB entry 1TUB
;
; 
  _em_electron_diffraction.entry_id                   1TUB
  _em_electron_diffraction.id                         1
  _em_electron_diffraction.num_unique_reflections 12000
  _em_electron_diffraction.num_diff_patterns         94
  _em_electron_diffraction.num_images               149
  _em_electron_diffraction.tilt_range_min             0
  _em_electron_diffraction.tilt_range_max            55
  _em_electron_diffraction.d_res_high               3.7
  _em_electron_diffraction.details                    .
;
     save_

save__em_electron_diffraction.entry_id
   _item_description.description
;  This data item is a pointer to _entry.id in the ENTRY category.
;
    _item.name                   '_em_electron_diffraction.entry_id'
    _item.category_id              em_electron_diffraction
    _item.mandatory_code           yes
    _item_type.code                code
    _item_linked.child_name     '_em_electron_diffraction.entry_id'
    _item_linked.parent_name    '_entry.id'
     save_

save__em_electron_diffraction.id
    _item_description.description
;   The value of _electron_diffraction.id must
    uniquely identify the electron diffraction experiment.
;
    _item.name                  '_em_electron_diffraction.id'
    _item.category_id             em_electron_diffraction
    _item.mandatory_code          yes
    _item_type.code               code
        save_


save__em_electron_diffraction.num_diff_patterns
    _item_description.description
;    The number of diffraction patterns collected in the electron 
     diffraction experiment.
;
    _item.name                   '_em_electron_diffraction.num_diff_patterns'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
      save_


save__em_electron_diffraction.num_images
    _item_description.description
;    The number of 2D crystal images collected in the electron 
     diffraction experiment.
;
    _item.name                   '_em_electron_diffraction.num_images'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
      save_

save__em_electron_diffraction.tilt_range_min
    _item_description.description
;    The minimum tilt angle used in the electron diffraction experiment.
;
    _item.name                   '_em_electron_diffraction.tilt_range_min'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              float
      save_

save__em_electron_diffraction.tilt_range_max
    _item_description.description
;    The maximum tilt angle used in the electron diffraction experiment.
;
    _item.name                   '_em_electron_diffraction.tilt_range_max'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              float
      save_


save__em_electron_diffraction.num_unique_reflections
    _item_description.description
;    The number of unique structure factors from the electron diffraction experiment.
;
    _item.name                   '_em_electron_diffraction.num_unique_reflections'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
    _item_examples.case          '12000'
      save_

save__em_electron_diffraction.num_reflections_total
    _item_description.description
;    The total number of structure factors measured 
     in the electron diffraction experiment, before merging to a unique set.
;
    _item.name                   '_em_electron_diffraction.num_reflections_total'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
    _item_examples.case          '25743'
      save_

save__em_electron_diffraction.d_res_high
    _item_description.description
;    the highest resolution d-value for the electron diffraction experiment.
;
    _item.name                   '_em_electron_diffraction.d_res_high'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
    _item_examples.case          '5.0'
      save_

save__em_electron_diffraction.overall_error
    _item_description.description
;    the overall phase error in degrees.
;
    _item.name                   '_em_electron_diffraction.overall_error'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
      save_

save__em_electron_diffraction.rejection_criteria_error
    _item_description.description
;    the rejection criteria (phase error) in degrees.
;
    _item.name                   '_em_electron_diffraction.rejection_criteria_error'
    _item.category_id            em_electron_diffraction
    _item.mandatory_code         no
    _item_type.code              int
      save_


save__em_electron_diffraction.details
    _item_description.description
;   Details of the electron diffraction experiment
;
    _item.name                  '_em_electron_diffraction.details'
    _item.category_id             em_electron_diffraction
    _item.mandatory_code          yes
    _item_type.code               text
     loop_
    _item_examples.case     
    _item_examples.detail
    1          
; THE MODEL WAS DERIVED USING ELECTRON DIFFRACTION
  AND IMAGE DATA FROM TWO DIMENSIONAL CRYSTALS OF TUBULIN
  INDUCED BY THE PRESENCE OF ZN++ IONS.
  WHAT FOLLOWS ARE THE COORDINATES FOR THE AB-TUBULIN DIMER
  BOUND TO TAXOL AS OBTAINED BY ELECTRON CRYSTALLOGRAPHY OF
  ZINC-INDUCED SHEETS.  THIS IS THE UNREFINED MODEL, BUILT
  INTO A RAW DENSITY MAP WHERE THE RESOLUTION IN THE PLANE
  OF THE SHEET WAS 3.7 ANGSTROMS AND THAT PERPENDICULAR TO
  THE SHEET ABOUT 4.8 ANGSTROMS.  THE MODEL DOES NOT CONTAIN
  MOST OF THE C-TERMINAL RESIDUES OF EITHER MONOMER WHICH
  WERE DISORDERED IN THE MAP.  THE LOOP BETWEEN HELIX H1 AND
  STRAND S2, AND THAT BETWEEN H2 AND S3 ARE PRESENT FOR
  COMPLETENESS BUT WERE BUILT INTO VERY WEAK DENSITY.
  GIVEN THE LIMITED RESOLUTION OF THE MAP, THE CONFORMATION
  OF THE SIDE CHAINS, ESPECIALLY THOSE CORRESPONDING TO
  RESIDUES ON THE SURFACE OF THE DIMER, MUST BE TAKEN
  CAUTIOUSLY.  IN ADDITION, BECAUSE THIS IS AN UNREFINED
  MODEL, CERTAIN GEOMETRY ERRORS MAY STILL BE PRESENT IN THE
  STRUCTURE.  PLEASE TAKE THIS INTO ACCOUNT WHEN
  INTERPRETING YOUR OWN DATA BASED ON THE PRESENT TUBULIN
  STRUCTURE.  ALTHOUGH THE POSITION OF RESIDUES (WITH THE
  EXCEPTION OF THOSE IN THE LOOPS MENTIONED ABOVE) SHOULD
  NOT CHANGE SIGNIFICANTLY UPON REFINEMENT, DRAWING
  INFORMATION AT THE LEVEL OF SIDE CHAIN CONFORMATION IS
  CLEARLY NOT ADVISED.  FINALLY, PLEASE NOTICE THAT THE
  TAXOID IN THE MODEL IS THE TAXOL DERIVATIVE TAXOTERE.
;
        save_



########################################
## EM_ELECTRON_DIFFRACTION_TILT_ANGLE ##
########################################

save_em_electron_diffraction_tilt_angle
    _category.description
;   data items in the em_electron_diffraction_tilt_angle category
    record details about data collected at a specific tilt angle.
;
    _category.id                  em_electron_diffraction_tilt_angle
    _category.mandatory_code      no
    loop_
    _category_key.name           
                         '_em_electron_diffraction_tilt_angle.id'
                         '_em_electron_diffraction_tilt_angle.electron_diffraction_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
                                 'em_2D_crystal_group'
     loop_
    _category_examples.detail
    _category_examples.case
;based on pdb entry 1TUB
;
; 
  loop_
  _em_electron_diffraction_tilt_angle.electron_diffraction_id
  _em_electron_diffraction_tilt_angle.id   
  _em_electron_diffraction_tilt_angle.tilt_angle                       
  _em_electron_diffraction_tilt_angle.num_patterns 
  _em_electron_diffraction_tilt_angle.num_images           
   1  1  0 18 12
   1  2 45 57 51
   1  3 55 19 86
;
     save_

save__em_electron_diffraction_tilt_angle.electron_diffraction_id
   _item_description.description
;  this data item is a pointer to _em_electron_diffraction.id 
   in the EM_ELECTRON_DIFFRACTION category.
;
    _item.name               '_em_electron_diffraction_tilt_angle.electron_diffraction_id'
    _item.category_id           em_electron_diffraction_tilt_angle
    _item.mandatory_code          yes
    _item_type.code               code
    _item_linked.child_name  '_em_electron_diffraction_tilt_angle.electron_diffraction_id'
    _item_linked.parent_name '_em_electron_diffraction.id'
     save_

save__em_electron_diffraction_tilt_angle.id
    _item_description.description
;   the value of _electron_diffraction_tilt_angle.id must
    uniquely identify the tilt angle.
;
    _item.name                  '_em_electron_diffraction_tilt_angle.id'
    _item.category_id             em_electron_diffraction_tilt_angle
    _item.mandatory_code          yes
    _item_type.code               code
        save_

save__em_electron_diffraction_tilt_angle.tilt_angle
    _item_description.description
;    the tilt angle at which diffraction data and/or images were obtained.
;
    _item.name                   '_em_electron_diffraction_tilt_angle.tilt_angle'
    _item.category_id            em_electron_diffraction_tilt_angle
    _item.mandatory_code         no
    _item_type.code              float
    _item_examples.case          '45.0'
      save_

save__em_electron_diffraction_tilt_angle.num_patterns
    _item_description.description
;    the number of diffraction patterns measured at the specified tilt angle.
;
    _item.name                   '_em_electron_diffraction_tilt_angle.num_patterns'
    _item.category_id            em_electron_diffraction_tilt_angle
    _item.mandatory_code         no
    _item_type.code              int
    _item_examples.case          '57'
      save_

save__em_electron_diffraction_tilt_angle.num_images
    _item_description.description
;    the number of images measured at the specified tilt angle.
;
    _item.name                   '_em_electron_diffraction_tilt_angle.num_images'
    _item.category_id            em_electron_diffraction_tilt_angle
    _item.mandatory_code         no
    _item_type.code              int
    _item_examples.case          '51'
      save_




###################################
## EM_ELECTRON_DIFFRACTION_SHELL ##
###################################

save_em_electron_diffraction_shell
    _category.description
;   data items in the em_electron_diffraction_shell category
    record details about the quality of the phase information 
    within a specified resolution range.
;
    _category.id                  em_electron_diffraction_shell
    _category.mandatory_code      no
    loop_
    _category_key.name           
                         '_em_electron_diffraction_shell.id'
                         '_em_electron_diffraction_shell.electron_diffraction_id'
     loop_
    _category_group.id           
                                 'inclusive_group'
                                 'em_group'
                                 'em_data_collection_group'
                                 'em_2D_crystal_group'
     loop_
    _category_examples.detail
    _category_examples.case
; based on pdb entry 1TUB
;
; 
  loop_
  _em_electron_diffraction_shell.electron_diffraction_id     
  _em_electron_diffraction_shell.id                        
  _em_electron_diffraction_shell.d_res_low                   
  _em_electron_diffraction_shell.d_res_high                   
  _em_electron_diffraction_shell.residual      
     1 1 5.0 4.0 36
     1 2 4.0 3.7 46
;
     save_

save__em_electron_diffraction_shell.electron_diffraction_id
   _item_description.description
;  this data item is a pointer to _em_electron_diffraction.id 
   in the em_electron_diffraction category.
;
    _item.name               '_em_electron_diffraction_shell.electron_diffraction_id'
    _item.category_id        em_electron_diffraction_shell
    _item.mandatory_code     yes
    _item_type.code          code
    _item_linked.child_name  '_em_electron_diffraction_shell.electron_diffraction_id'
    _item_linked.parent_name '_em_electron_diffraction.id'
     save_

save__em_electron_diffraction_shell.id
    _item_description.description
;   the value of _electron_diffraction_shell.id must
    uniquely identify a resolution range of the electron diffraction data.
;
    _item.name                  '_em_electron_diffraction_shell.id'
    _item.category_id             em_electron_diffraction_shell
    _item.mandatory_code          yes
    _item_type.code               code
        save_

save__em_electron_diffraction_shell.d_res_low
    _item_description.description
;    the lowest resolution d-value for the resolution range.
;
    _item.name              '_em_electron_diffraction_shell.d_res_low'
    _item.category_id         em_electron_diffraction_shell
    _item.mandatory_code      no
    _item_type.code           int
    _item_examples.case       '4.0'
      save_

save__em_electron_diffraction_shell.d_res_high
    _item_description.description
;    the highest resolution d-value for the resolution range.
;
    _item.name                '_em_electron_diffraction_shell.d_res_high'
    _item.category_id         em_electron_diffraction_shell
    _item.mandatory_code      no
    _item_type.code           int
    _item_examples.case       '5.0'
      save_

save__em_electron_diffraction_shell.residual
    _item_description.description
;    the phase residual value for the electron diffraction experiment.
;
    _item.name                '_em_electron_diffraction_shell.residual'
    _item.category_id         em_electron_diffraction_shell
    _item.mandatory_code      no
    _item_type.code           int
      save_


#################################
## EM_EULER_ANGLE_DISTRIBUTION ##
#################################
#
#save_em_euler_angle_distribution
#    _category.description
#;  Data items in the EM_EULER_ANGLE_DISTRIBUTION category
#   record details of assignment of Euler angles for projection
#   sets of particles.
#;
#    _category.id                  em_euler_angle_distribution
#    _category.mandatory_code      no
#     loop_
#    _category_key.name           
#         '_em_euler_angle_distribution.id'
#         '_em_euler_angle_distribution.entry_id'
#     loop_
#    _category_group.id           'inclusive_group'
#                                 'em_group'
#     loop_
#    _category_examples.detail
#    _category_examples.case
#; Example 1 - based on PDB entry 1DYL and laboratory records for the
#                structure corresponding to PDB entry 1DYL
#;
#; 
#  _em_euler_angle_distribution.entry_id                          1DYL
#  _em_euler_angle_distribution.id                                1
#  _em_euler_angle_distribution.details                           .
#  _em_euler_angle_distribution.alpha                             .
#  _em_euler_angle_distribution.beta                              .
#  _em_euler_angle_distribution.gamma                             .
#; 
#     save_
#
#save__em_euler_angle_distribution.id
#    _item_description.description
#;    The value of _em_euler_angle_distribution.id must
#     uniquely identify the  euler angle assignments of
#     the projection set used in the final reconstruction.
#;
#    _item.name                   '_em_euler_angle_distribution.id'
#    _item.category_id              em_euler_angle_distribution
#    _item.mandatory_code           yes
#    _item_type.code                code
#     save_
#
#save__em_euler_angle_distribution.entry_id
#    _item_description.description
#;    The value of _entry.id is a pointer
#     to the ENTRY category.
#;
#    _item.name                   '_em_euler_angle_distribution.entry_id'
#    _item.category_id              em_euler_angle_distribution
#    _item.mandatory_code           yes
#    _item_type.code                code
#    _item_linked.child_name     '_em_euler_angle_distribution.entry_id'
#    _item_linked.parent_name    '_entry.id'
#     save_
#
#
#save__em_euler_angle_distribution.details
#    _item_description.description
#;    Any additional details of the euler angles distribution and assignment.
#;
#    _item.name               '_em_euler_angle_distribution.details'
#    _item.category_id              em_euler_angle_distribution
#    _item.mandatory_code           no
#    _item_type.code                text
#     save_
#
#save__em_euler_angle_distribution.alpha
#    _item_description.description
#;    The euler-alpha angle assignment.
#;
#    _item.name                   '_em_euler_angle_distribution.alpha'
#    _item.category_id              em_euler_angle_distribution
#    _item.mandatory_code           no
#    _item_type.code                float
#    _item_units.code                degrees
#    _item_examples.case            90
#     save_
#
#save__em_euler_angle_distribution.beta
#    _item_description.description
#;    The euler-beta angle assignment.
#;
#    _item.name                   '_em_euler_angle_distribution.beta'
#    _item.category_id              em_euler_angle_distribution
#    _item.mandatory_code           no
#    _item_type.code                float
#    _item_units.code                degrees
#    _item_examples.case            90
#     save_
#
#save__em_euler_angle_distribution.gamma
#    _item_description.description
#;    The euler-gamma angle assignment.
#;
#    _item.name                   '_em_euler_angle_distribution.gamma'
#    _item.category_id              em_euler_angle_distribution
#    _item.mandatory_code           no
#    _item_type.code                float
#    _item_units.code                degrees
#    _item_examples.case           0
#     save_
#

#######################
## BUFFER_COMPONENTS ##
#######################
#
#save_BUFFER_COMPONENTS
#    _category.description
#;  Constituents of buffer in sample 
#;
#    _category.id                  buffer_components
#    _category.mandatory_code      no
#    loop_
#    _category_key.name           
#                                 '_buffer_components.buffer_id'
#                                 '_buffer_components.id'
#     loop_
#    _category_group.id           'inclusive_group'
#                                 'em_group'
#     loop_
#    _category_examples.detail
#    _category_examples.case
#;   Example 1 - based on PDB entry 1DYL and laboratory records for the
#                structure corresponding to PDB entry 1DYL
#;
#;loop_
#  _buffer_components.buffer_id
#  _buffer_components.id
#  _buffer_components.name
#  _buffer_components.volume
#  _buffer_components.conc
#  _buffer_components.details
#  1    1 'NaCl'            '0.200 '  '4 '     .
#  1    2 'Acetic Acid'     '0.047 '  '100'    .
#  1    3 'water'           '0.700 '  'neat'   .
#;
#     save_
#
#
#save__buffer_components.id
#    _item_description.description
#;   The value of _buffer_components.id must 
#    uniquely identify a component of the buffer.
#;
#    _item.name                  '_buffer_components.id'
#    _item.category_id             buffer_components
#    _item.mandatory_code          yes
#    _item_type.code               code
#     save_
#
#
#save__buffer_components.buffer_id
#   _item_description.description
#;  This data item is a pointer to _buffer.id in the BUFFER category.
#;
#    _item.name                   '_buffer_components.buffer_id'
#    _item.category_id              buffer_components
#    _item.mandatory_code           yes
#    _item_type.code                code
#     save_
#
#save__buffer_components.name
#    _item_description.description
#;   The name of each buffer component. 
#;
#    _item.name                  '_buffer_components.name'
#    _item.category_id             buffer_components
#    _item.mandatory_code          no
#    _item_type.code               line
#    _item_examples.case           'Acetic acid'
#     save_
#
#save__buffer_components.volume
#    _item_description.description
#;  The volume of buffer component. 
#;
#    _item.name                  '_buffer_components.volume'
#    _item.category_id             buffer_components
#    _item.mandatory_code          no
#    _item_type.code               code
#    _item_examples.case           0.200
#     save_
#
#save__buffer_components.conc
#    _item_description.description
#;  The millimolar concentration of buffer component. 
#;  
#    _item.name                  '_buffer_components.conc'
#    _item.category_id             buffer_components
#    _item.mandatory_code          no
#    _item_type.code               code
#    _item_examples.case           200 
#     save_
#
#save__buffer_components.details
#    _item_description.description
#;   Any additional details to do with buffer composition. 
#;
#    _item.name                  '_buffer_components.details'
#    _item.category_id             buffer_components
#    _item.mandatory_code          no
#    _item_type.code               text
#    _item_examples.case          'pH adjusted with NaOH'
#     save_
#
##  EOF - mmcif_em-def-1.dic

# 
loop_
_pdbx_item_linked_group.category_id 
_pdbx_item_linked_group.link_group_id 
_pdbx_item_linked_group.label 
_pdbx_item_linked_group.context 
_pdbx_item_linked_group.condition_id 
em_2d_crystal_entity               1 em_2d_crystal_entity:em_entity_assembly:1                    . . 
em_2d_crystal_selection            1 em_2d_crystal_selection:em_particle_selection:1              . . 
em_3d_fitting                      1 em_3d_fitting:entry:1                                        . . 
em_3d_fitting_list                 1 em_3d_fitting_list:em_3d_fitting:1                           . . 
em_3d_fitting_list                 2 em_3d_fitting_list:entry:2                                   . . 
em_3d_fitting_list                 3 em_3d_fitting_list:entry:3                                   . . 
em_3d_fitting_list                 4 em_3d_fitting_list:entry:4                                   . . 
em_3d_reconstruction               1 em_3d_reconstruction:citation:1                              . . 
em_3d_reconstruction               2 em_3d_reconstruction:entry:2                                 . . 
em_3d_refinement                   1 em_3d_refinement:entry:1                                     . . 
em_array_formation                 1 em_array_formation:citation:1                                . . 
em_array_formation                 2 em_array_formation:em_solution_composition:2                 . . 
em_assembly                        1 em_assembly:entry:1                                          . . 
em_classes                         1 em_classes:entry:1                                           . . 
em_cryo_stain                      1 em_cryo_stain:em_sample_preparation:1                        . . 
em_cryo_stain                      2 em_cryo_stain:entry:2                                        . . 
em_detector                        1 em_detector:entry:1                                          . . 
em_detector_CCD                    1 em_detector_CCD:em_detector:1                                . . 
em_detector_film                   1 em_detector_film:em_detector:1                               . . 
em_electron_diffraction            1 em_electron_diffraction:entry:1                              . . 
em_electron_diffraction_shell      1 em_electron_diffraction_shell:em_electron_diffraction:1      . . 
em_electron_diffraction_tilt_angle 1 em_electron_diffraction_tilt_angle:em_electron_diffraction:1 . . 
em_embedding_agent                 1 em_embedding_agent:entry:1                                   . . 
em_entity_assembly                 1 em_entity_assembly:em_assembly:1                             . . 
em_entity_assembly_list            1 em_entity_assembly_list:em_assembly:1                        . . 
em_entity_assembly_list            2 em_entity_assembly_list:entity:2                             . . 
em_entity_assembly_mol_wt          1 em_entity_assembly_mol_wt:em_entity_assembly:1               . . 
em_entity_assembly_mol_wt          2 em_entity_assembly_mol_wt:em_entity_assembly_list:2          . . 
em_exptl                           1 em_exptl:entry:1                                             . . 
em_helical_entity                  1 em_helical_entity:em_entity_assembly:1                       . . 
em_helical_selection               1 em_helical_selection:em_particle_selection:1                 . . 
em_image_readout_ccd               1 em_image_readout_ccd:em_image_scanning:1                     . . 
em_image_scanning                  1 em_image_scanning:citation:1                                 . . 
em_image_scanning                  2 em_image_scanning:entry:2                                    . . 
em_image_scanning_film             1 em_image_scanning_film:em_image_scanning:1                   . . 
em_imaging                         1 em_imaging:citation:1                                        . . 
em_imaging                         2 em_imaging:em_detector:2                                     . . 
em_imaging                         3 em_imaging:em_image_scanning:3                               . . 
em_imaging                         4 em_imaging:em_microscope:4                                   . . 
em_imaging                         5 em_imaging:em_sample_support:5                               . . 
em_imaging                         6 em_imaging:entry:6                                           . . 
em_map                             1 em_map:em_3d_reconstruction:1                                . . 
em_map                             2 em_map:em_imaging:2                                          . . 
em_map                             3 em_map:em_map_files:3                                        . . 
em_map                             4 em_map:em_map_structure_factors:4                            . . 
em_map                             5 em_map:em_map_symmetry:5                                     . . 
em_map                             6 em_map:entry:6                                               . . 
em_map_ctf_correction              1 em_map_ctf_correction:em_map:1                               . . 
em_map_eigenvalues                 1 em_map_eigenvalues:em_map:1                                  . . 
em_map_figure                      1 em_map_figure:em_map:1                                       . . 
em_map_files                       1 em_map_files:em_map:1                                        . . 
em_map_resolution                  1 em_map_resolution:em_fsc_curve:1                             . . 
em_map_resolution                  2 em_map_resolution:em_map:2                                   . . 
em_map_resolution                  3 em_map_resolution:entry:3                                    . . 
em_map_structure_factors           1 em_map_structure_factors:em_map:1                            . . 
em_map_structure_factors           2 em_map_structure_factors:em_map_files:2                      . . 
em_map_surface_rendering           1 em_map_surface_rendering:em_map:1                            . . 
em_map_surface_rendering           2 em_map_surface_rendering:em_map_files:2                      . . 
em_map_symmetry                    1 em_map_symmetry:em_map:1                                     . . 
em_micrographs                     1 em_micrographs:em_microscope:1                               . . 
em_micrographs                     2 em_micrographs:em_sample_preparation:2                       . . 
em_micrographs                     3 em_micrographs:entry:3                                       . . 
em_orthogonal_slices               1 em_orthogonal_slices:em_map:1                                . . 
em_particle_selection              1 em_particle_selection:citation:1                             . . 
em_particle_selection              2 em_particle_selection:em_entity_assembly:2                   . . 
em_sample_preparation              1 em_sample_preparation:em_entity_assembly:1                   . . 
em_sample_preparation              2 em_sample_preparation:em_sample_support:2                    . . 
em_sample_preparation              3 em_sample_preparation:em_solution_composition:3              . . 
em_sample_support                  1 em_sample_support:citation:1                                 . . 
em_single_particle_entity          1 em_single_particle_entity:em_entity_assembly:1               . . 
em_single_particle_selection       1 em_single_particle_selection:citation:1                      . . 
em_single_particle_selection       2 em_single_particle_selection:em_particle_selection:2         . . 
em_stain                           1 em_stain:em_sample_preparation:1                             . . 
em_stain                           2 em_stain:entry:2                                             . . 
em_tomography                      1 em_tomography:entry:1                                        . . 
em_virus_entity                    1 em_virus_entity:em_entity_assembly:1                         . . 
em_virus_shells                    1 em_virus_shells:em_virus_entity:1                            . . 
em_vitrification                   1 em_vitrification:citation:1                                  . . 
em_vitrification                   2 em_vitrification:em_sample_preparation:2                     . . 
em_vitrification                   3 em_vitrification:entry:3                                     . . 
# 
loop_
_pdbx_item_linked_group_list.child_category_id 
_pdbx_item_linked_group_list.link_group_id 
_pdbx_item_linked_group_list.child_name 
_pdbx_item_linked_group_list.parent_name 
_pdbx_item_linked_group_list.parent_category_id 
em_2d_crystal_entity               1 '_em_2d_crystal_entity.entity_assembly_id'                    '_em_entity_assembly.id'       em_entity_assembly       
em_2d_crystal_selection            1 '_em_2d_crystal_selection.selection_id'                       '_em_particle_selection.id'    em_particle_selection    
em_3d_fitting                      1 '_em_3d_fitting.entry_id'                                     '_entry.id'                    entry                    
em_3d_fitting_list                 1 '_em_3d_fitting_list.3d_fitting_id'                           '_em_3d_fitting.id'            em_3d_fitting            
em_3d_fitting_list                 2 '_em_3d_fitting_list.pdb_entry_id'                            '_entry.id'                    entry                    
em_3d_fitting_list                 3 '_em_3d_fitting_list.fitted_pdb_entry_id'                     '_entry.id'                    entry                    
em_3d_fitting_list                 4 '_em_3d_fitting_list.entry_id'                                '_entry.id'                    entry                    
em_3d_reconstruction               1 '_em_3d_reconstruction.citation_id'                           '_citation.id'                 citation                 
em_3d_reconstruction               2 '_em_3d_reconstruction.entry_id'                              '_entry.id'                    entry                    
em_3d_refinement                   1 '_em_3d_refinement.entry_id'                                  '_entry.id'                    entry                    
em_array_formation                 1 '_em_array_formation.citation_id'                             '_citation.id'                 citation                 
em_array_formation                 2 '_em_array_formation.buffer_id'                               '_em_solution_composition.id'  em_solution_composition  
em_assembly                        1 '_em_assembly.entry_id'                                       '_entry.id'                    entry                    
em_classes                         1 '_em_classes.entry_id'                                        '_entry.id'                    entry                    
em_cryo_stain                      1 '_em_cryo_stain.sample_preparation_id'                        '_em_sample_preparation.id'    em_sample_preparation    
em_cryo_stain                      2 '_em_cryo_stain.entry_id'                                     '_entry.id'                    entry                    
em_detector                        1 '_em_detector.entry_id'                                       '_entry.id'                    entry                    
em_detector_CCD                    1 '_em_detector_CCD.detector_id'                                '_em_detector.id'              em_detector              
em_detector_film                   1 '_em_detector_film.detector_id'                               '_em_detector.id'              em_detector              
em_electron_diffraction            1 '_em_electron_diffraction.entry_id'                           '_entry.id'                    entry                    
em_electron_diffraction_shell      1 '_em_electron_diffraction_shell.electron_diffraction_id'      '_em_electron_diffraction.id'  em_electron_diffraction  
em_electron_diffraction_tilt_angle 1 '_em_electron_diffraction_tilt_angle.electron_diffraction_id' '_em_electron_diffraction.id'  em_electron_diffraction  
em_embedding_agent                 1 '_em_embedding_agent.entry_id'                                '_entry.id'                    entry                    
em_entity_assembly                 1 '_em_entity_assembly.assembly_id'                             '_em_assembly.id'              em_assembly              
em_entity_assembly_list            1 '_em_entity_assembly_list.assembly_id'                        '_em_assembly.id'              em_assembly              
em_entity_assembly_list            2 '_em_entity_assembly_list.entity_id'                          '_entity.id'                   entity                   
em_entity_assembly_mol_wt          1 '_em_entity_assembly_mol_wt.entity_assembly_id'               '_em_entity_assembly.id'       em_entity_assembly       
em_entity_assembly_mol_wt          2 '_em_entity_assembly_mol_wt.id'                               '_em_entity_assembly_list.id'  em_entity_assembly_list  
em_exptl                           1 '_em_exptl.entry_id'                                          '_entry.id'                    entry                    
em_helical_entity                  1 '_em_helical_entity.entity_assembly_id'                       '_em_entity_assembly.id'       em_entity_assembly       
em_helical_selection               1 '_em_helical_selection.selection_id'                          '_em_particle_selection.id'    em_particle_selection    
em_image_readout_ccd               1 '_em_image_readout_ccd.image_scanning_id'                     '_em_image_scanning.id'        em_image_scanning        
em_image_scanning                  1 '_em_image_scanning.citation_id'                              '_citation.id'                 citation                 
em_image_scanning                  2 '_em_image_scanning.entry_id'                                 '_entry.id'                    entry                    
em_image_scanning_film             1 '_em_image_scanning_film.image_scanning_id'                   '_em_image_scanning.id'        em_image_scanning        
em_imaging                         1 '_em_imaging.citation_id'                                     '_citation.id'                 citation                 
em_imaging                         2 '_em_imaging.detector_id'                                     '_em_detector.id'              em_detector              
em_imaging                         3 '_em_imaging.image_scanning_id'                               '_em_image_scanning.id'        em_image_scanning        
em_imaging                         4 '_em_imaging.microscope_id'                                   '_em_microscope.id'            em_microscope            
em_imaging                         5 '_em_imaging.sample_support_id'                               '_em_sample_support.id'        em_sample_support        
em_imaging                         6 '_em_imaging.entry_id'                                        '_entry.id'                    entry                    
em_map                             1 '_em_map.3d_reconstruction_id'                                '_em_3d_reconstruction.id'     em_3d_reconstruction     
em_map                             2 '_em_map.imaging_id'                                          '_em_imaging.id'               em_imaging               
em_map                             3 '_em_map.map_files_id'                                        '_em_map_files.id'             em_map_files             
em_map                             4 '_em_map.map_structure_factors_id'                            '_em_map_structure_factors.id' em_map_structure_factors 
em_map                             5 '_em_map.map_symmetry_id'                                     '_em_map_symmetry.id'          em_map_symmetry          
em_map                             6 '_em_map.entry_id'                                            '_entry.id'                    entry                    
em_map_ctf_correction              1 '_em_map_ctf_correction.map_id'                               '_em_map.id'                   em_map                   
em_map_eigenvalues                 1 '_em_map_eigenvalues.map_id'                                  '_em_map.id'                   em_map                   
em_map_figure                      1 '_em_map_figure.map_id'                                       '_em_map.id'                   em_map                   
em_map_files                       1 '_em_map_files.map_id'                                        '_em_map.id'                   em_map                   
em_map_resolution                  1 '_em_map_resolution.curve_id'                                 '_em_fsc_curve.curve_id'       em_fsc_curve             
em_map_resolution                  2 '_em_map_resolution.map_id'                                   '_em_map.id'                   em_map                   
em_map_resolution                  3 '_em_map_resolution.entry_id'                                 '_entry.id'                    entry                    
em_map_structure_factors           1 '_em_map_structure_factors.map_id'                            '_em_map.id'                   em_map                   
em_map_structure_factors           2 '_em_map_structure_factors.map_files_id'                      '_em_map_files.id'             em_map_files             
em_map_surface_rendering           1 '_em_map_surface_rendering.map_id'                            '_em_map.id'                   em_map                   
em_map_surface_rendering           2 '_em_map_surface_rendering.map_files_id'                      '_em_map_files.id'             em_map_files             
em_map_symmetry                    1 '_em_map_symmetry.map_id'                                     '_em_map.id'                   em_map                   
em_micrographs                     1 '_em_micrographs.microscope_id'                               '_em_microscope.id'            em_microscope            
em_micrographs                     2 '_em_micrographs.specimen_id'                                 '_em_sample_preparation.id'    em_sample_preparation    
em_micrographs                     3 '_em_micrographs.entry_id'                                    '_entry.id'                    entry                    
em_orthogonal_slices               1 '_em_orthogonal_slices.map_id'                                '_em_map.id'                   em_map                   
em_particle_selection              1 '_em_particle_selection.citation_id'                          '_citation.id'                 citation                 
em_particle_selection              2 '_em_particle_selection.entity_assembly_id'                   '_em_entity_assembly.id'       em_entity_assembly       
em_sample_preparation              1 '_em_sample_preparation.entity_assembly_id'                   '_em_entity_assembly.id'       em_entity_assembly       
em_sample_preparation              2 '_em_sample_preparation.support_id'                           '_em_sample_support.id'        em_sample_support        
em_sample_preparation              3 '_em_sample_preparation.solution_id'                          '_em_solution_composition.id'  em_solution_composition  
em_sample_support                  1 '_em_sample_support.citation_id'                              '_citation.id'                 citation                 
em_single_particle_entity          1 '_em_single_particle_entity.entity_assembly_id'               '_em_entity_assembly.id'       em_entity_assembly       
em_single_particle_selection       1 '_em_single_particle_selection.citation_id'                   '_citation.id'                 citation                 
em_single_particle_selection       2 '_em_single_particle_selection.selection_id'                  '_em_particle_selection.id'    em_particle_selection    
em_stain                           1 '_em_stain.sample_preparation_id'                             '_em_sample_preparation.id'    em_sample_preparation    
em_stain                           2 '_em_stain.entry_id'                                          '_entry.id'                    entry                    
em_tomography                      1 '_em_tomography.entry_id'                                     '_entry.id'                    entry                    
em_virus_entity                    1 '_em_virus_entity.entity_assembly_id'                         '_em_entity_assembly.id'       em_entity_assembly       
em_virus_shells                    1 '_em_virus_shells.virus_entity_id'                            '_em_virus_entity.id'          em_virus_entity          
em_vitrification                   1 '_em_vitrification.citation_id'                               '_citation.id'                 citation                 
em_vitrification                   2 '_em_vitrification.sample_preparation_id'                     '_em_sample_preparation.id'    em_sample_preparation    
em_vitrification                   3 '_em_vitrification.entry_id'                                  '_entry.id'                    entry                    
# 
