BACKGROUND
the number of finished bacterial genomes and higher eukaryotic genomes is dramatically increasing.
consequently there is a pressing need for accurate annotation of the respective genomes and, even more important, for the maintenance of genome annotation.
with the increasing complexity, and the large number of the genomes on one hand and the only limited availability of appropriate and sufficient resources for annotation and curation on the other there is a strong demand for solutions and tools to assist in community-centric, decentralized and distributed genome annotation for maintenance of high quality genome annotation.
in addition, genome sequencing projects are often set up as distributed, collaborative projects with contributions from multiple research groups.
a necessity for such approaches is the implementation of common data exchange formats and an annotation system that enables remote users to edit and curate database entries.
such a system should be user friendly, flexible and easy to implement.
several approaches have been proposed to address these problems.
a popular and widely applied approach is to employ experts for an initial genome annotation within genome annotation jamborees.
examples comprise the annotation of the rice genome, the drosophila genome and the human genome project consortium's analysis group   <cit> .
these approaches aim to overcome the problem of collecting distributed data by bringing together scientists, harvest their joint expertise and integrate the annotations into the respective database system.
a different approach is to distribute not only the annotation efforts but also the data management by using a distributed annotation system  browser that integrates and displays annotations from various sources  <cit> .
das annotations are available for numerous genomes and provide a powerful means to integrate different and decentralized annotations.
however, to our knowledge currently there is no das client software available that provides functionality to display, integrate, annotate and re-write data in a standardized way.
finally, a third approach is frequently used to integrate contributions from several groups.
in this approach, a web accessible annotation interface is made available along with visualization tools and complementary analysis data.
with the genome browser visualization interface along with complementary analysis data contributors are enabled to view and annotate database entries and finally to submit them back into the reference database.
in our work we are following this approach by adopting and advance the apollo genome annotation and visualization tool.
for annotation, apollo is established as a widely used genome annotation and visualization tool.
beside local usage, apollo has been used in distributed genome annotation projects  <cit> .
after completion of the annotation process a database update is carried out by uploading the annotation files.
albeit robust the non-direct database upload via apollo's intermediate game-xml formatted files is a tedious and laborious task and evokes problems of data synchronicity.
to overcome these limitations we developed a web service adapter  for the apollo genome annotation tool.
web services recently became widely used tools and provide important advantages, such as platform interoperability, only limited firewall problems, open standards and, importantly, wide acceptance in the scientific community.
the apollo2go adapter is a client program that enables the connection to specified web services that serve and accept the annotation data.
the adapter combines the advantages of a well established and widely used annotation software with the convenience of directly accessing and writing data back into the database.
thereby the intermediate processing of game-xml files is omitted.
implementation
to implement apollo2go's web service functionality we added several adapter classes to the apollo code.
we created two gui interfaces to communicate web service input and output parameters as well as two adapter classes, each concerning the respective web service client for reading and writing data from and to an individual data source.
the web service adapter classes that contain the clients were connected to the existing gamexml adapter that allows data to be easily converted into an apollo-compatible form .
the web service adapter guis can be addressed via the data adapter chooser from apollo's input and output/save forms.
display of annotation data from remote resources
to use apollo's web service capability, i.e.
to be able to display annotation data of selected regions or complete contigs or chromosomes from remote resources, the data provider has to make its data available in apollo compatible game-xml format via a web service.
beside a particular database that hosts annotation data also specified directories that contain the required game-xml files can serve as data sources for the web service.
once a web service is set-up, annotations can be accessed using the apollo2go web service from any remote computer.
in addition to the apollo2go web service-enabled apollo, the remote user only has to fill in a configuration file which contains the web service dependent variables.
writing annotation data to remote resources
after remote display and data edits in apollo, modified annotations can be inserted into the reference database.
typically, annotation data are stored in a dedicated database that, within the framework of a distributed annotation project, will often be embodied by a non-local resource.
since there is a variety of different database schemas and concepts, direct insertion of remote, apollo-curated annotation is impossible.
therefore, each database provider has to make a web service available that is capable to insert annotation data in game-xml format into the respective database.
all logic that is associated with database insertion like consistency checks, user authorization, as well as insertion itself takes place within the web service.
thus, similar to the concept of displaying remote data, the configurable apollo2go web service client has been integrated into apollo's 'save' functionality.
the authorized user solely has to complete a configuration file to write data back into the specified database.
due to the uncoupling of database schema and display no restrictions with respect to the database schema are apparent for the enhanced apollo version.
an overview on the web service enabled apollo version and the interplay with the components involved is depicted in figure  <dig>
RESULTS
use case: implementation and application of apollo web services for mips' plantsdb
we developed a web service that receives annotation data from the plant databases developed and hosted by our group   <cit> .
plantsdb hosts multiple databases for different genomes and the web service receives data for the given genome database, the respective contig name and the selected sequence range.
the apollo2go built-in client invokes this web service with arguments derived from the adapter's graphical user interface.
the client retrieves the result as a game-xml-formatted string and passes it to the apollo input methods.
for data not provided by a database system, the web service also enables to receive data provided as flat files.
after retrieval, the data can be subjected to curation and annotation using apollo's annotation and visualization interface.
in our implementation before write-back into the database all data are tested for redundancy, versioned and inserted into the database.
'old' data will not be overwritten but are set to a non-visible mode and only more recent and up-to-date annotations are displayed via the public interface.
however this functionality has to be provided by the individual web service implementation.
it should be emphasized that usability of the apollo2go web service functionality is not restricted to local or in-house use but has successfully been used for non-local annotation of plantsdb database entries.
CONCLUSIONS
the apollo2go web service adapter is a powerful extension to the apollo genome editor.
it is ideally suited for manual genome annotation and curation in distributed environments.
by combining the widely applied apollo genome editor with web service functionality, the data exchange is more efficient and the annotation process is more comfortable.
the implementation has been made generic.
therefore the method is not restricted to a specific genome data provider or database schema but can be used for different settings and environments.
in addition, extended functionality that allows for complex features like security checks before insertion of updated data into the database or data repository may be added to the web service.
within the annotation process curators are enabled to connect to a remote database, collect the sequences of interest and to display and edit within apollo.
after finishing of the annotation process, the modified data can be directly inserted into the remote database.
the necessary read and write access to the database can be secured via password controlled access.
any center hosting genome and annotation data can enable access to the respective data by hosting web services to either serve the data that allows other groups to display it in their apollo installation or to accept annotated data from approved curators.
availability and requirements
project name: apollo2go
project home page:
operating systems: platform independent .
programming language: java; other requirements: java  <dig>
license: the apollo java code is open source; apollo is distributed under the terms of the artistic license  and the apollo source code is available at sourceforge  as part of the gmod project .
we plan to include the apollo web service adapter package as soon as possible at this place.
any restrictions to use by non-academics: see terms of the artistic license .
the apollo2go software package is available via anonymous ftp from .
the zipped tar file contains apollo2go, the latest executable apollo genome annotation curation tool  extended with the build-in web service adapter .
the apollo2go software does not need any additional local installation of apollo.
memory requirements are unchanged to apollo's memory requirements and largely depend on the genomic region selected for annotation.
at least  <dig> mb of ram, preferably more, are recommended.
authors' contributions
kk carried out the programming work, designed the web service and integrated the web service into apollo.
re conceived the work and participated in the web service design and draft manuscript.
ms contributed the database connectivity of apollo2go and contributed to the draft manuscript.
kfxm conceived and supervised the work and wrote the manuscript.
all authors read and approved the final manuscript.

 the number of finished bacterial genomes and higher eukaryotic genomes is dramatically increasing. consequently there is a pressing need for accurate annotation of the respective genomes and, even more important, for the maintenance of genome annotation. with the increasing complexity, and the large number of the genomes on one hand and the only limited availability of appropriate and sufficient resources for annotation and curation on the other there is a strong demand for solutions and tools to assist in community-centric, decentralized and distributed genome annotation for maintenance of high quality genome annotation. in addition, genome sequencing projects are often set up as distributed, collaborative projects with contributions from multiple research groups. a necessity for such approaches is the implementation of common data exchange formats and an annotation system that enables remote users to edit and curate database entries. such a system should be user friendly, flexible and easy to implement. several approaches have been proposed to address these problems. a popular and widely applied approach is to employ experts for an initial genome annotation within genome annotation jamborees. examples comprise the annotation of the rice genome, the drosophila genome and the human genome project consortium's analysis group. these approaches aim to overcome the problem of collecting distributed data by bringing together scientists, harvest their joint expertise and integrate the annotations into the respective database system. a different approach is to distribute not only the annotation efforts but also the data management by using a distributed annotation system browser that integrates and displays annotations from various sources. das annotations are available for numerous genomes and provide a powerful means to integrate different and decentralized annotations. however, to our knowledge currently there is no das client software available that provides functionality to display, integrate, annotate and re-write data in a standardized way. finally, a third approach is frequently used to integrate contributions from several groups. in this approach, a web accessible annotation interface is made available along with visualization tools and complementary analysis data. with the genome browser visualization interface along with complementary analysis data contributors are enabled to view and annotate database entries and finally to submit them back into the reference database. in our work we are following this approach by adopting and advance the apollo genome annotation and visualization tool. for annotation, apollo is established as a widely used genome annotation and visualization tool. beside local usage, apollo has been used in distributed genome annotation projects. after completion of the annotation process a database update is carried out by uploading the annotation files. albeit robust the non-direct database upload via apollo's intermediate game-xml formatted files is a tedious and laborious task and evokes problems of data synchronicity. to overcome these limitations we developed a web service adapter for the apollo genome annotation tool. web services recently became widely used tools and provide important advantages, such as platform interoperability, only limited firewall problems, open standards and, importantly, wide acceptance in the scientific community. the apollo2go adapter is a client program that enables the connection to specified web services that serve and accept the annotation data. the adapter combines the advantages of a well established and widely used annotation software with the convenience of directly accessing and writing data back into the database. thereby the intermediate processing of game-xml files is omitted. implementation to implement apollo2go's web service functionality we added several adapter classes to the apollo code. we created two gui interfaces to communicate web service input and output parameters as well as two adapter classes, each concerning the respective web service client for reading and writing data from and to an individual data source. the web service adapter classes that contain the clients were connected to the existing gamexml adapter that allows data to be easily converted into an apollo-compatible form. the web service adapter guis can be addressed via the data adapter chooser from apollo's input and output/save forms. display of annotation data from remote resources to use apollo's web service capability, i.e. to be able to display annotation data of selected regions or complete contigs or chromosomes from remote resources, the data provider has to make its data available in apollo compatible game-xml format via a web service. beside a particular database that hosts annotation data also specified directories that contain the required game-xml files can serve as data sources for the web service. once a web service is set-up, annotations can be accessed using the apollo2go web service from any remote computer. in addition to the apollo2go web service-enabled apollo, the remote user only has to fill in a configuration file which contains the web service dependent variables. writing annotation data to remote resources after remote display and data edits in apollo, modified annotations can be inserted into the reference database. typically, annotation data are stored in a dedicated database that, within the framework of a distributed annotation project, will often be embodied by a non-local resource. since there is a variety of different database schemas and concepts, direct insertion of remote, apollo-curated annotation is impossible. therefore, each database provider has to make a web service available that is capable to insert annotation data in game-xml format into the respective database. all logic that is associated with database insertion like consistency checks, user authorization, as well as insertion itself takes place within the web service. thus, similar to the concept of displaying remote data, the configurable apollo2go web service client has been integrated into apollo's'save' functionality. the authorized user solely has to complete a configuration file to write data back into the specified database. due to the uncoupling of database schema and display no restrictions with respect to the database schema are apparent for the enhanced apollo version. an overview on the web service enabled apollo version and the interplay with the components involved is depicted in figure  use case: implementation and application of apollo web services for mips' plantsdb we developed a web service that receives annotation data from the plant databases developed and hosted by our group. plantsdb hosts multiple databases for different genomes and the web service receives data for the given genome database, the respective contig name and the selected sequence range. the apollo2go built-in client invokes this web service with arguments derived from the adapter's graphical user interface. the client retrieves the result as a game-xml-formatted string and passes it to the apollo input methods. for data not provided by a database system, the web service also enables to receive data provided as flat files. after retrieval, the data can be subjected to curation and annotation using apollo's annotation and visualization interface. in our implementation before write-back into the database all data are tested for redundancy, versioned and inserted into the database.'old' data will not be overwritten but are set to a non-visible mode and only more recent and up-to-date annotations are displayed via the public interface. however this functionality has to be provided by the individual web service implementation. it should be emphasized that usability of the apollo2go web service functionality is not restricted to local or in-house use but has successfully been used for non-local annotation of plantsdb database entries.  the apollo2go web service adapter is a powerful extension to the apollo genome editor. it is ideally suited for manual genome annotation and curation in distributed environments. by combining the widely applied apollo genome editor with web service functionality, the data exchange is more efficient and the annotation process is more comfortable. the implementation has been made generic. therefore the method is not restricted to a specific genome data provider or database schema but can be used for different settings and environments. in addition, extended functionality that allows for complex features like security checks before insertion of updated data into the database or data repository may be added to the web service. within the annotation process curators are enabled to connect to a remote database, collect the sequences of interest and to display and edit within apollo. after finishing of the annotation process, the modified data can be directly inserted into the remote database. the necessary read and write access to the database can be secured via password controlled access. any center hosting genome and annotation data can enable access to the respective data by hosting web services to either serve the data that allows other groups to display it in their apollo installation or to accept annotated data from approved curators. availability and requirements project name: apollo2go project home page: operating systems: platform independent. programming language: java; other requirements: java license: the apollo java code is open source; apollo is distributed under the terms of the artistic license and the apollo source code is available at sourceforge as part of the gmod project. we plan to include the apollo web service adapter package as soon as possible at this place. any restrictions to use by non-academics: see terms of the artistic license. the apollo2go software package is available via anonymous ftp from. the zipped tar file contains apollo2go, the latest executable apollo genome annotation curation tool extended with the build-in web service adapter. the apollo2go software does not need any additional local installation of apollo. memory requirements are unchanged to apollo's memory requirements and largely depend on the genomic region selected for annotation. at least mb of ram, preferably more, are recommended. authors' contributions kk carried out the programming work, designed the web service and integrated the web service into apollo. re conceived the work and participated in the web service design and draft manuscript. ms contributed the database connectivity of apollo2go and contributed to the draft manuscript. kfxm conceived and supervised the work and wrote the manuscript. all authors read and approved the final manuscript. 
this non-direct database upload is laborious and evokes problems of data synchronicity. this apollo web service adapter, apollo2go, simplifies the data exchange in distributed projects and aims to render the annotation process more comfortable. the apollo2go software is freely available from. apollo, a genome annotation viewer and editor, has become a widely used genome annotation and visualization tool for distributed genome annotation projects. when using apollo for annotation, database updates are carried out by uploading intermediate annotation files into the respective database.
 apollo, a genome annotation viewer and editor, has become a widely used genome annotation and visualization tool for distributed genome annotation projects. when using apollo for annotation, database updates are carried out by uploading intermediate annotation files into the respective database. this non-direct database upload is laborious and evokes problems of data synchronicity.  to overcome these limitations we extended the apollo data adapter with a generic, configurable web service client that is able to retrieve annotation data in a game-xml-formatted string and pass it on to apollo's internal input routine.  this apollo web service adapter, apollo2go, simplifies the data exchange in distributed projects and aims to render the annotation process more comfortable. the apollo2go software is freely available from. 