bird.ts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. /**
  2. * Copyright (c) 2017-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. *
  4. * Code-generated 'BIRD' schema file. Dictionary versions: mmCIF 5.360, IHM 1.17, MA 1.4.2.
  5. *
  6. * @author molstar/ciftools package
  7. */
  8. import { Database, Column } from '../../../../mol-data/db';
  9. import Schema = Column.Schema;
  10. const str = Schema.str;
  11. const float = Schema.float;
  12. const lstr = Schema.lstr;
  13. const Aliased = Schema.Aliased;
  14. const int = Schema.int;
  15. export const BIRD_Schema = {
  16. /**
  17. * Data items in the PDBX_REFERENCE_MOLECULE category record
  18. * reference information about small polymer molecules.
  19. */
  20. pdbx_reference_molecule: {
  21. /**
  22. * The value of _pdbx_reference_molecule.prd_id is the unique identifier
  23. * for the reference molecule in this family.
  24. *
  25. * By convention this ID uniquely identifies the reference molecule in
  26. * in the PDB reference dictionary.
  27. *
  28. * The ID has the template form PRD_dddddd (e.g. PRD_000001)
  29. */
  30. prd_id: str,
  31. /**
  32. * Formula mass in daltons of the entity.
  33. */
  34. formula_weight: float,
  35. /**
  36. * The formula for the reference entity. Formulae are written
  37. * according to the rules:
  38. *
  39. * 1. Only recognised element symbols may be used.
  40. *
  41. * 2. Each element symbol is followed by a 'count' number. A count
  42. * of '1' may be omitted.
  43. *
  44. * 3. A space or parenthesis must separate each element symbol and
  45. * its count, but in general parentheses are not used.
  46. *
  47. * 4. The order of elements depends on whether or not carbon is
  48. * present. If carbon is present, the order should be: C, then
  49. * H, then the other elements in alphabetical order of their
  50. * symbol. If carbon is not present, the elements are listed
  51. * purely in alphabetic order of their symbol. This is the
  52. * 'Hill' system used by Chemical Abstracts.
  53. */
  54. formula: str,
  55. /**
  56. * Defines the structural classification of the entity.
  57. */
  58. type: Aliased<'amino acid' | 'aminoglycoside' | 'anthracycline' | 'anthraquinone' | 'ansamycin' | 'chalkophore' | 'chromophore' | 'glycopeptide' | 'cyclic depsipeptide' | 'cyclic lipopeptide' | 'cyclic peptide' | 'heterocyclic' | 'imino sugar' | 'keto acid' | 'lipoglycopeptide' | 'lipopeptide' | 'macrolide' | 'non-polymer' | 'nucleoside' | 'oligopeptide' | 'oligosaccharide' | 'peptaibol' | 'peptide-like' | 'polycyclic' | 'polypeptide' | 'polysaccharide' | 'quinolone' | 'thiolactone' | 'thiopeptide' | 'siderophore' | 'unknown' | 'chalkophore, polypeptide'>(lstr),
  59. /**
  60. * Evidence for the assignment of _pdbx_reference_molecule.type
  61. */
  62. type_evidence_code: str,
  63. /**
  64. * Broadly defines the function of the entity.
  65. */
  66. class: Aliased<'antagonist' | 'antibiotic' | 'anticancer' | 'anticoagulant' | 'antifungal' | 'antigen' | 'antiinflammatory' | 'antimicrobial' | 'antineoplastic' | 'antiparasitic' | 'antiretroviral' | 'anthelmintic' | 'antithrombotic' | 'antitumor' | 'antiviral' | 'caspase inhibitor' | 'chaperone binding' | 'enzyme inhibitor' | 'drug delivery' | 'glycan component' | 'growth factor' | 'immunosuppressant' | 'inducer' | 'inhibitor' | 'lantibiotic' | 'metabolism' | 'metal transport' | 'nutrient' | 'oxidation-reduction' | 'protein binding' | 'receptor' | 'substrate analog' | 'synthetic opioid' | 'thrombin inhibitor' | 'transition state mimetic' | 'transport activator' | 'trypsin inhibitor' | 'toxin' | 'unknown' | 'water retention' | 'anticoagulant, antithrombotic' | 'antibiotic, antimicrobial' | 'antibiotic, anthelmintic' | 'antibiotic, antineoplastic' | 'antimicrobial, antiretroviral' | 'antimicrobial, antitumor' | 'antimicrobial, antiparasitic, antibiotic' | 'thrombin inhibitor, trypsin inhibitor'>(lstr),
  67. /**
  68. * Evidence for the assignment of _pdbx_reference_molecule.class
  69. */
  70. class_evidence_code: str,
  71. /**
  72. * A name of the entity.
  73. */
  74. name: str,
  75. /**
  76. * Defines how this entity is represented in PDB data files.
  77. */
  78. represent_as: Aliased<'polymer' | 'single molecule' | 'branched'>(lstr),
  79. /**
  80. * For entities represented as single molecules, the identifier
  81. * corresponding to the chemical definition for the molecule.
  82. */
  83. chem_comp_id: str,
  84. /**
  85. * Special details about this molecule.
  86. */
  87. compound_details: str,
  88. /**
  89. * Description of this molecule.
  90. */
  91. description: str,
  92. /**
  93. * The PDB accession code for the entry containing a representative example of this molecule.
  94. */
  95. representative_PDB_id_code: str,
  96. /**
  97. * Defines the current PDB release status for this molecule definition.
  98. */
  99. release_status: Aliased<'rel' | 'hold' | 'obs' | 'wait'>(lstr),
  100. /**
  101. * Assigns the identifier for the reference molecule which have been replaced
  102. * by this reference molecule.
  103. * Multiple molecule identifier codes should be separated by commas.
  104. */
  105. replaces: str,
  106. /**
  107. * Assigns the identifier of the reference molecule that has replaced this molecule.
  108. */
  109. replaced_by: str,
  110. },
  111. /**
  112. * Data items in the PDBX_REFERENCE_ENTITY_LIST category record
  113. * the list of entities within each reference molecule.
  114. */
  115. pdbx_reference_entity_list: {
  116. /**
  117. * The value of _pdbx_reference_entity_list.prd_id is a reference
  118. * _pdbx_reference_molecule.prd_id in the PDBX_REFERENCE_MOLECULE category.
  119. */
  120. prd_id: str,
  121. /**
  122. * The value of _pdbx_reference_entity_list.ref_entity_id is a unique identifier
  123. * the a constituent entity within this reference molecule.
  124. */
  125. ref_entity_id: str,
  126. /**
  127. * Defines the polymer characteristic of the entity.
  128. */
  129. type: Aliased<'polymer' | 'polymer-like' | 'non-polymer' | 'branched'>(lstr),
  130. /**
  131. * Additional details about this entity.
  132. */
  133. details: str,
  134. /**
  135. * The component number of this entity within the molecule.
  136. */
  137. component_id: int,
  138. },
  139. /**
  140. * Data items in the PDBX_REFERENCE_ENTITY_NONPOLY category record
  141. * the list of entities within each reference molecule.
  142. */
  143. pdbx_reference_entity_nonpoly: {
  144. /**
  145. * The value of _pdbx_reference_entity_nonpoly.prd_id is a reference
  146. * _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category.
  147. */
  148. prd_id: str,
  149. /**
  150. * The value of _pdbx_reference_entity_nonpoly.ref_entity_id is a reference
  151. * to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category.
  152. */
  153. ref_entity_id: str,
  154. /**
  155. * A name of the non-polymer entity.
  156. */
  157. name: str,
  158. /**
  159. * For non-polymer entities, the identifier corresponding
  160. * to the chemical definition for the molecule.
  161. */
  162. chem_comp_id: str,
  163. },
  164. /**
  165. * Data items in the PDBX_REFERENCE_ENTITY_LINK category give details about
  166. * the linkages between entities within reference molecules.
  167. */
  168. pdbx_reference_entity_link: {
  169. /**
  170. * The value of _pdbx_reference_entity_link.link_id uniquely identifies
  171. * linkages between entities with a molecule.
  172. */
  173. link_id: int,
  174. /**
  175. * The value of _pdbx_reference_entity_link.prd_id is a reference
  176. * _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category.
  177. */
  178. prd_id: str,
  179. /**
  180. * A description of special aspects of a linkage between
  181. * chemical components in the structure.
  182. */
  183. details: str,
  184. /**
  185. * The reference entity id of the first of the two entities joined by the
  186. * linkage.
  187. *
  188. * This data item is a pointer to _pdbx_reference_entity_list.ref_entity_id
  189. * in the PDBX_REFERENCE_ENTITY_LIST category.
  190. */
  191. ref_entity_id_1: str,
  192. /**
  193. * The reference entity id of the second of the two entities joined by the
  194. * linkage.
  195. *
  196. * This data item is a pointer to _pdbx_reference_entity_list.ref_entity_id
  197. * in the PDBX_REFERENCE_ENTITY_LIST category.
  198. */
  199. ref_entity_id_2: str,
  200. /**
  201. * For a polymer entity, the sequence number in the first of
  202. * the two entities containing the linkage.
  203. *
  204. * This data item is a pointer to _pdbx_reference_entity_poly_seq.num
  205. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  206. */
  207. entity_seq_num_1: int,
  208. /**
  209. * For a polymer entity, the sequence number in the second of
  210. * the two entities containing the linkage.
  211. *
  212. * This data item is a pointer to _pdbx_reference_entity_poly_seq.num
  213. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  214. */
  215. entity_seq_num_2: int,
  216. /**
  217. * The component identifier in the first of the two entities containing the linkage.
  218. *
  219. * For polymer entities, this data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id
  220. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  221. *
  222. * For non-polymer entities, this data item is a pointer to
  223. * _pdbx_reference_entity_nonpoly.chem_comp_id in the
  224. * PDBX_REFERENCE_ENTITY_NONPOLY category.
  225. */
  226. comp_id_1: str,
  227. /**
  228. * The component identifier in the second of the two entities containing the linkage.
  229. *
  230. * For polymer entities, this data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id
  231. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  232. *
  233. * For non-polymer entities, this data item is a pointer to
  234. * _pdbx_reference_entity_nonpoly.chem_comp_id in the
  235. * PDBX_REFERENCE_ENTITY_NONPOLY category.
  236. */
  237. comp_id_2: str,
  238. /**
  239. * The atom identifier/name in the first of the two entities containing the linkage.
  240. */
  241. atom_id_1: str,
  242. /**
  243. * The atom identifier/name in the second of the two entities containing the linkage.
  244. */
  245. atom_id_2: str,
  246. /**
  247. * The bond order target for the chemical linkage.
  248. */
  249. value_order: Aliased<'sing' | 'doub' | 'trip' | 'quad' | 'arom' | 'poly' | 'delo' | 'pi'>(lstr),
  250. /**
  251. * The entity component identifier for the first of two entities containing the linkage.
  252. */
  253. component_1: int,
  254. /**
  255. * The entity component identifier for the second of two entities containing the linkage.
  256. */
  257. component_2: int,
  258. /**
  259. * A code indicating the entity types involved in the linkage.
  260. */
  261. link_class: Aliased<'PP' | 'PN' | 'NP' | 'NN'>(str),
  262. },
  263. /**
  264. * Data items in the PDBX_REFERENCE_ENTITY_POLY_LINK category give details about
  265. * polymer linkages including both standard and non-standard linkages between
  266. * polymer componnents.
  267. */
  268. pdbx_reference_entity_poly_link: {
  269. /**
  270. * The value of _pdbx_reference_entity_poly_link.link_id uniquely identifies
  271. * a linkage within a polymer entity.
  272. */
  273. link_id: int,
  274. /**
  275. * The value of _pdbx_reference_entity_poly_link.prd_id is a reference
  276. * _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_POLY category.
  277. */
  278. prd_id: str,
  279. /**
  280. * The reference entity id of the polymer entity containing the linkage.
  281. *
  282. * This data item is a pointer to _pdbx_reference_entity_poly.ref_entity_id
  283. * in the PDBX_REFERENCE_ENTITY_POLY category.
  284. */
  285. ref_entity_id: str,
  286. /**
  287. * The entity component identifier entity containing the linkage.
  288. */
  289. component_id: int,
  290. /**
  291. * For a polymer entity, the sequence number in the first of
  292. * the two components making the linkage.
  293. *
  294. * This data item is a pointer to _pdbx_reference_entity_poly_seq.num
  295. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  296. */
  297. entity_seq_num_1: int,
  298. /**
  299. * For a polymer entity, the sequence number in the second of
  300. * the two components making the linkage.
  301. *
  302. * This data item is a pointer to _pdbx_reference_entity_poly_seq.num
  303. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  304. */
  305. entity_seq_num_2: int,
  306. /**
  307. * The component identifier in the first of the two components making the
  308. * linkage.
  309. *
  310. * This data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id
  311. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  312. */
  313. comp_id_1: str,
  314. /**
  315. * The component identifier in the second of the two components making the
  316. * linkage.
  317. *
  318. * This data item is a pointer to _pdbx_reference_entity_poly_seq.mon_id
  319. * in the PDBX_REFERENCE_ENTITY_POLY_SEQ category.
  320. */
  321. comp_id_2: str,
  322. /**
  323. * The atom identifier/name in the first of the two components making
  324. * the linkage.
  325. */
  326. atom_id_1: str,
  327. /**
  328. * The atom identifier/name in the second of the two components making
  329. * the linkage.
  330. */
  331. atom_id_2: str,
  332. /**
  333. * The bond order target for the non-standard linkage.
  334. */
  335. value_order: Aliased<'sing' | 'doub' | 'trip' | 'quad' | 'arom' | 'poly' | 'delo' | 'pi'>(lstr),
  336. },
  337. /**
  338. * Data items in the PDBX_REFERENCE_ENTITY_POLY category record details about
  339. * the polymer, such as the type of the polymer, the number of
  340. * monomers and whether it has nonstandard features.
  341. */
  342. pdbx_reference_entity_poly: {
  343. /**
  344. * The value of _pdbx_reference_entity_poly.prd_id is a reference
  345. * _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category.
  346. */
  347. prd_id: str,
  348. /**
  349. * The value of _pdbx_reference_entity_poly.ref_entity_id is a reference
  350. * to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category.
  351. */
  352. ref_entity_id: str,
  353. /**
  354. * The type of the polymer.
  355. */
  356. type: Aliased<'peptide-like' | 'nucleic-acid-like' | 'polysaccharide-like' | 'oligosaccharide'>(str),
  357. /**
  358. * The database code for this source information
  359. */
  360. db_code: str,
  361. /**
  362. * The database name for this source information
  363. */
  364. db_name: str,
  365. },
  366. /**
  367. * Data items in the PDBX_REFERENCE_ENTITY_POLY_SEQ category specify the sequence
  368. * of monomers in a polymer.
  369. */
  370. pdbx_reference_entity_poly_seq: {
  371. /**
  372. * The value of _pdbx_reference_entity_poly_seq.prd_id is a reference
  373. * _pdbx_reference_entity_poly.prd_id in the PDBX_REFERENCE_ENTITY_POLY category.
  374. */
  375. prd_id: str,
  376. /**
  377. * The value of _pdbx_reference_entity_poly_seq.ref_entity_id is a reference
  378. * to _pdbx_reference_entity_poly.ref_entity_id in PDBX_REFERENCE_ENTITY_POLY category.
  379. */
  380. ref_entity_id: str,
  381. /**
  382. * This data item is the chemical component identifier of monomer.
  383. */
  384. mon_id: str,
  385. /**
  386. * This data item is the chemical component identifier for the parent component corresponding to this monomer.
  387. */
  388. parent_mon_id: str,
  389. /**
  390. * The value of _pdbx_reference_entity_poly_seq.num must uniquely and sequentially
  391. * identify a record in the PDBX_REFERENCE_ENTITY_POLY_SEQ list.
  392. *
  393. * This value is conforms to author numbering conventions and does not map directly
  394. * to the numbering conventions used for _entity_poly_seq.num.
  395. */
  396. num: int,
  397. /**
  398. * A flag to indicate that this monomer is observed in the instance example.
  399. */
  400. observed: Aliased<'y' | 'n'>(lstr),
  401. /**
  402. * A flag to indicate that sequence heterogeneity at this monomer position.
  403. */
  404. hetero: Aliased<'y' | 'n'>(lstr),
  405. },
  406. /**
  407. * Additional features associated with the reference entity.
  408. */
  409. pdbx_reference_entity_sequence: {
  410. /**
  411. * The value of _pdbx_reference_entity_sequence.prd_id is a reference
  412. * _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category.
  413. */
  414. prd_id: str,
  415. /**
  416. * The value of _pdbx_reference_entity_sequence.ref_entity_id is a reference
  417. * to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category.
  418. */
  419. ref_entity_id: str,
  420. /**
  421. * The monomer type for the sequence.
  422. */
  423. type: Aliased<'peptide-like' | 'saccharide'>(str),
  424. /**
  425. * A flag to indicate a non-ribosomal entity.
  426. */
  427. NRP_flag: Aliased<'Y' | 'N'>(str),
  428. /**
  429. * The one-letter-code sequence for this entity. Non-standard monomers are represented as 'X'.
  430. */
  431. one_letter_codes: str,
  432. },
  433. /**
  434. * Data items in the PDBX_REFERENCE_ENTITY_SRC_NAT category record
  435. * details of the source from which the entity was obtained.
  436. */
  437. pdbx_reference_entity_src_nat: {
  438. /**
  439. * The value of _pdbx_reference_entity_src_nat.prd_id is a reference
  440. * _pdbx_reference_entity_list.prd_id in the PDBX_REFERENCE_ENTITY_LIST category.
  441. */
  442. prd_id: str,
  443. /**
  444. * The value of _pdbx_reference_entity_src_nat.ref_entity_id is a reference
  445. * to _pdbx_reference_entity_list.ref_entity_id in PDBX_REFERENCE_ENTITY_LIST category.
  446. */
  447. ref_entity_id: str,
  448. /**
  449. * The value of _pdbx_reference_entity_src_nat.ordinal distinguishes
  450. * source details for this entity.
  451. */
  452. ordinal: int,
  453. /**
  454. * The scientific name of the organism from which the entity was isolated.
  455. */
  456. organism_scientific: str,
  457. /**
  458. * The NCBI TaxId of the organism from which the entity was isolated.
  459. */
  460. taxid: str,
  461. /**
  462. * The database code for this source information
  463. */
  464. db_code: str,
  465. /**
  466. * The database name for this source information
  467. */
  468. db_name: str,
  469. },
  470. /**
  471. * Data items in the PDBX_PRD_AUDIT category records
  472. * the status and tracking information for this molecule.
  473. */
  474. pdbx_prd_audit: {
  475. /**
  476. * This data item is a pointer to _pdbx_reference_molecule.prd_id in the
  477. * pdbx_reference_molecule category.
  478. */
  479. prd_id: str,
  480. /**
  481. * The date associated with this audit record.
  482. */
  483. date: str,
  484. /**
  485. * An identifier for the wwPDB site creating or modifying the molecule.
  486. */
  487. processing_site: Aliased<'RCSB' | 'PDBE' | 'PDBJ' | 'BMRB' | 'PDBC'>(str),
  488. /**
  489. * The action associated with this audit record.
  490. */
  491. action_type: Aliased<'Initial release' | 'Create molecule' | 'Modify type' | 'Modify class' | 'Modify molecule name' | 'Modify representation' | 'Modify sequence' | 'Modify linkage' | 'Modify taxonomy organism' | 'Modify audit' | 'Other modification' | 'Obsolete molecule'>(str),
  492. },
  493. };
  494. export type BIRD_Schema = typeof BIRD_Schema;
  495. export interface BIRD_Database extends Database<BIRD_Schema> {};