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

生物技术

开发平台:

C/C++

  1. --
  2. -- ===========================================================================
  3. -- PRODUCTION $Log: mmdb1.asn,v $
  4. -- PRODUCTION Revision 1000.0  2003/10/29 21:21:26  gouriano
  5. -- PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R6.0
  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 a biomolecular assembly and the MMDB database
  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 1995
  24. --
  25. --**********************************************************************
  26. -- Contents of the MMDB database are currently based on files distributed by
  27. -- the Protein Data Bank, PDB.  These data are changed in form, as described
  28. -- in this specification. To some extent they are also changed in content, in 
  29. -- that many data items implicit in PDB are made explicit, and others are
  30. -- corrected or omitted as a consequence of validation checks.  The semantics
  31. -- of MMDB data items are indicated by comments within the specification below.
  32. -- These comments explain in detail the manner in which data items from  PDB 
  33. -- have been mapped into MMDB. 
  34. MMDB DEFINITIONS ::=
  35. BEGIN
  36. EXPORTS Biostruc, Biostruc-id, Biostruc-set, Biostruc-annot-set,
  37. Biostruc-residue-graph-set;
  38. IMPORTS Biostruc-graph, Biomol-descr, Residue-graph FROM MMDB-Chemical-graph 
  39. Biostruc-model FROM MMDB-Structural-model
  40. Biostruc-feature-set FROM MMDB-Features
  41. Pub FROM NCBI-Pub
  42. Date, Object-id, Dbtag FROM NCBI-General;
  43. -- A structure report or "biostruc" describes the components of a biomolecular 
  44. -- assembly in terms of their names and descriptions, and a chemical graph 
  45. -- giving atomic formula, connectivity and chirality. It also gives one or more
  46. -- three-dimensional model structures, literally a mapping of the atoms, 
  47. -- residues and/or molecules of each component into a measured three-
  48. -- dimensional space. Structure may also be described by named features, which 
  49. -- associate nodes in the chemical graph, or regions in space, with text or 
  50. -- numeric descriptors.
  51. -- Note that a biostruc may also contain cross references to other databases,
  52. -- including citations to relevant scientific literature. These cross 
  53. -- references use object types from other NCBI data specifications, which are 
  54. -- "imported" into MMDB, and not repeated in this specification. 
  55. Biostruc ::= SEQUENCE {
  56. id SEQUENCE OF Biostruc-id,
  57. descr SEQUENCE OF Biostruc-descr OPTIONAL,
  58. chemical-graph Biostruc-graph,
  59. features SEQUENCE OF Biostruc-feature-set OPTIONAL,
  60. model SEQUENCE OF Biostruc-model OPTIONAL }
  61. -- A Biostruc-id is a collection identifiers for the molecular assembly.
  62. -- Mmdb-id's are NCBI-assigned, and are intended to be unique and stable 
  63. -- identifiers.  Other-id's are synonyms.
  64. Biostruc-id ::= CHOICE {
  65. mmdb-id Mmdb-id,
  66. other-database Dbtag,
  67. local-id Object-id }
  68. Mmdb-id ::= INTEGER
  69. -- The description of a biostruc refers to both the reported chemical and 
  70. -- spatial structure of a biomolecular assembly.  PDB-derived descriptors
  71. -- which refer specifically to the chemical components or spatial structure
  72. -- are not provided here, but instead as descriptors of the biostruc-graph or 
  73. -- biostruc-model. For PDB-derived structures the biostruc name is the PDB 
  74. -- id-code.  PDB-derived citations appear as publications within the biostruc 
  75. -- description, and include a data-submission citation derived from PDB AUTHOR 
  76. -- records.  Citations are described using the NCBI Pub specification.
  77. Biostruc-descr ::= CHOICE {
  78. name VisibleString,
  79. pdb-comment VisibleString,
  80. other-comment VisibleString,
  81. history Biostruc-history, 
  82. attribution Pub }
  83. -- The history of a biostruc indicates it's origin and it's update history
  84. -- within MMDB, the NCBI-maintained molecular structure database.  
  85. Biostruc-history ::= SEQUENCE {
  86. replaces Biostruc-replace OPTIONAL,
  87. replaced-by Biostruc-replace OPTIONAL,
  88. data-source Biostruc-source OPTIONAL }
  89. Biostruc-replace ::= SEQUENCE {
  90. id Biostruc-id,
  91. date Date }
  92. -- The origin of a biostruc is a reference to another database.  PDB release 
  93. -- date and PDB-assigned id codes are recorded here, as are the PDB-assigned 
  94. -- entry date and replacement history.
  95. Biostruc-source ::= SEQUENCE {
  96. name-of-database VisibleString,
  97. version-of-database CHOICE {
  98. release-date Date,
  99. release-code VisibleString } OPTIONAL,
  100. database-entry-id Biostruc-id,
  101. database-entry-date Date,
  102. database-entry-history SEQUENCE OF VisibleString OPTIONAL}
  103. -- A biostruc set is a means to collect ASN.1 data for many biostrucs in 
  104. -- one file, as convenient for application programs.  The object type is not
  105. -- inteded to imply similarity of the biostrucs grouped together.
  106. Biostruc-set ::= SEQUENCE {
  107. id SEQUENCE OF Biostruc-id OPTIONAL,
  108. descr SEQUENCE OF Biostruc-descr OPTIONAL,
  109. biostrucs SEQUENCE OF Biostruc }
  110. -- A biostruc annotation set is a means to collect ASN.1 data for biostruc
  111. -- features into one file. The object type is intended as a means to store 
  112. -- feature annotation of similar type, such as "core" definitions for a 
  113. -- threading program, or structure-structure alignments for a structure-
  114. -- similarity browser.
  115. Biostruc-annot-set ::= SEQUENCE {
  116. id SEQUENCE OF Biostruc-id OPTIONAL,
  117. descr SEQUENCE OF Biostruc-descr OPTIONAL,
  118. features SEQUENCE OF Biostruc-feature-set }
  119. -- A biostruc residue graph set is a collection of residue graphs.  The object
  120. -- type is intended as a means to record dictionaries containing the chemical
  121. -- subgraphs of "standard" residue types, which are used as a means to 
  122. -- simplify discription of the covalent structure of a biomolecular assembly.
  123. -- The standard residue graph dictionary supplied with the MMDB database 
  124. -- contains 20 standard L amino acids and 8 standard ribonucleotide groups. 
  125. -- These graphs are complete, including explicit hydrogen atoms and separate 
  126. -- instances for the terminal polypeptide and polynucleotide residues. 
  127. Biostruc-residue-graph-set ::= SEQUENCE {
  128. id SEQUENCE OF Biostruc-id OPTIONAL,
  129. descr SEQUENCE OF Biomol-descr OPTIONAL,
  130. residue-graphs SEQUENCE OF Residue-graph }
  131. END
  132. --**********************************************************************
  133. --
  134. --  Biological Macromolecule 3-D Structure Data Types for MMDB,
  135. --                A Molecular Modeling Database
  136. --
  137. --  Definitions for a chemical graph
  138. --
  139. --  By Hitomi Ohkawa, Jim Ostell, Chris Hogue and Steve Bryant 
  140. --
  141. --  National Center for Biotechnology Information
  142. --  National Institutes of Health
  143. --  Bethesda, MD 20894 USA
  144. --
  145. --  July, 1995
  146. --
  147. --**********************************************************************
  148. MMDB-Chemical-graph DEFINITIONS ::=
  149. BEGIN
  150. EXPORTS Biostruc-graph, Biomol-descr, Residue-graph,
  151. Molecule-id, Residue-id, Atom-id;
  152. IMPORTS Pub FROM NCBI-Pub
  153. BioSource FROM NCBI-BioSource
  154. Seq-id FROM NCBI-Seqloc
  155. Biostruc-id FROM MMDB;
  156. -- A biostruc graph contains the complete chemical graph of the biomolecular 
  157. -- assembly.  The assembly graph is defined hierarchically, in terms of 
  158. -- subgraphs graphs of component molecules.  For PDB-derived biostrucs,
  159. -- the molecules forming the assembly are the individual biopolymer chains and 
  160. -- any non-polymer or "heterogen" groups which are present. 
  161. -- The PDB-derived  "compound name" field appears as the name within the
  162. -- biostruc-graph description.  PDB "class" and "source" fields appear as 
  163. -- explicit attributes.  PDB-derived structures are assigned an assembly type 
  164. -- of "other" unless they have been further classified as the "physiological
  165. -- form" or "crystallographic cell" contents.  If they have, the source of the 
  166. -- type classification appears as a citation within the  assembly description. 
  167. -- Note that the biostruc-graph also includes as literals the subgraphs of 
  168. -- any nonstandard residues present within it. For PDB-derived biostrucs these 
  169. -- subgraphs are constructed automatically, with validation as described below.
  170. Biostruc-graph ::= SEQUENCE {
  171. descr SEQUENCE OF Biomol-descr OPTIONAL,
  172. molecule-graphs SEQUENCE OF Molecule-graph,
  173. inter-molecule-bonds SEQUENCE OF Inter-residue-bond OPTIONAL,
  174. residue-graphs SEQUENCE OF Residue-graph OPTIONAL }
  175. -- A biomolecule description refers to the chemical structure of a molecule or 
  176. -- component substructures.  This descriptor type is used at the level of
  177. -- assemblies, molecules and residues, and also for residue-graph dictionaries.
  178. -- The BioSource object type is drawn from NCBI taxonomy data specifications,
  179. -- and is not repeated here.
  180. Biomol-descr ::= CHOICE {
  181. name VisibleString,
  182. pdb-class VisibleString,
  183. pdb-source VisibleString,
  184. pdb-comment VisibleString,
  185. other-comment VisibleString,
  186. organism BioSource,
  187. attribution Pub,
  188. assembly-type INTEGER { physiological-form(1),
  189. crystallographic-cell(2),
  190. other(255) },
  191. molecule-type INTEGER { dna(1),
  192. rna(2),
  193. protein(3),
  194. other-biopolymer(4),
  195. solvent(5),
  196. other-nonpolymer(6),
  197. other(255) } }
  198. -- A molecule chemical graph is defined by a sequence of residues.  Nonpolymers
  199. -- are described in the same way, but may contain only a single residue.  
  200. -- Biopolymer molecules are identified within PDB entries according to their
  201. -- appearance on SEQRES records, which formally define a biopolymer as such. 
  202. -- Biopolymers are defined by the distinction between ATOM and HETATM 
  203. -- coordinate records only in cases where the chemical sequence from SEQRES
  204. -- is in conflict with coordinate data. The PDB-assigned chain code appears as 
  205. -- the name within the molecule descriptions of the biopolymers.
  206. -- Nonpolymer molecules from PDB correspond to individual HETEROGEN groups, 
  207. -- excluding any HETEROGEN groups which represent modified biopolymer residues.
  208. -- These molecules are named according to the chain, residue type and residue 
  209. -- number fields as assigned by PDB. Any description appearing in the PDB HET 
  210. -- record appears as a pdb-comment within the molecule description. 
  211. -- Molecule types for PDB-derived molecule graphs are assigned by matching 
  212. -- residue and atom names against the PDB-documented standard types for protein,
  213. -- DNA and RNA, and against residue codes commonly used to indicate solvent.
  214. -- Classification is by "majority rule". If more than half of the residues in
  215. -- a biopolymer are standard groups of one type, then the molecule is of that 
  216. -- type, and otherwise classified as "other". Note that this classification does
  217. -- not preclude the presence of modified residues, but insists they constitute 
  218. -- less than half the biopolymer. Non-polymers are classified only as "solvent"
  219. -- or "other".  
  220. -- Note that a molecule graph may also contain a set of cross references 
  221. -- to biopolymer sequence databases.  All biopolymer molecules in MMDB contain 
  222. -- appropriate identifiers for the corresponding entry in the NCBI-Sequences 
  223. -- database, in particular the NCBI "gi" number, which may be used for sequence
  224. -- retrieval. The Seq-id object type is defined in the NCBI molecular sequence 
  225. -- specification, and not repeated here.
  226. Molecule-graph ::= SEQUENCE {
  227. id Molecule-id,
  228. descr SEQUENCE OF Biomol-descr OPTIONAL,
  229. seq-id Seq-id OPTIONAL,
  230. residue-sequence SEQUENCE OF Residue,
  231. inter-residue-bonds SEQUENCE OF Inter-residue-bond OPTIONAL }
  232.    
  233. Molecule-id ::= INTEGER
  234. -- Residues may be assigned a text-string name as well as an id number. PDB 
  235. -- assigned residue numbers appear as the residue name.
  236. Residue ::= SEQUENCE {
  237. id Residue-id,
  238. name VisibleString OPTIONAL,
  239. residue-graph Residue-graph-pntr }
  240. Residue-id ::= INTEGER
  241. -- Residue graphs from different sources may be referenced within a molecule
  242. -- graph.  The allowed choices are the nonstandard residue graphs included in 
  243. -- the present biostruc, residue graphs within other biostrucs, or residue 
  244. -- graphs within tables of standard residue definitions.
  245. Residue-graph-pntr ::= CHOICE {
  246. local Residue-graph-id,
  247. biostruc Biostruc-graph-pntr,
  248. standard Biostruc-residue-graph-set-pntr }
  249. Biostruc-graph-pntr ::= SEQUENCE {
  250. biostruc-id Biostruc-id,
  251. residue-graph-id Residue-graph-id }
  252. Biostruc-residue-graph-set-pntr ::= SEQUENCE {
  253. biostruc-residue-graph-set-id Biostruc-id,
  254. residue-graph-id Residue-graph-id } 
  255. -- Residue graphs define atomic formulae, connectivity, chirality, and names.
  256. -- For standard residue graphs from the MMDB dictionary the PDB-assigned 
  257. -- residue-type code appears as the name within the residue graph description,
  258. -- and the full trivial name of the residue as a comment within that 
  259. -- description.  For any nonstandard residue graphs provided with an MMDB 
  260. -- biostruc the PDB-assigned residue-type code similarly appears as the name 
  261. -- within the description, and any information provided on PDB HET records as 
  262. -- a pdb-comment within that description.  
  263. -- Note that nonstandard residue graphs for a PDB-derived biostruc may be 
  264. -- incomplete. Current PDB format cannot represent connectivity for groups 
  265. -- which are disordered, and for which no coordinates are given.  In these 
  266. -- cases the residue graph defined in MMDB represents only the subgraph that 
  267. -- could be identified from available ATOM, HETATM and CONECT records.
  268. Residue-graph ::= SEQUENCE {
  269. id Residue-graph-id,
  270. descr SEQUENCE OF Biomol-descr OPTIONAL,
  271. residue-type INTEGER { deoxyribonucleotide(1),
  272. ribonucleotide(2),
  273. amino-acid(3),
  274. other(255) } OPTIONAL,
  275. iupac-code SEQUENCE OF VisibleString OPTIONAL,
  276. atoms SEQUENCE OF Atom,
  277. bonds SEQUENCE OF Intra-residue-bond,
  278. chiral-centers SEQUENCE OF Chiral-center OPTIONAL }
  279. Residue-graph-id ::= INTEGER
  280. -- Atoms in residue graphs are defined by elemental symbols and names.  PDB-
  281. -- assigned atom names appear here in the name field, except in cases of known 
  282. -- PDB synonyms.  In these cases atom names are mapped to the names used in the
  283. -- MMDB standard dictionary. This occurs primarily for hydrogen atoms, where 
  284. -- PDB practice allows synonyms for several atom types.  For PDB atoms the 
  285. -- elemental symbol is obtained by parsing the PDB atom name field, allowing 
  286. -- for known special-semantics cases where the atom name does not follow the
  287. -- documented encoding rule.  Ionizable protons are identified within standard 
  288. -- residue graphs in the MMDB dictionary, but not within automatically-defined
  289. -- nonstandard graphs.
  290. Atom ::= SEQUENCE {
  291. id Atom-id,
  292. name VisibleString OPTIONAL,
  293. iupac-code SEQUENCE OF VisibleString OPTIONAL,
  294. element ENUMERATED {
  295. h(1),   he(2),  li(3),  be(4),  b(5), 
  296. c(6),   n(7),   o(8),   f(9),   ne(10), 
  297. na(11), mg(12), al(13), si(14), p(15), 
  298. s(16),  cl(17), ar(18), k(19),  ca(20), 
  299. sc(21), ti(22), v(23),  cr(24), mn(25), 
  300. fe(26), co(27), ni(28), cu(29), zn(30), 
  301. ga(31), ge(32), as(33), se(34), br(35), 
  302. kr(36), rb(37), sr(38), y(39),  zr(40),
  303. nb(41), mo(42), tc(43), ru(44), rh(45),
  304. pd(46), ag(47), cd(48), in(49), sn(50),
  305. sb(51), te(52), i(53),  xe(54), cs(55),
  306. ba(56), la(57), ce(58), pr(59), nd(60),
  307. pm(61), sm(62), eu(63), gd(64), tb(65),
  308. dy(66), ho(67), er(68), tm(69), yb(70),
  309. lu(71), hf(72), ta(73), w(74),  re(75),
  310. os(76), ir(77), pt(78), au(79), hg(80),
  311. tl(81), pb(82), bi(83), po(84), at(85),
  312. rn(86), fr(87), ra(88), ac(89), th(90),
  313. pa(91), u(92),  np(93), pu(94), am(95),
  314. cm(96), bk(97), cf(98), es(99), 
  315. fm(100), md(101), no(102), lr(103),
  316. other(254), unknown(255) },
  317. ionizable-proton ENUMERATED {
  318. true(1),
  319. false(2),
  320. unknown(255) } OPTIONAL }
  321. Atom-id ::= INTEGER
  322. -- Intra-residue-bond specifies connectivity between atoms in Residue-graph.
  323. -- Unlike Inter-residue-bond defined later, its participating atoms are part of
  324. -- a residue subgraph dictionary, not part of a specific biostruc-graph.
  325. -- For residue graphs in the standard MMDB dictionary bonds are defined from
  326. -- the known chemical structures of amino acids and nucleotides.  For 
  327. -- nonstandard residue graphs bonds are defined from PDB CONECT records, with
  328. -- validation for consistency with coordinate data, and from stereochemical
  329. -- calculation to identify unreported bonds.  Validation and bond identification
  330. -- are based on comparison of inter-atomic distances to the sum of covalent
  331. -- radii for the corresponding elements. 
  332. Intra-residue-bond ::= SEQUENCE {
  333. atom-id-1 Atom-id,
  334. atom-id-2 Atom-id,
  335. bond-order INTEGER {
  336. single(1), 
  337. partial-double(2),
  338. aromatic(3), 
  339. double(4),
  340. triple(5),
  341. other(6),
  342. unknown(255)} OPTIONAL }
  343. -- Chiral centers are atoms with tetrahedral geometry.  Chirality is defined
  344. -- by a chiral volume involving the chiral center and 3 other atoms bonded to 
  345. -- it.  For any coordinates assigned to atoms c, n1, n2, and n3, the vector 
  346. -- triple product (n1-c) dot ( (n2-c) cross (n3-c) ) must have the indicated
  347. -- sign.  The calculation assumes an orthogonal right-handed coordinate system
  348. -- as is used for MMDB model structures.  
  349. -- Chirality is defined for standard residues in the MMDB dictionary, but is 
  350. -- not assigned automatically for PDB-derived nonstandard residues. If assigned
  351. -- for nonstandard residues, the source of chirality information is described 
  352. -- by a citation within the residue description.
  353. Chiral-center ::= SEQUENCE {
  354. c Atom-id,
  355. n1 Atom-id,
  356. n2 Atom-id,
  357. n3 Atom-id,
  358. sign ENUMERATED { positive(1),
  359.      negative(2) } }
  360. -- Inter-residue bonds are defined by a reference to two atoms. For PDB-derived 
  361. -- structures bonds are identified from biopolymer connectivity according to
  362. -- SEQRES and from other connectivity information on SSBOND and CONECT 
  363. -- records. These data are validated and unreported bonds identified by
  364. -- stereochemical calculation, using the same criteria as for intra-residue 
  365. -- bonds.
  366. Inter-residue-bond ::= SEQUENCE {
  367. atom-id-1 Atom-pntr,
  368. atom-id-2 Atom-pntr,
  369. bond-order INTEGER {
  370. single(1), 
  371. partial-double(2),
  372. aromatic(3), 
  373. double(4),
  374. triple(5),
  375. other(6),
  376. unknown(255)} OPTIONAL }
  377. -- Atoms, residues and molecules within the current biostruc are referenced 
  378. -- by hierarchical pointers.
  379. Atom-pntr ::= SEQUENCE {
  380. molecule-id Molecule-id,
  381. residue-id Residue-id,
  382. atom-id Atom-id }
  383. Atom-pntr-set ::= SEQUENCE OF Atom-pntr
  384. END