-- $Id: pcassay.asn,v 1.12 2006/01/10 12:54:50 bolton Exp $ -- =========================================================================== -- -- 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 -- -- =========================================================================== NCBI-PCAssay DEFINITIONS ::= BEGIN IMPORTS Pub FROM NCBI-Pub Date, Object-id 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 } -- 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 VisibleString 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 } 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 VisibleString OPTIONAL, -- Depositor provided URL for this Result xref SEQUENCE OF PC-AnnotatedXRef OPTIONAL -- Annotated Cross-Reference Information } -- Substance Tested Assay Results for a given Assay Result Type defined in the referenced Assay Description 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 as defined for TID ival INTEGER, fval REAL, bval BOOLEAN, sval VisibleString } } -- 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. -- -- Note: After initial submission, Users cannot add new Result Definitions or modify existing Result Definitions -- beyond the description text; however, users can change the Assay Description Information, as desired. 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 VisibleString, -- Short Assay Name (for display purposes) description SEQUENCE OF VisibleString OPTIONAL, -- Description of Assay protocol SEQUENCE OF VisibleString OPTIONAL, -- Procedure used to generate results comment SEQUENCE OF VisibleString OPTIONAL, -- Comments or additional information xref SEQUENCE OF PC-AnnotatedXRef OPTIONAL, -- Annotated Cross-Reference Information -- Allowed Assay Result Types results SEQUENCE OF PC-ResultType, -- Result Definitions (vector) -- Additional Information pub SEQUENCE OF Pub OPTIONAL, -- Depositor provided publications for this assay revision INTEGER OPTIONAL -- Revision identifier for textual description } -- 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 VisibleString OPTIONAL -- Annotation qualifier describing Cross-Reference meaning } -- 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 VisibleString, -- Result Field Name (short name for display) description SEQUENCE OF VisibleString 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 none (254), unspecified (255) } OPTIONAL, 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. 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, stransform VisibleString OPTIONAL -- Value Transform Type (as a String) } -- 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 -- =========================================================================== -- $Log: pcassay.asn,v $ -- Revision 1.12 2006/01/10 12:54:50 bolton -- Major change to meaning of PC-ID version, now an assay restatement -- identifier. New revision identifier added to AssayDescription to -- track textual modifications (previous meaning of PC-ID version). -- Replaced "Sequence of Pub" in AssayResults with "Sequence of -- AnnotatedXRef". Added "PC-ID" to the AssaySubmit assay choice. -- -- Revision 1.11 2005/11/30 22:42:18 ywang -- change rank to be optional -- -- Revision 1.10 2005/11/08 13:12:49 bolton -- Added ability to provide publications at the assay description and assay -- result (per SID) level. Also, minor changes to comments and object order. -- -- Revision 1.9 2005/09/29 21:05:52 tkachenk -- PC-AssayResults.data is made optional to be able to handle empty data rows -- -- Revision 1.8 2005/08/02 18:48:08 ywang -- add PC-AssayResultsSet to ease spec mapping -- -- Revision 1.7 2005/08/01 14:43:30 ucko -- Fix comma-misplacement typo in previous revision. -- -- Revision 1.6 2005/08/01 14:17:57 ywang -- make PC-AssayResults version OPTIONAL and put url at the end -- -- Revision 1.5 2005/07/28 17:05:20 bolton -- Major update to the Assay specification streamlining (by elimination) unused -- features, eliminating the assay deposition block, and to add new "revoke" -- feature. -- -- Revision 1.4 2005/03/02 16:18:49 bolton -- Added optional URL for Substance Result. -- -- Revision 1.3 2005/02/04 15:04:39 bolton -- Added assay result ranking. Reorganized order of object definitions. -- -- Revision 1.2 2004/07/13 14:31:17 bolton -- Added PC-XRefData, imported from the PCSubstance specification, to the -- DataSession and AssayDescription blocks. -- -- Revision 1.18 2004/06/10 13:24:18 bolton -- Changes made to in documentation and enumerations to detail that "0" is an -- invalid ID and an invalid enumeration. -- -- Revision 1.17 2004/06/04 11:55:21 bolton -- Added ability to allow external identifiers at all levels. Added improved -- documentation to reflect the current use of various sections of the spec. -- -- Revision 1.16 2004/06/01 14:14:26 bolton -- Forgot to remove PC-Source record at the PC-AssayDescription level. -- -- Revision 1.15 2004/05/28 18:32:52 bolton -- Slightly modified and improved accessioning scheme and associated -- documentation. -- -- Revision 1.14 2004/05/18 12:16:05 bolton -- Assay Data Session and Assay Description tweaks. -- -- Revision 1.13 2004/05/14 10:51:44 bolton -- Switched ordering of PC-AssayDescription and PC-AssayDataSession in the -- PC-AssayContainer Object. -- -- Revision 1.12 2004/05/12 13:05:02 bolton -- Major overhaul of the deposition/accession scheme. Minor tweaks. -- -- Revision 1.11 2004/05/03 12:48:39 bolton -- Added a root container object that holds both assay deposition and assay -- description data. Fixed a minor inconsistency with negative Log 10 label. -- -- Revision 1.10 2004/04/08 11:55:14 bolton -- Removed repeat of "Log" tag. -- -- Revision 1.9 2004/04/08 11:50:42 bolton -- Modifications to allow more/better: X-refs for Assay descriptions; activity -- summarization programmatically; and Result Type units. -- -- Revision 1.8 2004/04/01 19:29:53 bolton -- New version to reflect PubChem group consensus. -- -- Revision 1.7 2004/03/05 16:18:50 bolton -- Removed orphaned "PC-History" and "PC-Replacement". -- -- Revision 1.6 2004/03/04 20:30:14 bolton -- Minor fixes to allow compilation. -- -- Revision 1.5 2004/03/04 20:13:53 bolton -- Continued development of "pcassay", following latest pubchem meeting. -- -- Revision 1.4 2004/03/02 15:20:21 thiessen -- make pcsubstance and pcassay build on UNIX -- -- Revision 1.3 2004/02/27 18:39:28 bolton -- Changes to share "PC-Source" from "pcsubstance" to "pcassay". -- -- Revision 1.2 2004/02/26 15:17:30 bolton -- Minor changes to make "pcassay" library compile. -- -- ===========================================================================