API Consumer Tool

Category Cross-Omics>Workflow Knowledge Bases/Systems/Tools

Abstract The API Consumer is a tool for developers of 3rd party Application Programming Interfaces (APIs) such as BioJava, caCORE and JUMBO rather than end users.

In conjunction with Taverna, the API Consumer Tool allows the selection of subsets of Java APIs which may then be imported into Taverna's workbench software and used as components within workflows in that environment.

It produces an XML API definition file which Taverna imports - it is this file that you can distribute alongside or within your API to ‘Taverna enable’ it.

API Consumer Tool usage --

Taverna is an open-source workflow tool (see G6G Abstract Number 20514), that has been extended with a processor that is capable of invoking methods within Java classes.

The set of methods for use in workflows, is configured using the API Consumer Tool.

The API consumer Tool presents a user interface for selecting the subset of methods of an API, such as libSBML (see below...) that is to be exposed to the Taverna workbench.

This selection is stored as a definition in XML format which can be imported into Taverna to present the ‘selected classes’ and methods of the API, as available services for inclusion when constructing a workflow.

This ‘definition file’ can be further distributed together with the actual API implementation to third party workflow designers (as stated above...) for enabling the usage of the API as tasks within their workflows.

libSBML - libSBML is an open-source programming library to help you read, write, manipulate, translate, and validate Systems Biology Markup Language (SBML) files and data streams.

It is Not an application itself (though it does come with example programs), but rather a library you can embed in your own applications.

libSBML understands all Levels and Versions of SBML, as well as the SBML Layout proposal by Gauges, Rost, Sahle and Wegner. It's written in ISO C and C++ but can be used from multiple programming languages.

The above ‘workflow based’ approach is illustrated with the following example --

A common and useful means of visualizing transcriptome data is to map them onto ‘pathway diagrams’.

This can be performed as an automated pipeline using a Taverna workflow with SBML-compliant tools so that, for example, diagrams of ‘metabolic pathways’ can be rendered with ‘microarray data’ such that the nodes corresponding to proteins are colored according to the expression levels of the genes that encode them.

The microarray data may be stored in a database from which they may be retrieved as part of the Taverna workflow.

This workflow involves the automated editing of a SBML model of the ‘glycolysis pathway’ to incorporate gene expression data from the ‘Maxd database’ onto layout information embedded within SBML, which can then be visualized with Cell Designer (see G6G Abstract Number 20159).

The workflow has two sub-workflows which contain ‘API Consumer’ processors that use methods from libSBML for parsing the names of proteins in the SBML file as well as generating a new SBML file incorporating the mapped gene expression data.

Beanshell processors (see below...) can also be used to provide ‘application logic’ for further processing of the data in the SBML model.

These beanshell processors can be used to determine how entities in the microarray data matched with those in the SBML model;

This can be done by using information on how genes in the microarray data identified by their Affymetrix probe set identifiers mapped onto enzyme modifier species that were labeled using yeast ‘gene names’ in the SBML model.

BeanShell - BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java.

BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.

API Consumer Tool is generic --

Through the use of the API Consumer Tool, Taverna can make direct use of the functionality residing within Java classes and methods as workflow tasks. This is accomplished without the need for deploying the services in the API as Web Services.

This may be more suitable since the underlying services may perform trivial tasks, making the overhead of invocation through a Web Services interface impractical.

The API Consumer Tool is a generic tool in that it can be used with other Java APIs such as the ‘Chemistry Development Kit’, enabling Taverna to be tailored to different scientific domains.

This generic nature of the API Consumer Tool means that Taverna can work with SBML using new releases of libSBML as and when they become available, with No extra coding being required to make use of new releases of libSBML in Taverna.

The use of APIs can make workflows more difficult to compose as the functions are more fine-grained than are operations in Web Services, requiring ‘expert knowledge’ of using the API and Taverna.

While this results in more complex workflows, the complexity can be hidden from users within Taverna using nested workflows.

Also, once such workflows have been written, there is the great benefit that they may be saved and shared for use within the Systems Biology community.

Taverna Associated Tools --

The API Consumer Tool is one of a group of Taverna Associated Tools.

System Requirements

Contact manufacturer.


The myGrid (Taverna) team is led by Professor Carole Goble of the School of Computer Science at the University of Manchester, UK.

Manufacturer Web Site API Consumer Tool

Price Contact manufacturer.

G6G Abstract Number 20537

G6G Manufacturer Number 104153