--$Revision:8$ --DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT --******************************************************************** -- -- BLAST Interface, 1.7 Part 2 -- Warren Gish -- September 1993 -- Last revised: June 1994 -- For a good look, set tabstops every 4 columns -- --******************************************************************** --DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT-DRAFT NCBI-BLAST-2 DEFINITIONS ::= BEGIN IMPORTS BLAST0-Preface, BLAST0-Job-desc, BLAST0-Job-progress, BLAST0-Query, BLAST0-KA-Blk, BLAST0-Db-Desc, BLAST0-Result, BLAST0-Matrix, BLAST0-Warning, BLAST0-Status FROM NCBI-BLAST-1; BLAST0-Request ::= CHOICE { -- list of possible client messages to the server hello VisibleString, -- a client-selectable session name for themselves motd NULL, -- request messages-of-the-day session-get NULL, -- get the server's session parameters session-set BLAST0-Session, -- set the server's session parameters -- (server decides which requests it will actually honor) prog-info NULL, -- request a list of programs available on this server db-info NULL, -- request a list of databases goodbye NULL, search BLAST0-Search } BLAST0-Response ::= CHOICE { -- list of possible server messages to client hello VisibleString, -- server version and session identification data motd BLAST0-Motd, session-get BLAST0-Session, -- response to session-get session-set BLAST0-Session, -- response to session-set prog-info SEQUENCE OF BLAST0-Preface, -- list of programs db-info SEQUENCE OF BLAST0-Db-Info, -- response to BLAST0-Request.db-info ack BLAST0-Ack, -- final response to search, mat-put, mat-del goodbye BLAST0-Ack, -- server-initiated close of connection -- For the blast service, the application programs that perform the search -- are independent entities from the server daemon itself that may -- abort/crash for any one of a variety of reasons. -- Response to a Search request thus consists of a procession of choices -- of the following discrete messages, from "queued" through "status", -- with each one (except "queued") generated by the application program; -- the complete response to a Search request is finally indicated -- when the client receives an "ack" generated by the blast network -- service daemon. If the "ack" is received without a previous "status", -- the client should assume that a severe problem occurred -- in the application program and any output that was received -- should be considered dubious in quality. -- See BLAST0-Outblk for a description of how these discrete messages -- can be bundled together for archival purposes. queued BLAST0-Queued, -- series of these when a search has been queued preface BLAST0-Preface, query BLAST0-Query, dbdesc BLAST0-Db-Desc, matrix SEQUENCE OF BLAST0-Matrix, -- the scoring scheme(s) used kablk SEQUENCE OF BLAST0-KA-Blk, -- Karlin-Altschul statistics data block job-start BLAST0-Job-desc, job-progress BLAST0-Job-progress, job-done BLAST0-Job-progress, result BLAST0-Result, parms SEQUENCE OF VisibleString, -- parameters of search stats SEQUENCE OF VisibleString, -- accumulated search statistics warning BLAST0-Warning, -- see enum in .h files of blast function lib status BLAST0-Status -- see enum in .h files of blast function lib } BLAST0-Motd ::= SEQUENCE OF VisibleString BLAST0-Search ::= SEQUENCE { program VisibleString, database VisibleString, query BLAST0-Query, options SEQUENCE OF VisibleString OPTIONAL -- command line options } BLAST0-Queued ::= SEQUENCE { -- doubles as "I'm alive" message name VisibleString, -- name of this queue length INTEGER -- no. of requests ahead of this one in the queue } BLAST0-Session ::= SEQUENCE { group VisibleString OPTIONAL, -- user's group, regarding permissions priority ENUMERATED { -- execution priority of client requests -- clients might be trusted to some extent to request an appropriate priority, -- particularly if it is not high. interactive-high (7), interactive-med (6), interactive-low (5), batch-high (4), batch-med (3), batch-low (2), scavenger (1), not-set (0) } OPTIONAL, -- session-level limits are the amount remaining for the current session search-max INTEGER OPTIONAL, -- max. no. of searches per session tot-cpu-max INTEGER OPTIONAL, -- max. cpu time (weighted time units) per session tot-real-max INTEGER OPTIONAL, -- max. real time (secs) for session cpu-max INTEGER OPTIONAL, -- max. cpu time (weighted time units) per search real-max INTEGER OPTIONAL, -- max. real time (secs) per single search idle-max INTEGER OPTIONAL, -- max. idle time (seconds) between msgs imalive INTEGER OPTIONAL -- periodicity (seconds) of "I'm alive" messages; -- imalive messages are only sent when a request is pending on the server, -- via the BLAST0-Queued and BLAST0-Job-progress messages. } BLAST0-Db-Info ::= SEQUENCE { desc BLAST0-Db-Desc, dbtags SEQUENCE OF VisibleString,-- FASTA identifier tags found in this db divisions SEQUENCE OF VisibleString, -- list of formal divisions updatedby SEQUENCE OF VisibleString, -- updated by these database(s) contains SEQUENCE OF VisibleString, -- database(s) contained within derivof SEQUENCE OF VisibleString, -- database(s) this one is derived from progs SEQUENCE OF VisibleString -- programs permitted to search this db } BLAST0-Ack ::= SEQUENCE { -- acknowledgment code INTEGER, reason VisibleString OPTIONAL, cpu-used INTEGER OPTIONAL, -- weighted cpu time used this search/session cpu-remains INTEGER OPTIONAL -- weighted cpu time remaining in this session } END