Bio DAS Example Requests
For the DAS workshop this year and for general use we decided it would be a good idea to have a glossary/command summary showing examples of working commands that could be used on DAS servers and the registry. Before creating an all singing all dancing html page with this info I need a rough draft. I may as well make this available as i write it so people may find it useful. This is meant as an easy/quick reference summary only but for further details on the requests and responses that can be made please refer to http://www.biodas.org/documents/spec-1.6.html. Further examples can be found from http://www.dasregistry.org/listSources.jsp you can filter on commands by choosing from the dropdown capability menu at the top, lights next to each datasource represent the validity of each command or capability as determined by the Das Registry. Click on a light to see the request and response for that server in your browser.
Section 1) The DAS Registry commands:
The DAS registry responds to a few commands:
sources, coordinatesystem, knownCapabilities, lastModified, validate
Note: that das/ can usually be replaced by das1/ and you will get the same results.
Note: also recently it is now possible to use ; as a parameter seperator as well as the & I’m not sure what the behaviour is if you mix these so i’d recommend using one seperator or the other in commands sent to the registry
sources commands (get DAS sources that have been registered with the registry):
* Get the sources document for a single DAS source with the registry id DS-111 held in the registry http://www.dasregistry.org/das/DS_111
* keywords parameter to sources cmds e.g. http://www.dasregistry.org/das/sources?keywords=zebrafish
* typeskeywords returns sources that have a type from their types command that matches the typeskeyword http://www.dasregistry.org/das/sources?typeskeywords=gene
* rows capability for the sources cmd http://www.dasregistry.org/das/sources?rows=1-2 Note: start, end attributes are added to the response if rows have been specified.
* request support for sources document for 1.6E compliant sources http://www.dasregistry.org/das1.6/sources as apposed to 1.5 sources http://www.dasregistry.org/das1.5/sources
* serverUrl filter option to the sources web service so for example you can now do http://www.dasregistry.org/das/sources?serverUrl=http://www.ensembl.org/das&rows=1-10 in order to get the first 10 in the list of sources from the ensembl servers
* filter on coordinate system using organism and or authority, version etc http://www.dasregistry.org/das1/sources?organism=9606&authority=NCBI&type=chromosome&version=36
*filter on capability stated by the registrant, the response will tell you if the registry considers it a valid response or not using for example <PROP name=”stylesheet” value=”probably_valid”/> (don’t use the das1: prefix) http://www.dasregistry.org/das/sources?capability=stylesheet
*sort by the following parameters: id, nickname or title, status (ie. uses leasedate), registerdate, leasedate, url, adminemail, description, capabilities (user/server specified), validcapabilities (sorts on valid capabilities determined by the registry not user/server selected), coordinatesystem (sorts by the number of coordinate systems a source specifies).
* reverse=true parameter reverses the order of the above sorts.
coordinatesystem commands (get coordinate systems that have been registered with the registry):
* get all coordinate systems known to the DAS registry http://www.dasregistry.org/das/coordinatesystem
* capability of getting single coordinate system from coordinatesystem url e.g. http://www.dasregistry.org/das/coordinatesystem/CS_DS7
* keywords parameter to coordinatesystem command http://www.dasregistry.org/das/coordinatesystem?keywords=gorilla
* added total, start, end attributes to coordinatesystem request response if rows specified http://www.dasregistry.org/das/coordinatesystem?keywords=gene&rows=1-10
knownCapaiblities (responds with the DAS capabilities that the registry is aware of and supports):
lastModified command (tells a client when the data on DAS sources was last updated and thus whether a client needs to make a new call to the registry):
validate command can be used to validate a server using the das registry and get back an xml sources response containing extra properties pertaining to the validity of specific capabilities:
Section 2) 1.6 Specification Server Commands:
Request all sources from this server http://das.sanger.ac.uk/das/sources
Request a source from this server with the id ens_zfish7_array (functionality as of 1.6 specification) http://das.sanger.ac.uk/das/ens_zfish7_array
Get a list of the entry points for this reference DAS server (reference means it must return sequence for the entry points):
Due to the possibly large number of entry points for some servers as of 1.6 the rows parameter can be used to restrict this list to the first 10 rows (rows 1-10) currently as of writing I can’t find many servers that support this:
Get the sequence for segment P00280 http://www.ebi.ac.uk/das-srv/uniprot/das/uniprot/sequence?segment=P00280
Get the sequence for chromosome 33 from start=3000001 to stop=3100000 http://www.ensembl.org/das/Canis_familiaris.BROADD2.reference/sequence?segment=33:3000001,3100000
And the same for a genomic reference source: http://www.ensembl.org/das/Homo_sapiens.GRCh37.reference/sequence?segment=19:50595746,50595866
Note that the UCSC uses different organism identifiers than the EBI/Sanger and also uses the old style dna command so to get sequence from the UCSC you would use:
Show the feature types that this data source contains http://das.sanger.ac.uk/das/otter_das/types
we should be able to filter these types based on a specific segment or range like http://das.sanger.ac.uk/das/otter_das/types?segment=1:1000000,2000000 but many servers do not seem to support this? As of 1.6 they should.
http://das.sanger.ac.uk/das/pjazz_berghei/types?segment=berg01:1000,15000 gives the number of types within the types element as 5 <TYPE id=”clone_genomic_insert” method=”smalt”>5</TYPE>
http://das.sanger.ac.uk/das/pjazz_berghei/types restults in a type element like this with 5109 features of this type as it’s not restricted to a segment range <TYPE id=”clone_genomic_insert” method=”smalt”>5109</TYPE>
As this is probably the most commonly used command we will put the optional parameter string as stated by the specification:
SERVER/das/DSN/features?segment=RANGE [;segment=RANGE] [;type=TYPE] [;type=TYPE] [;feature_id=ID] [;maxbins=BINS]
and now for some examples: