pycrate/pycrate_asn1dir/NCBI_201702/seqcode.asn

67 lines
2.7 KiB
Groff

--$Revision: 6.0 $
-- *********************************************************************
--
-- These are code and conversion tables for NCBI sequence codes
-- ASN.1 for the sequences themselves are define in seq.asn
--
-- Seq-map-table and Seq-code-table REQUIRE that codes start with 0
-- and increase continuously. So IUPAC codes, which are upper case
-- letters will always have 65 0 cells before the codes begin. This
-- allows all codes to do indexed lookups for things
--
-- Valid names for code tables are:
-- IUPACna
-- IUPACaa
-- IUPACeaa
-- IUPACaa3 3 letter amino acid codes : parallels IUPACeaa
-- display only, not a data exchange type
-- NCBI2na
-- NCBI4na
-- NCBI8na
-- NCBI8aa
-- NCBIstdaa
-- probability types map to IUPAC types for display as characters
NCBI-SeqCode DEFINITIONS ::=
BEGIN
EXPORTS Seq-code-table, Seq-map-table, Seq-code-set;
Seq-code-type ::= ENUMERATED { -- sequence representations
iupacna (1) , -- IUPAC 1 letter nuc acid code
iupacaa (2) , -- IUPAC 1 letter amino acid code
ncbi2na (3) , -- 2 bit nucleic acid code
ncbi4na (4) , -- 4 bit nucleic acid code
ncbi8na (5) , -- 8 bit extended nucleic acid code
ncbipna (6) , -- nucleic acid probabilities
ncbi8aa (7) , -- 8 bit extended amino acid codes
ncbieaa (8) , -- extended ASCII 1 letter aa codes
ncbipaa (9) , -- amino acid probabilities
iupacaa3 (10) , -- 3 letter code only for display
ncbistdaa (11) } -- consecutive codes for std aas, 0-25
Seq-map-table ::= SEQUENCE { -- for tables of sequence mappings
from Seq-code-type , -- code to map from
to Seq-code-type , -- code to map to
num INTEGER , -- number of rows in table
start-at INTEGER DEFAULT 0 , -- index offset of first element
table SEQUENCE OF INTEGER } -- table of values, in from-to order
Seq-code-table ::= SEQUENCE { -- for names of coded values
code Seq-code-type , -- name of code
num INTEGER , -- number of rows in table
one-letter BOOLEAN , -- symbol is ALWAYS 1 letter?
start-at INTEGER DEFAULT 0 , -- index offset of first element
table SEQUENCE OF
SEQUENCE {
symbol VisibleString , -- the printed symbol or letter
name VisibleString } , -- an explanatory name or string
comps SEQUENCE OF INTEGER OPTIONAL } -- pointers to complement nuc acid
Seq-code-set ::= SEQUENCE { -- for distribution
codes SET OF Seq-code-table OPTIONAL ,
maps SET OF Seq-map-table OPTIONAL }
END