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

生物技术

开发平台:

C/C++

  1. --$Revision: 1000.1 $
  2. --**********************************************************************
  3. --
  4. --  NCBI General Data elements
  5. --  by James Ostell, 1990
  6. --  Version 3.0 - June 1994
  7. --
  8. --**********************************************************************
  9. NCBI-General DEFINITIONS ::=
  10. BEGIN
  11. EXPORTS Date, Person-id, Object-id, Dbtag, Int-fuzz, User-object;
  12. -- StringStore is really a VisibleString.  It is used to define very
  13. --   long strings which may need to be stored by the receiving program
  14. --   in special structures, such as a ByteStore, but it's just a hint.
  15. --   AsnTool stores StringStores in ByteStore structures.
  16. -- OCTET STRINGs are also stored in ByteStores by AsnTool
  17. -- 
  18. -- typedef struct bsunit {             /* for building multiline strings */
  19.    -- Nlm_Handle str;            /* the string piece */
  20.    -- Nlm_Int2 len_avail,
  21.        -- len;
  22.    -- struct bsunit PNTR next; }       /* the next one */
  23. -- Nlm_BSUnit, PNTR Nlm_BSUnitPtr;
  24. -- 
  25. -- typedef struct bytestore {
  26.    -- Nlm_Int4 seekptr,       /* current position */
  27.       -- totlen,             /* total stored data length in bytes */
  28.       -- chain_offset;       /* offset in ByteStore of first byte in curchain */
  29.    -- Nlm_BSUnitPtr chain,       /* chain of elements */
  30.       -- curchain;           /* the BSUnit containing seekptr */
  31. -- } Nlm_ByteStore, PNTR Nlm_ByteStorePtr;
  32. --
  33. -- AsnTool incorporates this as a primitive type, so the definition
  34. --   is here just for completness
  35. -- 
  36. --  StringStore ::= [APPLICATION 1] IMPLICIT OCTET STRING
  37. --
  38. -- BigInt is really an INTEGER. It is used to warn the recieving code to expect
  39. --   a value bigger than Int4 (actually Int8). It will be stored in DataVal.bigintvalue
  40. --
  41. --   Like StringStore, AsnTool incorporates it as a primitive. The definition would be:
  42. --   BigInt ::= [APPLICATION 2] IMPLICIT INTEGER
  43. --
  44. -- Date is used to replace the (overly complex) UTCTtime, GeneralizedTime
  45. --  of ASN.1
  46. --  It stores only a date
  47. --
  48. Date ::= CHOICE {
  49.     str VisibleString ,        -- for those unparsed dates
  50.     std Date-std }             -- use this if you can
  51. Date-std ::= SEQUENCE {        -- NOTE: this is NOT a unix tm struct
  52.     year INTEGER ,             -- full year (including 1900)
  53.     month INTEGER OPTIONAL ,   -- month (1-12)
  54.     day INTEGER OPTIONAL ,     -- day of month (1-31)
  55.     season VisibleString OPTIONAL ,  -- for "spring", "may-june", etc
  56.     hour INTEGER OPTIONAL ,    -- hour of day (0-23)
  57.     minute INTEGER OPTIONAL ,  -- minute of hour (0-59)
  58.     second INTEGER OPTIONAL }  -- second of minute (0-59)
  59. -- Dbtag is generalized for tagging
  60. -- eg. { "Social Security", str "023-79-8841" }
  61. -- or  { "member", id 8882224 }
  62. Dbtag ::= SEQUENCE {
  63.     db VisibleString ,          -- name of database or system
  64.     tag Object-id }         -- appropriate tag
  65. -- Object-id can tag or name anything
  66. --
  67. Object-id ::= CHOICE {
  68.     id INTEGER ,
  69.     str VisibleString }
  70. -- Person-id is to define a std element for people
  71. --
  72. Person-id ::= CHOICE {
  73.     dbtag Dbtag ,               -- any defined database tag
  74.     name Name-std ,             -- structured name
  75.     ml VisibleString ,          -- MEDLINE name (semi-structured)
  76.                                 --    eg. "Jones RM"
  77.     str VisibleString }         -- unstructured name
  78. Name-std ::= SEQUENCE { -- Structured names
  79.     last VisibleString ,
  80.     first VisibleString OPTIONAL ,
  81.     middle VisibleString OPTIONAL ,
  82.     full VisibleString OPTIONAL ,    -- full name eg. "J. John Poop, Esq"
  83.     initials VisibleString OPTIONAL,  -- first + middle initials
  84.     suffix VisibleString OPTIONAL ,   -- Jr, Sr, III
  85.     title VisibleString OPTIONAL }    -- Dr., Sister, etc
  86. --**** Int-fuzz **********************************************
  87. --*
  88. --*   uncertainties in integer values
  89. Int-fuzz ::= CHOICE {
  90.     p-m INTEGER ,                    -- plus or minus fixed amount
  91.     range SEQUENCE {                 -- max to min
  92.         max INTEGER ,
  93.         min INTEGER } ,
  94.     pct INTEGER ,                    -- % plus or minus (x10) 0-1000
  95.     lim ENUMERATED {                 -- some limit value
  96.         unk (0) ,                    -- unknown
  97.         gt (1) ,                     -- greater than
  98.         lt (2) ,                     -- less than
  99.         tr (3) ,                     -- space to right of position
  100.         tl (4) ,                     -- space to left of position
  101.         circle (5) ,                 -- artificial break at origin of circle
  102.         other (255) } ,              -- something else
  103.     alt SET OF INTEGER }             -- set of alternatives for the integer
  104. --**** User-object **********************************************
  105. --*
  106. --*   a general object for a user defined structured data item
  107. --*    used by Seq-feat and Seq-descr
  108. User-object ::= SEQUENCE {
  109.     class VisibleString OPTIONAL ,   -- endeavor which designed this object
  110.     type Object-id ,                 -- type of object within class
  111.     data SEQUENCE OF User-field }    -- the object itself
  112. User-field ::= SEQUENCE {
  113.     label Object-id ,                -- field label
  114.     num INTEGER OPTIONAL ,           -- required for strs, ints, reals, oss
  115.     data CHOICE {                    -- field contents
  116.         str VisibleString ,
  117.         int INTEGER ,
  118.         real REAL ,
  119.         bool BOOLEAN ,
  120.         os OCTET STRING ,
  121.         object User-object ,         -- for using other definitions
  122.         strs SEQUENCE OF VisibleString ,
  123.         ints SEQUENCE OF INTEGER ,
  124.         reals SEQUENCE OF REAL ,
  125.         oss SEQUENCE OF OCTET STRING ,
  126.         fields SEQUENCE OF User-field ,
  127.         objects SEQUENCE OF User-object } }
  128. END
  129. --$Revision: 1000.1 $
  130. --****************************************************************
  131. --
  132. --  NCBI Bibliographic data elements
  133. --  by James Ostell, 1990
  134. --
  135. --  Taken from the American National Standard for
  136. --      Bibliographic References
  137. --      ANSI Z39.29-1977
  138. --  Version 3.0 - June 1994
  139. --  PubMedId added in 1996
  140. --  ArticleIds and eprint elements added in 1999
  141. --
  142. --****************************************************************
  143. NCBI-Biblio DEFINITIONS ::=
  144. BEGIN
  145. EXPORTS Cit-art, Cit-jour, Cit-book, Cit-pat, Cit-let, Id-pat, Cit-gen,
  146.         Cit-proc, Cit-sub, Title, Author, PubMedId;
  147. IMPORTS Person-id, Date, Dbtag FROM NCBI-General;
  148.     -- Article Ids
  149. ArticleId ::= CHOICE {         -- can be many ids for an article
  150. pubmed PubMedId ,      -- see types below
  151. medline MedlineUID ,
  152. doi DOI ,
  153. pii PII ,
  154. pmcid PmcID ,
  155. pmcpid PmcPid ,
  156.         pmpid PmPid ,
  157.         other Dbtag  }    -- generic catch all
  158.     
  159. PubMedId ::= INTEGER           -- Id from the PubMed database at NCBI
  160. MedlineUID ::= INTEGER         -- Id from MEDLINE
  161. DOI ::= VisibleString          -- Document Object Identifier
  162. PII ::= VisibleString          -- Controlled Publisher Identifier
  163. PmcID ::= INTEGER              -- PubMed Central Id
  164. PmcPid ::= VisibleString       -- Publisher Id supplied to PubMed Central
  165. PmPid ::= VisibleString        -- Publisher Id supplied to PubMed
  166. ArticleIdSet ::= SET OF ArticleId
  167.     -- Status Dates
  168. PubStatus ::= INTEGER {            -- points of publication
  169.     received  (1) ,            -- date manuscript received for review
  170.     accepted  (2) ,            -- accepted for publication
  171.     epublish  (3) ,            -- published electronically by publisher
  172.     ppublish  (4) ,            -- published in print by publisher
  173.     revised   (5) ,            -- article revised by publisher/author
  174.     pmc       (6) ,            -- article first appeared in PubMed Central
  175.     pmcr      (7) ,            -- article revision in PubMed Central
  176.     pubmed    (8) ,            -- article citation first appeared in PubMed
  177.     pubmedr   (9) ,            -- article citation revision in PubMed
  178.     aheadofprint (10),         -- epublish, but will be followed by print
  179.     premedline (11),           -- date into PreMedline status
  180.     medline    (12),           -- date made a MEDLINE record
  181.     other    (255) }
  182. PubStatusDate ::= SEQUENCE {   -- done as a structure so fields can be added
  183.     pubstatus PubStatus ,
  184.     date Date }                -- time may be added later
  185. PubStatusDateSet ::= SET OF PubStatusDate
  186.     
  187.     -- Citation Types
  188. Cit-art ::= SEQUENCE {                  -- article in journal or book
  189.     title Title OPTIONAL ,              -- title of paper (ANSI requires)
  190.     authors Auth-list OPTIONAL ,        -- authors (ANSI requires)
  191.     from CHOICE {                       -- journal or book
  192.         journal Cit-jour ,
  193.         book Cit-book ,
  194.         proc Cit-proc } ,
  195.     ids ArticleIdSet OPTIONAL }         -- lots of ids
  196. Cit-jour ::= SEQUENCE {             -- Journal citation
  197.     title Title ,                   -- title of journal
  198.     imp Imprint }
  199. Cit-book ::= SEQUENCE {              -- Book citation
  200.     title Title ,                    -- Title of book
  201.     coll Title OPTIONAL ,            -- part of a collection
  202.     authors Auth-list,               -- authors
  203.     imp Imprint }
  204. Cit-proc ::= SEQUENCE {             -- Meeting proceedings
  205.     book Cit-book ,                 -- citation to meeting
  206.     meet Meeting }                  -- time and location of meeting
  207.     -- Patent number and date-issue were made optional in 1997 to
  208.     --   support patent applications being issued from the USPTO
  209.     --   Semantically a Cit-pat must have either a patent number or
  210.     --   an application number (or both) to be valid
  211. Cit-pat ::= SEQUENCE {                  -- patent citation
  212.     title VisibleString ,
  213.     authors Auth-list,                  -- author/inventor
  214.     country VisibleString ,             -- Patent Document Country
  215.     doc-type VisibleString ,            -- Patent Document Type
  216.     number VisibleString OPTIONAL,      -- Patent Document Number
  217.     date-issue Date OPTIONAL,           -- Patent Issue/Pub Date
  218.     class SEQUENCE OF VisibleString OPTIONAL ,      -- Patent Doc Class Code 
  219.     app-number VisibleString OPTIONAL , -- Patent Doc Appl Number
  220.     app-date Date OPTIONAL ,            -- Patent Appl File Date
  221.     applicants Auth-list OPTIONAL ,     -- Applicants
  222.     assignees Auth-list OPTIONAL ,      -- Assignees
  223.     priority SEQUENCE OF Patent-priority OPTIONAL , -- Priorities
  224.     abstract VisibleString OPTIONAL }   -- abstract of patent
  225. Patent-priority ::= SEQUENCE {
  226.     country VisibleString ,             -- Patent country code
  227.     number VisibleString ,              -- number assigned in that country
  228.     date Date }                         -- date of application
  229. Id-pat ::= SEQUENCE {                   -- just to identify a patent
  230.     country VisibleString ,             -- Patent Document Country
  231.     id CHOICE {
  232.         number VisibleString ,          -- Patent Document Number
  233.         app-number VisibleString } ,    -- Patent Doc Appl Number
  234.     doc-type VisibleString OPTIONAL }   -- Patent Doc Type
  235. Cit-let ::= SEQUENCE {                  -- letter, thesis, or manuscript
  236.     cit Cit-book ,                      -- same fields as a book
  237.     man-id VisibleString OPTIONAL ,     -- Manuscript identifier
  238.     type ENUMERATED {
  239.         manuscript (1) ,
  240.         letter (2) ,
  241.         thesis (3) } OPTIONAL }
  242.                                 -- NOTE: this is just to cite a
  243.                                 -- direct data submission, see NCBI-Submit
  244.                                 -- for the form of a sequence submission
  245. Cit-sub ::= SEQUENCE {               -- citation for a direct submission
  246.     authors Auth-list ,              -- not necessarily authors of the paper
  247.     imp Imprint OPTIONAL ,  -- this only used to get date.. will go
  248.     medium ENUMERATED {              -- medium of submission
  249.         paper   (1) ,
  250.         tape    (2) ,
  251.         floppy  (3) ,
  252.         email   (4) ,
  253.         other   (255) } OPTIONAL ,
  254.     date Date OPTIONAL ,              -- replaces imp, will become required
  255.     descr VisibleString OPTIONAL }    -- description of changes for public view
  256.     
  257. Cit-gen ::= SEQUENCE {      -- NOT from ANSI, this is a catchall
  258.     cit VisibleString OPTIONAL ,     -- anything, not parsable
  259.     authors Auth-list OPTIONAL ,
  260.     muid INTEGER OPTIONAL ,      -- medline uid
  261.     journal Title OPTIONAL ,
  262.     volume VisibleString OPTIONAL ,
  263.     issue VisibleString OPTIONAL ,
  264.     pages VisibleString OPTIONAL ,
  265.     date Date OPTIONAL ,
  266.     serial-number INTEGER OPTIONAL ,   -- for GenBank style references
  267.     title VisibleString OPTIONAL ,     -- eg. cit="unpublished",title="title"
  268. pmid PubMedId OPTIONAL }           -- PubMed Id
  269.     
  270.     
  271.     -- Authorship Group
  272. Auth-list ::= SEQUENCE {
  273.         names CHOICE {
  274.             std SEQUENCE OF Author ,        -- full citations
  275.             ml SEQUENCE OF VisibleString ,  -- MEDLINE, semi-structured
  276.             str SEQUENCE OF VisibleString } , -- free for all
  277.         affil Affil OPTIONAL }        -- author affiliation
  278. Author ::= SEQUENCE {
  279.     name Person-id ,                        -- Author, Primary or Secondary
  280.     level ENUMERATED {
  281.         primary (1),
  282.         secondary (2) } OPTIONAL ,
  283.     role ENUMERATED {                   -- Author Role Indicator
  284.         compiler (1),
  285.         editor (2),
  286.         patent-assignee (3),
  287.         translator (4) } OPTIONAL ,
  288.     affil Affil OPTIONAL ,
  289.     is-corr BOOLEAN OPTIONAL }          -- TRUE if corressponding author
  290. Affil ::= CHOICE {
  291.     str VisibleString ,                 -- unparsed string
  292.     std SEQUENCE {                      -- std representation
  293.     affil VisibleString OPTIONAL ,      -- Author Affiliation, Name
  294.     div VisibleString OPTIONAL ,        -- Author Affiliation, Division
  295.     city VisibleString OPTIONAL ,       -- Author Affiliation, City
  296.     sub VisibleString OPTIONAL ,        -- Author Affiliation, County Sub
  297.     country VisibleString OPTIONAL ,    -- Author Affiliation, Country
  298.     street VisibleString OPTIONAL ,    -- street address, not ANSI
  299.     email VisibleString OPTIONAL ,
  300.     fax VisibleString OPTIONAL ,
  301.     phone VisibleString OPTIONAL ,
  302.     postal-code VisibleString OPTIONAL }}
  303.     -- Title Group
  304.     -- Valid for = A = Analytic (Cit-art)
  305.     --             J = Journals (Cit-jour)
  306.     --             B = Book (Cit-book)
  307.                                                  -- Valid for:
  308. Title ::= SET OF CHOICE {
  309.     name VisibleString ,    -- Title, Anal,Coll,Mono    AJB
  310.     tsub VisibleString ,    -- Title, Subordinate       A B
  311.     trans VisibleString ,   -- Title, Translated        AJB
  312.     jta VisibleString ,     -- Title, Abbreviated        J
  313.     iso-jta VisibleString , -- specifically ISO jta      J
  314.     ml-jta VisibleString ,  -- specifically MEDLINE jta  J
  315.     coden VisibleString ,   -- a coden                   J
  316.     issn VisibleString ,    -- ISSN                      J
  317.     abr VisibleString ,     -- Title, Abbreviated         B
  318.     isbn VisibleString }    -- ISBN                       B
  319. Imprint ::= SEQUENCE {                  -- Imprint group
  320.     date Date ,                         -- date of publication
  321.     volume VisibleString OPTIONAL ,
  322.     issue VisibleString OPTIONAL ,
  323.     pages VisibleString OPTIONAL ,
  324.     section VisibleString OPTIONAL ,
  325.     pub Affil OPTIONAL,                     -- publisher, required for book
  326.     cprt Date OPTIONAL,                     -- copyright date, "    "   "
  327.     part-sup VisibleString OPTIONAL ,       -- part/sup of volume
  328.     language VisibleString DEFAULT "ENG" ,  -- put here for simplicity
  329.     prepub ENUMERATED {                     -- for prepublication citaions
  330.         submitted (1) ,                     -- submitted, not accepted
  331.         in-press (2) ,                      -- accepted, not published
  332.         other (255)  } OPTIONAL ,
  333.     part-supi VisibleString OPTIONAL ,      -- part/sup on issue
  334.     retract CitRetract OPTIONAL ,           -- retraction info
  335.     pubstatus PubStatus OPTIONAL ,          -- current status of this publication
  336.     history PubStatusDateSet OPTIONAL }     -- dates for this record
  337. CitRetract ::= SEQUENCE {
  338.     type ENUMERATED {                    -- retraction of an entry
  339.         retracted (1) ,               -- this citation retracted
  340.         notice (2) ,                  -- this citation is a retraction notice
  341.         in-error (3) ,                -- an erratum was published about this
  342.         erratum (4) } ,               -- this is a published erratum
  343.     exp VisibleString OPTIONAL }      -- citation and/or explanation
  344. Meeting ::= SEQUENCE {
  345.     number VisibleString ,
  346.     date Date ,
  347.     place Affil OPTIONAL }
  348.             
  349. END
  350. --$Revision: 1000.1 $
  351. --**********************************************************************
  352. --
  353. --  MEDLINE data definitions
  354. --  James Ostell, 1990
  355. --
  356. --  enhanced in 1996 to support PubMed records as well by simply adding
  357. --    the PubMedId and making MedlineId optional
  358. --
  359. --**********************************************************************
  360. NCBI-Medline DEFINITIONS ::=
  361. BEGIN
  362. EXPORTS Medline-entry, Medline-si;
  363. IMPORTS Cit-art, PubMedId FROM NCBI-Biblio
  364.         Date FROM NCBI-General;
  365.                                 -- a MEDLINE or PubMed entry
  366. Medline-entry ::= SEQUENCE {
  367.     uid INTEGER OPTIONAL ,      -- MEDLINE UID, sometimes not yet available if from PubMed
  368.     em Date ,                   -- Entry Month
  369.     cit Cit-art ,               -- article citation
  370.     abstract VisibleString OPTIONAL ,
  371.     mesh SET OF Medline-mesh OPTIONAL ,
  372.     substance SET OF Medline-rn OPTIONAL ,
  373.     xref SET OF Medline-si OPTIONAL ,
  374.     idnum SET OF VisibleString OPTIONAL ,  -- ID Number (grants, contracts)
  375.     gene SET OF VisibleString OPTIONAL ,
  376.     pmid PubMedId OPTIONAL ,               -- MEDLINE records may include the PubMedId
  377.     pub-type SET OF VisibleString OPTIONAL, -- may show publication types (review, etc)
  378.     mlfield SET OF Medline-field OPTIONAL ,  -- additional Medline field types
  379.     status INTEGER {
  380. publisher (1) ,      -- record as supplied by publisher
  381.         premedline (2) ,     -- premedline record
  382.         medline (3) } DEFAULT medline }  -- regular medline record
  383. Medline-mesh ::= SEQUENCE {
  384.     mp BOOLEAN DEFAULT FALSE ,       -- TRUE if main point (*)
  385.     term VisibleString ,                   -- the MeSH term
  386.     qual SET OF Medline-qual OPTIONAL }    -- qualifiers
  387. Medline-qual ::= SEQUENCE {
  388.     mp BOOLEAN DEFAULT FALSE ,       -- TRUE if main point
  389.     subh VisibleString }             -- the subheading
  390. Medline-rn ::= SEQUENCE {       -- medline substance records
  391.     type ENUMERATED {           -- type of record
  392.         nameonly (0) ,
  393.         cas (1) ,               -- CAS number
  394.         ec (2) } ,              -- EC number
  395.     cit VisibleString OPTIONAL ,  -- CAS or EC number if present
  396.     name VisibleString }          -- name (always present)
  397. Medline-si ::= SEQUENCE {       -- medline cross reference records
  398.     type ENUMERATED {           -- type of xref
  399.         ddbj (1) ,              -- DNA Data Bank of Japan
  400.         carbbank (2) ,          -- Carbohydrate Structure Database
  401.         embl (3) ,              -- EMBL Data Library
  402.         hdb (4) ,               -- Hybridoma Data Bank
  403.         genbank (5) ,           -- GenBank
  404.         hgml (6) ,              -- Human Gene Map Library
  405.         mim (7) ,               -- Mendelian Inheritance in Man
  406.         msd (8) ,               -- Microbial Strains Database
  407.         pdb (9) ,               -- Protein Data Bank (Brookhaven)
  408.         pir (10) ,              -- Protein Identification Resource
  409.         prfseqdb (11) ,         -- Protein Research Foundation (Japan)
  410.         psd (12) ,              -- Protein Sequence Database (Japan)
  411.         swissprot (13) ,        -- SwissProt
  412.         gdb (14) } ,            -- Genome Data Base
  413.     cit VisibleString OPTIONAL }    -- the citation/accession number
  414. Medline-field ::= SEQUENCE {
  415.     type INTEGER {              -- Keyed type
  416. other (0) ,             -- look in line code
  417. comment (1) ,           -- comment line
  418.         erratum (2) } ,         -- retracted, corrected, etc
  419.     str VisibleString ,         -- the text
  420.     ids SEQUENCE OF DocRef OPTIONAL }  -- pointers relevant to this text
  421. DocRef ::= SEQUENCE {           -- reference to a document
  422.     type INTEGER {
  423.         medline (1) ,
  424.         pubmed (2) ,
  425.         ncbigi (3) } ,
  426.     uid INTEGER }
  427. END
  428. --$Revision: 1000.1 $
  429. --**********************************************************************
  430. --
  431. --  MEDLARS data definitions
  432. --  Grigoriy Starchenko, 1997
  433. --
  434. --**********************************************************************
  435. NCBI-Medlars DEFINITIONS ::=
  436. BEGIN
  437. EXPORTS Medlars-entry, Medlars-record;
  438. IMPORTS PubMedId FROM NCBI-Biblio;
  439. Medlars-entry ::= SEQUENCE {     -- a MEDLARS entry
  440.     pmid PubMedId,               -- All entries in PubMed must have it
  441.     muid INTEGER OPTIONAL,       -- Medline(OCCS) id
  442.     recs SET OF Medlars-record   -- List of Medlars records
  443. }
  444. Medlars-record ::= SEQUENCE {
  445.     code INTEGER,                -- Unit record field type integer form
  446.     abbr VisibleString OPTIONAL, -- Unit record field type abbreviation form
  447.     data VisibleString           -- Unit record data
  448. }
  449. END
  450. --$Revision: 1000.1 $
  451. --********************************************************************
  452. --
  453. --  Publication common set
  454. --  James Ostell, 1990
  455. --
  456. --  This is the base class definitions for Publications of all sorts
  457. --
  458. --  support for PubMedId added in 1996
  459. --********************************************************************
  460. NCBI-Pub DEFINITIONS ::=
  461. BEGIN
  462. EXPORTS Pub, Pub-set, Pub-equiv;
  463. IMPORTS Medline-entry FROM NCBI-Medline
  464.         Cit-art, Cit-jour, Cit-book, Cit-proc, Cit-pat, Id-pat, Cit-gen,
  465.         Cit-let, Cit-sub, PubMedId FROM NCBI-Biblio;
  466. Pub ::= CHOICE {
  467.     gen Cit-gen ,        -- general or generic unparsed
  468.     sub Cit-sub ,        -- submission
  469.     medline Medline-entry ,
  470.     muid INTEGER ,       -- medline uid
  471.     article Cit-art ,
  472.     journal Cit-jour ,
  473.     book Cit-book ,
  474.     proc Cit-proc ,      -- proceedings of a meeting
  475.     patent Cit-pat ,
  476.     pat-id Id-pat ,      -- identify a patent
  477.     man Cit-let ,        -- manuscript, thesis, or letter
  478.     equiv Pub-equiv,     -- to cite a variety of ways
  479. pmid PubMedId }      -- PubMedId
  480. Pub-equiv ::= SET OF Pub   -- equivalent identifiers for same citation
  481. Pub-set ::= CHOICE {
  482.     pub SET OF Pub ,
  483.     medline SET OF Medline-entry ,
  484.     article SET OF Cit-art ,
  485.     journal SET OF Cit-jour ,
  486.     book SET OF Cit-book ,
  487.     proc SET OF Cit-proc ,      -- proceedings of a meeting
  488.     patent SET OF Cit-pat }
  489. END
  490. --$Revision: 1000.1 $
  491. --**********************************************************************
  492. --
  493. --  PUBMED data definitions
  494. --
  495. --**********************************************************************
  496. NCBI-PubMed DEFINITIONS ::=
  497. BEGIN
  498. EXPORTS Pubmed-entry, Pubmed-url;
  499. IMPORTS PubMedId FROM NCBI-Biblio
  500.         Medline-entry FROM NCBI-Medline;
  501. Pubmed-entry ::= SEQUENCE {        -- a PubMed entry
  502.     -- PUBMED records must include the PubMedId
  503.     pmid PubMedId,
  504.     -- Medline entry information
  505.     medent Medline-entry OPTIONAL,
  506.     -- Publisher name
  507.     publisher VisibleString OPTIONAL,
  508.     -- List of URL to publisher cite
  509.     urls SET OF Pubmed-url OPTIONAL,
  510.     -- Publisher's article identifier
  511.     pubid VisibleString OPTIONAL
  512. }
  513. Pubmed-url ::= SEQUENCE {
  514.     location VisibleString OPTIONAL, -- Location code
  515.     url VisibleString                -- Selected URL for location
  516. }
  517. END
  518. --$Revision: 1000.1 $
  519. --**********************************************************************
  520. --
  521. --  NCBI Sequence location and identifier elements
  522. --  by James Ostell, 1990
  523. --
  524. --  Version 3.0 - 1994
  525. --
  526. --**********************************************************************
  527. NCBI-Seqloc DEFINITIONS ::=
  528. BEGIN
  529. EXPORTS Seq-id, Seq-loc, Seq-interval, Packed-seqint, Seq-point, Packed-seqpnt,
  530.         Na-strand, Giimport-id;
  531. IMPORTS Object-id, Int-fuzz, Dbtag, Date FROM NCBI-General
  532.         Id-pat FROM NCBI-Biblio
  533.         Feat-id FROM NCBI-Seqfeat;
  534. --*** Sequence identifiers ********************************
  535. --*
  536. Seq-id ::= CHOICE {
  537.     local Object-id ,      -- local use
  538.     gibbsq INTEGER ,         -- Geninfo backbone seqid
  539.     gibbmt INTEGER ,         -- Geninfo backbone moltype
  540.     giim Giimport-id ,       -- Geninfo import id
  541.     genbank Textseq-id ,
  542.     embl Textseq-id ,
  543.     pir Textseq-id ,
  544.     swissprot Textseq-id ,
  545.     patent Patent-seq-id ,
  546.     other Textseq-id ,       -- catch all
  547.     general Dbtag ,          -- for other databases
  548.     gi INTEGER ,             -- GenInfo Integrated Database
  549.     ddbj Textseq-id ,        -- DDBJ
  550.     prf Textseq-id ,         -- PRF SEQDB
  551.     pdb PDB-seq-id }         -- PDB sequence
  552. Patent-seq-id ::= SEQUENCE {
  553.     seqid INTEGER ,         -- number of sequence in patent
  554.     cit Id-pat }           -- patent citation
  555. Textseq-id ::= SEQUENCE {
  556.     name VisibleString OPTIONAL ,
  557.     accession VisibleString OPTIONAL ,
  558.     release VisibleString OPTIONAL ,
  559.     version INTEGER OPTIONAL }
  560. Giimport-id ::= SEQUENCE {
  561.     id INTEGER ,               -- the id to use here
  562.     db VisibleString OPTIONAL ,  -- dbase used in
  563.     release VisibleString OPTIONAL }   -- the release
  564. PDB-seq-id ::= SEQUENCE {
  565.     mol PDB-mol-id ,          -- the molecule name
  566.     chain INTEGER DEFAULT 32 ,-- a single ASCII character, chain id
  567.     rel Date OPTIONAL }   -- release date, month and year
  568. PDB-mol-id ::= VisibleString  -- name of mol, 4 chars
  569.     
  570. --*** Sequence locations **********************************
  571. --*
  572. Seq-loc ::= CHOICE {
  573.     null NULL ,           -- not placed
  574.     empty Seq-id ,        -- to NULL one Seq-id in a collection
  575.     whole Seq-id ,        -- whole sequence
  576.     int Seq-interval ,    -- from to
  577.     packed-int Packed-seqint ,
  578.     pnt Seq-point ,
  579.     packed-pnt Packed-seqpnt ,
  580.     mix Seq-loc-mix ,
  581.     equiv Seq-loc-equiv ,  -- equivalent sets of locations
  582.     bond Seq-bond ,
  583.     feat Feat-id }         -- indirect, through a Seq-feat
  584.     
  585. Seq-interval ::= SEQUENCE {
  586.     from INTEGER ,
  587.     to INTEGER ,
  588.     strand Na-strand OPTIONAL ,
  589.     id Seq-id ,    -- WARNING: this used to be optional
  590.     fuzz-from Int-fuzz OPTIONAL ,
  591.     fuzz-to Int-fuzz OPTIONAL }
  592. Packed-seqint ::= SEQUENCE OF Seq-interval
  593. Seq-point ::= SEQUENCE {
  594.     point INTEGER ,
  595.     strand Na-strand OPTIONAL ,
  596.     id Seq-id ,     -- WARNING: this used to be optional
  597.     fuzz Int-fuzz OPTIONAL }
  598. Packed-seqpnt ::= SEQUENCE {
  599.     strand Na-strand OPTIONAL ,
  600.     id Seq-id ,
  601.     fuzz Int-fuzz OPTIONAL ,
  602.     points SEQUENCE OF INTEGER }
  603. Na-strand ::= ENUMERATED {          -- strand of nucleid acid
  604.     unknown (0) ,
  605.     plus (1) ,
  606.     minus (2) ,               
  607.     both (3) ,                -- in forward orientation
  608.     both-rev (4) ,            -- in reverse orientation
  609.     other (255) }
  610. Seq-bond ::= SEQUENCE {         -- bond between residues
  611.     a Seq-point ,           -- connection to a least one residue
  612.     b Seq-point OPTIONAL }  -- other end may not be available
  613. Seq-loc-mix ::= SEQUENCE OF Seq-loc   -- this will hold anything
  614. Seq-loc-equiv ::= SET OF Seq-loc      -- for a set of equivalent locations
  615. END
  616.     
  617. --$Revision: 1000.1 $
  618. --**********************************************************************
  619. --
  620. --  NCBI Sequence Alignment elements
  621. --  by James Ostell, 1990
  622. --
  623. --**********************************************************************
  624. NCBI-Seqalign DEFINITIONS ::=
  625. BEGIN
  626. EXPORTS Seq-align, Score, Score-set, Seq-align-set;
  627. IMPORTS Seq-id, Seq-loc , Na-strand FROM NCBI-Seqloc
  628.         Object-id FROM NCBI-General;
  629. --*** Sequence Alignment ********************************
  630. --*
  631. Seq-align-set ::= SET OF Seq-align
  632. Seq-align ::= SEQUENCE {
  633.     type ENUMERATED {
  634.         not-set (0) ,
  635.         global (1) ,
  636.         diags (2) , -- unbroken, but not ordered, diagonals
  637.         partial (3) ,           -- mapping pieces together
  638. disc (4) ,              -- discontinuous alignment
  639.         other (255) } ,
  640.     dim INTEGER OPTIONAL ,     -- dimensionality
  641.     score SET OF Score OPTIONAL ,   -- for whole alignment
  642.     segs CHOICE {                   -- alignment data
  643.         dendiag SEQUENCE OF Dense-diag ,
  644.         denseg Dense-seg ,
  645.         std SEQUENCE OF Std-seg ,
  646. packed Packed-seg ,
  647. disc Seq-align-set } ,
  648.     bounds SET OF Seq-loc OPTIONAL }  -- regions of sequence over which align
  649.                                       --  was computed
  650. Dense-diag ::= SEQUENCE {         -- for (multiway) diagonals
  651.     dim INTEGER DEFAULT 2 ,    -- dimensionality
  652.     ids SEQUENCE OF Seq-id ,   -- sequences in order
  653.     starts SEQUENCE OF INTEGER ,  -- start OFFSETS in ids order
  654.     len INTEGER ,                 -- len of aligned segments
  655.     strands SEQUENCE OF Na-strand OPTIONAL ,
  656.     scores SET OF Score OPTIONAL }
  657.     -- Dense-seg: the densist packing for sequence alignments only.
  658.     --            a start of -1 indicates a gap for that sequence of
  659.     --            length lens.
  660.     --
  661.     -- id=100  AAGGCCTTTTAGAGATGATGATGATGATGA
  662.     -- id=200  AAGGCCTTTTAG.......GATGATGATGA
  663.     -- id=300  ....CCTTTTAGAGATGATGAT....ATGA
  664.     --
  665.     -- dim = 3, numseg = 6, ids = { 100, 200, 300 }
  666.     -- starts = { 0,0,-1, 4,4,0, 12,-1,8, 19,12,15, 22,15,-1, 26,19,18 }
  667.     -- lens = { 4, 8, 7, 3, 4, 4 }
  668.     --
  669. Dense-seg ::= SEQUENCE {          -- for (multiway) global or partial alignments
  670.     dim INTEGER DEFAULT 2 ,       -- dimensionality
  671.     numseg INTEGER ,              -- number of segments here
  672.     ids SEQUENCE OF Seq-id ,      -- sequences in order
  673.     starts SEQUENCE OF INTEGER ,  -- start OFFSETS in ids order within segs
  674.     lens SEQUENCE OF INTEGER ,    -- lengths in ids order within segs
  675.     strands SEQUENCE OF Na-strand OPTIONAL ,
  676.     scores SEQUENCE OF Score OPTIONAL }  -- score for each seg
  677. Packed-seg ::= SEQUENCE {         -- for (multiway) global or partial alignments
  678.     dim INTEGER DEFAULT 2 ,       -- dimensionality
  679.     numseg INTEGER ,              -- number of segments here
  680.     ids SEQUENCE OF Seq-id ,      -- sequences in order
  681.     starts SEQUENCE OF INTEGER ,  -- start OFFSETS in ids order for whole alignment
  682.     present OCTET STRING ,        -- Boolean if each sequence present or absent in
  683.                                   --   each segment
  684.     lens SEQUENCE OF INTEGER ,    -- length of each segment
  685.     strands SEQUENCE OF Na-strand OPTIONAL ,
  686.     scores SEQUENCE OF Score OPTIONAL }  -- score for each segment
  687. Std-seg ::= SEQUENCE {
  688.     dim INTEGER DEFAULT 2 ,       -- dimensionality
  689.     ids SEQUENCE OF Seq-id OPTIONAL ,
  690.     loc SEQUENCE OF Seq-loc ,
  691.     scores SET OF Score OPTIONAL }
  692. -- use of Score is discouraged for external ASN.1 specifications
  693. Score ::= SEQUENCE {
  694.     id Object-id OPTIONAL ,
  695.     value CHOICE {
  696.         real REAL ,
  697.         int INTEGER  } }
  698. -- use of Score-set is encouraged for external ASN.1 specifications
  699. Score-set ::= SET OF Score
  700. END 
  701. --$Revision: 1000.1 $
  702. --*********************************************************************
  703. --
  704. -- 1990 - J.Ostell
  705. -- Version 3.0 - June 1994
  706. --
  707. --*********************************************************************
  708. --*********************************************************************
  709. --
  710. --  EMBL specific data
  711. --  This block of specifications was developed by Reiner Fuchs of EMBL
  712. --  Updated by J.Ostell, 1994
  713. --
  714. --*********************************************************************
  715. EMBL-General DEFINITIONS ::=
  716. BEGIN
  717. EXPORTS EMBL-dbname, EMBL-xref, EMBL-block;
  718. IMPORTS Date, Object-id FROM NCBI-General;
  719. EMBL-dbname ::= CHOICE {
  720.     code ENUMERATED {
  721.         embl(0),
  722.         genbank(1),
  723.         ddbj(2),
  724.         geninfo(3),
  725.         medline(4),
  726.         swissprot(5),
  727.         pir(6),
  728.         pdb(7),
  729.         epd(8),
  730.         ecd(9),
  731.         tfd(10),
  732.         flybase(11),
  733.         prosite(12),
  734.         enzyme(13),
  735.         mim(14),
  736.         ecoseq(15),
  737.         hiv(16) ,
  738.         other (255) } ,
  739.     name    VisibleString }
  740. EMBL-xref ::= SEQUENCE {
  741.     dbname EMBL-dbname,
  742.     id SEQUENCE OF Object-id }
  743. EMBL-block ::= SEQUENCE {
  744.     class ENUMERATED {
  745.         not-set(0),
  746.         standard(1),
  747.         unannotated(2),
  748.         other(255) } DEFAULT standard,
  749.     div ENUMERATED {
  750.         fun(0),
  751.         inv(1),
  752.         mam(2),
  753.         org(3),
  754.         phg(4),
  755.         pln(5),
  756.         pri(6),
  757.         pro(7),
  758.         rod(8),
  759.         syn(9),
  760.         una(10),
  761.         vrl(11),
  762.         vrt(12),
  763.         pat(13),
  764.         est(14),
  765.         sts(15),
  766.         other (255) } OPTIONAL,
  767.     creation-date Date,
  768.     update-date Date,
  769.     extra-acc SEQUENCE OF VisibleString OPTIONAL,
  770.     keywords SEQUENCE OF VisibleString OPTIONAL,
  771.     xref SEQUENCE OF EMBL-xref OPTIONAL }
  772. END
  773. --*********************************************************************
  774. --
  775. --  SWISSPROT specific data
  776. --  This block of specifications was developed by Mark Cavanaugh of
  777. --      NCBI working with Amos Bairoch of SWISSPROT
  778. --
  779. --*********************************************************************
  780. SP-General DEFINITIONS ::=
  781. BEGIN
  782. EXPORTS SP-block;
  783. IMPORTS Date, Dbtag FROM NCBI-General
  784.         Seq-id FROM NCBI-Seqloc;
  785. SP-block ::= SEQUENCE {         -- SWISSPROT specific descriptions
  786.     class ENUMERATED {
  787.         not-set (0) ,
  788.         standard (1) ,      -- conforms to all SWISSPROT checks
  789.         prelim (2) ,        -- only seq and biblio checked
  790.         other (255) } ,
  791.     extra-acc SET OF VisibleString OPTIONAL ,  -- old SWISSPROT ids
  792.     imeth BOOLEAN DEFAULT FALSE ,  -- seq known to start with Met
  793.     plasnm SET OF VisibleString OPTIONAL,  -- plasmid names carrying gene
  794.     seqref SET OF Seq-id OPTIONAL,         -- xref to other sequences
  795.     dbref SET OF Dbtag OPTIONAL ,          -- xref to non-sequence dbases
  796.     keywords SET OF VisibleString OPTIONAL , -- keywords
  797.     created Date OPTIONAL ,         -- creation date
  798.     sequpd Date OPTIONAL ,          -- sequence update
  799.     annotupd Date OPTIONAL }        -- annotation update
  800. END
  801. --*********************************************************************
  802. --
  803. --  PIR specific data
  804. --  This block of specifications was developed by Jim Ostell of
  805. --      NCBI
  806. --
  807. --*********************************************************************
  808. PIR-General DEFINITIONS ::=
  809. BEGIN
  810. EXPORTS PIR-block;
  811. IMPORTS Seq-id FROM NCBI-Seqloc;
  812. PIR-block ::= SEQUENCE {          -- PIR specific descriptions
  813.     had-punct BOOLEAN OPTIONAL ,      -- had punctuation in sequence ?
  814.     host VisibleString OPTIONAL ,
  815.     source VisibleString OPTIONAL ,     -- source line
  816.     summary VisibleString OPTIONAL ,
  817.     genetic VisibleString OPTIONAL ,
  818.     includes VisibleString OPTIONAL ,
  819.     placement VisibleString OPTIONAL ,
  820.     superfamily VisibleString OPTIONAL ,
  821.     keywords SEQUENCE OF VisibleString OPTIONAL ,
  822.     cross-reference VisibleString OPTIONAL ,
  823.     date VisibleString OPTIONAL ,
  824.     seq-raw VisibleString OPTIONAL ,  -- seq with punctuation
  825.     seqref SET OF Seq-id OPTIONAL }         -- xref to other sequences
  826. END
  827. --*********************************************************************
  828. --
  829. --  GenBank specific data
  830. --  This block of specifications was developed by Jim Ostell of
  831. --      NCBI
  832. --
  833. --*********************************************************************
  834. GenBank-General DEFINITIONS ::=
  835. BEGIN
  836. EXPORTS GB-block;
  837. IMPORTS Date FROM NCBI-General;
  838. GB-block ::= SEQUENCE {          -- GenBank specific descriptions
  839.     extra-accessions SEQUENCE OF VisibleString OPTIONAL ,
  840.     source VisibleString OPTIONAL ,     -- source line
  841.     keywords SEQUENCE OF VisibleString OPTIONAL ,
  842.     origin VisibleString OPTIONAL,
  843.     date VisibleString OPTIONAL ,       -- OBSOLETE old form Entry Date
  844.     entry-date Date OPTIONAL ,          -- replaces date
  845.     div VisibleString OPTIONAL ,        -- GenBank division
  846.     taxonomy VisibleString OPTIONAL }   -- continuation line of organism
  847. END
  848. --**********************************************************************
  849. -- PRF specific definition
  850. --    PRF is a protein sequence database crated and maintained by
  851. --    Protein Research Foundation, Minoo-city, Osaka, Japan.
  852. --
  853. --    Written by A.Ogiwara, Inst.Chem.Res. (Dr.Kanehisa's Lab),
  854. --            Kyoto Univ., Japan
  855. --
  856. --**********************************************************************
  857. PRF-General DEFINITIONS ::=
  858. BEGIN
  859. EXPORTS PRF-block;
  860. PRF-block ::= SEQUENCE {
  861.       extra-src       PRF-ExtraSrc OPTIONAL,
  862.       keywords        SEQUENCE OF VisibleString OPTIONAL
  863. }
  864. PRF-ExtraSrc ::= SEQUENCE {
  865.       host    VisibleString OPTIONAL,
  866.       part    VisibleString OPTIONAL,
  867.       state   VisibleString OPTIONAL,
  868.       strain  VisibleString OPTIONAL,
  869.       taxon   VisibleString OPTIONAL
  870. }
  871. END
  872. --*********************************************************************
  873. --
  874. --  PDB specific data
  875. --  This block of specifications was developed by Jim Ostell and
  876. --      Steve Bryant of NCBI
  877. --
  878. --*********************************************************************
  879. PDB-General DEFINITIONS ::=
  880. BEGIN
  881. EXPORTS PDB-block;
  882. IMPORTS Date FROM NCBI-General;
  883. PDB-block ::= SEQUENCE {          -- PDB specific descriptions
  884.     deposition Date ,         -- deposition date  month,year
  885.     class VisibleString ,
  886.     compound SEQUENCE OF VisibleString ,
  887.     source SEQUENCE OF VisibleString ,
  888.     exp-method VisibleString OPTIONAL ,  -- present if NOT X-ray diffraction
  889.     replace PDB-replace OPTIONAL } -- replacement history
  890. PDB-replace ::= SEQUENCE {
  891.     date Date ,
  892.     ids SEQUENCE OF VisibleString }   -- entry ids replace by this one
  893. END
  894. --$Revision: 1000.1 $
  895. --**********************************************************************
  896. --
  897. --  NCBI Sequence Feature elements
  898. --  by James Ostell, 1990
  899. --  Version 3.0 - June 1994
  900. --
  901. --**********************************************************************
  902. NCBI-Seqfeat DEFINITIONS ::=
  903. BEGIN
  904. EXPORTS Seq-feat, Feat-id, Genetic-code;
  905. IMPORTS Gene-ref FROM NCBI-Gene
  906.         Prot-ref FROM NCBI-Protein
  907.         Org-ref FROM NCBI-Organism
  908.         BioSource FROM NCBI-BioSource
  909.         RNA-ref FROM NCBI-RNA
  910.         Seq-loc, Giimport-id FROM NCBI-Seqloc
  911.         Pubdesc, Numbering, Heterogen FROM NCBI-Sequence
  912.         Rsite-ref FROM NCBI-Rsite
  913.         Txinit FROM NCBI-TxInit
  914.         Pub-set FROM NCBI-Pub
  915.         Object-id, Dbtag, User-object FROM NCBI-General;
  916. --*** Feature identifiers ********************************
  917. --*
  918. Feat-id ::= CHOICE {
  919.     gibb INTEGER ,            -- geninfo backbone
  920.     giim Giimport-id ,        -- geninfo import
  921.     local Object-id ,         -- for local software use
  922.     general Dbtag }           -- for use by various databases
  923. --*** Seq-feat *******************************************
  924. --*  sequence feature generalization
  925. Seq-feat ::= SEQUENCE {
  926.     id Feat-id OPTIONAL ,
  927.     data SeqFeatData ,           -- the specific data
  928.     partial BOOLEAN OPTIONAL ,    -- incomplete in some way?
  929.     except BOOLEAN OPTIONAL ,     -- something funny about this?
  930.     comment VisibleString OPTIONAL ,
  931.     product Seq-loc OPTIONAL ,    -- product of process
  932.     location Seq-loc ,            -- feature made from
  933.     qual SEQUENCE OF Gb-qual OPTIONAL ,  -- qualifiers
  934.     title VisibleString OPTIONAL ,   -- for user defined label
  935.     ext User-object OPTIONAL ,    -- user defined structure extension
  936.     cit Pub-set OPTIONAL ,        -- citations for this feature
  937.     exp-ev ENUMERATED {           -- evidence for existence of feature
  938.         experimental (1) ,        -- any reasonable experimental check
  939.         not-experimental (2) } OPTIONAL , -- similarity, pattern, etc
  940.     xref SET OF SeqFeatXref OPTIONAL ,   -- cite other relevant features
  941. dbxref SET OF Dbtag OPTIONAL ,  -- support for xref to other databases
  942.     pseudo BOOLEAN OPTIONAL ,     -- annotated on pseudogene?
  943.     except-text VisibleString OPTIONAL } -- explain if except=TRUE
  944. SeqFeatData ::= CHOICE {
  945.     gene Gene-ref ,
  946.     org Org-ref ,
  947.     cdregion Cdregion ,
  948.     prot Prot-ref ,
  949.     rna RNA-ref ,
  950.     pub Pubdesc ,              -- publication applies to this seq 
  951.     seq Seq-loc ,              -- to annotate origin from another seq
  952.     imp Imp-feat ,
  953.     region VisibleString,      -- named region (globin locus)
  954.     comment NULL ,             -- just a comment
  955.     bond ENUMERATED {
  956.         disulfide (1) ,
  957.         thiolester (2) ,
  958.         xlink (3) ,
  959.         thioether (4) ,
  960.         other (255) } ,
  961.     site ENUMERATED {
  962.         active (1) ,
  963.         binding (2) ,
  964.         cleavage (3) ,
  965.         inhibit (4) ,
  966.         modified (5),
  967.         glycosylation (6) ,
  968.         myristoylation (7) ,
  969.         mutagenized (8) ,
  970.         metal-binding (9) ,
  971.         phosphorylation (10) ,
  972.         acetylation (11) ,
  973.         amidation (12) ,
  974.         methylation (13) ,
  975.         hydroxylation (14) ,
  976.         sulfatation (15) ,
  977.         oxidative-deamination (16) ,
  978.         pyrrolidone-carboxylic-acid (17) ,
  979.         gamma-carboxyglutamic-acid (18) ,
  980.         blocked (19) ,
  981.         lipid-binding (20) ,
  982.         np-binding (21) ,
  983.         dna-binding (22) ,
  984.         signal-peptide (23) ,
  985.         transit-peptide (24) ,
  986.         transmembrane-region (25) ,
  987.         other (255) } ,
  988.     rsite Rsite-ref ,       -- restriction site  (for maps really)
  989.     user User-object ,      -- user defined structure
  990.     txinit Txinit ,         -- transcription initiation
  991.     num Numbering ,         -- a numbering system
  992.     psec-str ENUMERATED {   -- protein secondary structure
  993.         helix (1) ,         -- any helix
  994.         sheet (2) ,         -- beta sheet
  995.         turn  (3) } ,       -- beta or gamma turn
  996.     non-std-residue VisibleString ,  -- non-standard residue here in seq
  997.     het Heterogen ,         -- cofactor, prosthetic grp, etc, bound to seq
  998.     biosrc BioSource }
  999. SeqFeatXref ::= SEQUENCE {  -- both optional because can have one or both
  1000.     id Feat-id OPTIONAL ,        -- the feature copied
  1001.     data SeqFeatData OPTIONAL }  -- the specific data
  1002.     
  1003. --*** CdRegion ***********************************************
  1004. --*
  1005. --*  Instructions to translate from a nucleic acid to a peptide
  1006. --*    conflict means it's supposed to translate but doesn't
  1007. --*
  1008. Cdregion ::= SEQUENCE {
  1009.     orf BOOLEAN OPTIONAL ,             -- just an ORF ?
  1010.     frame ENUMERATED {
  1011.         not-set (0) ,                  -- not set, code uses one
  1012.         one (1) ,
  1013.         two (2) ,
  1014.         three (3) } DEFAULT not-set ,      -- reading frame
  1015.     conflict BOOLEAN OPTIONAL ,        -- conflict
  1016.     gaps INTEGER OPTIONAL ,            -- number of gaps on conflict/except
  1017.     mismatch INTEGER OPTIONAL ,        -- number of mismatches on above
  1018.     code Genetic-code OPTIONAL ,       -- genetic code used
  1019.     code-break SEQUENCE OF Code-break OPTIONAL ,   -- individual exceptions
  1020.     stops INTEGER OPTIONAL }           -- number of stop codons on above
  1021.                     -- each code is 64 cells long, in the order where
  1022.                     -- T=0,C=1,A=2,G=3, TTT=0, TTC=1, TCA=4, etc
  1023.                     -- NOTE: this order does NOT corresspond to a Seq-data
  1024.                     -- encoding.  It is "natural" to codon usage instead.
  1025.                     -- the value in each cell is the AA coded for
  1026.                     -- start= AA coded only if first in peptide
  1027.                     --   in start array, if codon is not a legitimate start
  1028.                     --   codon, that cell will have the "gap" symbol for
  1029.                     --   that alphabet.  Otherwise it will have the AA
  1030.                     --   encoded when that codon is used at the start.
  1031. Genetic-code ::= SET OF CHOICE {
  1032.     name VisibleString ,               -- name of a code
  1033.     id INTEGER ,                       -- id in dbase
  1034.     ncbieaa VisibleString ,            -- indexed to IUPAC extended
  1035.     ncbi8aa OCTET STRING ,             -- indexed to NCBI8aa
  1036.     ncbistdaa OCTET STRING ,           -- indexed to NCBIstdaa
  1037.     sncbieaa VisibleString ,            -- start, indexed to IUPAC extended
  1038.     sncbi8aa OCTET STRING ,             -- start, indexed to NCBI8aa
  1039.     sncbistdaa OCTET STRING }           -- start, indexed to NCBIstdaa
  1040. Code-break ::= SEQUENCE {              -- specific codon exceptions
  1041.     loc Seq-loc ,                      -- location of exception
  1042.     aa CHOICE {                        -- the amino acid
  1043.         ncbieaa INTEGER ,              -- ASCII value of NCBIeaa code
  1044.         ncbi8aa INTEGER ,              -- NCBI8aa code
  1045.         ncbistdaa INTEGER } }           -- NCBIstdaa code
  1046. Genetic-code-table ::= SET OF Genetic-code     -- table of genetic codes
  1047. --*** Import ***********************************************
  1048. --*
  1049. --*  Features imported from other databases
  1050. --*
  1051. Imp-feat ::= SEQUENCE {
  1052.     key VisibleString ,
  1053.     loc VisibleString OPTIONAL ,         -- original location string
  1054.     descr VisibleString OPTIONAL }       -- text description
  1055. Gb-qual ::= SEQUENCE {
  1056.     qual VisibleString ,
  1057.     val VisibleString }
  1058. END 
  1059. --**********************************************************************
  1060. --
  1061. --  NCBI Restriction Sites
  1062. --  by James Ostell, 1990
  1063. --  version 0.8
  1064. --
  1065. --**********************************************************************
  1066. NCBI-Rsite DEFINITIONS ::=
  1067. BEGIN
  1068. EXPORTS Rsite-ref;
  1069. IMPORTS Dbtag FROM NCBI-General;
  1070. Rsite-ref ::= CHOICE {
  1071.     str VisibleString ,     -- may be unparsable
  1072.     db  Dbtag }             -- pointer to a restriction site database
  1073. END
  1074. --**********************************************************************
  1075. --
  1076. --  NCBI RNAs
  1077. --  by James Ostell, 1990
  1078. --  version 0.8
  1079. --
  1080. --**********************************************************************
  1081. NCBI-RNA DEFINITIONS ::=
  1082. BEGIN
  1083. EXPORTS RNA-ref, Trna-ext;
  1084. IMPORTS Seq-loc FROM NCBI-Seqloc;
  1085. --*** rnas ***********************************************
  1086. --*
  1087. --*  various rnas
  1088. --*
  1089.                          -- minimal RNA sequence
  1090. RNA-ref ::= SEQUENCE {
  1091.     type ENUMERATED {            -- type of RNA feature
  1092.         unknown (0) ,
  1093.         premsg (1) ,
  1094.         mRNA (2) ,
  1095.         tRNA (3) ,
  1096.         rRNA (4) ,
  1097.         snRNA (5) ,
  1098.         scRNA (6) ,
  1099.         other (255) } ,
  1100.     pseudo BOOLEAN OPTIONAL ,  
  1101.     ext CHOICE {
  1102.         name VisibleString ,        -- for naming "other" type
  1103.         tRNA Trna-ext } OPTIONAL }  -- for tRNAs
  1104. Trna-ext ::= SEQUENCE {                -- tRNA feature extensions
  1105.     aa CHOICE {                         -- aa this carries
  1106.         iupacaa INTEGER ,
  1107.         ncbieaa INTEGER ,
  1108.         ncbi8aa INTEGER ,
  1109.         ncbistdaa INTEGER } OPTIONAL ,
  1110.     codon SET OF INTEGER OPTIONAL ,     -- codon(s) as in Genetic-code
  1111. anticodon Seq-loc OPTIONAL }        -- location of anticodon
  1112. END
  1113. --**********************************************************************
  1114. --
  1115. --  NCBI Genes
  1116. --  by James Ostell, 1990
  1117. --  version 0.8
  1118. --
  1119. --**********************************************************************
  1120. NCBI-Gene DEFINITIONS ::=
  1121. BEGIN
  1122. EXPORTS Gene-ref;
  1123. IMPORTS Dbtag FROM NCBI-General;
  1124. --*** Gene ***********************************************
  1125. --*
  1126. --*  reference to a gene
  1127. --*
  1128. Gene-ref ::= SEQUENCE {
  1129.     locus VisibleString OPTIONAL ,     -- Official gene symbol
  1130.     allele VisibleString OPTIONAL ,    -- Official allele designation
  1131.     desc VisibleString OPTIONAL ,      -- descriptive name
  1132.     maploc VisibleString OPTIONAL ,    -- descriptive map location
  1133.     pseudo BOOLEAN DEFAULT FALSE ,          -- pseudogene
  1134.     db SET OF Dbtag OPTIONAL ,      -- ids in other dbases
  1135.     syn SET OF VisibleString OPTIONAL }      -- synonyms for locus
  1136. END
  1137. --**********************************************************************
  1138. --
  1139. --  NCBI Organism
  1140. --  by James Ostell, 1994
  1141. --  version 3.0
  1142. --
  1143. --**********************************************************************
  1144. NCBI-Organism DEFINITIONS ::=
  1145. BEGIN
  1146. EXPORTS Org-ref;
  1147. IMPORTS Dbtag FROM NCBI-General;
  1148. --*** Org-ref ***********************************************
  1149. --*
  1150. --*  Reference to an organism
  1151. --*     defines only the organism.. lower levels of detail for biological
  1152. --*     molecules are provided by the Source object
  1153. --*
  1154. Org-ref ::= SEQUENCE {
  1155.     taxname VisibleString OPTIONAL ,   -- preferred formal name
  1156.     common VisibleString OPTIONAL ,    -- common name
  1157.     mod SET OF VisibleString OPTIONAL , -- unstructured modifiers
  1158.     db SET OF Dbtag OPTIONAL ,         -- ids in taxonomic or culture dbases
  1159.     syn SET OF VisibleString OPTIONAL ,  -- synonyms for taxname or common
  1160.     orgname OrgName OPTIONAL }
  1161.     
  1162. OrgName ::= SEQUENCE {
  1163.     name CHOICE {
  1164.         binomial BinomialOrgName ,         -- genus/species type name
  1165.         virus VisibleString ,              -- virus names are different
  1166.         hybrid MultiOrgName ,              -- hybrid between organisms
  1167.         namedhybrid BinomialOrgName ,      -- some hybrids have genus x species name
  1168.         partial PartialOrgName } OPTIONAL , -- when genus not known
  1169.     attrib VisibleString OPTIONAL ,        -- attribution of name
  1170.     mod SEQUENCE OF OrgMod OPTIONAL ,
  1171.     lineage VisibleString OPTIONAL ,       -- lineage with semicolon separators
  1172.     gcode INTEGER OPTIONAL ,               -- genetic code (see CdRegion)
  1173.     mgcode INTEGER OPTIONAL ,              -- mitochondrial genetic code
  1174. div VisibleString OPTIONAL }           -- GenBank division code
  1175.     
  1176. OrgMod ::= SEQUENCE {
  1177.     subtype INTEGER {
  1178.         strain (2) ,
  1179.         substrain (3) ,
  1180.         type (4) ,
  1181.         subtype (5) ,
  1182.         variety (6) ,
  1183.         serotype (7) ,
  1184.         serogroup (8) ,
  1185.         serovar (9) ,
  1186.         cultivar (10) ,
  1187.         pathovar (11) ,
  1188.         chemovar (12) ,
  1189.         biovar (13) ,
  1190.         biotype (14) ,
  1191.         group (15) ,
  1192.         subgroup (16) ,
  1193.         isolate (17) ,
  1194.         common (18) ,
  1195.         acronym (19) ,
  1196.         dosage (20) , -- chromosome dosage of hybrid
  1197.         nat-host (21) , -- natural host of this specimen
  1198. sub-species (22) ,
  1199.         specimen-voucher (23) ,
  1200. authority (24) ,
  1201. forma (25) ,
  1202. forma-specialis (26) ,
  1203. ecotype (27) ,
  1204. synonym (28) ,
  1205. anamorph (29) ,
  1206. teleomorph (30) ,
  1207. breed (31) ,
  1208. old-lineage (253) ,
  1209.         old-name (254) ,
  1210.         other (255) } ,         -- ASN5: old-name (254) will be added to next spec
  1211.     subname VisibleString ,
  1212.     attrib VisibleString OPTIONAL }  -- attribution/source of name
  1213. BinomialOrgName ::= SEQUENCE {
  1214.     genus VisibleString ,               -- required
  1215.     species VisibleString OPTIONAL ,    -- species required if subspecies used
  1216.     subspecies VisibleString OPTIONAL }
  1217. MultiOrgName ::= SEQUENCE OF OrgName   -- the first will be used to assign division
  1218. PartialOrgName ::= SEQUENCE OF TaxElement  -- when we don't know the genus
  1219. TaxElement ::= SEQUENCE {
  1220.     fixed-level INTEGER {
  1221.        other (0) ,                     -- level must be set in string
  1222.        family (1) ,
  1223.        order (2) ,
  1224.        class (3) } ,
  1225.     level VisibleString OPTIONAL ,
  1226.     name VisibleString }
  1227. END
  1228. --**********************************************************************
  1229. --
  1230. --  NCBI BioSource
  1231. --  by James Ostell, 1994
  1232. --  version 3.0
  1233. --
  1234. --**********************************************************************
  1235. NCBI-BioSource DEFINITIONS ::=
  1236. BEGIN
  1237. EXPORTS BioSource;
  1238. IMPORTS Org-ref FROM NCBI-Organism;
  1239. --********************************************************************
  1240. --
  1241. -- BioSource gives the source of the biological material
  1242. --   for sequences
  1243. --
  1244. --********************************************************************
  1245. BioSource ::= SEQUENCE {
  1246.     genome INTEGER {  -- biological context
  1247.         unknown (0) ,
  1248.         genomic (1) ,
  1249.         chloroplast (2) ,
  1250.         chromoplast (3) ,
  1251.         kinetoplast (4) ,
  1252.         mitochondrion (5) ,
  1253.         plastid (6) ,
  1254.         macronuclear (7) ,
  1255.         extrachrom (8) ,
  1256.         plasmid (9) ,
  1257.         transposon (10) ,
  1258.         insertion-seq (11) ,
  1259. cyanelle (12) ,
  1260. proviral (13) ,
  1261. virion (14) ,
  1262. nucleomorph (15) ,
  1263. apicoplast (16) ,
  1264. leucoplast (17) ,
  1265. proplastid (18) ,
  1266. endogenous-virus (19)
  1267.  } DEFAULT unknown ,
  1268.                                        -- 4 more genome values coming
  1269.                                        -- nucleomorph (15)
  1270.                                        -- apicoplast (16)
  1271.                                        -- leucoplast (17)
  1272.                                        -- proplastid (18)
  1273.     origin INTEGER {
  1274.       unknown (0) ,
  1275.       natural (1) ,                    -- normal biological entity
  1276.       natmut (2) ,                     -- naturally occurring mutant
  1277.       mut (3) ,                        -- artificially mutagenized
  1278.       artificial (4) ,                 -- artificially engineered
  1279.       synthetic (5) ,                  -- purely synthetic
  1280.       other (255) } DEFAULT unknown , 
  1281.     org Org-ref ,
  1282.     subtype SEQUENCE OF SubSource OPTIONAL ,
  1283.     is-focus NULL OPTIONAL }   -- to distinguish biological focus
  1284. SubSource ::= SEQUENCE {
  1285.     subtype INTEGER {
  1286.         chromosome (1) ,
  1287.         map (2) ,
  1288.         clone (3) ,
  1289.         subclone (4) ,
  1290.         haplotype (5) ,
  1291.         genotype (6) ,
  1292.         sex (7) ,
  1293.         cell-line (8) ,
  1294.         cell-type (9) ,
  1295.         tissue-type (10) ,
  1296.         clone-lib (11) ,
  1297.         dev-stage (12) ,
  1298.         frequency (13) ,
  1299.         germline (14) ,
  1300.         rearranged (15) ,
  1301.         lab-host (16) ,
  1302.         pop-variant (17) ,
  1303.         tissue-lib (18) ,
  1304.         plasmid-name (19) ,
  1305.         transposon-name (20) ,
  1306.         insertion-seq-name (21) ,
  1307.         plastid-name (22) ,
  1308. country (23) ,
  1309. segment (24) ,
  1310. endogenous-virus-name (25) ,
  1311.         other (255) } ,
  1312.     name VisibleString ,
  1313.     attrib VisibleString OPTIONAL }    -- attribution/source of this name
  1314.         
  1315. END
  1316. --**********************************************************************
  1317. --
  1318. --  NCBI Protein
  1319. --  by James Ostell, 1990
  1320. --  version 0.8
  1321. --
  1322. --**********************************************************************
  1323. NCBI-Protein DEFINITIONS ::=
  1324. BEGIN
  1325. EXPORTS Prot-ref;
  1326. IMPORTS Dbtag FROM NCBI-General;
  1327. --*** Prot-ref ***********************************************
  1328. --*
  1329. --*  Reference to a protein name
  1330. --*
  1331. Prot-ref ::= SEQUENCE {
  1332.     name SET OF VisibleString OPTIONAL ,      -- protein name
  1333.     desc VisibleString OPTIONAL ,      -- description (instead of name)
  1334.     ec SET OF VisibleString OPTIONAL , -- E.C. number(s)
  1335.     activity SET OF VisibleString OPTIONAL ,  -- activities
  1336.     db SET OF Dbtag OPTIONAL ,         -- ids in other dbases
  1337.     processed ENUMERATED {             -- processing status
  1338.        not-set (0) ,
  1339.        preprotein (1) ,
  1340.        mature (2) ,
  1341.    signal-peptide (3) ,
  1342.    transit-peptide (4) } DEFAULT not-set }
  1343. END 
  1344. --********************************************************************
  1345. --
  1346. --  Transcription Initiation Site Feature Data Block
  1347. --  James Ostell, 1991
  1348. --  Philip Bucher, David Ghosh
  1349. --  version 1.1
  1350. --
  1351. --  
  1352. --
  1353. --********************************************************************
  1354. NCBI-TxInit DEFINITIONS ::=
  1355. BEGIN
  1356. EXPORTS Txinit;
  1357. IMPORTS Gene-ref FROM NCBI-Gene
  1358.         Prot-ref FROM NCBI-Protein
  1359.         Org-ref FROM NCBI-Organism;
  1360. Txinit ::= SEQUENCE {
  1361.     name VisibleString ,    -- descriptive name of initiation site
  1362.     syn SEQUENCE OF VisibleString OPTIONAL ,   -- synonyms
  1363.     gene SEQUENCE OF Gene-ref OPTIONAL ,  -- gene(s) transcribed
  1364.     protein SEQUENCE OF Prot-ref OPTIONAL ,   -- protein(s) produced
  1365.     rna SEQUENCE OF VisibleString OPTIONAL ,  -- rna(s) produced
  1366.     expression VisibleString OPTIONAL ,  -- tissue/time of expression
  1367.     txsystem ENUMERATED {       -- transcription apparatus used at this site
  1368.         unknown (0) ,
  1369.         pol1 (1) ,      -- eukaryotic Pol I
  1370.         pol2 (2) ,      -- eukaryotic Pol II
  1371.         pol3 (3) ,      -- eukaryotic Pol III
  1372.         bacterial (4) ,
  1373.         viral (5) ,
  1374.         rna (6) ,       -- RNA replicase
  1375.         organelle (7) ,
  1376.         other (255) } ,
  1377.     txdescr VisibleString OPTIONAL ,   -- modifiers on txsystem
  1378.     txorg Org-ref OPTIONAL ,  -- organism supplying transcription apparatus
  1379.     mapping-precise BOOLEAN DEFAULT FALSE ,  -- mapping precise or approx
  1380.     location-accurate BOOLEAN DEFAULT FALSE , -- does Seq-loc reflect mapping
  1381.     inittype ENUMERATED {
  1382.         unknown (0) ,
  1383.         single (1) ,
  1384.         multiple (2) ,
  1385.         region (3) } OPTIONAL ,
  1386.     evidence SET OF Tx-evidence OPTIONAL }
  1387. Tx-evidence ::= SEQUENCE {
  1388.     exp-code ENUMERATED {
  1389.         unknown (0) ,    
  1390.         rna-seq (1) ,   -- direct RNA sequencing
  1391.         rna-size (2) ,  -- RNA length measurement
  1392.         np-map (3) ,    -- nuclease protection mapping with homologous sequence ladder
  1393.         np-size (4) ,   -- nuclease protected fragment length measurement
  1394.         pe-seq (5) ,    -- dideoxy RNA sequencing 
  1395.         cDNA-seq (6) ,  -- full-length cDNA sequencing
  1396.         pe-map (7) ,    -- primer extension mapping with homologous sequence ladder    
  1397.         pe-size (8) ,   -- primer extension product length measurement
  1398.         pseudo-seq (9) , -- full-length processed pseudogene sequencing
  1399.         rev-pe-map (10) ,   -- see NOTE (1) below
  1400.         other (255) } ,
  1401.     expression-system ENUMERATED {
  1402.         unknown (0) ,
  1403.         physiological (1) ,
  1404.         in-vitro (2) ,
  1405.         oocyte (3) ,
  1406.         transfection (4) ,
  1407.         transgenic (5) ,
  1408.         other (255) } DEFAULT physiological ,
  1409.     low-prec-data BOOLEAN DEFAULT FALSE ,
  1410.     from-homolog BOOLEAN DEFAULT FALSE }     -- experiment actually done on
  1411.                                              --  close homolog
  1412.     -- NOTE (1) length measurement of a reverse direction primer-extension
  1413.     --          product (blocked  by  RNA  5'end)  by  comparison with
  1414.     --          homologous sequence ladder (J. Mol. Biol. 199, 587)
  1415.     
  1416. END
  1417. --$Revision: 1000.1 $
  1418. --**********************************************************************
  1419. --
  1420. --  NCBI Sequence Analysis Results (other than alignments)
  1421. --  by James Ostell, 1990
  1422. --
  1423. --**********************************************************************
  1424. NCBI-Seqres DEFINITIONS ::=
  1425. BEGIN
  1426. EXPORTS Seq-graph;
  1427. IMPORTS Seq-loc FROM NCBI-Seqloc;
  1428. --*** Sequence Graph ********************************
  1429. --*
  1430. --*   for values mapped by residue or range to sequence
  1431. --*
  1432. Seq-graph ::= SEQUENCE {
  1433.     title VisibleString OPTIONAL ,
  1434.     comment VisibleString OPTIONAL ,
  1435.     loc Seq-loc ,                       -- region this applies to
  1436.     title-x VisibleString OPTIONAL ,    -- title for x-axis
  1437.     title-y VisibleString OPTIONAL ,
  1438.     comp INTEGER OPTIONAL ,             -- compression (residues/value)
  1439.     a REAL OPTIONAL ,                   -- for scaling values
  1440.     b REAL OPTIONAL ,                   -- display = (a x value) + b
  1441.     numval INTEGER ,                    -- number of values in graph
  1442.     graph CHOICE {
  1443.         real Real-graph ,
  1444.         int Int-graph ,
  1445.         byte Byte-graph } }
  1446. Real-graph ::= SEQUENCE {
  1447.     max REAL ,                          -- top of graph
  1448.     min REAL ,                          -- bottom of graph
  1449.     axis REAL ,                         -- value to draw axis on
  1450.     values SEQUENCE OF REAL }
  1451. Int-graph ::= SEQUENCE {
  1452.     max INTEGER ,
  1453.     min INTEGER ,
  1454.     axis INTEGER ,
  1455.     values SEQUENCE OF INTEGER } 
  1456. Byte-graph ::= SEQUENCE {              -- integer from 0-255
  1457.     max INTEGER ,
  1458.     min INTEGER ,
  1459.     axis INTEGER ,
  1460.     values OCTET STRING }
  1461. END
  1462. --$Revision: 1000.1 $
  1463. --**********************************************************************
  1464. --
  1465. --  NCBI Sequence Collections
  1466. --  by James Ostell, 1990
  1467. --
  1468. --  Version 3.0 - 1994
  1469. --
  1470. --**********************************************************************
  1471. NCBI-Seqset DEFINITIONS ::=
  1472. BEGIN
  1473. EXPORTS Bioseq-set, Seq-entry;
  1474. IMPORTS Bioseq, Seq-annot, Seq-descr FROM NCBI-Sequence
  1475.         Object-id, Dbtag, Date FROM NCBI-General;
  1476. --*** Sequence Collections ********************************
  1477. --*
  1478. Bioseq-set ::= SEQUENCE {      -- just a collection
  1479.     id Object-id OPTIONAL ,
  1480.     coll Dbtag OPTIONAL ,          -- to identify a collection
  1481.     level INTEGER OPTIONAL ,       -- nesting level
  1482.     class ENUMERATED {
  1483.         not-set (0) ,
  1484.         nuc-prot (1) ,              -- nuc acid and coded proteins
  1485.         segset (2) ,                -- segmented sequence + parts
  1486.         conset (3) ,                -- constructed sequence + parts
  1487.         parts (4) ,                 -- parts for 2 or 3
  1488.         gibb (5) ,                  -- geninfo backbone
  1489.         gi (6) ,                    -- geninfo
  1490.         genbank (7) ,               -- converted genbank
  1491.         pir (8) ,                   -- converted pir
  1492.         pub-set (9) ,               -- all the seqs from a single publication
  1493.         equiv (10) ,                -- a set of equivalent maps or seqs
  1494.         swissprot (11) ,            -- converted SWISSPROT
  1495.         pdb-entry (12) ,            -- a complete PDB entry
  1496.         mut-set (13) ,              -- set of mutations
  1497.         pop-set (14) ,              -- population study
  1498.         phy-set (15) ,              -- phylogenetic study
  1499. eco-set (16) ,              -- ecological sample study
  1500.         gen-prod-set (17) ,         -- genomic products, chrom+mRNa+protein  
  1501.         other (255) } DEFAULT not-set ,
  1502.     release VisibleString OPTIONAL ,
  1503.     date Date OPTIONAL ,
  1504.     descr Seq-descr OPTIONAL ,
  1505.     seq-set SEQUENCE OF Seq-entry ,
  1506.     annot SET OF Seq-annot OPTIONAL }
  1507. Seq-entry ::= CHOICE {
  1508.         seq Bioseq ,
  1509.         set Bioseq-set } 
  1510. END
  1511. --$Revision: 1000.1 $
  1512. --**********************************************************************
  1513. --
  1514. --  NCBI Sequence elements
  1515. --  by James Ostell, 1990
  1516. --  Version 3.0 - June 1994
  1517. --
  1518. --**********************************************************************
  1519. NCBI-Sequence DEFINITIONS ::=
  1520. BEGIN
  1521. EXPORTS Bioseq, Seq-annot, Pubdesc, Seq-descr, Seqdesc, Numbering, Heterogen,
  1522.         Seq-hist, GIBB-mol;
  1523. IMPORTS Date, Int-fuzz, Dbtag, Object-id, User-object FROM NCBI-General
  1524.         Seq-align FROM NCBI-Seqalign
  1525.         Seq-feat FROM NCBI-Seqfeat
  1526.         Seq-graph FROM NCBI-Seqres
  1527.         Pub-equiv FROM NCBI-Pub
  1528.         Org-ref FROM NCBI-Organism
  1529.         BioSource FROM NCBI-BioSource
  1530.         Seq-id, Seq-loc FROM NCBI-Seqloc
  1531.         GB-block FROM GenBank-General
  1532.         PIR-block FROM PIR-General
  1533.         EMBL-block FROM EMBL-General
  1534.         SP-block FROM SP-General
  1535.         PRF-block FROM PRF-General
  1536.         PDB-block FROM PDB-General;
  1537. --*** Sequence ********************************
  1538. --*
  1539. Bioseq ::= SEQUENCE {
  1540.     id SET OF Seq-id ,            -- equivalent identifiers
  1541.     descr Seq-descr OPTIONAL , -- descriptors
  1542.     inst Seq-inst ,            -- the sequence data
  1543.     annot SET OF Seq-annot OPTIONAL }
  1544. --*** Descriptors *****************************
  1545. --*
  1546. Seq-descr ::= SET OF Seqdesc
  1547. Seqdesc ::= CHOICE {
  1548.     mol-type GIBB-mol ,          -- type of molecule
  1549.     modif SET OF GIBB-mod ,             -- modifiers
  1550.     method GIBB-method ,         -- sequencing method
  1551.     name VisibleString ,         -- a name for this sequence
  1552.     title VisibleString ,        -- a title for this sequence
  1553.     org Org-ref ,                -- if all from one organism
  1554.     comment VisibleString ,      -- a more extensive comment
  1555.     num Numbering ,              -- a numbering system
  1556.     maploc Dbtag ,               -- map location of this sequence
  1557.     pir PIR-block ,              -- PIR specific info
  1558.     genbank GB-block ,           -- GenBank specific info
  1559.     pub Pubdesc ,                -- a reference to the publication
  1560.     region VisibleString ,       -- overall region (globin locus)
  1561.     user User-object ,           -- user defined object
  1562.     sp SP-block ,                -- SWISSPROT specific info
  1563.     dbxref Dbtag ,               -- xref to other databases
  1564.     embl EMBL-block ,            -- EMBL specific information
  1565.     create-date Date ,           -- date entry first created/released
  1566.     update-date Date ,           -- date of last update
  1567.     prf PRF-block ,              -- PRF specific information
  1568.     pdb PDB-block ,              -- PDB specific information
  1569.     het Heterogen ,              -- cofactor, etc associated but not bound
  1570.     source BioSource ,           -- source of materials, includes Org-ref
  1571.     molinfo MolInfo }            -- info on the molecule and techniques
  1572. --******* NOTE:
  1573. --*       mol-type, modif, method, and org are consolidated and expanded
  1574. --*       in Org-ref, BioSource, and MolInfo in this specification. They
  1575. --*       will be removed in later specifications. Do not use them in the
  1576. --*       the future. Instead expect the new structures.
  1577. --*
  1578. --***************************
  1579. --********************************************************************
  1580. --
  1581. -- MolInfo gives information on the
  1582. -- classification of the type and quality of the sequence
  1583. --
  1584. -- WARNING: this will replace GIBB-mol, GIBB-mod, GIBB-method
  1585. --
  1586. --********************************************************************
  1587. MolInfo ::= SEQUENCE {
  1588.     biomol INTEGER {
  1589.         unknown (0) ,
  1590.         genomic (1) ,
  1591.         pre-RNA (2) ,              -- precursor RNA of any sort really 
  1592.         mRNA (3) ,
  1593.         rRNA (4) ,
  1594.         tRNA (5) ,
  1595.         snRNA (6) ,
  1596.         scRNA (7) ,
  1597.         peptide (8) ,
  1598.         other-genetic (9) ,      -- other genetic material
  1599.         genomic-mRNA (10) ,      -- reported a mix of genomic and cdna sequence
  1600. cRNA (11) ,              -- viral RNA genome copy intermediate
  1601.         other (255) } DEFAULT unknown ,
  1602.     tech INTEGER {
  1603.         unknown (0) ,
  1604.         standard (1) ,          -- standard sequencing
  1605.         est (2) ,               -- Expressed Sequence Tag
  1606.         sts (3) ,               -- Sequence Tagged Site
  1607.         survey (4) ,            -- one-pass genomic sequence
  1608.         genemap (5) ,           -- from genetic mapping techniques
  1609.         physmap (6) ,           -- from physical mapping techniques
  1610.         derived (7) ,           -- derived from other data, not a primary entity
  1611.         concept-trans (8) ,     -- conceptual translation
  1612.         seq-pept (9) ,          -- peptide was sequenced
  1613.         both (10) ,             -- concept transl. w/ partial pept. seq.
  1614.         seq-pept-overlap (11) , -- sequenced peptide, ordered by overlap
  1615.         seq-pept-homol (12) ,   -- sequenced peptide, ordered by homology
  1616.         concept-trans-a (13) ,  -- conceptual transl. supplied by author
  1617.         htgs-1 (14) ,           -- unordered High Throughput sequence contig
  1618.         htgs-2 (15) ,           -- ordered High Throughput sequence contig
  1619.         htgs-3 (16) ,           -- finished High Throughput sequence
  1620. fli-cdna (17) ,         -- full length insert cDNA
  1621. htgs-0 (18) ,           -- single genomic reads for coordination
  1622. htc (19) ,              -- high throughput cDNA
  1623.         other (255) }           -- use Source.techexp
  1624.                DEFAULT unknown ,
  1625.     techexp VisibleString OPTIONAL ,   -- explanation if tech not enough
  1626.     completeness INTEGER {
  1627.       unknown (0) ,
  1628.       complete (1) ,                   -- complete biological entity
  1629.       partial (2) ,                    -- partial but no details given
  1630.       no-left (3),                     -- missing 5' or NH3 end
  1631.       no-right (4) ,                   -- missing 3' or COOH end
  1632.       no-ends (5) ,                    -- missing both ends
  1633.       other (255) } DEFAULT unknown }
  1634. GIBB-mol ::= ENUMERATED {       -- type of molecule represented
  1635.     unknown (0) ,
  1636.     genomic (1) ,
  1637.     pre-mRNA (2) ,              -- precursor RNA of any sort really 
  1638.     mRNA (3) ,
  1639.     rRNA (4) ,
  1640.     tRNA (5) ,
  1641.     snRNA (6) ,
  1642.     scRNA (7) ,
  1643.     peptide (8) ,
  1644.     other-genetic (9) ,      -- other genetic material
  1645.     genomic-mRNA (10) ,      -- reported a mix of genomic and cdna sequence
  1646.     other (255) }
  1647.     
  1648. GIBB-mod ::= ENUMERATED {        -- GenInfo Backbone modifiers
  1649.     dna (0) ,
  1650.     rna (1) ,
  1651.     extrachrom (2) ,
  1652.     plasmid (3) ,
  1653.     mitochondrial (4) ,
  1654.     chloroplast (5) ,
  1655.     kinetoplast (6) ,
  1656.     cyanelle (7) ,
  1657.     synthetic (8) ,
  1658.     recombinant (9) ,
  1659.     partial (10) ,
  1660.     complete (11) ,
  1661.     mutagen (12) ,    -- subject of mutagenesis ?
  1662.     natmut (13) ,     -- natural mutant ?
  1663.     transposon (14) ,
  1664.     insertion-seq (15) ,
  1665.     no-left (16) ,    -- missing left end (5' for na, NH2 for aa)
  1666.     no-right (17) ,   -- missing right end (3' or COOH)
  1667.     macronuclear (18) ,
  1668.     proviral (19) ,
  1669.     est (20) ,        -- expressed sequence tag
  1670.     sts (21) ,        -- sequence tagged site
  1671.     survey (22) ,     -- one pass survey sequence
  1672.     chromoplast (23) ,
  1673.     genemap (24) ,    -- is a genetic map
  1674.     restmap (25) ,    -- is an ordered restriction map
  1675.     physmap (26) ,    -- is a physical map (not ordered restriction map)
  1676.     other (255) }
  1677. GIBB-method ::= ENUMERATED {        -- sequencing methods
  1678.     concept-trans (1) ,    -- conceptual translation
  1679.     seq-pept (2) ,         -- peptide was sequenced
  1680.     both (3) ,             -- concept transl. w/ partial pept. seq.
  1681.     seq-pept-overlap (4) , -- sequenced peptide, ordered by overlap
  1682.     seq-pept-homol (5) ,   -- sequenced peptide, ordered by homology
  1683.     concept-trans-a (6) ,  -- conceptual transl. supplied by author
  1684.     other (255) }
  1685.     
  1686. Numbering ::= CHOICE {           -- any display numbering system
  1687.     cont Num-cont ,              -- continuous numbering