Difference between revisions of "Alternative Content Formats"
(→das-json) |
|||
Line 26: | Line 26: | ||
Currently, the ''das-json'' format is defined for the sources, features and types commands. | Currently, the ''das-json'' format is defined for the sources, features and types commands. | ||
− | ===das-json sources=== | + | ===das-json sources command=== |
<pre> | <pre> | ||
Line 65: | Line 65: | ||
"source" : "Chromosome", | "source" : "Chromosome", | ||
"taxid" : 10090, | "taxid" : 10090, | ||
− | "test_range" : "8:1, | + | "test_range" : "8:1,1000" |
} | } | ||
], | ], | ||
Line 80: | Line 80: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
+ | ===das-json features command=== | ||
+ | |||
+ | <pre> | ||
+ | { | ||
+ | "href" : "http://myplace.com/das/mygenes/features?segment=8:1,1000", | ||
+ | "segments" : [ | ||
+ | { | ||
+ | "id" : "8", | ||
+ | "start" : 1, | ||
+ | "stop" : 1000, | ||
+ | "version" : "xyz", | ||
+ | "label" : "Chromosome 8", | ||
+ | "features" : [ | ||
+ | { | ||
+ | "id" : "f1", | ||
+ | "label" : "F1", | ||
+ | "start" : 503, | ||
+ | "end" : 512, | ||
+ | "orientation" : "+", | ||
+ | "phase" : 0, | ||
+ | "score" : 12.6, | ||
+ | "type" : { | ||
+ | "id" : "gene", | ||
+ | "cvId" : "SO:0000704", | ||
+ | "label" : "Gene", | ||
+ | "category" : "transcription", | ||
+ | "reference" : false, | ||
+ | "superparts" : false, | ||
+ | "subparts" : false | ||
+ | }, | ||
+ | "method" : { | ||
+ | "id" : "genewise", | ||
+ | "cvId" : "ECO:0000203", | ||
+ | "label" : "GeneWise" | ||
+ | }, | ||
+ | "notes" : [ | ||
+ | "Something of note", | ||
+ | "Something else of note" | ||
+ | ], | ||
+ | "links" : [ | ||
+ | { | ||
+ | "href" : "http://myplace.com/info/features/f1", | ||
+ | "label" : "More info about F1" | ||
+ | } | ||
+ | ], | ||
+ | "targets" : [ | ||
+ | { | ||
+ | "id" : "cloneA", | ||
+ | "start" : 3, | ||
+ | "stop" : 12 | ||
+ | } | ||
+ | ], | ||
+ | "parents" : [ | ||
+ | "f24", | ||
+ | "f36" | ||
+ | ], | ||
+ | "parts" : [ | ||
+ | "f7", | ||
+ | "f12" | ||
+ | ], | ||
+ | }, | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | |||
+ | <TYPE id="mytype" category="category" reference="yes|no" cvId="SO:1234">My Type</TYPE> | ||
+ | <METHOD id="mymethod" cvId="ECO:5678">My Method</METHOD> | ||
+ | <START> start </START> | ||
+ | <END> end </END> | ||
+ | <SCORE> [X.XX|-] </SCORE> | ||
+ | <ORIENTATION> [0|-|+] </ORIENTATION> | ||
+ | <PHASE> [0|1|2|-]</PHASE> | ||
+ | <NOTE> note text </NOTE> | ||
+ | <LINK href="url"> link text </LINK> | ||
+ | <TARGET id="id" start="x" stop="y"> target name </TARGET> | ||
+ | <PARENT id="parent id1" /> | ||
+ | <PART id="child id1" /> | ||
+ | <PART id="child id2" /> |
Revision as of 16:08, 27 March 2012
List of alternative content formats:
Name | MIME type | Commands |
---|---|---|
das-xml | application/xml | all |
das-json | application/json | sources,features,types |
binary-bigwig | application/octet-stream | features |
binary-bigbed | application/octet-stream | features |
das-xml
The XML formats described in the DAS Specification.
das-json
This format is a native JSON encoding of the DAS data model. The design principle for this format is that the properties accurately match those in the specification wherever sensible, but are not bound by the restrictions or conventions of XML. Thus there are no distinctions made between elements/attributes/text content, and properties can be of any JSON data type. Whilst this means that implementing a reciprocal XML-JSON conversion function must be done explicitly for each DAS command, using DAS in Javascript web applications is more natural.
The properties present in the JSON model for each command mirror those in the DAS specification, with the same semantics applied to each property (e.g. whether properties are required or optional). Since this is a new format at for the avoidance of confusion, deprecated properties are not included.
Currently, the das-json format is defined for the sources, features and types commands.
das-json sources command
{ "sources" : [ { "uri" : "mygenes", "title" : "My Genes", "description" : "A source that provides gene features", "doc_href" : "http://myplace.com/info/mysource", "maintainer" : { "email": "me@myplace.com" }, "versions" : [ { "uri" : "mysource", "created" : "2012-03-27T14:23:44Z", "capabilities" : [ { "type" : "das1:sources", "query_uri" : "http://myplace.com/das/mygenes" }, { "type" : "das1:formats", "query_uri" : "http://myplace.com/das/mygenes/formats" }, { "type" : "das1:features", "query_uri" : "http://myplace.com/das/mygenes/features" } ], "coordinates" : [ { "uri" : "http://www.dasregistry.org/dasregistry/coordsys/CS_DS108", "label" : "NCBIM_37,Chromosome,Mus musculus", "authority" : "NCBIM", "version" : "37", "source" : "Chromosome", "taxid" : 10090, "test_range" : "8:1,1000" } ], "properties" : [ { "name" : "Some Key", "value" : "Some Value" } ] } ] } ] }
das-json features command
{ "href" : "http://myplace.com/das/mygenes/features?segment=8:1,1000", "segments" : [ { "id" : "8", "start" : 1, "stop" : 1000, "version" : "xyz", "label" : "Chromosome 8", "features" : [ { "id" : "f1", "label" : "F1", "start" : 503, "end" : 512, "orientation" : "+", "phase" : 0, "score" : 12.6, "type" : { "id" : "gene", "cvId" : "SO:0000704", "label" : "Gene", "category" : "transcription", "reference" : false, "superparts" : false, "subparts" : false }, "method" : { "id" : "genewise", "cvId" : "ECO:0000203", "label" : "GeneWise" }, "notes" : [ "Something of note", "Something else of note" ], "links" : [ { "href" : "http://myplace.com/info/features/f1", "label" : "More info about F1" } ], "targets" : [ { "id" : "cloneA", "start" : 3, "stop" : 12 } ], "parents" : [ "f24", "f36" ], "parts" : [ "f7", "f12" ], }, ] } ] } <TYPE id="mytype" category="category" reference="yes|no" cvId="SO:1234">My Type</TYPE> <METHOD id="mymethod" cvId="ECO:5678">My Method</METHOD> <START> start </START> <END> end </END> <SCORE> [X.XX|-] </SCORE> <ORIENTATION> [0|-|+] </ORIENTATION> <PHASE> [0|1|2|-]</PHASE> <NOTE> note text </NOTE> <LINK href="url"> link text </LINK> <TARGET id="id" start="x" stop="y"> target name </TARGET> <PARENT id="parent id1" /> <PART id="child id1" /> <PART id="child id2" />