##############################################################################
#                                                                            #
#                               cif_cml.dic                                  #
#                          version 0.0.01 -- beta                            #
#                                   by                                       #
#                           Herbert J. Bernstein                             #
#                       yaya@bernstein-plus-sons.com                         #
#                              15 July 2000                                  #
#                 (C) Copyright 2000 All Rights Reserved                     #
#                                                                            #
##############################################################################
#                                                                            #
#                               General Notice                               #
#                                                                            #
# Creative endeavors depend on the lively exchange of ideas. There are laws  #
# and customs which establish rights and responsibilities for authors and    #
# the users of what authors create. This notice is not intended to prevent   #
# you from using the software and documents in this package, but to ensure   #
# that there are no misunderstandings about terms and conditions of such     #
# use.                                                                       #
#                                                                            #
# Please read the following notice carefully. If you do not understand any   #
# portion of this notice, please seek appropriate professional legal advice  #
# before making use of the software and documents included in this software  #
# package. In addition to whatever other steps you may be obliged to take to #
# respect the intellectual property rights of the various parties involved,  #
# if you do make use of the software and documents in this package, please   #
# give credit where credit is due by citing this package, its authors and    #
# the URL or other source from which you obtained it, or equivalent primary  #
# references in the literature with the same author(s).                      #
#                                                                            #
# Some of the software and documents included within this software package   #
# are the intellectual property of various parties, and placement in this    #
# package does not in any way imply that any such rights have in any way     #
# been waived or diminished.                                                 #
#                                                                            #
# With respect to any software or documents for which a copyright exists,    #
# ALL RIGHTS ARE RESERVED TO THE OWNERS OF SUCH COPYRIGHT.                   #
#                                                                            #
# Even though the authors of the various documents and software found here   #
# have made a good faith effort to ensure that the documents are correct and #
# that the software performs according to its documentation, and we would    #
# greatly appreciate hearing of any problems you may encounter, the programs #
# and documents any files created by the programs are provided **AS IS**     #
# without any warranty as to correctness, merchantability or fitness for any #
# particular or general use.                                                 #
#                                                                            #
# THE RESPONSIBILITY FOR ANY ADVERSE CONSEQUENCES FROM THE USE OF PROGRAMS   #
# OR DOCUMENTS OR ANY FILE OR FILES CREATED BY USE OF THE PROGRAMS OR        #
# DOCUMENTS LIES SOLELY WITH THE USERS OF THE PROGRAMS OR DOCUMENTS OR FILE  #
# OR FILES AND NOT WITH AUTHORS OF THE PROGRAMS OR DOCUMENTS.                #
#                                                                            #
# Please take particular note that this document is part of an ongoing       #
# scientific research effort, and is _not_ offered as a finished commercial  #
# product.                                                                   #
#                                                                            #
#                  IMPORTANT -- Copying and Distribution                     #
#                                                                            #
# This is an "open source" document.  You are licensed to make copies and    #
# derived works subject to the following conditions:                         #
#                                                                            #
# If you are not going to make any changes to the document, you are not only #
# permitted to make copies and distribute them, you are encouraged to do so, #
# provided you do the following:                                             #
#                                                                            #
# 1.  Either include the complete documentation of the package that contains #
# this document, especially any and all notices, with what you distribute    #
# or provide a clear indication of where people can obtain a copy of the     #
# documentation; and                                                         #
# 2.  Give credit where credit is due, citing the version and original       #
# author(s) properly; and                                                    #
# 3.  Do not give anyone the impression that the original author(s) are      #
# providing a warranty of any kind.                                          #
#                                                                            #
# If you use major portions of this document in some other document, make    #
# modifications to this document, or in some other way make what a lawyer    #
# would call a "derived work", you are not only permitted to do so, you are  #
# encouraged to do so, provided that, in addition to adhering to the three   #
# conditions stated above, you also do the following:                        #
#                                                                            #
# 4.  Explain in your documentation how what you do differs from this        #
# version of this document; and                                              #
# 5.  Make your revised document available on an open-source basis.          #
#                                                                            #
# This document is not in the public domain, but is given freely to the      #
# community in the hope of advancing science.  If you make changes please    #
# make them in a responsible manner, and please offer us the opportunity to  #
# include thos changes in in future versions of this document.               #
#                                                                            #
##############################################################################
#                                                                            #
#          PRELIMINARY DRAFT -- SUBJECT TO CHANGE WITHOUT NOTICE             #
#                                                                            #
##############################################################################

##############################################################################
#                                                                            #
# This dictionary provides proposed translations from mmCIF to CML and is    #
# intended to be used an an extension to the mmCIF dictionary (cif_mm.dic)   #
# by P.M.D. Fitzgerald et. al. and to assist in producing XML documents      #
# intended to conform to CML DTD-1999-05-15 by P. Murray Rust and H. Rzepa   #
#                                                                            #
# Some portions of this mapping were derived from examination of pdb2xml by  #
# Adam Moore, BioDOM, March 1999           
#                                                                            #
##############################################################################

data_cif_cml.dic

    _dictionary.title           cif_cml.dic
    _dictionary.version         0.0.01
    _dictionary.datablock_id    cif_cml.dic

################
# DATA_        #
################

save_DATA_
    _xml_mapping.description
;            Data items in the DATA_ mapping record specify the mapping
             of data blocks to XML.

;
    _xml_mapping.token         'data_%'
    _xml_mapping.token_type    'data'
    _xml_mapping.target        'molecule id="%"'
save_

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

save_ATOM_SITE
    _xml_mapping.description
;            Data items in the ATOM_SITE mapping records specify the mapping 
             of the category ATOM_SITE to XML.
;
    _xml_mapping.token         'ATOM_SITE'
    _xml_mapping.token_type    'category'
    _xml_mapping.target        'atomArray'
save_

save__atom_site.B_iso_or_equiv

    _xml_mapping.description
;           The B value (temperature factor) is mapped to B
;
    _xml_mapping.token         '_atom_site.B_iso_or_equiv'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray title="B" convention="PDB"'
save_

save__atom_site.Cartn_x

    _xml_mapping.description
;           The x atom coordinate is mapped to the builtin value x3
;
    _xml_mapping.token         '_atom_site.Cartn_x'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="x3"'
save_

save__atom_site.Cartn_y

    _xml_mapping.description
;           The y atom coordinate is mapped to the builtin value y3
;
    _xml_mapping.token         '_atom_site.Cartn_y'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="y3"'
save_

save__atom_site.Cartn_z

    _xml_mapping.description
;           The z atom coordinate is mapped to the builtin value z3
;
    _xml_mapping.token         '_atom_site.Cartn_z'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="z3"'
save_

save__atom_site.label_atom_id

    _xml_mapping.description
;           The label_atom_id is mapped to <string title="atomName">
;
    _xml_mapping.token         '_atom_site.label_atom_id'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'stringArray title="atomName"'
save_


save__atom_site.label_comp_id

    _xml_mapping.description
;           The label_comp_id is mapped to <string title="atomresName">

            There is a problem here.  For het groups the mapping should
            be to <string title="hetName">
;
    _xml_mapping.token         '_atom_site.label_comp_id'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'stringArray title="atomresName"'
save_


save__atom_site.label_asym_id

    _xml_mapping.description
;           The label_asym_id is mapped to <string title="chain">
;
    _xml_mapping.token         '_atom_site.label_asym_id'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'stringArray title="chain"'
save_


save__atom_site.fract_x

    _xml_mapping.description
;           The fractional x atom coordinate is mapped to the builtin
            value xfract
;
    _xml_mapping.token         '_atom_site.fract_x'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="xfract"'
save_

save__atom_site.fract_y

    _xml_mapping.description
;           The fractional y atom coordinate is mapped to the builtin 
            value yfract
;
    _xml_mapping.token         '_atom_site.fract_y'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="yfract"'
save_

save__atom_site.fract_z

    _xml_mapping.description
;           The fractional z atom coordinate is mapped to the builtin 
            value zfract
;
    _xml_mapping.token         '_atom_site.fract_z'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="zfract"'
save_

save__atom_site.id

    _xml_mapping.description
;           The id is mapped to the builtin value atomId
;
    _xml_mapping.token         '_atom_site.id'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'stringArray builtin="atomId"'
save_

save__atom_site.occupancy

    _xml_mapping.description
;           The occupancy is mapped to the builtin value occupancy
;
    _xml_mapping.token         '_atom_site.occupancy'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'floatArray builtin="occupancy"'
save_


save__atom_site.type_symbol

    _xml_mapping.description
;           The type symbol is mapped to the builtin value elementType
;
    _xml_mapping.token         '_atom_site.type_symbol'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'stringArray builtin="elementType"'
save_


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

save_AUDIT_AUTHOR
    _xml_mapping.description
;            Data items in the AUDIT_AUTHOR mapping records specify 
             the mapping of the category AUDIT_AUTHOT to XML.

             These items refer to the authorship of the entry per se
;
    _xml_mapping.token         'AUDIT_AUTHOR'
    _xml_mapping.token_type    'category'
    _xml_mapping.target        'list title="AUTHORS"'
save_

save__audit_author.name

    _xml_mapping.description
;           The author name is mapped to <person title="author">

            To conform pdb2xml conventions, the name itself should
            also be parsed into initials and a surname.  We do
            not consider this issues at this time.
;
    _xml_mapping.token         '_audit_author.name'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'person title="author"'
save_



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

save_ATOM_SITES
    _xml_mapping.description
;            Data items in the ATOM_SITES mapping records specify the 
             mapping  of the category ATOM_SITES to XML.

             Note that we also map the categories CELL and SYMMETRY
             to crystal

             We treat DATABASE_PDB_MATRIX as part of ATOM_SITES

;
    _xml_mapping.token         'ATOM_SITES'
    _xml_mapping.token_type    'category'
    _xml_mapping.target        'crystal'
save_

save_DATABASE_PDB_MATRIX
    _xml_mapping.token         'DATABASE_PDB_MATRIX'
    _xml_mapping.token_type    'category'
    _xml_mapping.target        'crystal'
save_

save__database_pdb_matrix.origx[1][1]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[1][1]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[1][1]"''
save_

save__database_pdb_matrix.origx[1][2]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[1][2]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[1][2]"''
save_

save__database_pdb_matrix.origx[1][3]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[1][3]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[1][3]"''
save_


save__database_pdb_matrix.origx[2][1]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[2][1]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[2][1]"''
save_

save__database_pdb_matrix.origx[2][2]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[2][2]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[2][2]"''
save_

save__database_pdb_matrix.origx[2][3]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[2][3]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[2][3]"''
save_


save__database_pdb_matrix.origx[3][1]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[3][1]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[3][1]"''
save_

save__database_pdb_matrix.origx[3][2]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[3][2]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[3][2]"''
save_

save__database_pdb_matrix.origx[3][3]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_database_pdb_matrix.origx[3][3]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="origx[3][3]"''
save_

save__atom_sites.fract_transf_matrix[1][1]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[1][1]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[1][1]"''
save_

save__atom_sites.fract_transf_matrix[1][2]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[1][2]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[1][2]"''
save_

save__atom_sites.fract_transf_matrix[1][3]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[1][3]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[1][3]"''
save_


save__atom_sites.fract_transf_matrix[2][1]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[2][1]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[2][1]"''
save_

save__atom_sites.fract_transf_matrix[2][2]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[2][2]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[2][2]"''
save_

save__atom_sites.fract_transf_matrix[2][3]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[2][3]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[2][3]"''
save_


save__atom_sites.fract_transf_matrix[3][1]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[3][1]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[3][1]"''
save_

save__atom_sites.fract_transf_matrix[3][2]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[3][2]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[3][2]"''
save_

save__atom_sites.fract_transf_matrix[3][3]

    _xml_mapping.description
;           The matrix elements are mapped to individual matrix elements
            to avoid any assumptions on order dependence
;
    _xml_mapping.token         '_atom_sites.fract_transf_matrix[3][3]'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float title="scale[3][3]"''
save_




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

save_CELL
    _xml_mapping.description
;            Data items in the CELL mapping records specify the mapping 
             of the category CELL to XML.

             Note that we also map the categories ATOM_SITES and SYMMETRY
             to crystal

;
    _xml_mapping.token         'CELL'
    _xml_mapping.token_type    'category'
    _xml_mapping.target        'crystal'
save_

save__cell.length_a

    _xml_mapping.description
;           The length of cell edge a is mapped to the builtin acell
;
    _xml_mapping.token         '_cell.length_a'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float builtin="acell"''
save_


save__cell.length_b

    _xml_mapping.description
;           The length of cell edge b is mapped to the builtin bcell
;
    _xml_mapping.token         '_cell.length_b'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float builtin="bcell"''
save_


save__cell.length_c

    _xml_mapping.description
;           The length of cell edge c is mapped to the builtin ccell
;
    _xml_mapping.token         '_cell.length_c'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float builtin="ccell"''
save_

save__cell.angle_alpha

    _xml_mapping.description
;           The cell edge angle alpha is mapped to the builtin alpha
;
    _xml_mapping.token         '_cell.angle_alpha'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float builtin="alpha"''
save_

save__cell.angle_beta

    _xml_mapping.description
;           The cell edge angle beta is mapped to the builtin beta
;
    _xml_mapping.token         '_cell.angle_beta'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float builtin="beta"''
save_

save__cell.angle_gamma

    _xml_mapping.description
;           The cell edge angle gamma is mapped to the builtin gamma
;
    _xml_mapping.token         '_cell.angle_gamma'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'float builtin="gamma"''
save_

save__cell.Z_PDB

    _xml_mapping.description
;           The PDB Z value is mapped to the builtin z
;
    _xml_mapping.token         '_cell.Z_PDB'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'integer builtin="z"''
save_

save__cell_formula_units_Z

    _xml_mapping.description
;           The cor CIF Z value is mapped to the builtin z
;
    _xml_mapping.token         '_cell_formula_units_Z'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'integer builtin="z"''
save_

save_SYMMETRY
    _xml_mapping.description
;            Data items in the SYMMETRY mapping records specify the mapping 
             of the category SYMMETRY to XML.

             Note that we also map the categories ATOM_SITES and CELL to
             crystal

;
    _xml_mapping.token         'SYMMETRY'
    _xml_mapping.token_type    'category'
    _xml_mapping.target        'crystal'
save_


save__symmetry.space_group_name_H-M

    _xml_mapping.description
;           The space group is mapped to the builtin spaegroup
;
    _xml_mapping.token         '_symmetry.space_group_name_H-M'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'string builtin="spacegroup"''
save_


save__entry.id

    _xml_mapping.description
;           The entry id is mapped to ID
;
    _xml_mapping.token         '_entry.id'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'string title="ID"'
save_


save__struct_biol.details

    _xml_mapping.description
;           This is used as the detail for classification
;
    _xml_mapping.token         '_struct_biol.details'
    _xml_mapping.token_type    'item'
    _xml_mapping.target        'string title="CLASSIFICATION"'
save_
