Content uploaded by Christoph W. Sensen
Author content
All content in this area was uploaded by Christoph W. Sensen on Feb 10, 2015
Content may be subject to copyright.
Vol. 23 no. 9 2007, pages 1178–1180
BIOINFORMATICS APPLICATIONS NOTE doi:10.1093/bioinformatics/btm060
Databases and ontologies
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 G enomics 3330 Hospital Drive NW,
Calgary, AB, Canada, T2N 4N1
Received on December 8, 2006; revised on January 13, 2007; accepted on February 14, 2007
Advance Access publication March 24, 2007
Associate Editor: Jonathan Wren
ABSTRACT
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@ucalgary.ca
1 MOTIVATION
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 stan-
dards 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
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
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.*To whom correspondence should be addressed.
1178 ß The Author 2007. Published by Oxford University Press. All rights reserved. For Permissions, please email: journals.permissions@oxfordjournals.org
by guest on June 12, 2013http://bioinformatics.oxfordjournals.org/Downloaded from
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.
Step2istomodifytheoriginal
CodonUsageTable classtomake
it extend the framework’s
MobyServlet. The inherited method
processRequest is overridden, and the main method calls
MobyServlet.main().Theinputandoutputtypesdeterminedin
Step 1, along with service metadata, are added as a Java
annotation
@mobyService. The code changes appear in Table 1.
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
The GenerateCodonPairTable service described here is avail-
able 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.
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)
Table. 1. Complete example of the code changes required to convert a
command-line Java program (CodonPairAnalyzer) into a MOBY-S
Service
Workflow inputs
Workflow outputs
NCBI_gi_namespace
NCBI_gi_id
Create_moby_data
getSHoundNeighboursFromGi
MOBYSHoundGetGenBankWhateverSequence
GenerateCodonPairTable
FinalDisplay
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.
Semantic Web Service provision
1179
by guest on June 12, 2013http://bioinformatics.oxfordjournals.org/Downloaded from
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 frame-
work can ease adoption: experience has shown that services can
be deployed within an hour, even by programmers unfamiliar
with Web Services.
ACKNOWLEDGEMENTS
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.
REFERENCES
Carrere,S. and Gouzy,J. (2006) Remora: a pilot in the ocean of biomoby web-
services. Bioinformatics, 22, 900–901.
Irwin,B. et al. (1995) Codon pair utilization biases influence translational
elongation step times. J. Biol. Chem., 270, 22801–22806.
Lord,P. et al. (2005) Feta: a light-weight architecture for user oriented semantic
service discovery. In The Semantic Web: Research and Applications, volume
3532 of Lecture Notes in Comp. Sci., Springer, pp. 17–31.
Navas-Delgado,I. et al. (2006) Intelligent client for integrating bioinformatics
services. Bioinformatics, 22, 106–111.
Oinn,T. et al. (2004) Taverna: a tool for the composition and enactment of
bioinformatics workflows. Bioinformatics, 20, 3045–30 54.
Sharp,P.M. and Li,W.-H. (1987) The Codon Adaptation Index – a measure of
directional synonymous codon usage bias, and its potential applications.
Nucleic Acids Res., 15, 1281–1295.
Turinsky,A. et al. (2005) Bioinformatics visualization and integration with open
standards: the bluejay genomic browser. In Silico Biol., 5, 187–198.
Wilkinson,M. (2006) Gbrowse moby: a web-based browser for biomoby services.
Source Code for Biology and Medicine, 1,4.
Wilkinson,M. and Links,M. (2002) Biomoby: an open source biological web
services proposal. Briefings in Bioinformatics, 3, 331–341.
P.M.K.Gordon et al.
1180
by guest on June 12, 2013http://bioinformatics.oxfordjournals.org/Downloaded from