AMBIT RESTful web services: an implementation of the OpenTox application programming interface
Jeliazkova and Jeliazkov Journal of Cheminformatics 2011, 3:18
http://www.jcheminf.com/content/3/1/18
SOFTWARE
Open Access
AMBIT RESTful web services: an implementation
of the OpenTox application programming
interface
Nina Jeliazkova* and Vedrin Jeliazkov
Abstract
The AMBIT web services package is one of the several existing independent implementations of the OpenTox
Application Programming Interface and is built according to the principles of the Representational State Transfer
(REST) architecture. The Open Source Predictive Toxicology Framework, developed by the partners in the EC FP7
OpenTox project, aims at providing a unified access to toxicity data and predictive models, as well as validation
procedures. This is achieved by i) an information model, based on a common OWL-DL ontology ii) links to related
ontologies; iii) data and algorithms, available through a standardized REST web services interface, where every
compound, data set or predictive method has a unique web address, used to retrieve its Resource Description
Framework (RDF) representation, or initiate the associated calculations.
The AMBIT web services package has been developed as an extension of AMBIT modules, adding the ability to
create (Quantitative) Structure-Activity Relationship (QSAR) models and providing an OpenTox API compliant
interface. The representation of data and processing resources in W3C Resource Description Framework facilitates
integrating the resources as Linked Data. By uploading datasets with chemical structures and arbitrary set of
properties, they become automatically available online in several formats. The services provide unified interfaces to
several descriptor calculation, machine learning and similarity searching algorithms, as well as to applicability
domain and toxicity prediction models. All Toxtree modules for predicting the toxicological hazard of chemical
compounds are also integrated within this package. The complexity and diversity of the processing is reduced to
the simple paradigm “read data from a web address, perform processing, write to a web address”. The online
service allows to easily run predictions, without installing any software, as well to share online datasets and
models. The downloadable web application allows researchers to setup an arbitrary number of service instances for
specific purposes and at suitable locations. These services could be used as a distributed framework for processing
of resource-intensive tasks and data sharing or in a fully independent way, according to the specific needs. The
advantage of exposing the functionality via the OpenTox API is seamless interoperability, not only within a single
web application, but also in a network of distributed services. Last, but not least, the services provide a basis for
building web mashups, end user applications with friendly GUIs, as well as embedding the functionalities in
existing workflow systems.
Background
Most of the common tasks in toxicity prediction consist
of several typical steps, such as access to datasets,
descriptor calculation and validation procedures.
Usually, the components that implement these steps are
developed from scratch for every new predictive application and this often leads to undesirable duplication of
* Correspondence:
Ideaconsult Ltd., Angel Kanchev Str 4, Sofia 1000, Bulgaria
effort and/or lack of interoperability. The availability of
a universal set of interoperable components could facilitate the implementation of new specialized applications
that combine algorithms in the most appropriate way
and allow fast and rigorous model development and
testing.
The OpenTox framework [1] is being built as a collaborative effort by the partners in the OpenTox EC FP7
project, and is an attempt to design and implement a
framework of web accessible components, solving
© 2011 Jeliazkova and Jeliazkov; licensee Chemistry Central Ltd. This is an Open Access article distributed under the terms of the
Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and
reproduction in any medium, provided the original work is properly cited.
Jeliazkova and Jeliazkov Journal of Cheminformatics 2011, 3:18
http://www.jcheminf.com/content/3/1/18
common tasks in chemical properties prediction. The
design objectives were to build a component based system, independent of programming languages and operating systems, where the components could interoperate
between themselves and with external software
packages, being able to aggregate data from different
sources and staying open for future extensions. OpenTox made two major technological choices in order to
keep the developments within these constraints: (i) the
REpresentational State Transfer (REST) software architecture style allowing platform and programming language independence and facilitating the implementation
of new data and processing components; (ii) a formally
defined common information model, based on the W3C
Resource Description Framework (RDF) [2] and communication through well-defined interfaces ensuring
interoperability of the web components.
REST is a software architecture style for network
based applications, defined by Roy T. Fielding by analyzing the properties of the World Wide Web and other
network architectures, and deriving the architectural
constraints that made the WWW successful [3]. There
is a plethora of information on RESTful design principles [4], development frameworks and examples. The
REST architecture can be briefly summarized as
Resource Oriented and the essential architectural constraints are as follows. Every important information
entity or collection of entities is considered a resource
and is named and addressable (i.e. its content can be
retrieved by its address) and supports limited number of
operations (e.g. read and write). Any information entity
or collection of entities could be considered a resource.
A resource may return its content in different formats.
The content is regarded as resource “representation”.
Some operations are safe (have no side effects - e.g.
reading a resource) and idempotent (have same effect if
executed multiple times), while others are not (e.g.
creating new resources). The RESTful API design
includes a specification of the allowed representation
formats for each resource/operation pair. Another
important design constraint is the usage of hyperlinks. It
is considered good practice if all resources could be
reached via a single or minimum number of entry
points. Thus, the representation of a resource should
return links to the related resources.
The REST style web services became a popular alternative of SOAP based services and they are considered
lighter and easier to use. Contrary to the established
WS-* [5] standards, there are currently no standards for
RESTful applications, but merely design guides. While
the most widely deployed REST applications use the
HTTP protocol (and therefore HT (...truncated)