-- $Id: pcsubstance.asn 109801 2007-09-01 13:57:01Z bolton $ -- =========================================================================== -- -- 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 -- 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 -- Note: Must be greater than "0" or, if invalid, "0" nucleotide-gi INTEGER, -- GenBank General ID for a Nucleotide -- 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" } -- 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 } -- 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 } -- 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) } -- 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