(original) (raw)
--$Id: pubchem.asn 691039 2024-12-09 14:50:17Z thiessen $ --*************************************************************************** -- -- ASN.1 modules for PubChem -- -- This is simply a concatenation of these NCBI modules: -- general.asn biblio.asn medline.asn pub.asn OrgRef_and_BioSource.asn pcsubstance.asn pcassay.asn -- --*************************************************************************** --$Revision: 691039 $ --********************************************************************** -- -- NCBI General Data elements -- by James Ostell, 1990 -- Version 3.0 - June 1994 -- --********************************************************************** NCBI-General DEFINITIONS ::= BEGIN EXPORTS Date, Person-id, Object-id, Dbtag, Int-fuzz, User-object, User-field; -- StringStore is really a VisibleString. It is used to define very -- long strings which may need to be stored by the receiving program -- in special structures, such as a ByteStore, but it's just a hint. -- AsnTool stores StringStores in ByteStore structures. -- OCTET STRINGs are also stored in ByteStores by AsnTool -- -- typedef struct bsunit { /* for building multiline strings */ -- Nlm_Handle str; /* the string piece */ -- Nlm_Int2 len_avail, -- len; -- struct bsunit PNTR next; } /* the next one */ -- Nlm_BSUnit, PNTR Nlm_BSUnitPtr; -- -- typedef struct bytestore { -- Nlm_Int4 seekptr, /* current position */ -- totlen, /* total stored data length in bytes */ -- chain_offset; /* offset in ByteStore of first byte in curchain */ -- Nlm_BSUnitPtr chain, /* chain of elements */ -- curchain; /* the BSUnit containing seekptr */ -- } Nlm_ByteStore, PNTR Nlm_ByteStorePtr; -- -- AsnTool incorporates this as a primitive type, so the definition -- is here just for completeness -- -- StringStore ::= [APPLICATION 1] IMPLICIT OCTET STRING -- -- BigInt is really an INTEGER. It is used to warn the receiving code to expect -- a value bigger than Int4 (actually Int8). It will be stored in DataVal.bigintvalue -- -- Like StringStore, AsnTool incorporates it as a primitive. The definition would be: -- BigInt ::= [APPLICATION 2] IMPLICIT INTEGER -- -- Date is used to replace the (overly complex) UTCTtime, GeneralizedTime -- of ASN.1 -- It stores only a date -- Date ::= CHOICE { str VisibleString , -- for those unparsed dates std Date-std } -- use this if you can Date-std ::= SEQUENCE { -- NOTE: this is NOT a unix tm struct year INTEGER , -- full year (including 1900) month INTEGER OPTIONAL , -- month (1-12) day INTEGER OPTIONAL , -- day of month (1-31) season VisibleString OPTIONAL , -- for "spring", "may-june", etc hour INTEGER OPTIONAL , -- hour of day (0-23) minute INTEGER OPTIONAL , -- minute of hour (0-59) second INTEGER OPTIONAL } -- second of minute (0-59) -- Dbtag is generalized for tagging -- eg. { "Social Security", str "023-79-8841" } -- or { "member", id 8882224 } Dbtag ::= SEQUENCE { db VisibleString , -- name of database or system tag Object-id } -- appropriate tag -- Object-id can tag or name anything -- Object-id ::= CHOICE { id INTEGER , str VisibleString } -- Person-id is to define a std element for people -- Person-id ::= CHOICE { dbtag Dbtag , -- any defined database tag name Name-std , -- structured name ml VisibleString , -- MEDLINE name (semi-structured) -- eg. "Jones RM" str VisibleString, -- unstructured name consortium VisibleString } -- consortium name Name-std ::= SEQUENCE { -- Structured names last VisibleString , first VisibleString OPTIONAL , middle VisibleString OPTIONAL , full VisibleString OPTIONAL , -- full name eg. "J. John Smith, Esq" initials VisibleString OPTIONAL, -- first + middle initials suffix VisibleString OPTIONAL , -- Jr, Sr, III title VisibleString OPTIONAL } -- Dr., Sister, etc --**** Int-fuzz ********************************************** --* --* uncertainties in integer values Int-fuzz ::= CHOICE { p-m INTEGER , -- plus or minus fixed amount range SEQUENCE { -- max to min max INTEGER , min INTEGER } , pct INTEGER , -- % plus or minus (x10) 0-1000 lim ENUMERATED { -- some limit value unk (0) , -- unknown gt (1) , -- greater than lt (2) , -- less than tr (3) , -- space to right of position tl (4) , -- space to left of position circle (5) , -- artificial break at origin of circle other (255) } , -- something else alt SET OF INTEGER } -- set of alternatives for the integer --**** User-object ********************************************** --* --* a general object for a user defined structured data item --* used by Seq-feat and Seq-descr User-object ::= SEQUENCE { class VisibleString OPTIONAL , -- endeavor which designed this object type Object-id , -- type of object within class data SEQUENCE OF User-field } -- the object itself User-field ::= SEQUENCE { label Object-id , -- field label num INTEGER OPTIONAL , -- required for strs, ints, reals, oss data CHOICE { -- field contents str UTF8String , int INTEGER , real REAL , bool BOOLEAN , os OCTET STRING , object User-object , -- for using other definitions strs SEQUENCE OF UTF8String , ints SEQUENCE OF INTEGER , reals SEQUENCE OF REAL , oss SEQUENCE OF OCTET STRING , fields SEQUENCE OF User-field , objects SEQUENCE OF User-object } } END --$Revision: 691039 $ --**************************************************************** -- -- NCBI Bibliographic data elements -- by James Ostell, 1990 -- -- Taken from the American National Standard for -- Bibliographic References -- ANSI Z39.29-1977 -- Version 3.0 - June 1994 -- PubMedId added in 1996 -- ArticleIds and eprint elements added in 1999 -- --**************************************************************** NCBI-Biblio DEFINITIONS ::= BEGIN EXPORTS Cit-art, Cit-jour, Cit-book, Cit-pat, Cit-let, Id-pat, Cit-gen, Cit-proc, Cit-sub, Title, Author, PubMedId, DOI; IMPORTS Person-id, Date, Dbtag FROM NCBI-General; -- Article Ids ArticleId ::= CHOICE { -- can be many ids for an article pubmed PubMedId , -- see types below medline MedlineUID , doi DOI , pii PII , pmcid PmcID , pmcpid PmcPid , pmpid PmPid , other Dbtag } -- generic catch all PubMedId ::= INTEGER -- Id from the PubMed database at NCBI MedlineUID ::= INTEGER -- Id from MEDLINE DOI ::= VisibleString -- Document Object Identifier PII ::= VisibleString -- Controlled Publisher Identifier PmcID ::= INTEGER -- PubMed Central Id PmcPid ::= VisibleString -- Publisher Id supplied to PubMed Central PmPid ::= VisibleString -- Publisher Id supplied to PubMed ArticleIdSet ::= SET OF ArticleId -- Status Dates PubStatus ::= INTEGER { -- points of publication received (1) , -- date manuscript received for review accepted (2) , -- accepted for publication epublish (3) , -- published electronically by publisher ppublish (4) , -- published in print by publisher revised (5) , -- article revised by publisher/author pmc (6) , -- article first appeared in PubMed Central pmcr (7) , -- article revision in PubMed Central pubmed (8) , -- article citation first appeared in PubMed pubmedr (9) , -- article citation revision in PubMed aheadofprint (10), -- epublish, but will be followed by print premedline (11), -- date into PreMedline status medline (12), -- date made a MEDLINE record other (255) } PubStatusDate ::= SEQUENCE { -- done as a structure so fields can be added pubstatus PubStatus , date Date } -- time may be added later PubStatusDateSet ::= SET OF PubStatusDate -- Citation Types Cit-art ::= SEQUENCE { -- article in journal or book title Title OPTIONAL , -- title of paper (ANSI requires) authors Auth-list OPTIONAL , -- authors (ANSI requires) from CHOICE { -- journal or book journal Cit-jour , book Cit-book , proc Cit-proc } , ids ArticleIdSet OPTIONAL } -- lots of ids Cit-jour ::= SEQUENCE { -- Journal citation title Title , -- title of journal imp Imprint } Cit-book ::= SEQUENCE { -- Book citation title Title , -- Title of book coll Title OPTIONAL , -- part of a collection authors Auth-list, -- authors imp Imprint } Cit-proc ::= SEQUENCE { -- Meeting proceedings book Cit-book , -- citation to meeting meet Meeting } -- time and location of meeting -- Patent number and date-issue were made optional in 1997 to -- support patent applications being issued from the USPTO -- Semantically a Cit-pat must have either a patent number or -- an application number (or both) to be valid Cit-pat ::= SEQUENCE { -- patent citation title VisibleString , authors Auth-list, -- author/inventor country VisibleString , -- Patent Document Country doc-type VisibleString , -- Patent Document Type number VisibleString OPTIONAL, -- Patent Document Number date-issue Date OPTIONAL, -- Patent Issue/Pub Date class SEQUENCE OF VisibleString OPTIONAL , -- Patent Doc Class Code app-number VisibleString OPTIONAL , -- Patent Doc Appl Number app-date Date OPTIONAL , -- Patent Appl File Date applicants Auth-list OPTIONAL , -- Applicants assignees Auth-list OPTIONAL , -- Assignees priority SEQUENCE OF Patent-priority OPTIONAL , -- Priorities abstract VisibleString OPTIONAL } -- abstract of patent Patent-priority ::= SEQUENCE { country VisibleString , -- Patent country code number VisibleString , -- number assigned in that country date Date } -- date of application Id-pat ::= SEQUENCE { -- just to identify a patent country VisibleString , -- Patent Document Country id CHOICE { number VisibleString , -- Patent Document Number app-number VisibleString } , -- Patent Doc Appl Number doc-type VisibleString OPTIONAL } -- Patent Doc Type Cit-let ::= SEQUENCE { -- letter, thesis, or manuscript cit Cit-book , -- same fields as a book man-id VisibleString OPTIONAL , -- Manuscript identifier type ENUMERATED { manuscript (1) , letter (2) , thesis (3) } OPTIONAL } -- NOTE: this is just to cite a -- direct data submission, see NCBI-Submit -- for the form of a sequence submission Cit-sub ::= SEQUENCE { -- citation for a direct submission authors Auth-list , -- not necessarily authors of the paper imp Imprint OPTIONAL , -- this only used to get date.. will go medium ENUMERATED { -- medium of submission paper (1) , tape (2) , floppy (3) , email (4) , other (255) } OPTIONAL , date Date OPTIONAL , -- replaces imp, will become required descr VisibleString OPTIONAL } -- description of changes for public view Cit-gen ::= SEQUENCE { -- NOT from ANSI, this is a catchall cit VisibleString OPTIONAL , -- anything, not parsable authors Auth-list OPTIONAL , muid INTEGER OPTIONAL , -- medline uid journal Title OPTIONAL , volume VisibleString OPTIONAL , issue VisibleString OPTIONAL , pages VisibleString OPTIONAL , date Date OPTIONAL , serial-number INTEGER OPTIONAL , -- for GenBank style references title VisibleString OPTIONAL , -- eg. cit="unpublished",title="title" pmid PubMedId OPTIONAL } -- PubMed Id -- Authorship Group Auth-list ::= SEQUENCE { names CHOICE { std SEQUENCE OF Author , -- full citations ml SEQUENCE OF VisibleString , -- MEDLINE, semi-structured str SEQUENCE OF VisibleString } , -- free for all affil Affil OPTIONAL } -- author affiliation Author ::= SEQUENCE { name Person-id , -- Author, Primary or Secondary level ENUMERATED { primary (1), secondary (2) } OPTIONAL , role ENUMERATED { -- Author Role Indicator compiler (1), editor (2), patent-assignee (3), translator (4) } OPTIONAL , affil Affil OPTIONAL , is-corr BOOLEAN OPTIONAL } -- TRUE if corresponding author Affil ::= CHOICE { str VisibleString , -- unparsed string std SEQUENCE { -- std representation affil VisibleString OPTIONAL , -- Author Affiliation, Name div VisibleString OPTIONAL , -- Author Affiliation, Division city VisibleString OPTIONAL , -- Author Affiliation, City sub VisibleString OPTIONAL , -- Author Affiliation, County Sub country VisibleString OPTIONAL , -- Author Affiliation, Country street VisibleString OPTIONAL , -- street address, not ANSI email VisibleString OPTIONAL , fax VisibleString OPTIONAL , phone VisibleString OPTIONAL , postal-code VisibleString OPTIONAL }} -- Title Group -- Valid for = A = Analytic (Cit-art) -- J = Journals (Cit-jour) -- B = Book (Cit-book) -- Valid for: Title ::= SET OF CHOICE { name VisibleString , -- Title, Anal,Coll,Mono AJB tsub VisibleString , -- Title, Subordinate A B trans VisibleString , -- Title, Translated AJB jta VisibleString , -- Title, Abbreviated J iso-jta VisibleString , -- specifically ISO jta J ml-jta VisibleString , -- specifically MEDLINE jta J coden VisibleString , -- a coden J issn VisibleString , -- ISSN J abr VisibleString , -- Title, Abbreviated B isbn VisibleString } -- ISBN B Imprint ::= SEQUENCE { -- Imprint group date Date , -- date of publication volume VisibleString OPTIONAL , issue VisibleString OPTIONAL , pages VisibleString OPTIONAL , section VisibleString OPTIONAL , pub Affil OPTIONAL, -- publisher, required for book cprt Date OPTIONAL, -- copyright date, " " " part-sup VisibleString OPTIONAL , -- part/sup of volume language VisibleString DEFAULT "ENG" , -- put here for simplicity prepub ENUMERATED { -- for prepublication citations submitted (1) , -- submitted, not accepted in-press (2) , -- accepted, not published other (255) } OPTIONAL , part-supi VisibleString OPTIONAL , -- part/sup on issue retract CitRetract OPTIONAL , -- retraction info pubstatus PubStatus OPTIONAL , -- current status of this publication history PubStatusDateSet OPTIONAL } -- dates for this record CitRetract ::= SEQUENCE { type ENUMERATED { -- retraction of an entry retracted (1) , -- this citation retracted notice (2) , -- this citation is a retraction notice in-error (3) , -- an erratum was published about this erratum (4) } , -- this is a published erratum exp VisibleString OPTIONAL } -- citation and/or explanation Meeting ::= SEQUENCE { number VisibleString , date Date , place Affil OPTIONAL } END --$Revision: 691039 $ --********************************************************************** -- -- MEDLINE data definitions -- James Ostell, 1990 -- -- enhanced in 1996 to support PubMed records as well by simply adding -- the PubMedId and making MedlineId optional -- --********************************************************************** NCBI-Medline DEFINITIONS ::= BEGIN EXPORTS Medline-entry, Medline-si; IMPORTS Cit-art, PubMedId FROM NCBI-Biblio Date FROM NCBI-General; -- a MEDLINE or PubMed entry Medline-entry ::= SEQUENCE { uid INTEGER OPTIONAL , -- MEDLINE UID, sometimes not yet available if from PubMed em Date , -- Entry Month cit Cit-art , -- article citation abstract VisibleString OPTIONAL , mesh SET OF Medline-mesh OPTIONAL , substance SET OF Medline-rn OPTIONAL , xref SET OF Medline-si OPTIONAL , idnum SET OF VisibleString OPTIONAL , -- ID Number (grants, contracts) gene SET OF VisibleString OPTIONAL , pmid PubMedId OPTIONAL , -- MEDLINE records may include the PubMedId pub-type SET OF VisibleString OPTIONAL, -- may show publication types (review, etc) mlfield SET OF Medline-field OPTIONAL , -- additional Medline field types status INTEGER { publisher (1) , -- record as supplied by publisher premedline (2) , -- premedline record medline (3) } DEFAULT medline } -- regular medline record Medline-mesh ::= SEQUENCE { mp BOOLEAN DEFAULT FALSE , -- TRUE if main point (*) term VisibleString , -- the MeSH term qual SET OF Medline-qual OPTIONAL } -- qualifiers Medline-qual ::= SEQUENCE { mp BOOLEAN DEFAULT FALSE , -- TRUE if main point subh VisibleString } -- the subheading Medline-rn ::= SEQUENCE { -- medline substance records type ENUMERATED { -- type of record nameonly (0) , cas (1) , -- CAS number ec (2) } , -- EC number cit VisibleString OPTIONAL , -- CAS or EC number if present name VisibleString } -- name (always present) Medline-si ::= SEQUENCE { -- medline cross reference records type ENUMERATED { -- type of xref ddbj (1) , -- DNA Data Bank of Japan carbbank (2) , -- Carbohydrate Structure Database embl (3) , -- EMBL Data Library hdb (4) , -- Hybridoma Data Bank genbank (5) , -- GenBank hgml (6) , -- Human Gene Map Library mim (7) , -- Mendelian Inheritance in Man msd (8) , -- Microbial Strains Database pdb (9) , -- Protein Data Bank (Brookhaven) pir (10) , -- Protein Identification Resource prfseqdb (11) , -- Protein Research Foundation (Japan) psd (12) , -- Protein Sequence Database (Japan) swissprot (13) , -- SwissProt gdb (14) } , -- Genome Data Base cit VisibleString OPTIONAL } -- the citation/accession number Medline-field ::= SEQUENCE { type INTEGER { -- Keyed type other (0) , -- look in line code comment (1) , -- comment line erratum (2) } , -- retracted, corrected, etc str VisibleString , -- the text ids SEQUENCE OF DocRef OPTIONAL } -- pointers relevant to this text DocRef ::= SEQUENCE { -- reference to a document type INTEGER { medline (1) , pubmed (2) , ncbigi (3) } , uid INTEGER } END --$Revision: 691039 $ --******************************************************************** -- -- Publication common set -- James Ostell, 1990 -- -- This is the base class definitions for Publications of all sorts -- -- support for PubMedId added in 1996 --******************************************************************** NCBI-Pub DEFINITIONS ::= BEGIN EXPORTS Pub, Pub-set, Pub-equiv; IMPORTS Medline-entry FROM NCBI-Medline Cit-art, Cit-jour, Cit-book, Cit-proc, Cit-pat, Id-pat, Cit-gen, Cit-let, Cit-sub, PubMedId FROM NCBI-Biblio; Pub ::= CHOICE { gen Cit-gen , -- general or generic unparsed sub Cit-sub , -- submission medline Medline-entry , muid INTEGER , -- medline uid article Cit-art , journal Cit-jour , book Cit-book , proc Cit-proc , -- proceedings of a meeting patent Cit-pat , pat-id Id-pat , -- identify a patent man Cit-let , -- manuscript, thesis, or letter equiv Pub-equiv, -- to cite a variety of ways pmid PubMedId } -- PubMedId Pub-equiv ::= SET OF Pub -- equivalent identifiers for same citation Pub-set ::= CHOICE { pub SET OF Pub , medline SET OF Medline-entry , article SET OF Cit-art , journal SET OF Cit-jour , book SET OF Cit-book , proc SET OF Cit-proc , -- proceedings of a meeting patent SET OF Cit-pat } END --********************************************************************** -- -- NCBI Organism -- by James Ostell, 1994 -- version 3.0 -- --********************************************************************** NCBI-Organism DEFINITIONS ::= BEGIN EXPORTS Org-ref; IMPORTS Dbtag FROM NCBI-General; --*** Org-ref *********************************************** --* --* Reference to an organism --* defines only the organism.. lower levels of detail for biological --* molecules are provided by the Source object --* Org-ref ::= SEQUENCE { taxname VisibleString OPTIONAL , -- preferred formal name common VisibleString OPTIONAL , -- common name mod SET OF VisibleString OPTIONAL , -- unstructured modifiers db SET OF Dbtag OPTIONAL , -- ids in taxonomic or culture dbases syn SET OF VisibleString OPTIONAL , -- synonyms for taxname or common orgname OrgName OPTIONAL } OrgName ::= SEQUENCE { name CHOICE { binomial BinomialOrgName , -- genus/species type name virus VisibleString , -- virus names are different hybrid MultiOrgName , -- hybrid between organisms namedhybrid BinomialOrgName , -- some hybrids have genus x species name partial PartialOrgName } OPTIONAL , -- when genus not known attrib VisibleString OPTIONAL , -- attribution of name mod SEQUENCE OF OrgMod OPTIONAL , lineage VisibleString OPTIONAL , -- lineage with semicolon separators gcode INTEGER OPTIONAL , -- genetic code (see CdRegion) mgcode INTEGER OPTIONAL , -- mitochondrial genetic code div VisibleString OPTIONAL } -- GenBank division code OrgMod ::= SEQUENCE { subtype INTEGER { strain (2) , substrain (3) , type (4) , subtype (5) , variety (6) , serotype (7) , serogroup (8) , serovar (9) , cultivar (10) , pathovar (11) , chemovar (12) , biovar (13) , biotype (14) , group (15) , subgroup (16) , isolate (17) , common (18) , acronym (19) , dosage (20) , -- chromosome dosage of hybrid nat-host (21) , -- natural host of this specimen sub-species (22) , specimen-voucher (23) , authority (24) , forma (25) , forma-specialis (26) , ecotype (27) , synonym (28) , anamorph (29) , teleomorph (30) , breed (31) , gb-acronym (32) , -- used by taxonomy database gb-anamorph (33) , -- used by taxonomy database gb-synonym (34) , -- used by taxonomy database old-lineage (253) , old-name (254) , other (255) } , -- ASN5: old-name (254) will be added to next spec subname VisibleString , attrib VisibleString OPTIONAL } -- attribution/source of name BinomialOrgName ::= SEQUENCE { genus VisibleString , -- required species VisibleString OPTIONAL , -- species required if subspecies used subspecies VisibleString OPTIONAL } MultiOrgName ::= SEQUENCE OF OrgName -- the first will be used to assign division PartialOrgName ::= SEQUENCE OF TaxElement -- when we don't know the genus TaxElement ::= SEQUENCE { fixed-level INTEGER { other (0) , -- level must be set in string family (1) , order (2) , class (3) } , level VisibleString OPTIONAL , name VisibleString } END --********************************************************************** -- -- NCBI BioSource -- by James Ostell, 1994 -- version 3.0 -- --********************************************************************** NCBI-BioSource DEFINITIONS ::= BEGIN EXPORTS BioSource; IMPORTS Org-ref FROM NCBI-Organism; --******************************************************************** -- -- BioSource gives the source of the biological material -- for sequences -- --******************************************************************** BioSource ::= SEQUENCE { genome INTEGER { -- biological context unknown (0) , genomic (1) , chloroplast (2) , chromoplast (3) , kinetoplast (4) , mitochondrion (5) , plastid (6) , macronuclear (7) , extrachrom (8) , plasmid (9) , transposon (10) , insertion-seq (11) , cyanelle (12) , proviral (13) , virion (14) , nucleomorph (15) , apicoplast (16) , leucoplast (17) , proplastid (18) , endogenous-virus (19) , hydrogenosome (20) , chromosome (21) } DEFAULT unknown , origin INTEGER { unknown (0) , natural (1) , -- normal biological entity natmut (2) , -- naturally occurring mutant mut (3) , -- artificially mutagenized artificial (4) , -- artificially engineered synthetic (5) , -- purely synthetic other (255) } DEFAULT unknown , org Org-ref , subtype SEQUENCE OF SubSource OPTIONAL , is-focus NULL OPTIONAL } -- to distinguish biological focus SubSource ::= SEQUENCE { subtype INTEGER { chromosome (1) , map (2) , clone (3) , subclone (4) , haplotype (5) , genotype (6) , sex (7) , cell-line (8) , cell-type (9) , tissue-type (10) , clone-lib (11) , dev-stage (12) , frequency (13) , germline (14) , rearranged (15) , lab-host (16) , pop-variant (17) , tissue-lib (18) , plasmid-name (19) , transposon-name (20) , insertion-seq-name (21) , plastid-name (22) , country (23) , segment (24) , endogenous-virus-name (25) , transgenic (26) , environmental-sample (27) , isolation-source (28) , lat-lon (29) , -- +/- decimal degrees collection-date (30) , -- DD-MMM-YYYY format collected-by (31) , -- name of person who collected the sample identified-by (32) , -- name of person who identified the sample fwd-primer-seq (33) , -- sequence (possibly more than one; semicolon-separated) rev-primer-seq (34) , -- sequence (possibly more than one; semicolon-separated) fwd-primer-name (35) , rev-primer-name (36) , metagenomic (37) , other (255) } , name VisibleString , attrib VisibleString OPTIONAL } -- attribution/source of this name END -- Id:pubchem.asn6910392024−12−0914:50:17ZthiessenId: pubchem.asn 691039 2024-12-09 14:50:17Z thiessen Id:pubchem.asn6910392024−12−0914:50:17Zthiessen -- =========================================================================== -- -- PUBLIC DOMAIN NOTICE -- National Center for Biotechnology Information -- -- This software/database is a "United States Government Work" under the -- terms of the United States Copyright Act. It was written as part of -- the author's official duties as a United States Government employee and -- thus cannot be copyrighted. This software/database is freely available -- to the public for use. The National Library of Medicine and the U.S. -- Government have not placed any restriction on its use or reproduction. -- -- Although all reasonable efforts have been taken to ensure the accuracy -- and reliability of the software and data, the NLM and the U.S. -- Government do not and cannot warrant the performance or results that -- may be obtained by using this software or data. The NLM and the U.S. -- Government disclaim all warranties, express or implied, including -- warranties of performance, merchantability or fitness for any particular -- purpose. -- -- Please cite the author in any work or product based on this material. -- -- =========================================================================== -- -- Authors: NCBI Structure Group -- -- File Description: -- ASN.1 definitions for PubChem small molecule database -- -- =========================================================================== NCBI-PCSubstance DEFINITIONS ::= BEGIN EXPORTS PC-Substance, PC-Compound, PC-Substances, PC-Compounds, PC-Source, PC-ID, PC-InfoData, PC-XRefData; IMPORTS Pub FROM NCBI-Pub Date, Object-id FROM NCBI-General; -- Root Record for Chemical Substance Definition PC-Substance ::= SEQUENCE { -- Internal Tracking Information sid PC-ID, -- Substance ID/Version [Either valid ID or a "0" dummy -- value, if "source" is to be used] -- Note: Version is for internal use (only?) -- Note: A valid ID is greater than "0" source PC-Source, -- Data Source for this Submission -- Substance Description Information pub SEQUENCE OF Pub OPTIONAL, -- Articles Describing this Substance synonyms SEQUENCE OF VisibleString OPTIONAL, -- Substance Names provided by Depositor comment SEQUENCE OF VisibleString OPTIONAL, -- Comments and Description provided by Depositor xref SEQUENCE OF PC-XRefData OPTIONAL, -- X-Ref/LinkOut Data provided by Depositor -- Structure Description compound PC-Compounds OPTIONAL -- Original Deposited Structure Information } -- Holder for groups of Substances PC-Substances ::= SEQUENCE OF PC-Substance -- ID and Version Description Information PC-ID ::= SEQUENCE { id INTEGER, -- Unique "Global" ID -- Note: Must be greater than "0" or, if invalid, "0" version INTEGER -- Incremented when Depositor updates record -- Note: For Internal Use (only?) } -- Describes Substance Source, if from another database PC-Source ::= CHOICE { individual Pub, -- Individual Submission db PC-DBTracking, -- External DB Submission mmdb PC-MMDBSource -- MMDB Submission (deprecated) } -- External DB Tracking Information PC-DBTracking ::= SEQUENCE { name VisibleString, -- Unique Name of External Database source-id Object-id, -- Primary Unique ID used by External DB date Date OPTIONAL, -- External Database Release Date description VisibleString OPTIONAL, -- External Database Release Code/Description pub Pub OPTIONAL -- Data Submission to same DB by original Author } -- MMDB Source Record detailing specific location or part of an MMDB Record PC-MMDBSource ::= SEQUENCE { mmdb-id INTEGER, -- MMDB Record ID -- Note: Must be greater than "0" or, if invalid, "0" molecule-id INTEGER, -- MMDB Molecule ID -- Note: Must be greater than "0" or, if invalid, "0" molecule-name SEQUENCE OF VisibleString, -- MMDB Molecule Name residue-id INTEGER OPTIONAL, -- Residue ID -- Note: Must be greater than "0" or, if invalid, "0" residue-name VisibleString OPTIONAL, -- Residue Name atom-id INTEGER OPTIONAL, -- Atom ID -- Note: Must be greater than "0" or, if invalid, "0" atom-name VisibleString OPTIONAL -- Atom Name } -- Depositor Provided X-Ref and LinkOut data for Entrez PC-XRefData ::= CHOICE { regid VisibleString, -- External Database Registry ID rn VisibleString, -- Registry Number (e.g., EC Number, CAS Number) mesh VisibleString, -- MESH Index Term pmid INTEGER, -- PubMed ID -- Note: Must be greater than "0" or, if invalid, "0" gi INTEGER, -- GenBank General ID (DEPRECATED) -- Note: Please use protein-gi or nucleotide-gi, if possible -- Note: Must be greater than "0" or, if invalid, "0" mmdb INTEGER, -- MMDB ID -- Note: Must be greater than "0" or, if invalid, "0" sid INTEGER, -- PubChem Substance ID -- Note: Must be greater than "0" or, if invalid, "0" cid INTEGER, -- PubChem Compound ID -- Note: Must be greater than "0" or, if invalid, "0" dburl VisibleString, -- Depositor Source Database Homepage sburl VisibleString, -- Depositor Homepage for a Substance asurl VisibleString, -- Depositor Homepage for an Assay protein-gi INTEGER, -- GenBank General ID for a Protein (DEPRECATED) -- Note: Must be greater than "0" or, if invalid, "0" nucleotide-gi INTEGER, -- GenBank General ID for a Nucleotide (DEPRECATED) -- Note: Must be greater than "0" or, if invalid, "0" taxonomy INTEGER, -- Taxonomy ID for an Organism -- Note: Must be greater than "0" or, if invalid, "0" aid INTEGER, -- PubChem BioAssay ID -- Note: Must be greater than "0" or, if invalid, "0" mim INTEGER, -- MIM, Mendelian Inheritance in Man, Number -- Note: Must be greater than "0" or, if invalid, "0" gene INTEGER, -- Entrez Gene ID -- Note: Must be greater than "0" or, if invalid, "0" probe INTEGER, -- Probe ID -- Note: Must be greater than "0" or, if invalid, "0" biosystem INTEGER, -- BioSystem ID (DEPRECATED) -- Note: Must be greater than "0" or, if invalid, "0" geogse INTEGER, -- Gene Expression Omnibus Series Accession (GEO GSE) ID -- Note: Must be greater than "0" or, if invalid, "0" geogsm INTEGER, -- Gene Expression Omnibus Sample Accession (GEO GSM) ID -- Note: Must be greater than "0" or, if invalid, "0" patent VisibleString, -- Patent Identifier (e.g., USPTO, EPO, WPO, JPO, CPO) protein-accession VisibleString, -- GenBank Accession for a Protein nucleotide-accession VisibleString, -- GenBank Accession for a Nucleotide doi VisibleString, -- digital object identifier (DOI) citation VisibleString, -- citation when PMID or DOI are not available pathway VisibleString -- PubChem Pathway accession } -- Compound Record PC-Compound ::= SEQUENCE { -- Tracking Information id PC-CompoundType, -- Compound Qualifier (Type/ID) atoms PC-Atoms OPTIONAL, -- AtomID/Type Information bonds PC-Bonds OPTIONAL, -- BondID/Type/Atom Information stereo SEQUENCE OF PC-StereoCenter OPTIONAL, -- StereoCenter Descriptions coords SEQUENCE OF PC-Coordinates OPTIONAL, -- 2D/3D Coordinate Sets of Compound charge INTEGER OPTIONAL, -- Provided Total Formal Charge (Signed Integer) props SEQUENCE OF PC-InfoData OPTIONAL, -- Derived (computed) Properties stereogroups SEQUENCE OF PC-StereoGroup OPTIONAL, -- Relative stereochemistry groups count PC-Count OPTIONAL, -- Counts of various properties vbalt PC-Compounds OPTIONAL, -- Alternate Valence-Bond Forms groups SEQUENCE OF PC-Group OPTIONAL -- Superatom groups } -- Holder for groups of Compounds PC-Compounds ::= SEQUENCE OF PC-Compound -- Qualification used to describe the type of Compound deposited, standardized, or derived. -- Please note that mixtures/cocktails may be specified using previously deposited substances. PC-CompoundType ::= SEQUENCE { type INTEGER { -- Compound Qualifier or Type -- For Compound Depositions deposited (0), -- Original Deposited Compound -- For Standardized Compounds standardized (1), -- Standardized Form of a Deposited Compound component (2), -- Component of a Standardized Compound neutralized (3), -- Neutralized Form of a Standardized Compound -- For Mixture/Cocktail Depositions mixture (4), -- Substance that is a component of a mixture -- For Theoretical Compounds tautomer (5), -- Predicted Tautomer Form pka-state (6), -- Predicted Ionized pKa Form unknown (255) -- Unknown Compound Type } OPTIONAL, id CHOICE { -- Compound Namespace and ID (absent for "deposited" type compounds) cid INTEGER, -- Standardized Compound sid INTEGER, -- PubChem Substance (for "mixture" type compounds) xid INTEGER -- PubChem Theoretical Compound } OPTIONAL } -- Superatom group (e.g. from MOL Sgroup) PC-Group ::= SEQUENCE { -- Atoms in this group (list of aid from PC-Atoms, e.g. from MOL FIELD SAL) atoms SEQUENCE OF INTEGER, -- These enumerated values are adapted from the ctfile format specification type INTEGER { -- Type of group (e.g. from MOL field STY) sup (1), -- Superatom mul (2), -- Multiple group sru (3), -- Structure repeat unit (polymer) mon (4), -- Monomer mer (5), -- Mer type cop (6), -- Copolymer cro (7), -- Crosslink mod (8), -- Modification gra (9), -- Graft com (10), -- Component mix (11), -- Mixture for (12), -- Formulation dat (13), -- Data Sgroup any (14), -- Any polymer gen (15), -- Generic unknown (255) }, subtype INTEGER { -- Subtype (e.g. from MOL field SST) alt (1), -- Alternating ran (2), -- Random blo (3), -- Block unknown (255) } OPTIONAL, connectivity INTEGER { -- Connectivity (e.g. from MOL field SCN) hh (1), -- Head-to-head ht (2), -- Head-to-tail eu (3), -- Either unknown unknown (255) } OPTIONAL, label INTEGER OPTIONAL, -- Label (e.g. from MOL field SLB) subscript VisibleString OPTIONAL, -- Subscript (e.g. from MOL field SMT) repeat-count CHOICE { -- Repeat count (e.g. for polymers) exact INTEGER, range SEQUENCE { lower INTEGER, upper INTEGER } } OPTIONAL, -- Special bonds in this group (typically capping/crossing bonds, e.g. from MOL field SBL) -- If present, from and to must be parallel lists of aid from PC-Bonds bonds SEQUENCE { from SEQUENCE OF INTEGER, to SEQUENCE OF INTEGER } OPTIONAL, -- Bracket display (e.g. from MOL field SDI) brackets SEQUENCE { left PC-Bracket, right PC-Bracket } OPTIONAL } -- Display coordinates for a bracket (e.g. from MOL field SDI) PC-Bracket ::= SEQUENCE { x1 REAL, y1 REAL, x2 REAL, y2 REAL } -- Counts of various properties of a Compound PC-Count ::= SEQUENCE { heavy-atom INTEGER, -- Total count of non-Hydrogen (Heavy) Atoms -- StereoChemistry Counts atom-chiral INTEGER, -- Total count of (SP3) Chiral Atoms atom-chiral-def INTEGER, -- Total count of Defined (SP3) Chiral Atoms atom-chiral-undef INTEGER, -- Total count of Undefined (SP3) Chiral Atoms bond-chiral INTEGER, -- Total count of (SP2) Chiral Bonds bond-chiral-def INTEGER, -- Total count of (SP2) Defined Chiral Bonds bond-chiral-undef INTEGER, -- Total count of (SP2) Undefined Chiral Bonds -- Isotopic Counts isotope-atom INTEGER, -- Total count of Atoms with Isotopic Information -- Discrete Structure Counts covalent-unit INTEGER, -- Total count of covalently-bonded units in the record tautomers INTEGER -- Number of possible tautomers (Max. 999) } -- List of atom identifiers which are in a common stereochemistry group. -- All atoms in this group possess the characteristic of the type specified. -- The convention adopted is intended to be compatible with MDL's Enhanced -- Stereochemical Representation white paper. -- An atom can only be member of a single stereo group, and all atoms -- in a stereo group must have a stereo descriptor. -- Stereogroups only apply to stereocenters that can have parity. PC-StereoGroup ::= SEQUENCE { type INTEGER { absolute (1), -- Absolute configuration is known or (2), -- Relative configuration is known (absolute configuration is unknown) and (3), -- Mixture of stereoisomers unknown (255) -- Unknown configuration type }, aid SEQUENCE OF INTEGER -- Atom Identifiers of atoms in this group -- Note: Atom ID's must be greater than "0" } -- Compound Description/Descriptor Data PC-InfoData ::= SEQUENCE { urn PC-Urn, -- Universal Resource Name [for Value Qualification] value CHOICE { -- Data Value bval BOOLEAN, -- Boolean or Binary bvec SEQUENCE OF BOOLEAN, -- Boolean Vector ival INTEGER, -- Integer (signed or unsigned) ivec SEQUENCE OF INTEGER, -- Integer Vector fval REAL, -- Float or Double fvec SEQUENCE OF REAL, -- Double Vector sval VisibleString, -- String slist SEQUENCE OF VisibleString, -- List of Strings date Date, -- Date binary OCTET STRING, -- Binary Data bitlist BIT STRING -- Bit List (specialized version of Boolean vector) } } -- Universal Resource Name -- Provides explicit source information on derived or calculated data PC-Urn ::= SEQUENCE { label VisibleString, -- Generic Name or Label for Display [e.g., "Log P"] name VisibleString OPTIONAL, -- Qualified Name [e.g., "XlogP"] datatype PC-UrnDataType OPTIONAL, -- Specific Data Type of Value [e.g., binary] parameters VisibleString OPTIONAL, -- Implementation Parameter [e.g., "metal=0"] implementation VisibleString OPTIONAL, -- Implementation Name [e.g., "E_XlogP"] version VisibleString OPTIONAL, -- Implementation Version [e.g., "3.317"] software VisibleString OPTIONAL, -- Implementation Software [e.g., "Cactvs"] source VisibleString OPTIONAL, -- Implementation Organization [e.g., "xemistry.com"] release VisibleString OPTIONAL -- NCBI Implementation Release [e.g., "10.25.2005"] } -- URN Data Type -- Provides the ability to use more specific data types than that directly provided by ASN.1. -- Provides for more specific validation of specified data. PC-UrnDataType ::= INTEGER { -- Basic Data Types string (1), -- String [maps to a VisibleString] stringlist (2), -- List of Strings [maps to VisibleString list] int (3), -- 32-Bit Signed Integer [maps to an INTEGER] intvec (4), -- Vector of 32-Bit Signed Integer [maps to INTEGER vector] uint (5), -- 32-Bit Unsigned Integer [maps to an INTEGER] uintvec (6), -- Vector of 32-Bit Unsigned Integer [maps to INTEGER vector] double (7), -- 64-Bit Float [maps to a REAL] doublevec (8), -- Vector of Double [maps to REAL vector] bool (9), -- Boolean or Binary value [maps to a BOOLEAN] boolvec (10), -- Boolean Vector [maps to BOOLEAN vector] -- Specialized Data Types uint64 (11), -- 64-Bit Unsigned Integer (Hex form) [maps to a VisibleString] binary (12), -- Binary Data Blob [maps to an OCTET STRING] url (13), -- URL [maps to a VisibleString] unicode (14), -- UniCode String [maps to a VisibleString] date (15), -- ISO8601 Date [maps to a Date] fingerprint (16), -- Binary Fingerprint (Gzip'ped bit [maps to an OCTET STRING] -- list w/ 4-Byte prefix denoting bit list length) unknown (255) -- Unknown Data Type [maps to a set of VisibleString] } -- Coordinates for the Compound of a given type PC-Coordinates ::= SEQUENCE { type SEQUENCE OF PC-CoordinateType, -- Coordinate Type Information (vector) aid SEQUENCE OF INTEGER, -- Conformer Atom IDs (vector) -- (to be kept synchronized with Conformers) -- Note: Atom ID's must be greater than "0" conformers SEQUENCE OF PC-Conformer OPTIONAL, -- Conformers for this Coordinate Set atomlabels SEQUENCE OF PC-AtomString OPTIONAL, -- Atom labels for Conformer Set data SEQUENCE OF PC-InfoData OPTIONAL -- Data Associated with these Coordinates } -- Drawing/Conformer Definition (in Parallel Arrays, synchronized to aid integer list) -- 3D coordinates are specified in a right-handed coordinate system. For 2D plots, Y axis leads upwards. PC-Conformer ::= SEQUENCE { -- [Note: Parallel Arrays must be kept Synchronized] x SEQUENCE OF REAL, -- X Coordinates (vector) y SEQUENCE OF REAL, -- Y Coordinates (vector) z SEQUENCE OF REAL OPTIONAL, -- Z Coordinates (vector) style PC-DrawAnnotations OPTIONAL, -- Structure Annotations data SEQUENCE OF PC-InfoData OPTIONAL -- Data Associated with this Conformer } -- Holder for groups of Conformers PC-Conformers ::= SEQUENCE OF PC-Conformer -- Coordinate Set Type Distinctions PC-CoordinateType ::= INTEGER { twod (1), -- 2D Coordinates threed (2), -- 3D Coordinates (should also indicate units, below) submitted (3), -- Depositor Provided Coordinates experimental (4), -- Experimentally Determined Coordinates computed (5), -- Computed Coordinates standardized (6), -- Standardized Coordinates augmented (7), -- Hybrid Original with Computed Coordinates (e.g., explicit H) aligned (8), -- Template used to align drawing compact (9), -- Drawing uses shorthand forms (e.g., COOH, OCH3, Et, etc.) units-angstroms (10), -- (3D) Coordinate units are Angstroms units-nanometers (11), -- (3D) Coordinate units are nanometers units-pixel (12), -- (2D) Coordinate units are pixels units-points (13), -- (2D) Coordinate units are points units-stdbonds (14), -- (2D) Coordinate units are standard bond lengths (1.0) units-unknown (255) -- Coordinate units are unknown or unspecified } -- Drawing Annotations (in Parallel Arrays) -- [Note: A pair of atoms can have multiple annotations] PC-DrawAnnotations ::= SEQUENCE { -- [Note: Parallel Arrays must be kept Synchronized] annotation SEQUENCE OF PC-BondAnnotation, -- Bond Annotations (vector) aid1 SEQUENCE OF INTEGER, -- Atom1 Identifier (vector) -- Note: Atom ID's must be greater than "0" aid2 SEQUENCE OF INTEGER -- Atom2 Identifier (vector) -- Note: Atom ID's must be greater than "0" } -- Atom-Atom Annotation Information PC-BondAnnotation ::= INTEGER { crossed (1), -- Double Bond that can be both Cis/Trans dashed (2), -- Hydrogen-Bond (3D Only?) wavy (3), -- Unknown Stereochemistry dotted (4), -- Complex/Fractional wedge-up (5), -- Above-Plane wedge-down (6), -- Below-Plane arrow (7), -- Dative aromatic (8), -- Aromatic resonance (9), -- Resonance bold (10), -- Fat Bond (Non-Specific User Interpreted Information) fischer (11), -- Interpret Bond Stereo using Fischer Conventions closeContact (12), -- Identification of Atom-Atom Close Contacts (3D Only) unknown (255) -- Unspecified or Unknown Atom-Atom Annotation } -- Atom Information (in Parallel Arrays) PC-Atoms ::= SEQUENCE { -- [Note: Parallel Arrays must be kept Synchronized] aid SEQUENCE OF INTEGER, -- Atom Identifiers (vector) -- Note: Atom ID's must be greater than "0" element SEQUENCE OF PC-Element, -- Atomic Numbers (vector) -- Independent Arrays of ID-Value Pairs (Technically allows multiple values per Atom) label SEQUENCE OF PC-AtomString OPTIONAL, -- Atom labels isotope SEQUENCE OF PC-AtomInt OPTIONAL, -- Isotopic Information charge SEQUENCE OF PC-AtomInt OPTIONAL, -- Formal Charges radical SEQUENCE OF PC-AtomRadical OPTIONAL, -- Radical Information source SEQUENCE OF PC-AtomSource OPTIONAL, -- E.g. identity of MMDB "R" groups comment SEQUENCE OF PC-AtomString OPTIONAL -- Atom Comments } -- Specification of an Association between an Atom Identifier and Source PC-AtomSource ::= SEQUENCE { aid INTEGER, -- Atom Identifier for the R-Group Source -- Note: Atom ID's must be greater than "0" source PC-MMDBSource -- Atom Specific MMDB Record } -- Specification of an Association between an Atom Identifier and an Integer Value PC-AtomInt ::= SEQUENCE { aid INTEGER, -- Atom Identifier for the Value -- Note: Atom ID's must be greater than "0" value INTEGER -- Value Associated to the ID } -- Specification of an Association between an Atom Identifier and a String Value PC-AtomString ::= SEQUENCE { aid INTEGER, -- Atom Identifier for the Value -- Note: Atom ID's must be greater than "0" value VisibleString -- Value Associated to the ID } -- Rudimentary Atom Electronic Configuration Designation PC-AtomRadical ::= SEQUENCE { aid INTEGER, -- Atom Identifier for the Value -- Note: Atom ID's must be greater than "0" type INTEGER { -- Type of Atom Radical singlet (1), -- Open-Shell Singlet doublet (2), -- Open-Shell Doublet triplet (3), -- Open-Shell Triplet quartet (4), -- Open-Shell Quartet quintet (5), -- Open-Shell Quintet hextet (6), -- Open-Shell Hextet heptet (7), -- Open-Shell Quintet octet (8), -- Open-Shell Octet none (255) -- Closed-Shell Singlet } } -- Element Information [which may contain "illegal" element values] PC-Element::= INTEGER { -- Illegal Atom Numbers that may be Interpreted to be something else a (255), -- Unspecified Atom (Asterick) d (254), -- Dummy Atom r (253), -- Rgroup Label lp (252), -- Lone Pair -- Elements h (1), he (2), li (3), be (4), b (5), c (6), n (7), o (8), f (9), ne(10), na(11), mg(12), al(13), si(14), p (15), s (16), cl(17), ar(18), k (19), ca(20), sc(21), ti(22), v (23), cr(24), mn(25), fe(26), co(27), ni(28), cu(29), zn(30), ga(31), ge(32), as(33), se(34), br(35), kr(36), rb(37), sr(38), y (39), zr(40), nb(41), mo(42), tc(43), ru(44), rh(45), pd(46), ag(47), cd(48), in(49), sn(50), sb(51), te(52), i (53), xe(54), cs(55), ba(56), la(57), ce(58), pr(59), nd(60), pm(61), sm(62), eu(63), gd(64), tb(65), dy(66), ho(67), er(68), tm(69), yb(70), lu(71), hf(72), ta(73), w (74), re(75), os(76), ir(77), pt(78), au(79), hg(80), tl(81), pb(82), bi(83), po(84), at(85), rn(86), fr(87), ra(88), ac(89), th(90), pa(91), u(92), np(93), pu(94), am(95), cm(96), bk(97), cf(98), es(99), fm(100), md(101), no(102), lr(103), rf(104), db(105), sg(106), bh(107), hs(108), mt(109), ds(110), rg(111), cn(112), nh(113), fl(114), mc(115), lv(116), ts(117), og(118) } -- Bond Description Information (in Parallel Arrays) PC-Bonds ::= SEQUENCE { -- [Note: Parallel Arrays must be kept Synchronized] aid1 SEQUENCE OF INTEGER, -- Atom1 Identifier (vector) -- Note: Atom ID's must be greater than "0" aid2 SEQUENCE OF INTEGER, -- Atom2 Identifier (vector) -- Note: Atom ID's must be greater than "0" order SEQUENCE OF PC-BondType -- Bond Type Information (vector) } -- Bond Type Information PC-BondType ::= INTEGER { single (1), -- Single Bond double (2), -- Double Bond triple (3), -- Triple Bond quadruple (4), -- Quadruple Bond dative (5), -- Dative Bond complex (6), -- Complex Bond ionic (7), -- Ionic Bond unknown (255) -- Unknown/Unspecified Connectivity } -- Allowed Stereogenic Center Types -- [Using IUPAC Stereogenic Center recommendations and terminology] PC-StereoCenter ::= CHOICE { tetrahedral PC-StereoTetrahedral, -- Tetrahedral (SP3) StereoCenter planar PC-StereoPlanar, -- Planar (SP2) StereoCenter squareplanar PC-StereoSquarePlanar, -- Square Planar (SP4) StereoCenter octahedral PC-StereoOctahedral, -- Octahedral (OC-6) / Square Pyramid (SPY-5) StereoCenters bipyramid PC-StereoTrigonalBiPyramid, -- Trigonal BiPyramid (TBPY-4 and TBPY-5) StereoCenters tshape PC-StereoTShape, -- T-Shaped (TS-3) StereoCenters pentagonal PC-StereoPentagonalBiPyramid -- Pentagonal BiPyramid (PBPY-7) StereoCenters } -- SP3 Tetrahedral StereoCenter, Trigonal Pyramid Stereogenic Center, -- Cumulenic StereoCenter (Linear systems of an even number of double bonds), -- or Hindered biaryl stereocenter (All biaryls have hindered rotation that -- to some extent the ortho-hydrogens prevent coplanarity) -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoTetrahedral ::= SEQUENCE { center INTEGER, -- Atom Identifier of Atom Center -- Note: Atom ID's must be greater than "0" above INTEGER, -- Atom Identifier of Atom Above the Plane -- Note: Atom ID's must be greater than "0" top INTEGER, -- Atom Identifier of Atom In-Plane and at the Top -- Note: Atom ID's must be greater than "0" bottom INTEGER, -- Atom Identifier of Atom In-Plane and at the Bottom -- Note: Atom ID's must be greater than "0" below INTEGER, -- Atom Identifier of Atom Below the Plane -- Note: Atom ID's must be greater than "0" parity INTEGER { -- StereoCenter Designation clockwise (1), counterclockwise (2), any (3), unknown (255) } OPTIONAL, type INTEGER { -- Type of StereoCenter, Tetrahedral, if not specified tetrahedral (1), -- Tetrahedral StereoCenter cumulenic (2), -- Cumulenic StereoCenter biaryl (3) -- Biaryl StereoCenter } OPTIONAL } -- SP2 Planar Stereogenic Center, Cumulenic StereoCenter (Linear systems on an odd -- number of double bonds present planar stereochemistry) -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoPlanar ::= SEQUENCE { left INTEGER, -- Atom ID of Left Double Bond Atom -- Note: Atom ID's must be greater than "0" ltop INTEGER, -- Atom ID of Top Atom attached to the Left Double Bond Atom -- Note: Atom ID's must be greater than "0" lbottom INTEGER, -- Atom ID of Bottom Atom attached to the Left Double Bond Atom -- Note: Atom ID's must be greater than "0" right INTEGER, -- Atom ID of Right Double Bond Atom -- Note: Atom ID's must be greater than "0" rtop INTEGER, -- Atom ID of Top Atom attached to the Right Double Bond Atom -- Note: Atom ID's must be greater than "0" rbottom INTEGER, -- Atom ID of Bottom Atom attached to the Right Double Bond Atom -- Note: Atom ID's must be greater than "0" parity INTEGER { -- StereoCenter Designation same (1), opposite (2), any (3), unknown (255) } OPTIONAL, type INTEGER { -- Type of StereoCenter, SP2 Planar, if not specified planar (1), -- SP2 Planar StereoCenter cumulenic (2) -- Cumulenic StereoCenter } OPTIONAL } -- Square Planar (SP4) StereoCenters -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoSquarePlanar ::= SEQUENCE { center INTEGER, -- Atom ID of Atom Center -- Note: Atom ID's must be greater than "0" lbelow INTEGER, -- Atom ID of Left Below Plane Atom -- Note: Atom ID's must be greater than "0" rbelow INTEGER, -- Atom ID of Right Below Plane Atom -- Note: Atom ID's must be greater than "0" labove INTEGER, -- Atom ID of Left Above Plane Atom -- Note: Atom ID's must be greater than "0" rabove INTEGER, -- Atom ID of Right Above Plane Atom -- Note: Atom ID's must be greater than "0" parity INTEGER { -- StereoCenter Type u-shape (1), -- U shaped isomer (labove-lbelow-rbelow-rabove) z-shape (2), -- Z shaped isomer (labove-rabove-lbelow-rbelow) x-shape (3), -- X shaped isomer (labove-rbelow-rabove-lbelow) any (4), -- Nonspecific mixture of isomers unknown (255) } OPTIONAL } -- Octahedral (OC-6) and Square Pyramid (SPY-5) StereoCenters -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoOctahedral ::= SEQUENCE { center INTEGER, -- Atom ID of Atom Center -- Note: Atom ID's must be greater than "0" top INTEGER, -- Atom ID of Atom In-Plane and at the Top -- Note: Atom ID's must be greater than "0" bottom INTEGER, -- Atom ID of Atom In-Plane and at the Bottom -- Note: Atom ID's must be greater than "0" labove INTEGER, -- Atom ID of Atom Above the Plane on the Left -- Note: Atom ID's must be greater than "0" lbelow INTEGER, -- Atom ID of Atom Below the Plane on the Left -- Note: Atom ID's must be greater than "0" rabove INTEGER, -- Atom ID of Atom Above the Plane on the Right -- Note: Atom ID's must be greater than "0" rbelow INTEGER -- Atom ID of Atom Below the Plane on the Right -- Note: Atom ID's must be greater than "0" } -- Trigonal BiPyramid (TBPY-4 and TBPY-5) StereoCenters -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoTrigonalBiPyramid ::= SEQUENCE { center INTEGER, -- Atom ID of Atom Center -- Note: Atom ID's must be greater than "0" above INTEGER, -- Atom ID of Atom Above the Plane -- Note: Atom ID's must be greater than "0" below INTEGER, -- Atom ID of Atom Below the Plane -- Note: Atom ID's must be greater than "0" top INTEGER, -- Atom ID of Atom In-Plane and at the Top -- Note: Atom ID's must be greater than "0" bottom INTEGER, -- Atom ID of Atom In-Plane and at the Bottom -- Note: Atom ID's must be greater than "0" right INTEGER -- Atom ID of Atom In-Plane and to the Right -- Note: Atom ID's must be greater than "0" } -- T-Shaped (TS-3) StereoCenters -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoTShape ::= SEQUENCE { center INTEGER, -- Atom ID of Atom Center -- Note: Atom ID's must be greater than "0" top INTEGER, -- Atom ID of Atom In-Plane and at the Top -- Note: Atom ID's must be greater than "0" bottom INTEGER, -- Atom ID of Atom In-Plane and at the Bottom -- Note: Atom ID's must be greater than "0" above INTEGER -- Atom ID of Atom Above the Plane -- Note: Atom ID's must be greater than "0" } -- Pentagonal BiPyramid (PBPY-7) StereoCenters -- [Using IUPAC Stereogenic Center recommendations and terminology] -- [Note: "-1" can be used for the Atom Identifier to represent a lone-pair or implicit hydrogen] PC-StereoPentagonalBiPyramid ::= SEQUENCE { center INTEGER, -- Atom ID of Atom Center -- Note: Atom ID's must be greater than "0" top INTEGER, -- Atom ID of Atom In-Plane and at the Top -- Note: Atom ID's must be greater than "0" bottom INTEGER, -- Atom ID of Atom In-Plane and at the Bottom -- Note: Atom ID's must be greater than "0" left INTEGER, -- Atom ID of Atom In-Plane and at the Left -- Note: Atom ID's must be greater than "0" labove INTEGER, -- Atom ID of Atom Above the Plane on the Left -- Note: Atom ID's must be greater than "0" lbelow INTEGER, -- Atom ID of Atom Below the Plane on the Left -- Note: Atom ID's must be greater than "0" rabove INTEGER, -- Atom ID of Atom Above the Plane on the Right -- Note: Atom ID's must be greater than "0" rbelow INTEGER -- Atom ID of Atom Below the Plane on the Right -- Note: Atom ID's must be greater than "0" } END -- Id:pubchem.asn6910392024−12−0914:50:17ZthiessenId: pubchem.asn 691039 2024-12-09 14:50:17Z thiessen Id:pubchem.asn6910392024−12−0914:50:17Zthiessen -- =========================================================================== -- -- PUBLIC DOMAIN NOTICE -- National Center for Biotechnology Information -- -- This software/database is a "United States Government Work" under the -- terms of the United States Copyright Act. It was written as part of -- the author's official duties as a United States Government employee and -- thus cannot be copyrighted. This software/database is freely available -- to the public for use. The National Library of Medicine and the U.S. -- Government have not placed any restriction on its use or reproduction. -- -- Although all reasonable efforts have been taken to ensure the accuracy -- and reliability of the software and data, the NLM and the U.S. -- Government do not and cannot warrant the performance or results that -- may be obtained by using this software or data. The NLM and the U.S. -- Government disclaim all warranties, express or implied, including -- warranties of performance, merchantability or fitness for any particular -- purpose. -- -- Please cite the author in any work or product based on this material. -- -- =========================================================================== -- -- Authors: NCBI Structure Group -- -- File Description: -- ASN.1 definitions for PubChem biological assay data database (PCAssay2) -- -- =========================================================================== NCBI-PCAssay2 DEFINITIONS ::= BEGIN IMPORTS BioSource FROM NCBI-BioSource Date FROM NCBI-General PC-ID, PC-Source, PC-XRefData FROM NCBI-PCSubstance; -- EXPORTS ; -- Container for multiple Assay Data Submissions PC-AssayContainer ::= SEQUENCE OF PC-AssaySubmit -- Container for Data Depositions and Assay Definitions PC-AssaySubmit ::= SEQUENCE { assay CHOICE { -- Assay Description or pre-existing Identifier aid INTEGER, -- Assay Identifier aid-source PC-Source, -- External Assay Identifier descr PC-AssayDescription, -- Assay Description (new or updated) aidver PC-ID -- Assay Identifier/Version (for internal use) }, data SEQUENCE OF PC-AssayResults OPTIONAL, -- Assay Data Deposition (vector) revoke SEQUENCE OF INTEGER OPTIONAL -- List of SID's whose data is to be suppressed (vector) } -- Container for multiple Assay Result Sets -- PC-AssayResultsSet ::= SEQUENCE OF PC-AssayResults -- Assay Results provided for a given Substance tested, with respect to the results types defined in the -- referenced Assay Description PC-AssayResults ::= SEQUENCE { -- Internal/External Tracking Information sid INTEGER, -- Tested Substance ID/Version [Either valid ID or, -- if "sid-source" is used, this is a "0" value] -- Note: A valid ID is greater than "0" sid-source PC-Source OPTIONAL, -- External Identifier for this Substance -- Note: May be used in-lieu of "sid" -- Note: This is non-optional if "sid" is "0" version INTEGER OPTIONAL, -- Version identifier for this AID-SID Result -- Note: Incoming data should set this to be "0" -- Data Annotation/Qualifier and URL to further Depositor Information comment UTF8String OPTIONAL, -- Annotation or qualifier for this Result -- Assay Result Data for this Sample -- Note: Users need populate only those "tid"s, for which there is data, in any order. outcome INTEGER { -- Assay Outcome inactive (1), -- Substance is considered Inactive active (2), -- Substance is considered Active inconclusive (3), -- Substance is Inconclusive unspecified (4), -- Substance Outcome is Unspecified probe (5) -- Substance Outcome is Unspecified } DEFAULT unspecified, rank INTEGER OPTIONAL, -- Rank of Assay Outcome (for result ordering) -- Note: Larger numbers are more active data SEQUENCE OF PC-AssayData OPTIONAL, -- Assay Data Reported for this SID (vector) url UTF8String OPTIONAL, -- Depositor provided URL for this Result xref SEQUENCE OF PC-AnnotatedXRef OPTIONAL, -- annotated Cross-Reference Information -- to be removed, -- instead regulard TID will be generated -- which are then annotated by xref type date Date OPTIONAL -- Pubchem Release Date } -- Assay Readouts/Results for a Tested Substance PC-AssayData ::= SEQUENCE { tid INTEGER, -- Assay Result Field Type ID (TID) -- Note: Result Field ID's must be greater than "0" value CHOICE { -- Assay Result, must be the same type as defined for TID ival INTEGER, fval REAL, bval BOOLEAN, sval UTF8String } } -- Assay Description provided by an Organization that describes the assay/protocol performed and defines the -- measured end-points and parameters to be stored. An Assay Description is not a database table. You can -- define as many Result Definitions as needed and they need not be used by all Substances tested. -- Assay Descriptions can be modified on both description text and Result Definitions after initial submission -- as desired, and such udpates will be tracked in PubChem PC-AssayDescription ::= SEQUENCE { -- Internal/External Tracking Information aid PC-ID, -- Assay Description ID/Version [Either valid ID -- or, if "aid-source" is used, a "0" dummy value] -- Note: Version is for internal use (only?) -- Note: A valid ID is greater than "0" aid-source PC-Source OPTIONAL, -- External Identifier for this Assay Description -- Note: May be used in-lieu of "aid" -- Note: This is non-optional if "aid" ID is "0" -- Assay Description Information name UTF8String, -- Short Assay Name (for display purposes) description SEQUENCE OF UTF8String OPTIONAL, -- Description of Assay protocol SEQUENCE OF UTF8String OPTIONAL, -- Procedure used to generate results comment SEQUENCE OF UTF8String OPTIONAL, -- Comments or additional information xref SEQUENCE OF PC-AnnotatedXRef OPTIONAL, -- Annotated Cross-Reference Information -- Allowed Assay Result Types results SEQUENCE OF PC-ResultType OPTIONAL, -- Result Definitions (vector) -- Additional Information -- pub SEQUENCE OF Pub OPTIONAL, Depositor provided publications for this assay (never used) revision INTEGER OPTIONAL, -- Revision identifier for textual description target SEQUENCE OF PC-AssayTargetInfo OPTIONAL, -- Target information activity-outcome-method INTEGER { -- Assay Outcome Qualifier other (0), -- All Other Type screening (1), -- Primary Screen Assay confirmatory (2), -- Confirmatory Assay summary (3) -- Probe Summary Assay } OPTIONAL, dr SEQUENCE OF PC-AssayDRAttr OPTIONAL, -- Dose-Response Attribution substance-type INTEGER { small-molecule (1), nucleotide (2), other (255) } OPTIONAL, -- to distinguish the type of substance used in the screening -- Grant and project category information grant-number SEQUENCE OF VisibleString OPTIONAL, -- grant proposal number -- required for 'MLSCN' & 'MLPCN' projects project-category INTEGER { -- to distinguish projects funded through MLSCN, MLPCN or other mlscn (1), -- assay depositions from MLSCN screen center mlpcn (2), -- assay depositions from MLPCN screen center mlscn-ap (3), -- assay depositions from MLSCN assay provider mlpcn-ap (4), -- assay depositions from MLPCN assay provider journal-article (5), -- to be deprecated and replaced by option 7, 8 & 9 assay-vendor (6), -- assay depositions from assay vendors literature-extracted (7), -- data from literature, extracted by curators literature-author (8), -- data from literature, submitted by author of articles literature-publisher (9), -- data from literature, submitted by journals/publishers rnaigi (10), -- RNAi screenings from RNAi Global Initiative other (255) } OPTIONAL, assay-group SEQUENCE OF VisibleString OPTIONAL, -- annotation for assay gruop information, e.g. this -- assay belongs to a group of assay associated by -- a unique name, e.g. the value assigned to 'assay-group', -- assays belonging to this group can be -- retrieved using this unique name -- it is depositor's responsibility to make the name -- distinct if necessary -- this can be used as the mechanism to specify 'related bioassays' -- before hand so it is not necessary to update the descriptions of -- related assays when new group member submitted to PubChem -- is-mlp-late-stage BOOLEAN OPTIONAL, verification for 'late-stage-data' deposition (never used) categorized-comment SEQUENCE OF PC-CategorizedComment OPTIONAL -- to report categorized description/comment by associating with a category title } -- Definition for Categorized description/comment -- This field is added to provide flexibility for depositors to present textual description/comments in a desirable way -- and to facilitate information validation by the depositor and data exchange with PubChem PC-CategorizedComment ::= SEQUENCE { title UTF8String, -- title for the description/comment comment SEQUENCE OF UTF8String -- description/comment content } -- Assay Dose-response attribute information used to define a set of readouts -- as being part of a dose-response curve (for curve plotting/analysis) PC-AssayDRAttr ::=SEQUENCE { id INTEGER, -- Unique dose-response test set identifier -- Note: A valid ID is greater than "0" descr UTF8String OPTIONAL, -- Dose-Response Curve Description (used as curve title) dn UTF8String OPTIONAL, -- Dose Axis Description (used as axis name) rn UTF8String OPTIONAL, -- Response Axis Description (used as axis name) type INTEGER { experimental (0), -- dose-response data points measured directly by experiment calculated (1) -- dose-response data points derived from fitted curve } OPTIONAL } -- Molecular target information provides by organization describes the functionality of the target, -- facilitates the linking between PubChem bioassays, and the linking between target molecule to other NCBI resources PC-AssayTargetInfo ::= SEQUENCE { name UTF8String, -- Molecular name of target mol-id CHOICE { -- database and identifier of the target molecule gene-id INTEGER, -- target is a NCBI Gene ID protein-accession VisibleString, -- target is a NCBI Protein Accession nucleotide-accession VisibleString, -- target is a NCBI Nucleotide Accession other VisibleString, -- target is beyond supported type (format = TYPE::RESOURCE::IDENTIFIER) tax-id INTEGER -- target is a NCBI Taxonomy ID }, organism BioSource OPTIONAL, -- Target Organism descr UTF8String OPTIONAL, -- Target Description (e.g., cellular functionality and location) comment SEQUENCE OF UTF8String OPTIONAL -- Comments or Additional Information } -- Annotated Cross-Reference (XRef) Information to allow the XRef to be qualified, as to its meaning or context PC-AnnotatedXRef ::= SEQUENCE { xref PC-XRefData, -- Cross-Reference Information comment UTF8String OPTIONAL, -- Annotation qualifier describing Cross-Reference meaning type INTEGER { pcit (1), -- primary PMID/citation directly associated with the current assay data pgene (2) -- gene encoding the protein assay target } OPTIONAL } -- Definition of Allowed Result Types for a given Assay PC-ResultType ::= SEQUENCE { -- Tracking or Description Information tid INTEGER, -- Assay Result Field Type ID (TID) name UTF8String, -- Result Field Name (short name for display) description SEQUENCE OF UTF8String OPTIONAL, -- Result Field Description -- Result Data Type and Validation Information type INTEGER { -- Result Data Type float (1), int (2), bool (3), string (4) }, constraints CHOICE { -- Allowed Values, used for validating incoming data -- If type is "float" fset SEQUENCE OF REAL, -- Allowed values must be equal to one of these fmin REAL, -- Allowed values (x) must be [ fmin <= x ] fmax REAL, -- Allowed values (x) must be [ x <= fmax ] frange PC-RealMinMax, -- Minimum/Maximum Range [ min <= x <= max ] -- If type is "int" iset SEQUENCE OF INTEGER, -- Allowed values must be equal to one of these imin INTEGER, -- Allowed values (x) must be [ imin <= x ] imax INTEGER, -- Allowed values (x) must be [ x <= imax ] irange PC-IntegerMinMax, -- Minimum/Maximum Range [ min <= x <= max ] -- If type is "string" sset SEQUENCE OF VisibleString -- Allowed values must be equal to one of these } OPTIONAL, -- Unit information provides the units for the values reported for this TID. For example, if the values -- reported for this TID are a concentration, e.g., micro-molar, setting the unit "um" allows PubChem to -- know that the value, e.g., "1.3", is actually "1.3 uM". This also allows PubChem to properly report the -- units when displaying the reported values for this TID. If the enumerated units provided below are -- insufficient, you may represent the units as a string in the optional "sunit" field (see below). unit INTEGER { -- Units for Value ppt (1), -- Parts per Thousand ppm (2), -- Parts per Million ppb (3), -- Parts per Billion mm (4), -- milliM um (5), -- microM nm (6), -- nanoM pm (7), -- picoM fm (8), -- femtoM mgml (9), -- milligrams per mL ugml (10), -- micrograms per mL ngml (11), -- nanograms per mL pgml (12), -- picograms per mL fgml (13), -- femtograms per mL m (14), -- Molar percent (15), -- Percent ratio (16), -- Ratio sec (17), -- Seconds rsec (18), -- Reciprocal Seconds min (19), -- Minutes rmin (20), -- Reciprocal Minutes day (21), -- Days rday (22), -- Reciprocal Days ml-min-kg (23), -- milliliter / minute / kilogram l-kg (24), -- liter / kilogram hr-ng-ml (25), -- hour * nanogram / milliliter cm-sec (26), -- centimeter / second mg-kg (27), -- milligram / kilogram none (254), unspecified (255) } OPTIONAL, -- ATTENTION: sunit field is DEPRECATED. It is no longer -- supported and remains for legacy data only. sunit VisibleString OPTIONAL, -- Unit Type (as a String) -- Value Transform information qualifies the values reported for this TID. For example, if the values -- reported for this TID are "-Log10 GI50", you may want to consider setting -- the "nlog" value below. In doing so, PubChem would know that the value, e.g., "5.0" -- is actually "1.0e-5". If the transformation applied is not listed, you may represent -- this transformation as a string in the "stransform" (see below) for eventual inclusion -- in the enumerated transform list below. -- -- -- ATTENTION: transform field is DEPRECATED. It is no longer -- supported and remains for legacy data only. transform INTEGER { -- Value Type Details linear (1), -- Linear Scale (x) ln (2), -- Natural Log Scale (ln x) log (3), -- Log Base 10 Scale (log10 x) reciprocal (4), -- Reciprocal Scale (1/x) negative (5), -- Negative Linear Scale (-x) nlog (6), -- Negative Log Base 10 Scale (-log10 x) nln (7) -- Negative Natural Log Scane (-ln x) } OPTIONAL, -- ATTENTION: stransform field is DEPRECATED. It is no longer -- supported and remains for legacy data only. -- stransform VisibleString OPTIONAL, Value Transform Type as a string (never used) tc PC-ConcentrationAttr OPTIONAL, -- Tested concentration attribute ac BOOLEAN OPTIONAL, -- if true, indicates that this TID field -- provides active concentration summary by -- reporting the concentration which produces -- 50% of the maximum possible biological response -- such as IC50, EC50, AC50, GI50 etc. -- or by reporting constant parameters such as Ki, -- that based on which the activity outcome in this assay is called ac-qualifier BOOLEAN OPTIONAL, -- endpoint qualifier (e.g. <, <=, =, >, >=) associated with the ac field above annot INTEGER { pmid (1), -- PubMed ID mmdb (2), -- MMDB ID url (3), -- indicate TID data is a url that provides supplementary information -- protein-gi (4), GenBank General ID (GI) for a Protein -- nucleotide-gi (5), GenBank General ID (GI) for a Nucleotide taxonomy (6), -- Taxonomy ID for an Organism mim (7), -- MIM, Mendelian Inheritance in Man, ID gene (8), -- Entrez Gene ID probe (9), -- Entrez Probe ID aid (10), -- PubChem BioAssay ID, may be used in 'Summary' assay sid (11), -- PubChem Substance ID, may be used in 'Summary' assay cid (12), -- PubChem Compound ID -- protein-target-gi (13), GenBank General ID (GI) for a Protein target -- biosystems-target-id (14), NCBI BioSystems ID target-name (15), -- target name target-descr (16), -- brief target description target-tax-id (17), -- NCBI Taxonomy ID for target molecule gene-target-id (18), -- NCBI Gene ID for a gene target -- dna-nucleotide-target-gi (19), GenBank General ID (GI) for a DNA Nucleotide target -- rna-nucleotide-target-gi (20), GenBank General ID (GI) for a RNA Nucleotide target protein-target-accession (21), -- GenBank Accession for a Protein target nucleotide-target-accession (22), -- GenBank Accession for a DNA/RNA Nucleotide target other (255) -- for identifier types not currently support } OPTIONAL -- treat substance associated cross-reference as regular TID -- web servers would make a link -- to the corresponding record in Entrez databases -- treat substance associated target information as regular TID -- for example, for RNAi screening data, each 'substance' may -- correspond to a specific gene target } --The concentration attribute is to indicate that the readout under this test result field is biological concentration-response data, the attribute provides the value and unit of the tested concentration PC-ConcentrationAttr ::= SEQUENCE { concentration REAL, unit INTEGER { -- Units for Concentration um (5) -- microM }, dr-id INTEGER OPTIONAL -- Dose-Response Attribution ID (if applicable) } -- Mininum and Maximum Constraints on an Integer Value (used for validating incoming data) PC-IntegerMinMax ::= SEQUENCE { min INTEGER, -- Minimum Value Allowed max INTEGER -- Maximum Value Allowed } -- Mininum and Maximum Constraints on a Real Value (used for validating incoming data) PC-RealMinMax ::= SEQUENCE { min REAL, -- Minimum Value Allowed max REAL -- Maximum Value Allowed } END