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

生物技术

开发平台:

C/C++

  1. --
  2. -- ===========================================================================
  3. -- PRODUCTION $Log: mmdb3.asn,v $
  4. -- PRODUCTION Revision 1000.0  2003/10/29 21:22:13  gouriano
  5. -- PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R6.3
  6. -- PRODUCTION
  7. -- ===========================================================================
  8. --
  9. --$Revision: 1000.0 $
  10. --**********************************************************************
  11. --
  12. --  Biological Macromolecule 3-D Structure Data Types for MMDB,
  13. --                A Molecular Modeling Database
  14. --
  15. --  Definitions for structural features and biostruc addressing
  16. --
  17. --  By Hitomi Ohkawa, Jim Ostell, Chris Hogue and Steve Bryant 
  18. --
  19. --  National Center for Biotechnology Information
  20. --  National Institutes of Health
  21. --  Bethesda, MD 20894 USA
  22. --
  23. --  July, 1996
  24. --
  25. --**********************************************************************
  26. MMDB-Features DEFINITIONS ::=
  27. BEGIN
  28. EXPORTS Biostruc-feature-set, Chem-graph-pntrs, Atom-pntrs,
  29. Chem-graph-alignment, Sphere, Cone, Cylinder, Brick, Transform,
  30. Biostruc-feature-set-id, Biostruc-feature-id;
  31. IMPORTS Biostruc-id FROM MMDB
  32. Molecule-id, Residue-id, Atom-id FROM MMDB-Chemical-graph
  33. Model-id, Model-coordinate-set-id FROM MMDB-Structural-model
  34. User-object FROM NCBI-General
  35. Pub FROM NCBI-Pub;
  36. -- Named model features refer to sets of residues or atoms, or a region in 
  37. -- the model space.  A few specific feature types are allowed for compatibility
  38. -- with PDB usage, but the purpose of a named model feature is simply to
  39. -- associate various types of information with a set of atoms or 
  40. -- residues, or a spatially-defined region of the model structure.  They also
  41. -- support association of various properties with each residue or atom of a
  42. -- set.
  43. -- PDB-derived secondary structure defines a single feature, represented as a
  44. -- sequence of residue motifs, as are the contents of PDB SITE and
  45. -- FTNOTE records.  NCBI-assigned core and secondary structure descriptions
  46. -- are also represented as a sequence of residue motifs.
  47. Biostruc-feature-set ::= SEQUENCE {
  48. id Biostruc-feature-set-id,
  49. descr SEQUENCE OF Biostruc-feature-set-descr OPTIONAL,
  50. features SEQUENCE OF Biostruc-feature }
  51. Biostruc-feature-set-id ::= INTEGER
  52. Biostruc-feature-set-descr ::= CHOICE {
  53. name VisibleString,
  54. pdb-comment VisibleString,
  55. other-comment VisibleString,
  56. attribution Pub }
  57. -- An explicitly specified type in Biostruc-feature allows for
  58. -- efficient extraction and indexing of feature sets of a specific type. 
  59. -- Special types are provided for coloring and rendering, as
  60. -- as needed by molecular graphics programs.
  61.  
  62. Biostruc-feature ::= SEQUENCE {
  63. id Biostruc-feature-id OPTIONAL,
  64. name VisibleString OPTIONAL,
  65. type INTEGER { helix(1),
  66. strand(2),
  67. sheet(3),
  68. turn(4),
  69. site(5),
  70. footnote(6),
  71. comment(7),      -- new 
  72. subgraph(100),   -- NCBI domain reserved
  73. region(101), 
  74. core(102),       -- user core definition
  75. supercore(103),  -- NCBI reserved
  76. color(150),      -- new
  77. render(151),     -- new
  78. label(152),      -- new
  79. transform(153),  -- new
  80. camera(154),     -- new
  81. script(155),      -- for scripts
  82. alignment(200),  -- VAST reserved 
  83. similarity(201),
  84. multalign(202),  -- multiple alignment
  85.                                 indirect(203),   -- new
  86. cn3dstate(254),  -- Cn3D reserved
  87. other(255) } OPTIONAL,
  88. property CHOICE { 
  89. color Color-prop,
  90. render Render-prop,
  91. transform Transform,
  92. camera Camera,
  93. script Biostruc-script,
  94. user User-object } OPTIONAL,
  95. location CHOICE {
  96. subgraph Chem-graph-pntrs,
  97. region Region-pntrs,   
  98. alignment Chem-graph-alignment,
  99. similarity Region-similarity, 
  100. indirect Other-feature } OPTIONAL } -- new
  101. -- Other-feature allows for specifying location via reference to another
  102. -- Biostruc-feature and its location.
  103. Other-feature ::= SEQUENCE {
  104. biostruc-id Biostruc-id,
  105. set Biostruc-feature-set-id,
  106. feature Biostruc-feature-id }
  107.                         
  108. Biostruc-feature-id ::= INTEGER
  109. -- Atom, residue or molecule motifs describe a substructure defined by a set
  110. -- of nodes from the chemical graph. PDB secondary structure features are
  111. -- described as a residue motif, since they are not associated with any one of
  112. -- the multiple models that may be provided in a PDB file.  NCBI-assigned
  113. -- secondary structure is represented in the same way, even though it is
  114. -- model specific, since this allows for simple mapping of the structural 
  115. -- feature onto a sequence-only representation. This addressing mode may also 
  116. -- be used to describe features to be associated with particular atoms, 
  117. -- as, for example, the chemical shift observed in an NMR experiment.
  118. Chem-graph-pntrs ::= CHOICE {
  119. atoms Atom-pntrs,
  120. residues Residue-pntrs,
  121. molecules Molecule-pntrs }
  122. Atom-pntrs ::= SEQUENCE {
  123. number-of-ptrs INTEGER,
  124. molecule-ids SEQUENCE OF Molecule-id,
  125. residue-ids SEQUENCE OF Residue-id,
  126. atom-ids SEQUENCE OF Atom-id }
  127. Residue-pntrs ::= CHOICE {
  128. explicit Residue-explicit-pntrs,
  129. interval SEQUENCE OF Residue-interval-pntr }
  130. Residue-explicit-pntrs ::= SEQUENCE {
  131. number-of-ptrs INTEGER,
  132. molecule-ids SEQUENCE OF Molecule-id,
  133. residue-ids SEQUENCE OF Residue-id }
  134. Residue-interval-pntr ::= SEQUENCE {
  135. molecule-id Molecule-id,
  136. from Residue-id,
  137. to Residue-id }
  138. Molecule-pntrs ::= SEQUENCE {
  139. number-of-ptrs INTEGER,
  140. molecule-ids SEQUENCE OF Molecule-id }
  141. -- Region motifs describe features defined by spatial location, such as the
  142. -- site specified by a coordinate value, or a rgeion within a bounding volume.
  143. Region-pntrs ::= SEQUENCE {
  144. model-id Model-id,
  145. region CHOICE {
  146. site SEQUENCE OF Region-coordinates,
  147. boundary SEQUENCE OF Region-boundary } }
  148. -- Coordinate sites describe a region in space by reference to individual 
  149. -- coordinates, in a particular model.  These coordinates may be either the
  150. -- x, y and z values of atomic coordinates, the triangles of a surface mesh, 
  151. -- or the grid points of a density model. All are addressed in the same manner,
  152. -- as coordinate indices which give offsets from the beginning of the 
  153. -- coordinate data arrays.  A coordinate-index of 5, for example, refers to 
  154. -- the 5th x, y and z values of an atomic coordinate set, the 5th v1, v2, and v3
  155. -- values of a triangle mesh, or the 5th value in a density grid.
  156. -- PDB SITE and FTNOTE records refer to particular atomic coordinates, and they
  157. -- are represented as a region motif with addresses of type Region-coordinates.
  158. -- Any names or descriptions provided by PDB are thus associated with the
  159. -- indicated sites, in the indicated model. 
  160. Region-coordinates ::= SEQUENCE {
  161. model-coord-set-id Model-coordinate-set-id,
  162. number-of-coords INTEGER OPTIONAL,
  163. coordinate-indices SEQUENCE OF INTEGER OPTIONAL }
  164. -- Region boundaries are defined by regular solids located in the model space.  
  165. Region-boundary ::= CHOICE { sphere Sphere,
  166. cone Cone,
  167. cylinder Cylinder,
  168. brick Brick }
  169. -- A biostruc alignment establishes an equivalence of nodes in the chemical
  170. -- graphs of two or more biostrucs. This may be mapped to a sequence
  171. -- alignment in the case of biopolymers.
  172. -- The 'dimension' component indicates the number of participants
  173. -- in the alignment.  For pairwise alignments, such as VAST 
  174. -- structure-structure alignments, the dimension will be always 2, with
  175. -- biostruc-ids, alignment, and domain each containing two entries for an  
  176. -- aligned pair.  The 'alignment' component contains a pair of Chem-graph-pntrs
  177. -- specifying a like number of corresponding residues in each structure.
  178. -- The 'domain' component specifies a region of each structure considered 
  179. -- in the alignment.  Only one transform (for the second structure) and
  180. -- one aligndata (for the pair) are provided for each VAST alignment.
  181. --
  182. -- For multiple alignments, a set of components are treated as
  183. -- parallel arrays of length 'dimension'.
  184. -- The 'transform' component moves each structure to align it with
  185. -- the structure specified as the first element in the "parallel" array,
  186. -- so necessarily the first transform is a NULL transform.
  187. -- Align-stats are placeholders for scores.
  188. Chem-graph-alignment ::= SEQUENCE {
  189. dimension INTEGER DEFAULT 2,
  190. biostruc-ids SEQUENCE OF Biostruc-id,
  191. alignment SEQUENCE OF Chem-graph-pntrs,
  192. domain SEQUENCE OF Chem-graph-pntrs OPTIONAL, 
  193. transform SEQUENCE OF Transform OPTIONAL,
  194. aligndata SEQUENCE OF Align-stats OPTIONAL }
  195. Align-stats ::= SEQUENCE {
  196. descr VisibleString OPTIONAL,
  197. scale-factor INTEGER OPTIONAL,
  198. vast-score INTEGER OPTIONAL,
  199. vast-mlogp INTEGER OPTIONAL,
  200. align-res INTEGER OPTIONAL,
  201.   rmsd INTEGER OPTIONAL,
  202. blast-score INTEGER OPTIONAL,
  203. blast-mlogp INTEGER OPTIONAL,
  204. other-score INTEGER OPTIONAL }         
  205. -- A biostruc similarity describes spatial features which are similar between
  206. -- two or more biostrucs.  Similarities are model dependent, and the model and
  207. -- coordinate set ids of the biostrucs must be specified.  They do not 
  208. -- necessarily map to a sequence alignment, as the regions referenced may
  209. -- be pieces of a surface or grid, and thus not uniquely mapable to particular
  210. -- chemical components.
  211. Region-similarity ::= SEQUENCE {
  212. dimension INTEGER DEFAULT 2,
  213. biostruc-ids SEQUENCE OF Biostruc-id,
  214. similarity SEQUENCE OF Region-pntrs,
  215. transform SEQUENCE OF Transform }
  216. -- Geometrical primitives are used in the definition of region motifs, and 
  217. -- also non-atomic coordinates.  Spheres, cones, cylinders and bricks are 
  218. -- defined by a few points in the model space.
  219. Sphere ::= SEQUENCE { 
  220. center Model-space-point,
  221. radius RealValue }
  222. Cone ::= SEQUENCE { 
  223. axis-top Model-space-point,
  224. axis-bottom Model-space-point,
  225. radius-bottom RealValue }
  226. Cylinder ::= SEQUENCE { 
  227. axis-top Model-space-point,
  228. axis-bottom Model-space-point,
  229. radius RealValue }
  230. -- A brick is defined by the coordinates of eight corners.  These are assumed
  231. -- to appear in the order 000, 001, 010, 011, 100, 101, 110, 111, where the 
  232. -- digits 0 and 1 refer to respectively to the x, y and z axes of a unit cube.
  233. -- Opposite edges are assumed to be parallel. 
  234. Brick ::= SEQUENCE {
  235. corner-000 Model-space-point,
  236. corner-001 Model-space-point,
  237. corner-010 Model-space-point,
  238. corner-011 Model-space-point,
  239. corner-100 Model-space-point,
  240. corner-101 Model-space-point,
  241. corner-110 Model-space-point,
  242. corner-111 Model-space-point }
  243. Model-space-point ::= SEQUENCE {
  244. scale-factor INTEGER,
  245. x INTEGER,
  246. y INTEGER,
  247. z INTEGER } 
  248. RealValue ::= SEQUENCE {
  249. scale-factor INTEGER,
  250. scaled-integer-value INTEGER }
  251. Transform ::=  SEQUENCE {
  252.             id  INTEGER,
  253.             moves SEQUENCE OF Move }
  254.             
  255. Move ::= CHOICE {
  256. rotate Rot-matrix,
  257. translate Trans-matrix }
  258.           
  259. -- A rotation matrix is defined by 9 numbers, given by row, i.e.,
  260. -- with column indices varying fastest.
  261. -- Coordinates, as a matrix with columns x, y, an z, are rotated 
  262. -- via multiplication with the rotation matrix. 
  263. -- A translation matrix is defined by 3 numbers, which is added to
  264. -- the rotated coordinates for specified amount of translation. 
  265. Rot-matrix ::= SEQUENCE {
  266. scale-factor INTEGER,
  267. rot-11 INTEGER,
  268. rot-12 INTEGER,
  269. rot-13 INTEGER,
  270. rot-21 INTEGER,
  271. rot-22 INTEGER,
  272. rot-23 INTEGER,
  273. rot-31 INTEGER,
  274. rot-32 INTEGER,
  275. rot-33 INTEGER }
  276. Trans-matrix ::= SEQUENCE {
  277. scale-factor INTEGER,
  278. tran-1 INTEGER,
  279. tran-2 INTEGER,
  280. tran-3 INTEGER }
  281. -- The camera is a position relative to the world coordinates
  282. -- of the structure referred to by a location.  
  283. -- this is used to set the initial position of the
  284. -- camera using OpenGL.  scale is the value used to scale the
  285. -- other values from floating point to integer
  286. Camera ::= SEQUENCE {
  287. x INTEGER,
  288. y INTEGER,
  289. distance INTEGER,
  290. angle INTEGER,
  291. scale INTEGER,
  292.     modelview   GL-matrix }
  293.     
  294.     
  295. GL-matrix ::= SEQUENCE {
  296. scale INTEGER,
  297. m11 INTEGER,
  298. m12 INTEGER,
  299. m13 INTEGER,
  300. m14 INTEGER,
  301. m21 INTEGER,
  302. m22 INTEGER,
  303. m23 INTEGER,
  304. m24 INTEGER,
  305. m31 INTEGER,
  306. m32 INTEGER,
  307. m33 INTEGER,
  308. m34 INTEGER,
  309. m41 INTEGER,
  310. m42 INTEGER,
  311. m43 INTEGER,
  312. m44 INTEGER }
  313. Color-prop ::= SEQUENCE {
  314. r INTEGER OPTIONAL, 
  315. g INTEGER OPTIONAL,
  316. b INTEGER OPTIONAL,
  317. name VisibleString OPTIONAL }
  318. -- Note that Render-prop is compatible with the Annmm specification,
  319. -- i.e., its numbering schemes do not clash with those in Render-prop.
  320. Render-prop ::= INTEGER {
  321. default (0),  -- Default view
  322. wire (1),  -- use wireframe 
  323. space (2),  -- use spacefill
  324. stick (3),  -- use stick model (thin cylinders)
  325. ballNStick (4),  -- use ball & stick model
  326. thickWire (5),  -- thicker wireframe
  327. hide (9),  -- don't show this
  328. name (10), -- display its name next to it
  329. number  (11), -- display its number next to it 
  330. pdbNumber (12), -- display its PDB number next to it
  331. objWireFrame (150), -- display MMDB surface object as wireframe
  332. objPolygons (151), -- display MMDB surface object as polygons   
  333. colorsetCPK (225), -- color atoms like CPK models
  334. colorsetbyChain (226), -- color each chain different
  335. colorsetbyTemp (227), -- color using isotropic Temp factors 
  336. colorsetbyRes (228), -- color using residue properties
  337. colorsetbyLen (229), -- color changes along chain length
  338. colorsetbySStru (230), -- color by secondary structure
  339. colorsetbyHydro (231), -- color by hydrophobicity
  340. colorsetbyObject(246), -- color each object differently
  341. colorsetbyDomain(247), -- color each domain differently
  342. other           (255)  
  343. }
  344. --  When a Biostruc-Feature with a Biostruc-script is initiated,
  345. --  it should play the specified steps one at a time, setting the feature-do
  346. --  list as the active display.
  347. --  The camera can be set using a feature-do, 
  348. --  but it may be moved independently with
  349. --  camera-move, which specifies how to move
  350. --  the camera dynamically during the step along the path defined (e.g.,
  351. --  a zoom, a rotate).
  352. --  Any value of pause (in 1:10th's of a second) will force a pause
  353. --  after an image is shown.
  354. --  If waitevent is TRUE, it will await a mouse or keypress and ignore 
  355. --  the pause value.
  356. Biostruc-script ::= SEQUENCE OF Biostruc-script-step
  357. Biostruc-script-step ::= SEQUENCE {
  358. step-id Step-id,
  359. step-name VisibleString OPTIONAL, 
  360. feature-do SEQUENCE OF Other-feature OPTIONAL,
  361. camera-move Transform OPTIONAL,
  362. pause INTEGER DEFAULT 10,
  363. waitevent BOOLEAN,
  364. extra INTEGER, 
  365. jump Step-id OPTIONAL }
  366. Step-id ::= INTEGER
  367. END