⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 id2.asn

📁 ncbi源码
💻 ASN
字号:
--$Revision: 1000.3 $--********************************************************************----  Network Id server network access--  Vasilchenko 2003------*********************************************************************----  ID2.asn----     messages for id server network access----*********************************************************************NCBI-ID2Access DEFINITIONS ::=BEGINIMPORTS Seq-id, Seq-loc                                 FROM NCBI-Seqloc        ID2S-Chunk-Id, ID2S-Seq-annot-Info              FROM NCBI-Seq-split;------------------------------------------------------------------------------ request types------------------------------------------------------------------------------ Requests are sent in packets to allow sending several requests at once-- to avoid network latency, without possiblity of deadlock with server.-- Server will not start sending replies until it will read the whole packet.ID2-Request-Packet ::= SEQUENCE OF ID2-RequestID2-Request ::= SEQUENCE {        -- request's serial number, can be used in asynchronic clients        -- server should copy it to corresponding field in reply        serial-number  INTEGER OPTIONAL,        params          ID2-Params OPTIONAL,        request CHOICE {                init            NULL,                get-packages    ID2-Request-Get-Packages,                get-seq-id      ID2-Request-Get-Seq-id,                get-blob-id     ID2-Request-Get-Blob-Id,                get-blob-info   ID2-Request-Get-Blob-Info,                reget-blob      ID2-Request-ReGet-Blob,                get-chunks      ID2S-Request-Get-Chunks        }}-- Request for set of params packages know by server.-- Packages can be used to abbreviate parameters of request.ID2-Request-Get-Packages ::= SEQUENCE {        -- return known packages from this list        -- if unset - return all known packages        names           SEQUENCE OF VisibleString OPTIONAL,        -- return packages' names only        no-contents     NULL OPTIONAL}-- Requested sequence ID, can be any string or Seq-id.-- This request will be replied with one or more ID2-Reply-Get-Seq-id.ID2-Request-Get-Seq-id ::= SEQUENCE {        seq-id          ID2-Seq-id,        seq-id-type     INTEGER {                any     (0),    -- return any one Seq-id                gi      (1),    -- gi is preferred                text    (2),    -- text Seq-id (accession etc) is preferred                general (4),    -- general Seq-id is preferred                all     (127)   -- return all Seq-ids of the sequence        } DEFAULT any}ID2-Seq-id ::= CHOICE {        string          VisibleString,        seq-id          Seq-id}-- Return blob-id with specified seq-id.-- This request with be replied with one or more ID2-Reply-Get-Blob-Id.ID2-Request-Get-Blob-Id ::= SEQUENCE {        -- id can be supplied by inner request        seq-id          ID2-Request-Get-Seq-id,        -- return id of blob with sequence        sources         SEQUENCE OF VisibleString OPTIONAL,        -- return Blob-Ids with external features on this Seq-id        external        NULL OPTIONAL}-- Return some information related to the blob.-- This request with be replied with one or more of:--   ID2-Reply-Get-Blob-Seq-ids - if requested by get-seq-ids field--   ID2-Reply-Get-Blob         - if requested by get-data field--   ID2S-Reply-Get-Split-Info--   ID2S-Reply-Get-Chunk-- Last two can be sent in addition to ID2-Reply-Get-Blob-- if the blob is split on the server.-- The replies are made separate to allow server to create replies easier-- from precalculated data. Each of these replies have ID2-Reply-Data field.ID2-Request-Get-Blob-Info ::= SEQUENCE {        -- id can be supplied by inner request        blob-id         CHOICE {                -- id can be supplied by inner request                blob-id         ID2-Blob-Id,                -- generate blob-ids from request                resolve         SEQUENCE {                        request         ID2-Request-Get-Blob-Id,                                                -- server will not send blobs listed here                        exclude-blobs   SEQUENCE OF ID2-Blob-Id OPTIONAL                }        },        -- return in addition list of Seq-ids also resolving to this blob        get-seq-ids     NULL OPTIONAL,        -- level of details requested immediately        -- server will send relevant chunks if blob is splitted        get-data        ID2-Get-Blob-Details OPTIONAL}-- This is similar to FTP reget command.-- It may be unsupported by server.-- It's defined only for plain blobs (returned in ID2-Reply-Get-Blob)-- as all split data comes in small chunks, so reget doesn't make sense.ID2-Request-ReGet-Blob ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- blob split version to resend        split-version   INTEGER,        -- start offset of data to get        offset          INTEGER}-- Request for specific chunks.-- Server will reply with one or more ID2S-Reply-Get-Chunk.ID2S-Request-Get-Chunks ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- requests for specific chunks of splitted blob        chunks          SEQUENCE OF ID2S-Chunk-Id}-- The following structure describes what parts of blob are required-- immediately after ID2-Request-Get-Blob-Info in case blob is split.-- Seq-entry level will have probably the same values as Entry-complexities.ID2-Get-Blob-Details ::= SEQUENCE {        -- reference location for details - can be only part of sequence        location        Seq-loc OPTIONAL,        -- Seq-entry level for all data except descriptors (sequnence, annots)        seq-class-level INTEGER DEFAULT 1,        -- Seq-entry level for descriptors        descr-level     INTEGER DEFAULT 1,        -- mask of descriptor types - see Seqdesc for variants' values        descr-type-mask INTEGER DEFAULT 0,                -- mask of annotation types - see Seq-annot.data for values        annot-type-mask INTEGER DEFAULT 0,        -- mask of feature types - see SeqFeatData for values        feat-type-mask  INTEGER DEFAULT 0,        -- level of sequence data to load        sequence-level  ENUMERATED {                none     (0), -- not required                seq-map  (1), -- at least seq-map                seq-data (2)  -- include seq-data        } DEFAULT none}------------------------------------------------------------------------------ reply types----------------------------------------------------------------------------ID2-Reply ::= SEQUENCE {        -- request's serial number, copy from request        serial-number   INTEGER OPTIONAL,        params          ID2-Params OPTIONAL,        error           SEQUENCE OF ID2-Error OPTIONAL,        -- true if this reply is the last one for the request        -- false if more replies will follow        end-of-reply    NULL OPTIONAL,        -- reply data moved at the end to make it easier to construct        -- the reply data manually from precalculated data        reply CHOICE {                init            NULL,                empty           NULL,                get-package     ID2-Reply-Get-Package,                get-seq-id      ID2-Reply-Get-Seq-id,                get-blob-id     ID2-Reply-Get-Blob-Id,                get-blob-seq-ids    ID2-Reply-Get-Blob-Seq-ids,                get-blob        ID2-Reply-Get-Blob,                reget-blob      ID2-Reply-ReGet-Blob,                get-split-info  ID2S-Reply-Get-Split-Info,                get-chunk       ID2S-Reply-Get-Chunk        },        -- additional error flag if the reply is broken in the middle        -- of transfer.        -- 'last-octet-string', and 'nothing' mean that        -- client may use ReGet request to get the remaining data.        discard         ENUMERATED {                reply             (0),  -- whole reply should be discarded                last-octet-string (1),  -- all data in embedded ID2-Reply-Data                                        -- except last OCTET STRING is correct                nothing           (2)   -- all data in embedded ID2-Reply-Data                                        -- is correct, but is incomplete        } OPTIONAL}ID2-Error ::= SEQUENCE {        severity        ENUMERATED {                -- nothing harmful happened                warning             (1) ,                -- command cannot be completed this time                failed-command      (2) ,                -- connection cannot be reused, reconnect is required                failed-connection   (3) ,                -- server cannot be used for a while                failed-server       (4) ,                -- resolve request gives no data                -- probably temporarily (see retry-delay field)                no-data             (5) ,                -- data exists but client doesn't have permission to get it                restricted-data     (6) ,                -- this request type is not supported by server                unsupported-command (7) ,                -- error in request packet, cannot retry                invalid-arguments   (8)        },        -- client may retry the request after specified time in seconds         retry-delay INTEGER OPTIONAL,        message VisibleString OPTIONAL}-- Reply to ID2-Request-Get-Packages.ID2-Reply-Get-Package ::= SEQUENCE {        name            VisibleString,        params          ID2-Params OPTIONAL}-- Reply to ID2-Request-Get-Seq-id.ID2-Reply-Get-Seq-id ::= SEQUENCE {        -- copy of request        request         ID2-Request-Get-Seq-id,        -- resolved Seq-id        -- not set if error occurred        seq-id          SEQUENCE OF Seq-id OPTIONAL,        -- this Seq-id is the last one in the request        end-of-reply    NULL OPTIONAL}-- Reply to ID2-Request-Get-Blob-Id.ID2-Reply-Get-Blob-Id ::= SEQUENCE {        -- requested Seq-id        seq-id          Seq-id,        -- result        blob-id         ID2-Blob-Id,        -- version of split data        -- (0 for non split)        split-version   INTEGER DEFAULT 0,        -- annotation types in this blob        -- annotation are unknown if this field is omitted        annot-info      SEQUENCE OF ID2S-Seq-annot-Info OPTIONAL,        -- this Blob-id is the last one in the request        end-of-reply    NULL OPTIONAL}-- Reply to ID2-Request-Get-Blob-Info.ID2-Reply-Get-Blob-Seq-ids ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- list of Seq-id resolving to this Blob-Id        -- in compressed format        ids             ID2-Reply-Data OPTIONAL}-- Reply to ID2-Request-Get-Blob-Info.ID2-Reply-Get-Blob ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- version of split data        -- (0 for non split)        split-version   INTEGER DEFAULT 0,        -- whole blob or blob skeleton        -- not set if error occurred        data            ID2-Reply-Data OPTIONAL}-- Reply to ID2-Request-Get-Blob-Info.ID2S-Reply-Get-Split-Info ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- version of split data        split-version   INTEGER,        -- blob split info        -- not set if error occurred        data            ID2-Reply-Data OPTIONAL}-- Reply to ID2-Request-ReGet-Blob.ID2-Reply-ReGet-Blob ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- version of data split        split-version   INTEGER,        -- offset of data        offset          INTEGER,        -- blob split info        -- not set if error occurred        data            ID2-Reply-Data OPTIONAL}-- Reply to ID2S-Request-Get-Chunks.ID2S-Reply-Get-Chunk ::= SEQUENCE {        blob-id         ID2-Blob-Id,        -- id of chunk to send        chunk-id        ID2S-Chunk-Id,        -- chunk data        -- not set if error occurred        data            ID2-Reply-Data OPTIONAL}-- Data packing.ID2-Reply-Data ::= SEQUENCE {        -- index of negotiated types        -- recommended types        --   Seq-entry,        --   ID2S-Split-Info,        --   ID2S-Chunk        data-type       INTEGER {                seq-entry       (0),                seq-annot       (1),                id2s-split-info (2),                id2s-chunk      (3)        } DEFAULT seq-entry,        -- serialization format (ASN.1 binary, ASN.1 text)        -- index of negotiated formats        data-format     INTEGER {                asn-binary      (0),                asn-text        (1),                xml             (2)        } DEFAULT asn-binary,        -- post serialization compression (plain, gzip, etc.)        -- index of negotiated compressions        data-compression INTEGER {                none            (0),                gzip            (1),                nlmzip          (2),                bzip2           (3)        } DEFAULT none,        -- data blob        data            SEQUENCE OF OCTET STRING}-- Data packed within ID2-Reply-Get-Blob-Seq-ids reply.ID2-Blob-Seq-ids ::= SEQUENCE OF ID2-Blob-Seq-idID2-Blob-Seq-id ::= SEQUENCE {        seq-id          Seq-id,                -- this Seq-id is replaced by sequence in another blob        replaced        NULL OPTIONAL}------------------------------------------------------------------------------ utility types----------------------------------------------------------------------------ID2-Blob-Id ::= SEQUENCE {        sat             INTEGER,        sub-sat         INTEGER {                main    (0),                snp     (1),                mgc     (16)        } DEFAULT main,        sat-key         INTEGER,        -- version of blob, optional in some requests        version         INTEGER OPTIONAL}ID2-Params ::= SEQUENCE OF ID2-ParamID2-Param ::= SEQUENCE {        name    VisibleString,        value   SEQUENCE OF VisibleString OPTIONAL,        type    ENUMERATED {                -- no response expected                set-value   (1),                -- this option is for client only                -- server replies with its value of param if known                -- server omits this param in reply if unknown to server                get-value   (2),                -- no direct response expected,                -- but if the param or its value is not supported                -- an error is reported and the request is not be completed                force-value (3),                -- use named package                -- value should be unset                use-package (4)        } DEFAULT set-value}END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -