This documentation is aimed at those wishing to set up DAS servers to work with Ensembl. It contains some technical information, and it is assumed you are already familiar with how Ensembl uses DAS.
Choice of DAS server
Although Ensembl works with older DAS servers, there are additional benefits to using a server that supports the latest extensions to the DAS protocol. In particular, the sources command allows a DAS server to function in a similar way to the DAS Registry, providing all the information necessary for Ensembl to interact with the server without the user needing to provide any technical information (e.g. the types of identifiers to query it with). Any server supporting DAS 1.53E or later should work. There are three main open source server libraries, all of which are exensible to work with what whatever kind of data you may have.
ProServer is a Perl-based DAS server developed at the Wellcome Trust Sanger Institute and European Bioinformatics Institute. The server can operate standalone (i.e. without an HTTP server), and is supplied with extensions for common data formats such as flat files (e.g. GFF) and relational databases.
We recommend you try ProServer first, especially if you have Perl expertise. It is the most commonly used server.
Dazzle is a good choice if you are already familiar with Java and BioJava, and is the most commonly used Java server.
Developed in 2007 at the European Bioinformatics Institute, the MyDas Java servlet uses a minimal custom data model and therefore is not dependent on the BioJava framework. Like Dazzle, it operates within a servlet container.
MyDas is a good choice if you are building a custom DAS server, or do not wish to use BioJava.
Once your server is set up (see the relevant documentation provided with the server software), you should ensure it is configured correctly to work with Ensembl. To do this, it is best to understand how Ensembl will query your server when you try to attach it.
- First, the DAS server is queried using the sources command:
Along with the label, description and other textual information, Ensembl extracts from each source details of the supported coordinate systems and the URL that should be used to query the source for features.
- If the server is older and therefore does not support the sources command (or if coordinates information is not provided), Ensembl queries using the older dsn command:
Ensembl will then try to find coordinates information from the mapmaster, if one is specified.
This behaviour is more "intelligent" than in previous versions of Ensembl, but relies on the information provided by the server. Because of this, you should check that this is accurate. In particular, make sure of the following:
- The source supports the features command/capability.
- If the server supports the sources command (DAS 1.53E onwards), each source should provide accurate coordinate system details.
- If the server supprots the sources command, the query URL for each source must be accessible from the Ensembl server. Check the "query_uri" in your server's XML response to the sources command. You will often need to manually set the hostname in your server's configuration. For example in ProServer, set the "hostname" or "response_hostname" property to a fully-qualified host (e.g. myhost.mycompany.com).
- If the server does not support the sources command (DAS 1.53 only), the dsn command should provide a mapmaster, which itself provides coordinate system details.
See the server and DAS protocol documentation for further details. Note that a source may support multiple coordinate systems - Ensembl will query the source in the most efficient manner.
Note: this section only applies to "positional" features rendered on the graphical displays. Gene-based annotations are not rendered graphically.
Previous versions of Ensembl required the user to specify how the features returned by a DAS source should be rendered. Now, Ensembl defaults to using the DAS stylesheet unless it is explicitly overridden by the user. Ensembl has a very flexible rendering engine, making it possible to build complex and attractive tracks. See the DAS specification and Histogram extension for reference. Examples are available here.
Here are some tips to improving the user experience of your DAS source(s):
- Register the source in the DAS registry.
In addition to making your source more visible to the community, the registry provides monitoring functions, notifying your if your source is not functioning correctly.
- Supply a stylesheet.
There are many different ways of rendering DAS features. A stylesheet enables you to specify how the data should look, without the user needing to worry about it.
- Provide as much metadata as possible.
Be as informative about your source as possible. What type of data does it offer? Where did it come from? Who generated it? Is there a publication or webpage offering further details? In future, Ensembl may also make use of the maintainer's email address.
- Optimise performance
Response time for a webpage is a very important usability issue. Make sure your source is as fast as it can be - if your server is backed by a flat file consider using a relational database. If you already use one, make sure any indices are present (and being used), and that the engine has up-to-date statistics.
- Use the maxbins extension.
Especially for dense quantitative data, response time can be a big problem. The --maxbins-- DAS extension allows you to control the number of features returned according to the available rendering space (i.e. the number of horizontol pixels in the image).