cn3d.asn
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:8k
源码类别:

生物技术

开发平台:

C/C++

  1. --
  2. -- ===========================================================================
  3. -- PRODUCTION $Log: cn3d.asn,v $
  4. -- PRODUCTION Revision 1000.0  2003/10/29 21:09:42  gouriano
  5. -- PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.14
  6. -- PRODUCTION
  7. -- ===========================================================================
  8. --
  9. --$Revision: 1000.0 $
  10. --**********************************************************************
  11. --
  12. --  Definitions for Cn3D-specific data (rendering settings,
  13. --    user annotations, etc.)
  14. --
  15. --  by Paul Thiessen
  16. --
  17. --  National Center for Biotechnology Information
  18. --  National Institutes of Health
  19. --  Bethesda, MD 20894 USA
  20. --
  21. -- asntool -m cn3d.asn -w 100 -o cn3d.h
  22. -- asntool -B objcn3d -m cn3d.asn -G -w 100 -K cn3d.h -I mapcn3d.h 
  23. --   -M ../mmdb1.asn,../mmdb2.asn,../mmdb3.asn
  24. --**********************************************************************
  25. NCBI-Cn3d DEFINITIONS ::=
  26. -- Cn3D-specific information
  27. BEGIN
  28. EXPORTS  Cn3d-style-dictionary, Cn3d-user-annotations;
  29. IMPORTS  Biostruc-id FROM MMDB
  30.          Molecule-id, Residue-id FROM MMDB-Chemical-graph;
  31. -- values of enumerations must match those in cn3d/style_manager.hpp!
  32. Cn3d-backbone-type ::= ENUMERATED {     -- for different types of backbones
  33.     off (1),
  34.     trace (2),
  35.     partial (3),
  36.     complete (4)
  37. }
  38. Cn3d-drawing-style ::= ENUMERATED {     -- atom/bond/object rendering styles
  39.     -- for atoms and bonds
  40.     wire (1),
  41.     tubes (2),
  42.     ball-and-stick (3),
  43.     space-fill (4),
  44.     wire-worm (5),
  45.     tube-worm (6),
  46.     -- for 3d-objects
  47.     with-arrows (7),
  48.     without-arrows (8)
  49. }
  50. Cn3d-color-scheme ::= ENUMERATED {  -- available color schemes (not all
  51.                                     -- necessarily applicable to all objects)
  52.     element (1),
  53.     object (2),
  54.     molecule (3),
  55.     domain (4),
  56.     secondary-structure (5),
  57.     user-select (6),
  58.     -- different alignment conservation coloring (currently only for proteins)
  59.     aligned (7),
  60.     identity (8),
  61.     variety (9),
  62.     weighted-variety (10),
  63.     information-content (11),
  64.     fit (12),
  65.     block-fit (17),
  66.     block-z-fit (18),
  67.     block-row-fit (19),
  68.     -- other schemes
  69.     temperature (13),
  70.     hydrophobicity (14),
  71.     charge (15),
  72.     rainbow (16)
  73. }
  74. -- RGB triplet, interpreted (after division by the scale-factor) as floating
  75. -- point values which should range from [0..1]. The default scale-factor is
  76. -- 255, so that one can conveniently set integer byte values [0..255] for
  77. -- colors with the scale-factor already set appropriately to map to [0..1].
  78. --    An alpha value is allowed, but is currently ignored by Cn3D.
  79. Cn3d-color ::= SEQUENCE {
  80.     scale-factor INTEGER DEFAULT 255,
  81.     red INTEGER,
  82.     green INTEGER,
  83.     blue INTEGER,
  84.     alpha INTEGER DEFAULT 255
  85. }
  86. Cn3d-backbone-style ::= SEQUENCE {  -- style blob for backbones only
  87.     type Cn3d-backbone-type,
  88.     style Cn3d-drawing-style,
  89.     color-scheme Cn3d-color-scheme,
  90.     user-color Cn3d-color
  91. }
  92. Cn3d-general-style ::= SEQUENCE {   -- style blob for other objects
  93.     is-on BOOLEAN,
  94.     style Cn3d-drawing-style,
  95.     color-scheme Cn3d-color-scheme,
  96.     user-color Cn3d-color
  97. }
  98. Cn3d-backbone-label-style ::= SEQUENCE { -- style blob for backbone labels
  99.     spacing INTEGER,        -- zero means none
  100.     type ENUMERATED {
  101.         one-letter (1),
  102.         three-letter (2)
  103.     },
  104.     number ENUMERATED {
  105.         none (0),
  106.         sequential (1),     -- from 1, by residues present, to match sequence
  107.         pdb (2)             -- use number assigned by PDB
  108.     },
  109.     termini BOOLEAN,
  110.     white BOOLEAN           -- all white, or (if false) color of alpha carbon
  111. }
  112. -- rendering settings for Cn3D (mirrors StyleSettings class)
  113. Cn3d-style-settings ::= SEQUENCE {
  114.     name VisibleString OPTIONAL,                -- a name (for favorites)
  115.     protein-backbone Cn3d-backbone-style,       -- backbone styles
  116.     nucleotide-backbone Cn3d-backbone-style,
  117.     protein-sidechains Cn3d-general-style,      -- styles for other stuff
  118.     nucleotide-sidechains Cn3d-general-style,
  119.     heterogens Cn3d-general-style,
  120.     solvents Cn3d-general-style,
  121.     connections Cn3d-general-style,
  122.     helix-objects Cn3d-general-style,
  123.     strand-objects Cn3d-general-style,
  124.     virtual-disulfides-on BOOLEAN,              -- virtual disulfides
  125.     virtual-disulfide-color Cn3d-color,
  126.     hydrogens-on BOOLEAN,                       -- hydrogens
  127.     background-color Cn3d-color,                -- background
  128.     -- floating point parameters - scale-factor applies to all the following:
  129.     scale-factor INTEGER,
  130.     space-fill-proportion INTEGER,
  131.     ball-radius INTEGER,
  132.     stick-radius INTEGER,
  133.     tube-radius INTEGER,
  134.     tube-worm-radius INTEGER,
  135.     helix-radius INTEGER,
  136.     strand-width INTEGER,
  137.     strand-thickness INTEGER,
  138.     -- backbone labels (no labels if not present)
  139.     protein-labels Cn3d-backbone-label-style OPTIONAL,
  140.     nucleotide-labels Cn3d-backbone-label-style OPTIONAL,
  141.     -- ion labels
  142.     ion-labels BOOLEAN OPTIONAL
  143. }
  144. Cn3d-style-settings-set ::= SET OF Cn3d-style-settings
  145. Cn3d-style-table-id ::= INTEGER
  146. Cn3d-style-table-item ::= SEQUENCE {
  147.     id Cn3d-style-table-id,
  148.     style Cn3d-style-settings
  149. }
  150. -- the global settings, and a lookup table of styles for user annotations.
  151. Cn3d-style-dictionary ::= SEQUENCE {
  152.     global-style Cn3d-style-settings,
  153.     style-table SEQUENCE OF Cn3d-style-table-item OPTIONAL
  154. }
  155. -- a range of residues in a chain, identified by MMDB residue-id
  156. -- (e.g., numbered from 1)
  157. Cn3d-residue-range ::= SEQUENCE {
  158.     from Residue-id,
  159.     to Residue-id
  160. }
  161. -- set of locations on a particular chain
  162. Cn3d-molecule-location ::= SEQUENCE {
  163.     molecule-id Molecule-id,    -- MMDB molecule id
  164.     -- which residues; whole molecule implied if absent
  165.     residues SEQUENCE OF Cn3d-residue-range OPTIONAL
  166. }
  167. -- set of locations on a particular structure object (e.g., a PDB/MMDB
  168. -- structure), which may include multiple ranges of residues each on
  169. -- multiple chains.
  170. Cn3d-object-location ::= SEQUENCE {
  171.     structure-id Biostruc-id,
  172.     residues SEQUENCE OF Cn3d-molecule-location
  173. }
  174. -- information for an individual user annotation
  175. Cn3d-user-annotation ::= SEQUENCE {
  176.     name VisibleString,                 -- a (short) name for this annotation
  177.     description VisibleString OPTIONAL, -- an optional longer description
  178.     style-id Cn3d-style-table-id,       -- how to draw this annotation
  179.     residues SEQUENCE OF Cn3d-object-location,  -- which residues to cover
  180.     is-on BOOLEAN   -- whether this annotation is to be turned on in Cn3D
  181. }
  182. -- a GL-ordered transformation matrix
  183. Cn3d-GL-matrix ::= SEQUENCE {
  184.     m0  REAL, m1  REAL, m2  REAL, m3  REAL,
  185.     m4  REAL, m5  REAL, m6  REAL, m7  REAL,
  186.     m8  REAL, m9  REAL, m10 REAL, m11 REAL,
  187.     m12 REAL, m13 REAL, m14 REAL, m15 REAL
  188. }
  189. -- a floating point 3d vector
  190. Cn3d-vector ::= SEQUENCE {
  191.     x REAL,
  192.     y REAL,
  193.     z REAL
  194. }
  195. -- parameters used to set up the camera in Cn3D
  196. Cn3d-view-settings ::= SEQUENCE {
  197.     camera-distance REAL,       -- camera on +Z axis this distance from origin
  198.     camera-angle-rad REAL,      -- camera angle
  199.     camera-look-at-X REAL,      -- X,Y of point in Z=0 plane camera points at
  200.     camera-look-at-Y REAL,
  201.     camera-clip-near REAL,      -- distance of clipping planes from camera
  202.     camera-clip-far REAL,
  203.     matrix Cn3d-GL-matrix,      -- transformation of objects in the scene
  204.     rotation-center Cn3d-vector -- center of rotation of whole scene
  205. }
  206. -- The list of annotations for a given CDD/mime. If residue regions overlap
  207. -- between annotations that are turned on, the last annotation in this list
  208. -- that contains these residues will be used as the display style for these
  209. -- residues.
  210. --   Also contains the current viewpoint, so that user's camera angle
  211. -- can be stored and reproduced, for illustrations, on-line figures, etc.
  212. Cn3d-user-annotations ::= SEQUENCE {
  213.     annotations SEQUENCE OF Cn3d-user-annotation OPTIONAL,
  214.     view Cn3d-view-settings OPTIONAL
  215. }
  216. END