DAS2 writeback server implementation
The aim of this project is to implement Writeback functionality, that would enable biological data submission via DAS protocol. It should extend read-only DAS model by adding possibilities to write data back to the server. As a result, the client-side interactivity of the DAS services would be improved.
Why?
Nowadays, the enormous amounts of biological data are available: genomes of many organisms, protein sequences and their 3D structures, microarray data, biochemical networks within the cell etc. Therefore information systems providing facilities to store, analyze and display this data have become an important issue. Data integration is another question that arises from the fact that biological information is not provided by a centralized database, but by diverse data sources, that range from large scale databases like EMBL and UniProt to small databases hosted by biological laboratories. Therefore, it is necessary to provide services for bringing together data from diverse storages, while they can continue to facilitate local warehousing, analyzing, and organizing of information.
To tackle these issues the concept of DAS was introduced.
What is DAS?
The Distributed Annotation System(DAS) is a data exchange protocol, that is specially designed for bringing together data from diverse decentralized biological databases. The data distribution is performed by DAS servers and is separated from vizualisation, performed by DAS clients A good example of such client is Ensembl genome browser. However, Ensembl is not only a client, but a complete all-in-one DAS system. It serves both as a DAS server (Ensembl reference sequence and annotation servers) and a DAS client. For more information about usage of DAS in Ensembl, please see....
For more information about DAS, please refer to the BioDAS web-page, and the article "The distributed annotation system" written by Allen Day, Sean Eddy, Robin Dowell, Rodney Jokerst and Lincoln Stein in 2001.
What is DAS writeback?
It is an extension of DAS, that enables to write data back to the server via standard XML document. The writeback functionality was described in the new version of DAS protocol, in the DAS 2.0 protocol, that was published on the BioDAS web-page. Technically, the idea of writeback is in use of a specially designed XML file, named as a writeback document. This document contains the submitted data and instructions to the server (insert, modify or delete the data). The document is POSTed to an URI, where it is recognized and passed to the server. Data is submitted via web-interface, and stored in the database.
The idea of the writeback implementation is to provide a wiki-like service, where everybody can make modifications and see history of changes. This feature is supposed to be primarily used by DAS server administrators. Further, it can be included into DAS clients browsers, for example into Ensembl genome browser. However, writeback should not be considered only as a program for data submission, but rather as a ground for further development of applications that can submit data via DAS protocol.
Implementation
The writeback implementation is based on the concept of client-server architecture and basically consists of three layers: user interface, database, and functional logic between the first two.
Client
Client-side is represented by the web-based user interface, implemented using Java Server Pages (JSP) technology, and accessed by user through a standard web-browser. It includes feature submission form, list of currently available features, and history of modifications. see more
Functional logic
Implements functionality for binding together Client and Database tiers. Essentially, it provides access to the database objects, performs parsing of the XML writeback document, and sends parsed data to the database. It consists of a set of Java Servlets running on the Apache Tomcat application server.
Database
Database tier is responsible for data serialization, that means storing data in the database. In this project was used MySQL database. see more
Open ID sign-in
An important feature of the writeback implementation is an OpenID user-login.
OpenID is a free and decentralized single sign-on system https://www.myopenid.com/. It enables simple and reliable user-login. The idea of OpenID is that once created, the OpenID identifier can be used anywhere. It will suit for logging into many websites, the only requirement is that these web-sites should implement OpenID login system.
The writeback document
The writeback document is in XML format. All of the DAS2 writeback elements are in the standard DAS2 namespace.
Here is an example of the writeback document, where a single feature is being modified:
<WRITEBACK>
<MESSAGE>Treatment of Parkinson's Disease</MESSAGE>
<UPDATES>
<UPDATE uri="ADCK2" />
</UPDATES>
<FEATURE featureid="ADCK2" featuretype="exon" method="experiment">
<LOC segment="7" range="140037029:140037082:+" />
<PROPERTY phase="." />
<PROPERTY score="10" />
<PROPERTY link="http://www.ensembl.org" />
<PROPERTY groups="similarity" />
<PROPERTY commit_msg="updated feature ADCK2" />
<PROPERTY user="http://user.myopenid.com/" />
<PROPERTY system_uri="CS_DS82" />
</FEATURE>
</WRITEBACK>Presentation
Is available here: presentation.
Presentation at the DAS workshop 2008: presentation.
My Master thesis, describing the DAS writeback server implementation: Master thesis
This code of this project may be freely distributed and modified under the terms of the GNU Lesser General Public Licence http://www.gnu.org/copyleft/lesser.html