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

生物技术

开发平台:

C/C++

  1. --$Revision: 1000.1 $
  2. --**********************************************************************
  3. --
  4. --  NCBI Sequence elements
  5. --  by James Ostell, 1990
  6. --  Version 3.0 - June 1994
  7. --
  8. --**********************************************************************
  9. NCBI-Sequence DEFINITIONS ::=
  10. BEGIN
  11. EXPORTS Annotdesc, Bioseq, GIBB-mol, Heterogen, Numbering, Pubdesc,
  12.         Seq-annot, Seq-descr, Seq-hist, Seq-literal, Seqdesc;
  13. IMPORTS Date, Int-fuzz, Dbtag, Object-id, User-object FROM NCBI-General
  14.         Seq-align FROM NCBI-Seqalign
  15.         Seq-feat FROM NCBI-Seqfeat
  16.         Seq-graph FROM NCBI-Seqres
  17.         Pub-equiv FROM NCBI-Pub
  18.         Org-ref FROM NCBI-Organism
  19.         BioSource FROM NCBI-BioSource
  20.         Seq-id, Seq-loc FROM NCBI-Seqloc
  21.         GB-block FROM GenBank-General
  22.         PIR-block FROM PIR-General
  23.         EMBL-block FROM EMBL-General
  24.         SP-block FROM SP-General
  25.         PRF-block FROM PRF-General
  26.         PDB-block FROM PDB-General;
  27. --*** Sequence ********************************
  28. --*
  29. Bioseq ::= SEQUENCE {
  30.     id SET OF Seq-id ,            -- equivalent identifiers
  31.     descr Seq-descr OPTIONAL , -- descriptors
  32.     inst Seq-inst ,            -- the sequence data
  33.     annot SET OF Seq-annot OPTIONAL }
  34. --*** Descriptors *****************************
  35. --*
  36. Seq-descr ::= SET OF Seqdesc
  37. Seqdesc ::= CHOICE {
  38.     mol-type GIBB-mol ,          -- type of molecule
  39.     modif SET OF GIBB-mod ,             -- modifiers
  40.     method GIBB-method ,         -- sequencing method
  41.     name VisibleString ,         -- a name for this sequence
  42.     title VisibleString ,        -- a title for this sequence
  43.     org Org-ref ,                -- if all from one organism
  44.     comment VisibleString ,      -- a more extensive comment
  45.     num Numbering ,              -- a numbering system
  46.     maploc Dbtag ,               -- map location of this sequence
  47.     pir PIR-block ,              -- PIR specific info
  48.     genbank GB-block ,           -- GenBank specific info
  49.     pub Pubdesc ,                -- a reference to the publication
  50.     region VisibleString ,       -- overall region (globin locus)
  51.     user User-object ,           -- user defined object
  52.     sp SP-block ,                -- SWISSPROT specific info
  53.     dbxref Dbtag ,               -- xref to other databases
  54.     embl EMBL-block ,            -- EMBL specific information
  55.     create-date Date ,           -- date entry first created/released
  56.     update-date Date ,           -- date of last update
  57.     prf PRF-block ,              -- PRF specific information
  58.     pdb PDB-block ,              -- PDB specific information
  59.     het Heterogen ,              -- cofactor, etc associated but not bound
  60.     source BioSource ,           -- source of materials, includes Org-ref
  61.     molinfo MolInfo }            -- info on the molecule and techniques
  62. --******* NOTE:
  63. --*       mol-type, modif, method, and org are consolidated and expanded
  64. --*       in Org-ref, BioSource, and MolInfo in this specification. They
  65. --*       will be removed in later specifications. Do not use them in the
  66. --*       the future. Instead expect the new structures.
  67. --*
  68. --***************************
  69. --********************************************************************
  70. --
  71. -- MolInfo gives information on the
  72. -- classification of the type and quality of the sequence
  73. --
  74. -- WARNING: this will replace GIBB-mol, GIBB-mod, GIBB-method
  75. --
  76. --********************************************************************
  77. MolInfo ::= SEQUENCE {
  78.     biomol INTEGER {
  79.         unknown (0) ,
  80.         genomic (1) ,
  81.         pre-RNA (2) ,              -- precursor RNA of any sort really 
  82.         mRNA (3) ,
  83.         rRNA (4) ,
  84.         tRNA (5) ,
  85.         snRNA (6) ,
  86.         scRNA (7) ,
  87.         peptide (8) ,
  88.         other-genetic (9) ,      -- other genetic material
  89.         genomic-mRNA (10) ,      -- reported a mix of genomic and cdna sequence
  90.         cRNA (11) ,              -- viral RNA genome copy intermediate
  91.         snoRNA (12) ,            -- small nucleolar RNA
  92.         transcribed-RNA (13) ,   -- transcribed RNA other than existing classes
  93.         other (255) } DEFAULT unknown ,
  94.     tech INTEGER {
  95.         unknown (0) ,
  96.         standard (1) ,          -- standard sequencing
  97.         est (2) ,               -- Expressed Sequence Tag
  98.         sts (3) ,               -- Sequence Tagged Site
  99.         survey (4) ,            -- one-pass genomic sequence
  100.         genemap (5) ,           -- from genetic mapping techniques
  101.         physmap (6) ,           -- from physical mapping techniques
  102.         derived (7) ,           -- derived from other data, not a primary entity
  103.         concept-trans (8) ,     -- conceptual translation
  104.         seq-pept (9) ,          -- peptide was sequenced
  105.         both (10) ,             -- concept transl. w/ partial pept. seq.
  106.         seq-pept-overlap (11) , -- sequenced peptide, ordered by overlap
  107.         seq-pept-homol (12) ,   -- sequenced peptide, ordered by homology
  108.         concept-trans-a (13) ,  -- conceptual transl. supplied by author
  109.         htgs-1 (14) ,           -- unordered High Throughput sequence contig
  110.         htgs-2 (15) ,           -- ordered High Throughput sequence contig
  111.         htgs-3 (16) ,           -- finished High Throughput sequence
  112.         fli-cdna (17) ,         -- full length insert cDNA
  113.         htgs-0 (18) ,           -- single genomic reads for coordination
  114.         htc (19) ,              -- high throughput cDNA
  115.         wgs (20) ,              -- whole genome shotgun sequencing
  116.         other (255) }           -- use Source.techexp
  117.                DEFAULT unknown ,
  118.     techexp VisibleString OPTIONAL ,   -- explanation if tech not enough
  119.     --
  120.     -- Completeness is not indicated in most records.  For genomes, assume
  121.     -- the sequences are incomplete unless specifically marked as complete.
  122.     -- For mRNAs, assume the ends are not known exactly unless marked as
  123.     -- having the left or right end.
  124.     --
  125.     completeness INTEGER {
  126.       unknown (0) ,
  127.       complete (1) ,                   -- complete biological entity
  128.       partial (2) ,                    -- partial but no details given
  129.       no-left (3) ,                    -- missing 5' or NH3 end
  130.       no-right (4) ,                   -- missing 3' or COOH end
  131.       no-ends (5) ,                    -- missing both ends
  132.       has-left (6) ,                   -- 5' or NH3 end present
  133.       has-right (7) ,                  -- 3' or COOH end present
  134.       other (255) } DEFAULT unknown }
  135. GIBB-mol ::= ENUMERATED {       -- type of molecule represented
  136.     unknown (0) ,
  137.     genomic (1) ,
  138.     pre-mRNA (2) ,              -- precursor RNA of any sort really 
  139.     mRNA (3) ,
  140.     rRNA (4) ,
  141.     tRNA (5) ,
  142.     snRNA (6) ,
  143.     scRNA (7) ,
  144.     peptide (8) ,
  145.     other-genetic (9) ,      -- other genetic material
  146.     genomic-mRNA (10) ,      -- reported a mix of genomic and cdna sequence
  147.     other (255) }
  148.     
  149. GIBB-mod ::= ENUMERATED {        -- GenInfo Backbone modifiers
  150.     dna (0) ,
  151.     rna (1) ,
  152.     extrachrom (2) ,
  153.     plasmid (3) ,
  154.     mitochondrial (4) ,
  155.     chloroplast (5) ,
  156.     kinetoplast (6) ,
  157.     cyanelle (7) ,
  158.     synthetic (8) ,
  159.     recombinant (9) ,
  160.     partial (10) ,
  161.     complete (11) ,
  162.     mutagen (12) ,    -- subject of mutagenesis ?
  163.     natmut (13) ,     -- natural mutant ?
  164.     transposon (14) ,
  165.     insertion-seq (15) ,
  166.     no-left (16) ,    -- missing left end (5' for na, NH2 for aa)
  167.     no-right (17) ,   -- missing right end (3' or COOH)
  168.     macronuclear (18) ,
  169.     proviral (19) ,
  170.     est (20) ,        -- expressed sequence tag
  171.     sts (21) ,        -- sequence tagged site
  172.     survey (22) ,     -- one pass survey sequence
  173.     chromoplast (23) ,
  174.     genemap (24) ,    -- is a genetic map
  175.     restmap (25) ,    -- is an ordered restriction map
  176.     physmap (26) ,    -- is a physical map (not ordered restriction map)
  177.     other (255) }
  178. GIBB-method ::= ENUMERATED {        -- sequencing methods
  179.     concept-trans (1) ,    -- conceptual translation
  180.     seq-pept (2) ,         -- peptide was sequenced
  181.     both (3) ,             -- concept transl. w/ partial pept. seq.
  182.     seq-pept-overlap (4) , -- sequenced peptide, ordered by overlap
  183.     seq-pept-homol (5) ,   -- sequenced peptide, ordered by homology
  184.     concept-trans-a (6) ,  -- conceptual transl. supplied by author
  185.     other (255) }
  186.     
  187. Numbering ::= CHOICE {           -- any display numbering system
  188.     cont Num-cont ,              -- continuous numbering
  189.     enum Num-enum ,              -- enumerated names for residues
  190.     ref Num-ref ,                -- by reference to another sequence
  191.     real Num-real }              -- supports mapping to a float system
  192.     
  193. Num-cont ::= SEQUENCE {          -- continuous display numbering system
  194.     refnum INTEGER DEFAULT 1,         -- number assigned to first residue
  195.     has-zero BOOLEAN DEFAULT FALSE ,  -- 0 used?
  196.     ascending BOOLEAN DEFAULT TRUE }  -- ascending numbers?
  197. Num-enum ::= SEQUENCE {          -- any tags to residues
  198.     num INTEGER ,                        -- number of tags to follow
  199.     names SEQUENCE OF VisibleString }    -- the tags
  200. Num-ref ::= SEQUENCE {           -- by reference to other sequences
  201.     type ENUMERATED {            -- type of reference
  202.         not-set (0) ,
  203.         sources (1) ,            -- by segmented or const seq sources
  204.         aligns (2) } ,           -- by alignments given below
  205.     aligns Seq-align OPTIONAL }
  206. Num-real ::= SEQUENCE {          -- mapping to floating point system
  207.     a REAL ,                     -- from an integer system used by Bioseq
  208.     b REAL ,                     -- position = (a * int_position) + b
  209.     units VisibleString OPTIONAL }
  210. Pubdesc ::= SEQUENCE {              -- how sequence presented in pub
  211.     pub Pub-equiv ,                 -- the citation(s)
  212.     name VisibleString OPTIONAL ,   -- name used in paper
  213.     fig VisibleString OPTIONAL ,    -- figure in paper
  214.     num Numbering OPTIONAL ,        -- numbering from paper
  215.     numexc BOOLEAN OPTIONAL ,       -- numbering problem with paper
  216.     poly-a BOOLEAN OPTIONAL ,       -- poly A tail indicated in figure?
  217.     maploc VisibleString OPTIONAL , -- map location reported in paper
  218.     seq-raw StringStore OPTIONAL ,  -- original sequence from paper
  219.     align-group INTEGER OPTIONAL ,  -- this seq aligned with others in paper
  220.     comment VisibleString OPTIONAL, -- any comment on this pub in context
  221. reftype INTEGER {           -- type of reference in a GenBank record
  222. seq (0) ,               -- refers to sequence
  223. sites (1) ,             -- refers to unspecified features
  224. feats (2) ,             -- refers to specified features
  225. no-target (3) }         -- nothing specified (EMBL)
  226. DEFAULT seq }
  227. Heterogen ::= VisibleString       -- cofactor, prosthetic group, inhibitor, etc
  228. --*** Instances of sequences *******************************
  229. --*
  230. Seq-inst ::= SEQUENCE {            -- the sequence data itself
  231.     repr ENUMERATED {              -- representation class
  232.         not-set (0) ,              -- empty
  233.         virtual (1) ,              -- no seq data
  234.         raw (2) ,                  -- continuous sequence
  235.         seg (3) ,                  -- segmented sequence
  236.         const (4) ,                -- constructed sequence
  237.         ref (5) ,                  -- reference to another sequence
  238.         consen (6) ,               -- consensus sequence or pattern
  239.         map (7) ,                  -- ordered map of any kind
  240.         delta (8) ,              -- sequence made by changes (delta) to others
  241.         other (255) } ,
  242.     mol ENUMERATED {               -- molecule class in living organism
  243.         not-set (0) ,              --   > cdna = rna
  244.         dna (1) ,
  245.         rna (2) ,
  246.         aa (3) ,
  247.         na (4) ,                   -- just a nucleic acid
  248.         other (255) } ,
  249.     length INTEGER OPTIONAL ,      -- length of sequence in residues
  250.     fuzz Int-fuzz OPTIONAL ,       -- length uncertainty
  251.     topology ENUMERATED {          -- topology of molecule
  252.         not-set (0) ,
  253.         linear (1) ,
  254.         circular (2) ,
  255.         tandem (3) ,               -- some part of tandem repeat
  256.         other (255) } DEFAULT linear ,
  257.     strand ENUMERATED {            -- strandedness in living organism
  258.         not-set (0) ,
  259.         ss (1) ,                   -- single strand
  260.         ds (2) ,                   -- double strand
  261.         mixed (3) ,
  262.         other (255) } OPTIONAL ,   -- default ds for DNA, ss for RNA, pept
  263.     seq-data Seq-data OPTIONAL ,   -- the sequence
  264.     ext Seq-ext OPTIONAL ,         -- extensions for special types
  265.     hist Seq-hist OPTIONAL }       -- sequence history
  266. --*** Sequence Extensions **********************************
  267. --*  for representing more complex types
  268. --*  const type uses Seq-hist.assembly
  269. Seq-ext ::= CHOICE {
  270.     seg Seg-ext ,        -- segmented sequences
  271.     ref Ref-ext ,        -- hot link to another sequence (a view)
  272.     map Map-ext ,        -- ordered map of markers
  273.     delta Delta-ext }
  274. Seg-ext ::= SEQUENCE OF Seq-loc
  275. Ref-ext ::= Seq-loc
  276. Map-ext ::= SEQUENCE OF Seq-feat
  277. Delta-ext ::= SEQUENCE OF Delta-seq
  278. Delta-seq ::= CHOICE {
  279.     loc Seq-loc ,       -- point to a sequence
  280.     literal Seq-literal }   -- a piece of sequence
  281. Seq-literal ::= SEQUENCE {
  282.     length INTEGER ,         -- must give a length in residues
  283.     fuzz Int-fuzz OPTIONAL , -- could be unsure
  284.     seq-data Seq-data OPTIONAL } -- may have the data
  285. --*** Sequence History Record ***********************************
  286. --** assembly = records how seq was assembled from others
  287. --** replaces = records sequences made obsolete by this one
  288. --** replaced-by = this seq is made obsolete by another(s)
  289. Seq-hist ::= SEQUENCE {
  290.     assembly SET OF Seq-align OPTIONAL ,-- how was this assembled?
  291.     replaces Seq-hist-rec OPTIONAL ,    -- seq makes these seqs obsolete
  292.     replaced-by Seq-hist-rec OPTIONAL , -- these seqs make this one obsolete
  293.     deleted CHOICE {
  294.         bool BOOLEAN ,
  295.         date Date } OPTIONAL }
  296. Seq-hist-rec ::= SEQUENCE {
  297.     date Date OPTIONAL ,
  298.     ids SET OF Seq-id }
  299.     
  300. --*** Various internal sequence representations ************
  301. --*      all are controlled, fixed length forms
  302. Seq-data ::= CHOICE {              -- sequence representations
  303.     iupacna IUPACna ,              -- IUPAC 1 letter nuc acid code
  304.     iupacaa IUPACaa ,              -- IUPAC 1 letter amino acid code
  305.     ncbi2na NCBI2na ,              -- 2 bit nucleic acid code
  306.     ncbi4na NCBI4na ,              -- 4 bit nucleic acid code
  307.     ncbi8na NCBI8na ,              -- 8 bit extended nucleic acid code
  308.     ncbipna NCBIpna ,              -- nucleic acid probabilities
  309.     ncbi8aa NCBI8aa ,              -- 8 bit extended amino acid codes
  310.     ncbieaa NCBIeaa ,              -- extended ASCII 1 letter aa codes
  311.     ncbipaa NCBIpaa ,              -- amino acid probabilities
  312.     ncbistdaa NCBIstdaa }          -- consecutive codes for std aas
  313. IUPACna ::= StringStore       -- IUPAC 1 letter codes, no spaces
  314. IUPACaa ::= StringStore       -- IUPAC 1 letter codes, no spaces
  315. NCBI2na ::= OCTET STRING      -- 00=A, 01=C, 10=G, 11=T
  316. NCBI4na ::= OCTET STRING      -- 1 bit each for agct
  317.                               -- 0001=A, 0010=C, 0100=G, 1000=T/U
  318.                               -- 0101=Purine, 1010=Pyrimidine, etc
  319. NCBI8na ::= OCTET STRING      -- for modified nucleic acids
  320. NCBIpna ::= OCTET STRING      -- 5 octets/base, prob for a,c,g,t,n
  321.                               -- probabilities are coded 0-255 = 0.0-1.0
  322. NCBI8aa ::= OCTET STRING      -- for modified amino acids
  323. NCBIeaa ::= StringStore       -- ASCII extended 1 letter aa codes
  324.                               -- IUPAC codes + U=selenocysteine
  325. NCBIpaa ::= OCTET STRING      -- 25 octets/aa, prob for IUPAC aas in order:
  326.                               -- A-Y,B,Z,X,(ter),anything
  327.                               -- probabilities are coded 0-255 = 0.0-1.0
  328. NCBIstdaa ::= OCTET STRING    -- codes 0-25, 1 per byte
  329. --*** Sequence Annotation *************************************
  330. --*
  331. Annot-id ::= CHOICE {
  332.     local Object-id ,
  333.     ncbi INTEGER ,
  334.     general Dbtag }
  335.     
  336. Annot-descr ::= SET OF Annotdesc
  337. Annotdesc ::= CHOICE {
  338.     name VisibleString ,         -- a short name for this collection
  339.     title VisibleString ,        -- a title for this collection
  340.     comment VisibleString ,      -- a more extensive comment
  341.     pub Pubdesc ,                -- a reference to the publication
  342.     user User-object ,           -- user defined object
  343.     create-date Date ,           -- date entry first created/released
  344.     update-date Date ,           -- date of last update
  345.     src Seq-id ,                 -- source sequence from which annot came
  346.     align Align-def,             -- definition of the SeqAligns
  347.     region Seq-loc }             -- all contents cover this region
  348. Align-def ::= SEQUENCE {
  349.     align-type INTEGER {         -- class of align Seq-annot
  350.       ref (1) ,                  -- set of alignments to the same sequence
  351.       alt (2) ,                  -- set of alternate alignments of the same seqs
  352.       blocks (3) ,               -- set of aligned blocks in the same seqs
  353.       other (255) } ,
  354.     ids SET OF Seq-id OPTIONAL } -- used for the one ref seqid for now
  355. Seq-annot ::= SEQUENCE {
  356.     id SET OF Annot-id OPTIONAL ,
  357.     db INTEGER {                 -- source of annotation
  358.         genbank (1) ,
  359.         embl (2) ,
  360.         ddbj (3) ,
  361.         pir  (4) ,
  362.         sp   (5) ,
  363.         bbone (6) ,
  364.         pdb   (7) ,
  365.         other (255) } OPTIONAL ,
  366.     name VisibleString OPTIONAL ,-- source if "other" above
  367.     desc Annot-descr OPTIONAL ,  -- used only for stand alone Seq-annots
  368.     data CHOICE {
  369.         ftable SET OF Seq-feat ,
  370.         align SET OF Seq-align ,
  371.         graph SET OF Seq-graph ,
  372.         ids SET OF Seq-id ,        -- used for communication between tools
  373.         locs SET OF Seq-loc } }    -- used for communication between tools
  374. END