Skip Navigation


Bioinformatics Advance Access originally published online on March 24, 2007
Bioinformatics 2007 23(9):1178-1180; doi:10.1093/bioinformatics/btm060
This Article
Right arrow Abstract Freely available
Right arrow FREE Full Text (Print PDF) Freely available
Right arrow All Versions of this Article:
23/9/1178    most recent
btm060v1
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in PubMed
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (2)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Gordon, P. M.K.
Right arrow Articles by Sensen, C. W.
Right arrow Search for Related Content
PubMed
Right arrow PubMed Citation
Right arrow Articles by Gordon, P. M.K.
Right arrow Articles by Sensen, C. W.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

© The Author 2007. Published by Oxford University Press. All rights reserved. For Permissions, please email: journals.permissions@oxfordjournals.org

Semantic Web Service provision: a realistic framework for Bioinformatics programmers

Paul M.K. Gordon *, Quang Trinh and Christoph W. Sensen

University of Calgary, Faculty of Medicine, Sun Center of Excellence for Visual Genomics 3330 Hospital Drive NW, Calgary, AB, Canada, T2N 4N1

*To whom correspondence should be addressed.


    ABSTRACT
 TOP
 ABSTRACT
 1 MOTIVATION
 2 MOBY-S ADAPTATION METHODOLOGY
 3 DISCUSSION
 ACKNOWLEDGEMENTS
 REFERENCES
 

Summary: Several semantic Web Services clients for Bioinformatics have been released, but to date no support systems for service providers have been described. We have created a framework (‘MobyServlet’) that very simply allows an existing Java application to conform to the MOBY-S semantic Web Services protocol. Using an existing Java program for codon-pair bias determination as an example, we enumerate the steps required for MOBY-S compliance. With minimal programming effort, such a deployment has the advantages of: (1) wider exposure to the user community by automatic inclusion in all MOBY-S client programs and (2) automatic interoperability with other MOBY-S services for input and output. Complex on-line analysis will become easier for biologists as more developers adopt MOBY-S.

Availability: The framework and documentation are freely available from the Java developer's section of http://www.biomoby.org/.

Contact: gordonp{at}ucalgary.ca


    1 MOTIVATION
 TOP
 ABSTRACT
 1 MOTIVATION
 2 MOBY-S ADAPTATION METHODOLOGY
 3 DISCUSSION
 ACKNOWLEDGEMENTS
 REFERENCES
 
Semantic Web Service protocols are a promising technology that allows automated discovery of conceptual links between remote data analysis servers. A shared data ontology and service discovery/execution framework is particularly attractive in the field of Bioinformatics, where data and services are often both disparate and distributed. MOBY-S (Wilkinson and Links, 2002) is an open semantic Web Services protocol built by bioinformaticians and supported by many different client programs (Carrere and Gouzy, 2006; Navas-Delgado et al., 2006; Oinn et al., 2004; Turinsky et al., 2005; Wilkinson, 2006). Given some input data (e.g. a DNA sequence), a MOBY-S client program automatically suggests to the user a list of services that take DNA sequence as input. The MOBY Central server provides that Web Service lookup functionality and currently has >800 000 accesses/month. Bioinformaticians can gain much exposure by making their programs MOBY-S compatible.

MOBY-S uses many World Wide Web Consortium technologies (OWL, RDF, SOAP, WSDL, XML, URN), which may overwhelm uninitiated programmers (W3C standards for Web Services semantic annotation are still being drafted; http://www.w3.org/2002/ws/swsig/). Currently, MOBY-S service providers must either (1) wrap existing program binaries (http://www.ebi.ac.uk/soaplab/) (2) develop service code from scratch or (3) use ‘skeleton’ code generators for Perl and Java (http://tinyurl.com/uvtbf). We introduce a Java framework to drastically simplify deployment of MOBY-S services. Unlike the current methodologies, our framework does not require the developer to have any knowledge of the technologies underlying its implementation — neither the sizeable MOBY-S code repository, nor any third-party libraries need to be downloaded. Apache Ant (http://ant.apache.org/), a Servlet container (e.g. Apache Tomcat, http://tomcat.apache.org/), and familiarity with the concepts in the MOBY-S Ontologies are the only requirements. The framework's simple usage is illustrated here with the adaptation of a command-line codon-pair statistics application into a MOBY-S service.

The CAI (Codon Adaptation Index) and {chi}2 statistics reflect the measures of synonymous codon usage bias and the degree in which the codon pair is over or under represented, respectively (Sharp and Li, 1987). These correlate with protein expression levels due to rare codon pairs' effect on translation elongation efficiency (Irwin et al., 1995). It was our goal to calculate these statistics for any set of DNA sequences in a MOBY-S client (as part of a Web-based analysis workflow), and therefore we needed to convert the application into a MOBY-S service.


    2 MOBY-S ADAPTATION METHODOLOGY
 TOP
 ABSTRACT
 1 MOTIVATION
 2 MOBY-S ADAPTATION METHODOLOGY
 3 DISCUSSION
 ACKNOWLEDGEMENTS
 REFERENCES
 
The MOBY-S adaptation consists of six steps:

Step 1 is to determine what objects from the MOBY-S Object Type Ontology will be used as input to and output from the service. Several ontology explorer are available, for example http://mobycentral.icapture.ubc.ca/cgi-bin/list.services.cgi

  • The program normally takes FastA formatted DNA as input, and MOBY-S's DNASequence object type is the most suitable equivalent. Because the program accepts multiple sequences, the service will accept a Collection of DNASequences as input.
  • The output of the program is a tab-delimited table of the values described above, which most closely corresponds to the text-formatted object type for the output.

Step 2 is to modify the original CodonUsageTable class to make it extend the framework's MobyServlet. The inherited method processRequest is overridden, and the main method calls MobyServlet.main(). The input and output types determined in Step 1, along with service metadata, are added as a Java annotation @mobyService. The code changes appear in Table 1.


View this table:
[in this window]
[in a new window]

 
Table. 1. Complete example of the code changes required to convert a command-line Java program (CodonPairAnalyzer) into a MOBY-S Service

 
Step 3 is to download the framework's Ant build and properties files (available from http://moby.ucalgary.ca/servlet). The properties files must be modified to specify:
  • The location of the main class to compile
  • The location of an input data file to test the service
  • The location of the servlet host
  • The name of the Java Web Archive (WAR) file to be produced

Step 4 is to compile and test the new code (using the test input data file).

Step 5 is to build a WAR file for the service, which can then be deployed on any Java Servlet container (e.g. using the Management Web interface of Apache Tomcat).

Step 6 is to register the service with MOBY Central.

Compiling, testing, WAR building and service registration are all accomplished by invoking targets of the framework's Ant build file.


    3 DISCUSSION
 TOP
 ABSTRACT
 1 MOTIVATION
 2 MOBY-S ADAPTATION METHODOLOGY
 3 DISCUSSION
 ACKNOWLEDGEMENTS
 REFERENCES
 
The GenerateCodonPairTable service described here is available through any MOBY-S client software. We have used it as part of a Taverna workflow with the DNA input coming from the results of one of the many MOBY-S service found throughout the Web (Fig. 1). This spontaneous coordination is made possible by the use of common terms from the MOBY-S Data Type Ontology.


Figure 1
View larger version (36K):
[in this window]
[in a new window]
[Download PowerPoint slide]
 
Fig. 1. Taverna workflow (using interoperable MOBY-S services) representing codon-pair analysis for the set of genes related to a given GenBank GI number. Information on individual services can be found at MOBY Central.

 
The relatively simple process, just described, hides the complexity of the work done by the framework on behalf of the developer:
  • XML data serialization/deserialization for request/response
  • Verification of the incoming data's syntax and semantics
  • Exception handling (at the Java, SOAP and MOBY-S levels)
  • Service metadata provision for Moby Central, in Feta format (Lord et al., 2005)
  • Java Servlet container configuration and testing

Biologists will benefit from more comprehensive, seamless on-line analysis as more developers adopt MOBY-S. This framework can ease adoption: experience has shown that services can be deployed within an hour, even by programmers unfamiliar with Web Services.


    ACKNOWLEDGEMENTS
 TOP
 ABSTRACT
 1 MOTIVATION
 2 MOBY-S ADAPTATION METHODOLOGY
 3 DISCUSSION
 ACKNOWLEDGEMENTS
 REFERENCES
 
This work is supported by Genome Canada, Genome Alberta and the following agencies: CFI, WED, ASRA and ANPI. CWS is the iCORE/Sun Microsystems Industrial Chair for Applied Bioinformatics.

Conflict of Interest: none declared.


    FOOTNOTES
 
Associate Editor: Jonathan Wren

Received on December 8, 2006; revised on January 13, 2007; accepted on February 14, 2007

    REFERENCES
 TOP
 ABSTRACT
 1 MOTIVATION
 2 MOBY-S ADAPTATION METHODOLOGY
 3 DISCUSSION
 ACKNOWLEDGEMENTS
 REFERENCES
 

    Carrere S, Gouzy J. Remora: a pilot in the ocean of biomoby web-services. Bioinformatics, ( (2006) ) 22, : 900–901.[Abstract/Free Full Text].

    Irwin B, et al. Codon pair utilization biases influence translational elongation step times. J. Biol. Chem, ( (1995) ) 270, : 22801–22806.[Abstract/Free Full Text].

    Lord P, et al. Feta: a light-weight architecture for user oriented semantic service discovery. In: The Semantic Web: Research and Applications, ( (2005) ) Springer. 17–31. volume 3532 of Lecture Notes in Comp. Sci..

    Navas-Delgado I, et al. Intelligent client for integrating bioinformatics services. Bioinformatics, ( (2006) ) 22, : 106–111.[Abstract/Free Full Text].

    Oinn T, et al. Taverna: a tool for the composition and enactment of bioinformatics workflows. Bioinformatics, ( (2004) ) 20, : 3045–3054.[Abstract/Free Full Text].

    Sharp PM, Li W-H. The Codon Adaptation Index – a measure of directional synonymous codon usage bias, and its potential applications. Nucleic Acids Res, ( (1987) ) 15, : 1281–1295.[Abstract/Free Full Text].

    Turinsky A, et al. Bioinformatics visualization and integration with open standards: the bluejay genomic browser. In Silico Biol, ( (2005) ) 5, : 187–198.[Medline].

    Wilkinson M. Gbrowse moby: a web-based browser for biomoby services. Source Code for Biology and Medicine, ( (2006) ) 1, : 4.[CrossRef].

    Wilkinson M, Links M. Biomoby: an open source biological web services proposal. Briefings in Bioinformatics, ( (2002) ) 3, : 331–341.[Abstract/Free Full Text].


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?


This article has been cited by other articles:


Home page
Brief BioinformHome page
The BioMoby Consortium
Interoperability with Moby 1.0--It's better than sharing your toothbrush!
Brief Bioinform, May 1, 2008; 9(3): 220 - 231.
[Abstract] [Full Text] [PDF]


Home page
Brief BioinformHome page
P. Romano
Automation of in-silico data analysis processes through workflow management systems
Brief Bioinform, January 1, 2008; 9(1): 57 - 68.
[Abstract] [Full Text] [PDF]


This Article
Right arrow Abstract Freely available
Right arrow FREE Full Text (Print PDF) Freely available
Right arrow All Versions of this Article:
23/9/1178    most recent
btm060v1
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in PubMed
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (2)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Gordon, P. M.K.
Right arrow Articles by Sensen, C. W.
Right arrow Search for Related Content
PubMed
Right arrow PubMed Citation
Right arrow Articles by Gordon, P. M.K.
Right arrow Articles by Sensen, C. W.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?