An Overview of the Concepts Concerning the Distributed Annotation System (DAS/1)
The full specification, available at http://www.biodas.org/documents/spec-1.6.html, serves as the primary source for this document and will be plagiarized without explicit notice. Any reference to this document will be made through the convention Specs.
(Definitions later defined are italicized; queries are bolded; optional portions within names are [bracketed].)
Distributed Annotation System (DAS)
A client-server system for the sharing of Reference Sequences, a system conceptually composed of a Reference Server and Annotation Server(s).
A sequence, consisting of a set of entry points into the sequence and of the lengths of each entry point, which possesses a reference sequence ID.
[Reference] Sequence ID
The identification for a sequence, which corresponds to sequences of either a low-level (e.g., clones) or a high-level (e.g., contigs) and which is composed of any set of printable characters, save for the colon, newline, tab, and carriage return characters.
A position defined for each genome at which the server may begin dispensing data for a sequence, for a given length (of variable size), e.g., the head of a chromosome, the beginning of a series of contigs, and the beginning of a contig. A list of entry points for a given species may be retrieved via entry_points.
A server specialized for returning lists of annotations across a certain segment of the genome.
Reference [Sequence] Server
An annotation server that, given a reference sequence ID, can also return the following data:
- The raw DNA of the sequence;
- The annotations of the "component" of a category (E.g., a contig is the component of a chromosome; thus, reference servers can return the annotation for a contig);
- The annotations of "supercomponents" of a category (E.g., a chromosome is the supercomponent of a contig.).
An entity which:
- Is anchored to the genome map via a stop and start value relative to the reference subsequence;
- Possesses an ID unique to the server and a structured description of its nature and attributes;
- Optionally associated with Web URLs providing human-readable information about the annotation (via link);
- Possesses types, methods, and categories.
An entity selected from a list of types which have biological significance and which roughly correspond to EMBL/GenBank feature table tags, e.g., exon, intron, CDS, and splice3.
A description of how the annotated feature was discovered, possibly including a reference to a software program.
A intentionally broad functional genre that can be used to filter, group, and sort annotations, e.g., homology, variation, and transcribed. (For the sake of consistency, cf. Specs: "Feature Types and Categories" for a general list of types and categories.)
A project containing data on DAS (a list of which may be retrieved via dsn).
The server's non-binding recommendations on formatting retrieved annotations for a given source (via stylesheet), using a General Feature Format (GFF) document. (Cf., Specs: "The Queries: Retrieving the Stylesheet" and Specs: "Glyph Types.")
A query can be made via a URL according to HTTP conventions, through either GET or (more preferably because of size) POST. The response is composed of:
- A standard HTTP header with DAS status information pertaining to the validity of the query (cf. Specs: "Client/Server Interactions: The Response.");
- (Optionally) an XML file containing the answer to the query, according to the specifications listed in Specs: "The Queries".
PREFIX denotes the URL prefix for the DAS server, e.g., http://servlet.sanger.ac.uk:8080 is the prefix for <http://servlet.sanger.ac.uk:8080/das/dsn>. DAS denotes the Data Source Name for a data source.
Function Retrieves the list of data sources available from this server Scope Reference and annotation servers
Function Retrieves the list of entry points and their respective sizes for a data source Scope Reference servers
Function Retrieves the DNA associated with a subsequence Scope Reference servers
Function Retrieves the sequence associated with a subsequence Scope Reference servers
Function Retrieves the types available for a segment of a sequence Scope Reference and annotation servers
Function Retrieves the annotations across a segment Scope Reference and annotation servers
Function Retrieves and HTML page describing human-readable information about an annotation Scope Reference servers
Function Retrieves a stylesheet for the given DSN Scope Annotation servers
In a client application, Genome Assembly consists of moving "up" or "down" (the nomenclature of the Specs, analogous to zooming "in" or "out"), along component children and supercomponent parent(s). Genome Assembly occurs only upon Reference Servers, a necessary deduction from its definition. This data is contained within the TYPE description for a feature. (Cf. Specs: "Fetching Sequence Assemblies".)
Thus, in describing such a paradigm, the Specs appear to convey that the client application will have to assemble information for a given segment from its component children (i.e., moving down). (E.g., a requested segment of a chromosome must be composed by the assembly of several contigs.) Conversely, this paradigm simply facilitates the client application to visit the supercomponent category (i.e., moving up). (E.g., a user would like to zoom out from a contig to view the entire chromosome.) However, the programmer should note well that it is a logical possibility for a segment to span more than one supercomponent parent (e.g., a segment may span two contigs).
- ↑ Following Lincoln Stein, the words component and supercomponent refer to categories alone. (E.g., the category contig is a component of the category chromosome, whereas chromosome is a supercomponent of contig.) The words children and parent(s) refer to entities of the given category. (E.g., contigs 17, 18, 19, and 20 are the children of the parent chromosome 4).
The reference DAS/1 specification has been extended with additional new features, including an ontology and several new commands: