DAS/1/Overview

From BioDAS
Revision as of 14:51, 26 February 2007 by SteveC (talk) (stylesheet)
Jump to: navigation, search

An Overview of the Concepts Concerning the Distributed Annotation System (DAS/1)

NOTE: Some, but not all, concepts are applicable to the DAS/2 version of the specification.

Information Source

The full specification, available at http://www.biodas.org/documents/spec.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.

DAS Glossary

(Definitions later defined are _italicized_; queries are *bolded*; optional portions within names are [bracketed].)

Distributed Annotation System (DAS)

A server system for the sharing of Reference Sequences, a system conceptually composed of a Reference Server and Annotation Server(s).

[Reference] Sequence

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.

Entry point

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.

Annotation Server

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:

  1. The raw DNA of the sequence;
  2. 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);
  3. The annotations of "supercomponents" of a category (E.g., a chromosome is the supercomponent of a contig.).

Annotation

An entity which:

  1. Is anchored to the genome map via a stop and start value relative to the reference subsequence;
  2. Possesses an ID unique to the server and a structured description of its nature and attributes;
  3. Optionally associated with Web URLs providing human-readable information about the annotation (via link);
  4. Possesses types, methods, and categories.

[Annotation] Type

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.

[Annotation] Method

A description of how the annotated feature was discovered, possibly including a reference to a software program.

[Annotation] Category

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.)

Source

A project containing data on DAS (a list of which may be retrieved via dsn).

Stylesheet

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.")

DAS Queries

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:

  1. A standard HTTP header with DAS status information pertaining to the validity of the query (cf. Specs: "Client/Server Interactions: The Response.");
  2. (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.

dsn

Command PREFIX/das/dsn
Function Retrieves the list of data sources available from this server
Scope Reference and annotation servers

entry_points

Command PREFIX/das/DSN/entry_points
Function Retrieves the list of entry points and their respective sizes for a data source
Scope Reference servers

dna

Command PREFIX/das/DSN/dna?segment=RANGE[;segment=RANGE]
Function Retrieves the DNA associated with a subsequence
Scope Reference servers

sequence

Command PREFIX/das/DSN/sequence?segment=RANGE[;segment=RANGE]
Function Retrieves the sequence associated with a subsequence
Scope Reference servers

types

Command PREFIX/das/DSN/types[?segment=RANGE][;segment=RANGE][;type=TYPE]
Function Retrieves the types available for a segment of a sequence
Scope Reference and annotation servers

features

Command PREFIX/das/DSN//features?segment=REF:start,stop[;segment=REF:start,stop][;type=TYPE][;type=TYPE][;category=CATEGORY][;category=CATEGORY]
Function Retrieves the annotations across a segment
Scope Reference and annotation servers

link

Command PREFIX/das/DSN/link?field=TAG;id=ID
Function Retrieves and HTML page describing human-readable information about an annotation
Scope Reference servers

stylesheet

Command PREFIX/das/DSN/stylesheet
Function Retrieves a stylesheet for the given DSN
Scope Annotation servers

Genome Assembly

</B></FONT>

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) <A HREF="#1">1</A>. 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.) <P>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).


<A NAME="#1"></A><P>1 Following Lincoln Stein, I use the words component and supercomponent to refer to categories alone. (E.g., the category contig is a component of the category chromosome, whereas chromosome is a supercomponent of contig.) I shall use the words children and parent(s) to refer to entities of the given category. (E.g., contigs 17, 18, 19, and 20 are the children of the parent chromosome 4.)