NCBI C Toolkit Cross Reference

C/asn/asnpub.all


  1 --$Revision: 6.5 $
  2 --**********************************************************************
  3 --
  4 --  NCBI General Data elements
  5 --  by James Ostell, 1990
  6 --  Version 3.0 - June 1994
  7 --
  8 --**********************************************************************
  9 
 10 NCBI-General DEFINITIONS ::=
 11 BEGIN
 12 
 13 EXPORTS Date, Person-id, Object-id, Dbtag, Int-fuzz, User-object, User-field;
 14 
 15 -- StringStore is really a VisibleString.  It is used to define very
 16 --   long strings which may need to be stored by the receiving program
 17 --   in special structures, such as a ByteStore, but it's just a hint.
 18 --   AsnTool stores StringStores in ByteStore structures.
 19 -- OCTET STRINGs are also stored in ByteStores by AsnTool
 20 -- 
 21 -- typedef struct bsunit {             /* for building multiline strings */
 22    -- Nlm_Handle str;            /* the string piece */
 23    -- Nlm_Int2 len_avail,
 24        -- len;
 25    -- struct bsunit PNTR next; }       /* the next one */
 26 -- Nlm_BSUnit, PNTR Nlm_BSUnitPtr;
 27 -- 
 28 -- typedef struct bytestore {
 29    -- Nlm_Int4 seekptr,       /* current position */
 30       -- totlen,             /* total stored data length in bytes */
 31       -- chain_offset;       /* offset in ByteStore of first byte in curchain */
 32    -- Nlm_BSUnitPtr chain,       /* chain of elements */
 33       -- curchain;           /* the BSUnit containing seekptr */
 34 -- } Nlm_ByteStore, PNTR Nlm_ByteStorePtr;
 35 --
 36 -- AsnTool incorporates this as a primitive type, so the definition
 37 --   is here just for completeness
 38 -- 
 39 --  StringStore ::= [APPLICATION 1] IMPLICIT OCTET STRING
 40 --
 41 
 42 -- BigInt is really an INTEGER. It is used to warn the receiving code to expect
 43 --   a value bigger than Int4 (actually Int8). It will be stored in DataVal.bigintvalue
 44 --
 45 --   Like StringStore, AsnTool incorporates it as a primitive. The definition would be:
 46 --   BigInt ::= [APPLICATION 2] IMPLICIT INTEGER
 47 --
 48 
 49 -- Date is used to replace the (overly complex) UTCTtime, GeneralizedTime
 50 --  of ASN.1
 51 --  It stores only a date
 52 --
 53 
 54 Date ::= CHOICE {
 55     str VisibleString ,        -- for those unparsed dates
 56     std Date-std }             -- use this if you can
 57 
 58 Date-std ::= SEQUENCE {        -- NOTE: this is NOT a unix tm struct
 59     year INTEGER ,             -- full year (including 1900)
 60     month INTEGER OPTIONAL ,   -- month (1-12)
 61     day INTEGER OPTIONAL ,     -- day of month (1-31)
 62     season VisibleString OPTIONAL ,  -- for "spring", "may-june", etc
 63     hour INTEGER OPTIONAL ,    -- hour of day (0-23)
 64     minute INTEGER OPTIONAL ,  -- minute of hour (0-59)
 65     second INTEGER OPTIONAL }  -- second of minute (0-59)
 66 
 67 -- Dbtag is generalized for tagging
 68 -- eg. { "Social Security", str "023-79-8841" }
 69 -- or  { "member", id 8882224 }
 70 
 71 Dbtag ::= SEQUENCE {
 72     db VisibleString ,          -- name of database or system
 73     tag Object-id }         -- appropriate tag
 74 
 75 -- Object-id can tag or name anything
 76 --
 77 
 78 Object-id ::= CHOICE {
 79     id INTEGER ,
 80     str VisibleString }
 81 
 82 -- Person-id is to define a std element for people
 83 --
 84 
 85 Person-id ::= CHOICE {
 86     dbtag Dbtag ,               -- any defined database tag
 87     name Name-std ,             -- structured name
 88     ml VisibleString ,          -- MEDLINE name (semi-structured)
 89                                 --    eg. "Jones RM"
 90     str VisibleString,          -- unstructured name
 91     consortium VisibleString }  -- consortium name
 92 
 93 Name-std ::= SEQUENCE { -- Structured names
 94     last VisibleString ,
 95     first VisibleString OPTIONAL ,
 96     middle VisibleString OPTIONAL ,
 97     full VisibleString OPTIONAL ,    -- full name eg. "J. John Smith, Esq"
 98     initials VisibleString OPTIONAL,  -- first + middle initials
 99     suffix VisibleString OPTIONAL ,   -- Jr, Sr, III
100     title VisibleString OPTIONAL }    -- Dr., Sister, etc
101 
102 --**** Int-fuzz **********************************************
103 --*
104 --*   uncertainties in integer values
105 
106 Int-fuzz ::= CHOICE {
107     p-m INTEGER ,                    -- plus or minus fixed amount
108     range SEQUENCE {                 -- max to min
109         max INTEGER ,
110         min INTEGER } ,
111     pct INTEGER ,                    -- % plus or minus (x10) 0-1000
112     lim ENUMERATED {                 -- some limit value
113         unk (0) ,                    -- unknown
114         gt (1) ,                     -- greater than
115         lt (2) ,                     -- less than
116         tr (3) ,                     -- space to right of position
117         tl (4) ,                     -- space to left of position
118         circle (5) ,                 -- artificial break at origin of circle
119         other (255) } ,              -- something else
120     alt SET OF INTEGER }             -- set of alternatives for the integer
121 
122 
123 --**** User-object **********************************************
124 --*
125 --*   a general object for a user defined structured data item
126 --*    used by Seq-feat and Seq-descr
127 
128 User-object ::= SEQUENCE {
129     class VisibleString OPTIONAL ,   -- endeavor which designed this object
130     type Object-id ,                 -- type of object within class
131     data SEQUENCE OF User-field }    -- the object itself
132 
133 User-field ::= SEQUENCE {
134     label Object-id ,                -- field label
135     num INTEGER OPTIONAL ,           -- required for strs, ints, reals, oss
136     data CHOICE {                    -- field contents
137         str VisibleString ,
138         int INTEGER ,
139         real REAL ,
140         bool BOOLEAN ,
141         os OCTET STRING ,
142         object User-object ,         -- for using other definitions
143         strs SEQUENCE OF VisibleString ,
144         ints SEQUENCE OF INTEGER ,
145         reals SEQUENCE OF REAL ,
146         oss SEQUENCE OF OCTET STRING ,
147         fields SEQUENCE OF User-field ,
148         objects SEQUENCE OF User-object } }
149 
150 
151 
152 END
153 
154 --$Revision: 6.2 $
155 --****************************************************************
156 --
157 --  NCBI Bibliographic data elements
158 --  by James Ostell, 1990
159 --
160 --  Taken from the American National Standard for
161 --      Bibliographic References
162 --      ANSI Z39.29-1977
163 --  Version 3.0 - June 1994
164 --  PubMedId added in 1996
165 --  ArticleIds and eprint elements added in 1999
166 --
167 --****************************************************************
168 
169 NCBI-Biblio DEFINITIONS ::=
170 BEGIN
171 
172 EXPORTS Cit-art, Cit-jour, Cit-book, Cit-pat, Cit-let, Id-pat, Cit-gen,
173         Cit-proc, Cit-sub, Title, Author, PubMedId;
174 
175 IMPORTS Person-id, Date, Dbtag FROM NCBI-General;
176 
177     -- Article Ids
178 
179 ArticleId ::= CHOICE {         -- can be many ids for an article
180         pubmed PubMedId ,      -- see types below
181         medline MedlineUID ,
182         doi DOI ,
183         pii PII ,
184         pmcid PmcID ,
185         pmcpid PmcPid ,
186         pmpid PmPid ,
187         other Dbtag  }    -- generic catch all
188     
189 PubMedId ::= INTEGER           -- Id from the PubMed database at NCBI
190 MedlineUID ::= INTEGER         -- Id from MEDLINE
191 DOI ::= VisibleString          -- Document Object Identifier
192 PII ::= VisibleString          -- Controlled Publisher Identifier
193 PmcID ::= INTEGER              -- PubMed Central Id
194 PmcPid ::= VisibleString       -- Publisher Id supplied to PubMed Central
195 PmPid ::= VisibleString        -- Publisher Id supplied to PubMed
196 
197 ArticleIdSet ::= SET OF ArticleId
198 
199     -- Status Dates
200 
201 PubStatus ::= INTEGER {            -- points of publication
202     received  (1) ,            -- date manuscript received for review
203     accepted  (2) ,            -- accepted for publication
204     epublish  (3) ,            -- published electronically by publisher
205     ppublish  (4) ,            -- published in print by publisher
206     revised   (5) ,            -- article revised by publisher/author
207     pmc       (6) ,            -- article first appeared in PubMed Central
208     pmcr      (7) ,            -- article revision in PubMed Central
209     pubmed    (8) ,            -- article citation first appeared in PubMed
210     pubmedr   (9) ,            -- article citation revision in PubMed
211     aheadofprint (10),         -- epublish, but will be followed by print
212     premedline (11),           -- date into PreMedline status
213     medline    (12),           -- date made a MEDLINE record
214     other    (255) }
215 
216 PubStatusDate ::= SEQUENCE {   -- done as a structure so fields can be added
217     pubstatus PubStatus ,
218     date Date }                -- time may be added later
219 
220 PubStatusDateSet ::= SET OF PubStatusDate
221     
222     -- Citation Types
223 
224 Cit-art ::= SEQUENCE {                  -- article in journal or book
225     title Title OPTIONAL ,              -- title of paper (ANSI requires)
226     authors Auth-list OPTIONAL ,        -- authors (ANSI requires)
227     from CHOICE {                       -- journal or book
228         journal Cit-jour ,
229         book Cit-book ,
230         proc Cit-proc } ,
231     ids ArticleIdSet OPTIONAL }         -- lots of ids
232 
233 Cit-jour ::= SEQUENCE {             -- Journal citation
234     title Title ,                   -- title of journal
235     imp Imprint }
236 
237 Cit-book ::= SEQUENCE {              -- Book citation
238     title Title ,                    -- Title of book
239     coll Title OPTIONAL ,            -- part of a collection
240     authors Auth-list,               -- authors
241     imp Imprint }
242 
243 Cit-proc ::= SEQUENCE {             -- Meeting proceedings
244     book Cit-book ,                 -- citation to meeting
245     meet Meeting }                  -- time and location of meeting
246 
247     -- Patent number and date-issue were made optional in 1997 to
248     --   support patent applications being issued from the USPTO
249     --   Semantically a Cit-pat must have either a patent number or
250     --   an application number (or both) to be valid
251 
252 Cit-pat ::= SEQUENCE {                  -- patent citation
253     title VisibleString ,
254     authors Auth-list,                  -- author/inventor
255     country VisibleString ,             -- Patent Document Country
256     doc-type VisibleString ,            -- Patent Document Type
257     number VisibleString OPTIONAL,      -- Patent Document Number
258     date-issue Date OPTIONAL,           -- Patent Issue/Pub Date
259     class SEQUENCE OF VisibleString OPTIONAL ,      -- Patent Doc Class Code 
260     app-number VisibleString OPTIONAL , -- Patent Doc Appl Number
261     app-date Date OPTIONAL ,            -- Patent Appl File Date
262     applicants Auth-list OPTIONAL ,     -- Applicants
263     assignees Auth-list OPTIONAL ,      -- Assignees
264     priority SEQUENCE OF Patent-priority OPTIONAL , -- Priorities
265     abstract VisibleString OPTIONAL }   -- abstract of patent
266 
267 Patent-priority ::= SEQUENCE {
268     country VisibleString ,             -- Patent country code
269     number VisibleString ,              -- number assigned in that country
270     date Date }                         -- date of application
271 
272 Id-pat ::= SEQUENCE {                   -- just to identify a patent
273     country VisibleString ,             -- Patent Document Country
274     id CHOICE {
275         number VisibleString ,          -- Patent Document Number
276         app-number VisibleString } ,    -- Patent Doc Appl Number
277     doc-type VisibleString OPTIONAL }   -- Patent Doc Type
278 
279 Cit-let ::= SEQUENCE {                  -- letter, thesis, or manuscript
280     cit Cit-book ,                      -- same fields as a book
281     man-id VisibleString OPTIONAL ,     -- Manuscript identifier
282     type ENUMERATED {
283         manuscript (1) ,
284         letter (2) ,
285         thesis (3) } OPTIONAL }
286                                 -- NOTE: this is just to cite a
287                                 -- direct data submission, see NCBI-Submit
288                                 -- for the form of a sequence submission
289 Cit-sub ::= SEQUENCE {               -- citation for a direct submission
290     authors Auth-list ,              -- not necessarily authors of the paper
291     imp Imprint OPTIONAL ,                       -- this only used to get date.. will go
292     medium ENUMERATED {              -- medium of submission
293         paper   (1) ,
294         tape    (2) ,
295         floppy  (3) ,
296         email   (4) ,
297         other   (255) } OPTIONAL ,
298     date Date OPTIONAL ,              -- replaces imp, will become required
299     descr VisibleString OPTIONAL }    -- description of changes for public view
300     
301 Cit-gen ::= SEQUENCE {      -- NOT from ANSI, this is a catchall
302     cit VisibleString OPTIONAL ,     -- anything, not parsable
303     authors Auth-list OPTIONAL ,
304     muid INTEGER OPTIONAL ,      -- medline uid
305     journal Title OPTIONAL ,
306     volume VisibleString OPTIONAL ,
307     issue VisibleString OPTIONAL ,
308     pages VisibleString OPTIONAL ,
309     date Date OPTIONAL ,
310     serial-number INTEGER OPTIONAL ,   -- for GenBank style references
311     title VisibleString OPTIONAL ,     -- eg. cit="unpublished",title="title"
312         pmid PubMedId OPTIONAL }           -- PubMed Id
313     
314     
315     -- Authorship Group
316 Auth-list ::= SEQUENCE {
317         names CHOICE {
318             std SEQUENCE OF Author ,        -- full citations
319             ml SEQUENCE OF VisibleString ,  -- MEDLINE, semi-structured
320             str SEQUENCE OF VisibleString } , -- free for all
321         affil Affil OPTIONAL }        -- author affiliation
322 
323 Author ::= SEQUENCE {
324     name Person-id ,                        -- Author, Primary or Secondary
325     level ENUMERATED {
326         primary (1),
327         secondary (2) } OPTIONAL ,
328     role ENUMERATED {                   -- Author Role Indicator
329         compiler (1),
330         editor (2),
331         patent-assignee (3),
332         translator (4) } OPTIONAL ,
333     affil Affil OPTIONAL ,
334     is-corr BOOLEAN OPTIONAL }          -- TRUE if corresponding author
335 
336 Affil ::= CHOICE {
337     str VisibleString ,                 -- unparsed string
338     std SEQUENCE {                      -- std representation
339     affil VisibleString OPTIONAL ,      -- Author Affiliation, Name
340     div VisibleString OPTIONAL ,        -- Author Affiliation, Division
341     city VisibleString OPTIONAL ,       -- Author Affiliation, City
342     sub VisibleString OPTIONAL ,        -- Author Affiliation, County Sub
343     country VisibleString OPTIONAL ,    -- Author Affiliation, Country
344     street VisibleString OPTIONAL ,    -- street address, not ANSI
345     email VisibleString OPTIONAL ,
346     fax VisibleString OPTIONAL ,
347     phone VisibleString OPTIONAL ,
348     postal-code VisibleString OPTIONAL }}
349 
350     -- Title Group
351     -- Valid for = A = Analytic (Cit-art)
352     --             J = Journals (Cit-jour)
353     --             B = Book (Cit-book)
354                                                  -- Valid for:
355 Title ::= SET OF CHOICE {
356     name VisibleString ,    -- Title, Anal,Coll,Mono    AJB
357     tsub VisibleString ,    -- Title, Subordinate       A B
358     trans VisibleString ,   -- Title, Translated        AJB
359     jta VisibleString ,     -- Title, Abbreviated        J
360     iso-jta VisibleString , -- specifically ISO jta      J
361     ml-jta VisibleString ,  -- specifically MEDLINE jta  J
362     coden VisibleString ,   -- a coden                   J
363     issn VisibleString ,    -- ISSN                      J
364     abr VisibleString ,     -- Title, Abbreviated         B
365     isbn VisibleString }    -- ISBN                       B
366 
367 Imprint ::= SEQUENCE {                  -- Imprint group
368     date Date ,                         -- date of publication
369     volume VisibleString OPTIONAL ,
370     issue VisibleString OPTIONAL ,
371     pages VisibleString OPTIONAL ,
372     section VisibleString OPTIONAL ,
373     pub Affil OPTIONAL,                     -- publisher, required for book
374     cprt Date OPTIONAL,                     -- copyright date, "    "   "
375     part-sup VisibleString OPTIONAL ,       -- part/sup of volume
376     language VisibleString DEFAULT "ENG" ,  -- put here for simplicity
377     prepub ENUMERATED {                     -- for prepublication citations
378         submitted (1) ,                     -- submitted, not accepted
379         in-press (2) ,                      -- accepted, not published
380         other (255)  } OPTIONAL ,
381     part-supi VisibleString OPTIONAL ,      -- part/sup on issue
382     retract CitRetract OPTIONAL ,           -- retraction info
383     pubstatus PubStatus OPTIONAL ,          -- current status of this publication
384     history PubStatusDateSet OPTIONAL }     -- dates for this record
385 
386 CitRetract ::= SEQUENCE {
387     type ENUMERATED {                    -- retraction of an entry
388         retracted (1) ,               -- this citation retracted
389         notice (2) ,                  -- this citation is a retraction notice
390         in-error (3) ,                -- an erratum was published about this
391         erratum (4) } ,               -- this is a published erratum
392     exp VisibleString OPTIONAL }      -- citation and/or explanation
393 
394 Meeting ::= SEQUENCE {
395     number VisibleString ,
396     date Date ,
397     place Affil OPTIONAL }
398 
399             
400 END
401 
402 
403 --$Revision: 6.0 $
404 --**********************************************************************
405 --
406 --  MEDLINE data definitions
407 --  James Ostell, 1990
408 --
409 --  enhanced in 1996 to support PubMed records as well by simply adding
410 --    the PubMedId and making MedlineId optional
411 --
412 --**********************************************************************
413 
414 NCBI-Medline DEFINITIONS ::=
415 BEGIN
416 
417 EXPORTS Medline-entry, Medline-si;
418 
419 IMPORTS Cit-art, PubMedId FROM NCBI-Biblio
420         Date FROM NCBI-General;
421 
422                                 -- a MEDLINE or PubMed entry
423 Medline-entry ::= SEQUENCE {
424     uid INTEGER OPTIONAL ,      -- MEDLINE UID, sometimes not yet available if from PubMed
425     em Date ,                   -- Entry Month
426     cit Cit-art ,               -- article citation
427     abstract VisibleString OPTIONAL ,
428     mesh SET OF Medline-mesh OPTIONAL ,
429     substance SET OF Medline-rn OPTIONAL ,
430     xref SET OF Medline-si OPTIONAL ,
431     idnum SET OF VisibleString OPTIONAL ,  -- ID Number (grants, contracts)
432     gene SET OF VisibleString OPTIONAL ,
433     pmid PubMedId OPTIONAL ,               -- MEDLINE records may include the PubMedId
434     pub-type SET OF VisibleString OPTIONAL, -- may show publication types (review, etc)
435     mlfield SET OF Medline-field OPTIONAL ,  -- additional Medline field types
436     status INTEGER {
437         publisher (1) ,      -- record as supplied by publisher
438         premedline (2) ,     -- premedline record
439         medline (3) } DEFAULT medline }  -- regular medline record
440 
441 Medline-mesh ::= SEQUENCE {
442     mp BOOLEAN DEFAULT FALSE ,       -- TRUE if main point (*)
443     term VisibleString ,                   -- the MeSH term
444     qual SET OF Medline-qual OPTIONAL }    -- qualifiers
445 
446 Medline-qual ::= SEQUENCE {
447     mp BOOLEAN DEFAULT FALSE ,       -- TRUE if main point
448     subh VisibleString }             -- the subheading
449 
450 Medline-rn ::= SEQUENCE {       -- medline substance records
451     type ENUMERATED {           -- type of record
452         nameonly (0) ,
453         cas (1) ,               -- CAS number
454         ec (2) } ,              -- EC number
455     cit VisibleString OPTIONAL ,  -- CAS or EC number if present
456     name VisibleString }          -- name (always present)
457 
458 Medline-si ::= SEQUENCE {       -- medline cross reference records
459     type ENUMERATED {           -- type of xref
460         ddbj (1) ,              -- DNA Data Bank of Japan
461         carbbank (2) ,          -- Carbohydrate Structure Database
462         embl (3) ,              -- EMBL Data Library
463         hdb (4) ,               -- Hybridoma Data Bank
464         genbank (5) ,           -- GenBank
465         hgml (6) ,              -- Human Gene Map Library
466         mim (7) ,               -- Mendelian Inheritance in Man
467         msd (8) ,               -- Microbial Strains Database
468         pdb (9) ,               -- Protein Data Bank (Brookhaven)
469         pir (10) ,              -- Protein Identification Resource
470         prfseqdb (11) ,         -- Protein Research Foundation (Japan)
471         psd (12) ,              -- Protein Sequence Database (Japan)
472         swissprot (13) ,        -- SwissProt
473         gdb (14) } ,            -- Genome Data Base
474     cit VisibleString OPTIONAL }    -- the citation/accession number
475 
476 Medline-field ::= SEQUENCE {
477     type INTEGER {              -- Keyed type
478         other (0) ,             -- look in line code
479         comment (1) ,           -- comment line
480         erratum (2) } ,         -- retracted, corrected, etc
481     str VisibleString ,         -- the text
482     ids SEQUENCE OF DocRef OPTIONAL }  -- pointers relevant to this text
483 
484 DocRef ::= SEQUENCE {           -- reference to a document
485     type INTEGER {
486         medline (1) ,
487         pubmed (2) ,
488         ncbigi (3) } ,
489     uid INTEGER }
490 
491 END
492 
493 --$Revision: 6.0 $
494 --********************************************************************
495 --
496 --  Publication common set
497 --  James Ostell, 1990
498 --
499 --  This is the base class definitions for Publications of all sorts
500 --
501 --  support for PubMedId added in 1996
502 --********************************************************************
503 
504 NCBI-Pub DEFINITIONS ::=
505 BEGIN
506 
507 EXPORTS Pub, Pub-set, Pub-equiv;
508 
509 IMPORTS Medline-entry FROM NCBI-Medline
510         Cit-art, Cit-jour, Cit-book, Cit-proc, Cit-pat, Id-pat, Cit-gen,
511         Cit-let, Cit-sub, PubMedId FROM NCBI-Biblio;
512 
513 Pub ::= CHOICE {
514     gen Cit-gen ,        -- general or generic unparsed
515     sub Cit-sub ,        -- submission
516     medline Medline-entry ,
517     muid INTEGER ,       -- medline uid
518     article Cit-art ,
519     journal Cit-jour ,
520     book Cit-book ,
521     proc Cit-proc ,      -- proceedings of a meeting
522     patent Cit-pat ,
523     pat-id Id-pat ,      -- identify a patent
524     man Cit-let ,        -- manuscript, thesis, or letter
525     equiv Pub-equiv,     -- to cite a variety of ways
526         pmid PubMedId }      -- PubMedId
527 
528 Pub-equiv ::= SET OF Pub   -- equivalent identifiers for same citation
529 
530 Pub-set ::= CHOICE {
531     pub SET OF Pub ,
532     medline SET OF Medline-entry ,
533     article SET OF Cit-art ,
534     journal SET OF Cit-jour ,
535     book SET OF Cit-book ,
536     proc SET OF Cit-proc ,      -- proceedings of a meeting
537     patent SET OF Cit-pat }
538 
539 END
540 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.