19
SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy workflows with cloud computing support Mohamed Abouelhoda 1,3* , Shadi Alaa Issa 1 and Moustafa Ghanem 1,2 Abstract Background: Over the past decade the workflow system paradigm has evolved as an efficient and user-friendly approach for developing complex bioinformatics applications. Two popular workflow systems that have gained acceptance by the bioinformatics community are Taverna and Galaxy. Each system has a large user-base and supports an ever-growing repository of application workflows. However, workflows developed for one system cannot be imported and executed easily on the other. The lack of interoperability is due to differences in the models of computation, workflow languages, and architectures of both systems. This lack of interoperability limits sharing of workflows between the user communities and leads to duplication of development efforts. Results: In this paper, we present Tavaxy, a stand-alone system for creating and executing workflows based on using an extensible set of re-usable workflow patterns. Tavaxy offers a set of new features that simplify and enhance the development of sequence analysis applications: It allows the integration of existing Taverna and Galaxy workflows in a single environment, and supports the use of cloud computing capabilities. The integration of existing Taverna and Galaxy workflows is supported seamlessly at both run-time and design-time levels, based on the concepts of hierarchical workflows and workflow patterns. The use of cloud computing in Tavaxy is flexible, where the users can either instantiate the whole system on the cloud, or delegate the execution of certain sub-workflows to the cloud infrastructure. Conclusions: Tavaxy reduces the workflow development cycle by introducing the use of workflow patterns to simplify workflow creation. It enables the re-use and integration of existing (sub-) workflows from Taverna and Galaxy, and allows the creation of hybrid workflows. Its additional features exploit recent advances in high performance cloud computing to cope with the increasing data size and complexity of analysis. The system can be accessed either through a cloud-enabled web-interface or downloaded and installed to run within the user's local environment. All resources related to Tavaxy are available at http://www.tavaxy.org. Background Increasing complexity of analysis and scientific workflow paradigm The advent of high-throughput sequencing technologies - accompanied with the recent advances in open source software tools, open access data sources, and cloud com- puting platforms - has enabled the genomics community to develop and use sophisticated application workflows. Such workflows start with voluminous raw sequences and end with detailed structural, functional, and evolu- tionary results. The workflows involve the use of multiple software tools and data resources in a staged fashion, with the output of one tool being passed as in- put to the next. As one example, a personalized medicine workflow [1-3] based on Next Generation Sequencing (NGS) technology can start with short DNA sequences (reads) of an individual human genome and end with a diagnostic and prognostic report, or potentially even with a treatment plan if clinical data were available. This workflow involves the use of multiple software tools to assess the quality of the reads, to map them to a refer- ence human genome, to identify the sequence variations, to query databases for the sake of associating variations to diseases, and to check for novel variants. As another example, consider a workflow in the area of metage- nomics [4-7]. Such workflow can start with a large * Correspondence: [email protected] 1 Center for Informatics Sciences, Nile University, Giza, Egypt 3 Faculty of Engineering, Cairo University, Giza, Egypt Full list of author information is available at the end of the article © 2012 Abouelhoda et al.; licensee BioMed 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. Abouelhoda et al. BMC Bioinformatics 2012, 13:77 http://www.biomedcentral.com/1471-2105/13/77

SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77http://www.biomedcentral.com/1471-2105/13/77

SOFTWARE Open Access

Tavaxy: Integrating Taverna and Galaxy workflowswith cloud computing supportMohamed Abouelhoda1,3*, Shadi Alaa Issa1 and Moustafa Ghanem1,2

Abstract

Background: Over the past decade the workflow system paradigm has evolved as an efficient and user-friendlyapproach for developing complex bioinformatics applications. Two popular workflow systems that have gainedacceptance by the bioinformatics community are Taverna and Galaxy. Each system has a large user-base andsupports an ever-growing repository of application workflows. However, workflows developed for one systemcannot be imported and executed easily on the other. The lack of interoperability is due to differences in themodels of computation, workflow languages, and architectures of both systems. This lack of interoperability limitssharing of workflows between the user communities and leads to duplication of development efforts.

Results: In this paper, we present Tavaxy, a stand-alone system for creating and executing workflows based onusing an extensible set of re-usable workflow patterns. Tavaxy offers a set of new features that simplify and enhancethe development of sequence analysis applications: It allows the integration of existing Taverna and Galaxyworkflows in a single environment, and supports the use of cloud computing capabilities. The integration ofexisting Taverna and Galaxy workflows is supported seamlessly at both run-time and design-time levels, based onthe concepts of hierarchical workflows and workflow patterns. The use of cloud computing in Tavaxy is flexible,where the users can either instantiate the whole system on the cloud, or delegate the execution of certainsub-workflows to the cloud infrastructure.

Conclusions: Tavaxy reduces the workflow development cycle by introducing the use of workflow patterns tosimplify workflow creation. It enables the re-use and integration of existing (sub-) workflows from Taverna andGalaxy, and allows the creation of hybrid workflows. Its additional features exploit recent advances in highperformance cloud computing to cope with the increasing data size and complexity of analysis.The system can be accessed either through a cloud-enabled web-interface or downloaded and installed to runwithin the user's local environment. All resources related to Tavaxy are available at http://www.tavaxy.org.

BackgroundIncreasing complexity of analysis and scientific workflowparadigmThe advent of high-throughput sequencing technologies- accompanied with the recent advances in open sourcesoftware tools, open access data sources, and cloud com-puting platforms - has enabled the genomics communityto develop and use sophisticated application workflows.Such workflows start with voluminous raw sequencesand end with detailed structural, functional, and evolu-tionary results. The workflows involve the use of

* Correspondence: [email protected] for Informatics Sciences, Nile University, Giza, Egypt3Faculty of Engineering, Cairo University, Giza, EgyptFull list of author information is available at the end of the article

© 2012 Abouelhoda et al.; licensee BioMed CeCommons Attribution License (http://creativecreproduction in any medium, provided the or

multiple software tools and data resources in a stagedfashion, with the output of one tool being passed as in-put to the next. As one example, a personalized medicineworkflow [1-3] based on Next Generation Sequencing(NGS) technology can start with short DNA sequences(reads) of an individual human genome and end with adiagnostic and prognostic report, or potentially evenwith a treatment plan if clinical data were available. Thisworkflow involves the use of multiple software tools toassess the quality of the reads, to map them to a refer-ence human genome, to identify the sequence variations,to query databases for the sake of associating variationsto diseases, and to check for novel variants. As anotherexample, consider a workflow in the area of metage-nomics [4-7]. Such workflow can start with a large

ntral Ltd. This is an Open Access article distributed under the terms of the Creativeommons.org/licenses/by/2.0), which permits unrestricted use, distribution, andiginal work is properly cited.

Page 2: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 2 of 19http://www.biomedcentral.com/1471-2105/13/77

collection of sequenced reads and end up with determin-ation of the existing micro-organisms in the environ-mental sample and an estimation of their relativeabundance. This workflow also involves different tasksand software tools, such as those used for assessing thequality of the reads, assembling them into longer DNAsegments, querying them against different databases, andconducting phylogenetic and taxonomical analyses.To simplify the design and execution of complex bio-

informatics workflows, especially those that use multiplesoftware tools and data resources, a number of scientificworkflow systems have been developed over the past dec-ade. Examples include Taverna [8,9], Kepler [10], Triana[11,12], Galaxy [13], Conveyor [14] Pegasus [15], Pegasys[16], Gene Pattern [17,18], Discovery Net [19,20], andOMII-BPEL [21]; see [22] for a survey and comparison ofsome of these tools.All such workflow systems typically adopt an abstract

representation of a workflow in the form of a directedgraph, where nodes represent tasks to be executed andedges represent either data flow or execution dependenciesbetween different tasks. Based on this abstraction, andthrough a visual front-end, the user can intuitively buildand modify complex applications with little or no pro-gramming expertise. The workflow system maps the edgesand nodes in the graph to real data and software compo-nents. The workflow engine (also called execution or enact-ment engine) executes the software components eitherlocally on the user machine or remotely at distributedlocations. The engine takes care of data transfer betweenthe nodes and can also exploit the use of high performancecomputing architectures, if available, so that independenttasks run in parallel. This makes the application scientistfocus on the logic of their applications and no longerworry about the technical details of invoking the softwarecomponents or use of distributed computing resources.Within the bioinformatics community, two workflow

systems have gained increasing popularity, as reflectedby their large and growing user communities. These areGalaxy [13] and Taverna [8,9]. Both systems are efficient,open source, and satisfy to a great extent the require-ments of the bioinformatics community. Taverna hasbeen developed primarily to simplify the development ofworkflows that access and use analyses tasks deployed asremote web and grid services. It comes with an asso-ciated directory of popular remote bioinformatics ser-vices and provides an environment that coordinates theirinvocation and execution. Galaxy has been developedprimarily to facilitate the execution of software tools onlocal (high performance computing) infrastructure whilestill simplifying access to data held on remote biologicalresources. Its installation includes a large library of toolsand pre-made scripts for data processing. Both systemsare extensible, allowing their users to integrate new

services and tools easily. Each system offers log files tocapture the history of experiment details. Furthermore,both systems provide web-portals allowing users to shareand publish their workflows: These are the myExperi-ment portal for Taverna [23,24] and the Public Pages forGalaxy [13]. The features of both systems are continu-ously being updated by their development teams andtheir user communities are active in developing andsharing new application workflows.However, since both Taverna and Galaxy have been

developed with different use cases and execution envir-onments in mind, each system tends to be suited to dif-ferent styles of bioinformatics applications. The keydifferences between the two systems can be categorizedinto three major classes:

1. Execution environment and system design: Tavernais oriented towards using web-services for invokingremote applications, while Galaxy is orientedtowards efficient execution on a local infrastructures.

2. Model of computation: Taverna includes controlconstructs such as conditionals and iterations, anddata constructs that can handle (nested) lists (inparallel) using a number of pre-defined operations.These constructs are not directly available in Galaxy,which puts a limitation on the types of workflowsthat can be executed on Galaxy.

3. Workflow description language: Taverna uses theXML-based language SCUFL for describing theworkflows, while Galaxy expresses workflows in itsown language using JSON format.

These differences lead to two major consequences:First, some tasks can be implemented easily on one sys-tem but would be difficult to implement on the otherwithout considerable programming effort. Second, a(sub-) workflow developed on one system cannot beimported and re-used by the other easily (i.e., lack ofinteroperability), which limits sharing of workflows be-tween their communities and leads to duplication of de-velopment efforts.

Our contributionIn this paper, we present Tavaxy, a pattern-based work-flow system that can integrate the use and execution ofTaverna and Galaxy workflows in a single environment.The focus of Tavaxy is facilitating the efficient executionof sequence analysis tasks on high performance comput-ing infrastructures and cloud computing systems. Tavaxybuilds on the features of Taverna or Galaxy providingthe following benefits:

� Single entry point: Tavaxy is a standalone pattern-based workflow system providing an extensible set of

Page 3: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 3 of 19http://www.biomedcentral.com/1471-2105/13/77

patterns, and allows easy integration with otherworkflow systems. It provides a single environment toopen, edit, and execute its own workflows as well asintegrate native Taverna and Galaxy whole- or sub-workflows, thus enabling users to compose hybridworkflows. Figure 1 summarizes the different integrationuse cases at run-time and design-time levels in Tavaxy.(The replacement of remote calls with local tools isaddressed in the next paragraph. The computation ofmaximal external sub-workflows is a performanceoptimization step discussed later in this paper.)

� Transparent use of local and remote resources: Formost programs, Tavaxy allows its user to choosewhether a task should run on local or remotecomputational resources. Furthermore, if a Tavernaworkflow is imported (e.g., from my Experiment),Tavaxy offers users an option to replace calls toremote web services automatically with calls to

Figure 1 Use diagram of integrating Taverna, Galaxy, and Tavaxy workfworkflows as well as integrates and executes Taverna and Galaxy workflows. Gand executed directly on the system. For Taverna workflows, the integration cTaverna (sub-) workflows can be executed as a whole by calling the Taverna eother Tavaxy workflows. At workflow design time, Taverna workflows are tranenhanced. In this case, the user has the option of replacing any of the remoteAny remaining Taverna sub-workflow fragments can be directly executed usinencapsulated into maximal external sub-workflows so as to minimize executioexternal sub-workflows in more details.

corresponding tools that run on a local computinginfrastructure, or vice versa. (Note that almost allthe workflows published on myExperiment are basedon using remote services). Changing the defaultmode of invocation in either Taverna or Galaxyrequires programming knowledge, and it is difficultto achieve by the non-programming scientist.

� Simplified control and data constructs: Tavaxysupports a set of advanced control constructs (e.g.,conditionals and iterations) and data constructs (e.g.,nested lists) and allows their execution on the local orremote computational infrastructures. The use of theseconstructs, which are referred to as “patterns” inTavaxy, facilitates the design of workflows and enablesfurther parallelization, where the data items passed to anode can be processed in parallel. The user of Tavaxyhas the extra advantages of 1) adding these constructsto imported Galaxy workflows, and 2) using these

lows. Tavaxy is a standalone workflow system that executes Tavaxyalaxy workflows are compatible with Tavaxy and can be importedan take place at either run-time or design-time. At run time, thengine. They can also be saved as sub-workflows and used withinslated to the Tavaxy language, enabling them to be edited andcalls in the Taverna workflow with calls to equivalent local tools.g the Taverna engine. As an optimization, sub-workflows can ben overheads. The implementation section addresses the maximal

Page 4: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 4 of 19http://www.biomedcentral.com/1471-2105/13/77

constructs on the local infrastructures; features thatare available only in Taverna and only for remote tools.

Beyond these integration issues, Tavaxy provides thefollowing additional features that facilitate authoring andexecution of workflows:

� Enhanced usability: Tavaxy uses flowchart-likeelements to represent control and data constructs. Theworkflow nodes are annotated with icons to reflect ifthey are executed locally or remotely. The toolparameters can be defined either at the design- or run-time of the workflow. The data patterns offered inTavaxy further facilitate the composition of workflows,making them more compact, and enable exploitationof local high performance computing infrastructurewithout any additional effort. Furthermore, each userhas an account associated with its data and eachworkflow is further associated with its history as wellas previously used datasets within the user account.

� Modularity: Tavaxy is modular; it separates theworkflow composition and management modulesfrom the workflow engine. Its workflow engine is astandalone application accepting both workflowdefinitions and data as input. This feature, as will bemade clear later in the manuscript, is of crucialimportance for implementing control constructs andfor supporting cloud computing.

� High performance computing infrastructure support:Tavaxy can readily run on a computer cluster, once ajob scheduler system (like PBS Torque or SGE) anda distributed file system (like NFS) are installed. Theexecution of parallel tasks is handled automaticallyby the workflow engine, hiding all invocation details.

� Cloud computing support: Tavaxy is cloud computingfriendly, enabling users to scale-up theircomputational infrastructure on a pay-as-you gobasis, with reduced configuration efforts. Through asimple interface within the Tavaxy environment, auser who has a cloud computing account (e.g., at theAmazon AWS platform) can easily instantiate thewhole system on the cloud, or alternatively use amixed mode where his local version of the systemcan delegate the execution of a sub-workflow or asingle task to a Tavaxy cloud instance.

In the remaining part of this section, we will review basicconcepts of workflow interoperability and workflow patternsthat contributed to the design and development of Tavaxy.

Related technical workWorkflow interoperabilityOur approach described in this paper goes beyond the run-time “black-box” invocation of one system from the other,

which was used in the work of [25,26] to enable interoper-ability between Galaxy and Taverna. To highlight the differ-ence, the Workflow Management Coalition, WfMC, [27]defines eight models, or approaches, for achieving inter-operability between workflow systems. These models canbe grouped broadly into two major categories: 1) Run-timeinteroperability, where one system invokes the other systemthrough APIs. 2) Design-time interoperability, where thetwo systems are based on a) the same model of computa-tion (MoC); or b) the same languages (or at least transla-tion between languages is feasible), or c) the sameexecution environment (or at least the existence of an ab-stract third-party middleware). These three design-timeissues are discussed in detail in the paper of Elmroth et al.[28].As discussed earlier, both Taverna and Galaxy have dif-

ferent models of computation and different languages. Inthis paper, we use ideas from the workflow interoperabil-ity literature and introduce the concept of patterns to in-tegrate and execute Taverna and Galaxy workflows inTavaxy at both run-time and design-time levels..

Workflow patternsWorkflow patterns are a set of constructs that model a(usually recurrent) requirement (sub-process); the de-scription of these constructs is an integral part of thepattern definition. Workflow patterns, despite being lessformal than workflow languages, have become increas-ingly popular due to their practical relevance in compar-ing and understanding the features of different workflowlanguages. As originally introduced in [29], workflowpatterns were used to characterize business workflowsand were categorized into four types: control flow, dataflow, resource and operational, and exception handlingpatterns. We note that the concept of patterns is in gen-eral applicable to scientific workflows. In [25], we usedthis concept for the first time to demonstrate the feasi-bility of achieving interoperability between Taverna andGalaxy. Our work in this paper extends this demonstra-tive work by providing a larger set of the patterns, andalso by providing a complete implementation of themwithin a functional and usable system.

ImplementationTavaxy model of computation and languageTavaxy workflows are directed acyclic graphs (DAGs),where nodes represent computational tools and edgescorrespond to data flows or dependencies between them.The workflow patterns defined and used in Tavaxy havespecial meanings in this DAG, as will be explained in de-tail later in the pattern implementation subsection. TheTavaxy engine is based on a data flow model of execu-tion [22,28,30-34], in which each node (task) can startcomputation only once all its input data are available.

Page 5: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 5 of 19http://www.biomedcentral.com/1471-2105/13/77

The Tavaxy workflow engine is responsible for keepingtrack of the status of each node and for invoking its exe-cution when the predecessor nodes have finished execu-tion and when its input data is completely available.When executing on a single processor, where tasks areexecuted sequentially, the order of task invocation canbe determined in advance. This is achieved by traversingthe DAG and scheduling a node (i.e., adding it to theready queue) only if all the its predecessor nodes arealready scheduled. As such, this scheduling is referred toas a static scheduling [34]. When executing on multipleprocessors, independent ready tasks can be executed inparallel. In this case, the Tavaxy engine keeps looking forready tasks and launches them concurrently. On multi-core machines, the engine uses multi-threading to han-dle the execution of concurrent tasks. On a computercluster, it passes the concurrent tasks to a job-scheduler,which in turn distributes them for execution on differentcluster nodes. The default job-scheduler used in Tavaxyis PBS Torque, and it is set-up over a shared file system(NFS for local setting and S3 for cloud infrastructure) toguarantee availability of data for all cluster nodes.A Tavaxy workflow is defined and stored in tSCUFL

format, which is similar in flavor to the Taverna SCUFLformat. However, there are two main differences betweenthe two formats: 1) A node’s parameters are representedin tSCUFL by default as attributes of the respective tool,whereas they are considered as input items in SCUFL. 2)The workflow patterns (e.g., conditionals and iteration)are explicitly specified in tSCUFL but implicitly definedin SCUFL.

Integrating Galaxy and Taverna workflows in TavaxyTavaxy provides an easy-to-use environment allowingthe execution of Tavaxy workflows that integrateTaverna and Galaxy workflows as sub-workflows. Suchintegration can be achieved at both design-time and run-time:For run-time integration,Tavaxy can execute both Galaxy

and Taverna (sub-) workflows ‘as is’, with no modification.For Galaxy workflows, this is straightforward, because theTavaxy engine is compatible with the Galaxy engine andfollows the same model of computation. For Taverna work-flows, Tavaxy can execute a Taverna (sub-) workflow by in-voking the Taverna engine through a command lineinterface that takes both the Taverna (sub-) workflow fileand its data as input. The Tavaxy mapper componentassures the correct data transfer between the Taverna en-gine and other nodes. This is achieved by setting sourceand destination directories and input/output file names inappropriate manners.For design-time integration, Tavaxy imports and

manipulates workflows written in either Galaxy orTaverna formats. Tavaxy can import a Galaxy workflow

file to its environment, allowing its modification and exe-cution. The engineering work for this step includestranslation of the JSON objects of the Galaxy workflowto the tSCUFL format of Tavaxy. For Taverna workflows,the implementation addresses the differences in themodel of computation and workflow languages. Specific-ally, the workflow engine of Tavaxy is a data-floworiented one, with no explicit specification of controlconstructs, while the Taverna engine supports both data-and control-flow constructs.The Taverna workflow language is SCUFL/t2flow but

that of Tavaxy is tSCUFL. To overcome these differences,we use the concept of workflow patterns to 1) execute(“simulate”) the execution of Taverna control and data con-structs on the data-driven workflow engine of Tavaxy; and2) to provide a pragmatic solution to language translationwhere a Taverna (sub-) workflow is decomposed into a setof patterns that are then re-written in Tavaxy format. Thefollowing section introduces the Tavaxy workflow patternsand their implementation.

Workflow patterns: Definitions and implementationWe divide the Tavaxy workflow patterns into twogroups: control patterns and data patterns. In the re-mainder of this subsection, we define these patterns andtheir implementation on the Tavaxy data-flow engine.

Control patternsControl patterns specify execution dependencies betweentasks. For most control patterns, data flow is stillrequired and is defined as part of the control patternspecification itself. The following are the key control pat-terns used in Tavaxy:

1. Sequence: In this pattern, task B runs after thetermination of task A, as shown in Figure 2(a). Thedata produced by A is subsequently processed by Band moves over an edge whose start is an outputport at A and whose destination is an input port atB. The concept of ports makes it possible to selectwhich pieces of data produced by A are passed to B.Desired execution dependencies involving no datacan be achieved on the Tavaxy data flow engine by aspecial token (dummy output) from A to B. Thecurrent engine of Tavaxy does not supportstreaming, and the tasks are stateless, according tothe discussion of Ludäscher et al. [31].

2. Synchronous Merge: A task is invoked only if all itspredecessor tasks are executed; Figure 2(b) depictsthis pattern with three tasks A, B, and C, where taskA and B should be completed before C. This patternalso specifies that task C takes two inputs (one fromA and another from B) and the data flowing from Aand B to C goes to different input ports.

Page 6: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Figure 2 Workflow patterns of Tavaxy. Workflow patterns modeling the execution of workflow tasks. The parts (a), (b), (c), (d), and (e) representthe sequence (pipeline) pattern, the synchronous merge, the synchronous fork, multi-choice fork, and iteration control patterns, respectively. Thepart (f) shows how a list of data items is processed, and (g) shows dot/cross product operation. The parts (h) and (j) represent the data select anddata merge patterns, respectively.

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 6 of 19http://www.biomedcentral.com/1471-2105/13/77

3. (Parallel) Synchronous fork: Figure 2(c) depicts thispattern with three tasks A, B, and C. Tasks B and Crun after the execution of A. The data output fromA flows according to one of two schemes, asspecified by the user through settings of ports: 1)One copy of the data output of A is passed to B andanother one to C. 2) Different data output items of Aare passed to B and C. The tasks B and C can alwaysrun in parallel, because their input set is alreadyavailable and they are independent.

4. Multi-choice fork: This pattern includes the use of anif-else construct to execute a task if a condition issatisfied. This condition is defined by the userthrough an implementation of a Ψ function. Figure 2(d) shows an example, where either B or C isexecuted, depending on the Ψ function, whosedomain may include the input data coming from A.Note that the input data to B and C, which cancome from any other node including A, is notspecified in the Figure. Because this pattern specifiesrun-time execution dependencies, it is not directlydefined over a data-flow engine. Therefore, weimplemented this pattern on the Tavaxy engine bycreating a special node containing a program thatimplements the switch function. The engine

executes this node as a usual task. The program forswitch pattern takes the following as input: 1) themulti-choice condition, and 2) the data to be passedto the next tasks. It then checks the condition andpasses a success signal to the branch satisfying thecondition and passes fail signal to the branchviolating that condition. The success and fail signalsare special tokens recognized by Tavaxy nodes.

5. Iteration: This pattern specifies repetition of aworkflow task. In Figure 2(e), the execution of nodeB, which could be a sub-workflow, is repeated manytimes. The number of iterations can be either fixedor dependent on the data produced at each step. Ineach iteration, an output of task B can replace thecorresponding input. For example, a parameter filecan be passed to B and at each iteration thisparameter file is modified and passed again to B.Node C, which represents any node that uses theoutput of B, is invoked only after the iterationpattern terminates. The iteration pattern isrepresented by a special node in Tavaxy and theassociated program that implements it takes thefollowing items as input: 1) the task (or sub-workflow) that iterates, 2) its parameters, 3) thetermination criteria (defined by python script), and

Page 7: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 7 of 19http://www.biomedcentral.com/1471-2105/13/77

4) information about feedback data. The iteration isimplemented as a do-while loop, where the tasks inthe body of the loop are encapsulated as a sub-workflow. Tavaxy is invoked recursively to executethis sub-workflow in each iteration. The output ofthe iteration pattern is specified by the user and ispassed to the next task upon termination. The loopiterations are in general stateless; but the user canmodify the included sub-workflow to keep stateinformation.

Advanced data patterns and types

1. (Nested) Lists: In this pattern, the input to a node isa list of n items. The program associated with thenode is invoked independently n times on each ofthe list items. Figure 2(f ) shows an example where alist ([x1,. . .,xn]) is passed to A. The output is also alist ([A(x1),. . .,A(xn)]). Note that if the list option isnot specified in the node, then the respectiveprogram is invoked once and the input list ishandled as a single object, as in the sequencepattern. For example, a program for Primer designwould consider a multi FASTA file as a list and isinvoked multiple times on each item (sequence),while an alignment program would consider thesequences of the multi-FASTA file as a single objectto build a multiple sequence alignment. In Tavaxy, itis possible to process the list items in parallel,without extra programming effort. Furthermore, alist can be a list of lists defined in a recursivemanner, so as to support a nested collection ofitems, according to the notion of [9,32]. The jobscorresponding to the processing of every list item arestateless, according to the discussion of Ludäscheret al. [31]. However, the script implementing the listkeeps track of the running jobs, and reports an errormessage if any job failed.

Over this list data type, we define a set of operatorsthat can be used by the main program associated withthe node.

� Dot product: Given two lists A[a1,. . .,an] andB[b1,..,bm], n≤m as input, a dot product operationproduces the n tuples [(a1,b1),..,(an,bn)] which areprocessed independently by the respective program,see Figure 2(g). (lists [bn+1,. . .,bm] items are ignored.)This operation can be extended to multiple lists.

� Cross product: Given two lists A[a1,. . .,an] andB[b1,..,bm], n<m as input, a cross product operationproduces the set of (n×m) tuples ai; bj

� �� ��; i 21::n½ �; j 2 1::m½ �g, which are processed independentlyby the respective program. This option can be used,

for example, for comparing two protein sets (eachcoming from one species) to each other to identifyorthologs. If A=B, then we compare the set ofproteins to themselves to identify paralogs.

The list operations are implemented by a generic tool-wrapper of Tavaxy. As we will explain later in the sub-section describing the architecture of Tavaxy, this wrap-per is what is invoked by the workflow engine, and it isthe one that invokes the program to be executed. Thewrapper pre-processes the input and can make parallelinvocations on different list items if Tavaxy is executingon a multiprocessor machine. The data collect pattern(specified below) can then be used to combine theresults back in list format.

2. Data select: Consider Figure 2(h) with the threetasks A, B, and C. The data select pattern takes asinput 1) Output data from A and B, denoted by a!

and b!, respectively. It takes also an implementation

of a function Ψ that operates on properties of a! orb!. Without loss of generality, the output of this

pattern is a! , if Ψ is true, otherwise it is b!. The

output of the pattern can be passed to another nodeC. This pattern is implemented in a similar way tothe multi-choice pattern, where it specifies selectionof certain data flow.

3. Data collect (Merge): This pattern, which is depictedin Figure 2(j), specifies that the data outputs of Aand B are collected (concatenated) together in a list;i.e., the output is a!; b

!h i. Note that a! or b

!could be

a list of objects as well, which leads to creation ofnested collections. This pattern is implemented in asimilar way to the data select pattern, where dataitems are collected.

Tavaxy architectureFigure 3 (left) shows the architecture of Tavaxy, which iscomposed of four main components: 1) workflow author-ing module, 2) workflow pattern database, 3) workflowmapper, and 4) workflow engine. On top of these compo-nents, we developed user accounts to maintain users work-flows and data. We also developed a repository of publicworkflows that is shared between users. Figure 3 (upperright) shows the main Tavaxy page containing links to dif-ferent system parts and utilities.

Workflow authoring tool and languageThe Tavaxy workflow authoring module (workflow edi-tor) is a web-based drag-and-drop editor that builds onthe look and feel of Galaxy with two key modifications.First, it supports a user-defined set of workflow patternsthat are similar to those used in a traditional flowchart.Second, it allows users to tag which workflow nodes

Page 8: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Figure 3 Tavaxy architecture and interface. Left: Tavaxy Architecture. The authoring module (workflow editor) is where users compose, open,and import workflows into Tavaxy. The imported workflows can be in tSCUFL, SCUFL, t2flow, JSON formats. The mapping module producestSCUFL files to be executed by the engine. The engine invokes either local tools or remote services. Upper right: The main interface of the Tavaxysystem containing links to the authoring module, user’s workflow, user’s data, workflow repository, and other utilities and cloud tools. Lower right:The workflow authoring module, where the switch pattern is depicted. The cloud symbol and the parameter port appear on the tool node. Onthe righthand panel, the user can choose if a tool runs locally or on the cloud.

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 8 of 19http://www.biomedcentral.com/1471-2105/13/77

execute on the local infrastructure and which executeusing remote resources. For each node, there is a formthat can be used to set the node’s parameters. Further-more, each node has a specific port that can accept aparameters file that can be used to over-write parametervalues set through the web-interface. The use of a para-meters file allows changing of the value of parameters atrun time. Figure 3 (lower right) shows the Tavaxy author-ing module and highlights some of its key features.

Workflow mapperThe workflow mapper performs the following set oftasks:

� The mapper parses the input tSCUFL file and checksits syntax. It translates the Galaxy JSON format andTavernaSCUFL format to the TavaxytSCUFL format.Depending on user choices, it can replace remoteTaverna calls with calls to corresponding local tools.The nodes that are still executed remotely by theTaverna engine will be encapsulated as a sub-workflow. Each sub-workflow is then associated witha Tavaxy node that invokes the Taverna engine so asto execute the corresponding sub-workflow. Themapper sets the names of the sub-workflow inputand output files in an appropriate manner so that

the data correctly flows between the nodes.Additional file 1 (in the supplementary material)contains the re-writing rules for translating SCUFLto tSCUFL formats, including control constructs andreplacement of remote services with local tools.

� The mapper optimizes the execution of a workflowby identifying the tasks that will be executed by theTaverna engine and aggregating them into maximalexternal sub-workflows.. A sub-workflow is calledexternal if it includes only Taverna nodes and it ismaximal if no extra external nodes can be added toit. The mapper determines the maximal externalsub-workflows using a simple graph-growingalgorithm, where we start with a sub-graphcomposed of a single Taverna node and keep addingexternal nodes to this sub-graph provided that thereare edges connecting the new nodes to the sub-graph and no cycles are introduced. To find the nextmaximal external sub-workflow, we move to thenext non-processed external node. After sub-workflow identification, the mapper encapsulateseach maximal external sub-workflow in a new nodeand adjusts the input and output ports in anappropriate manner. Accordingly, the Taverna engineis invoked only once for each maximal external sub-workflow, which avoids the overhead of multiple

Page 9: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 9 of 19http://www.biomedcentral.com/1471-2105/13/77

Taverna calls. Note that Taverna uses multi-threading to handle execution of independent tasks,including remote invocations. Hence, the use ofmaximal external sub-workflows with remote callsentails no loss in efficiency.

Workflow engineThe Tavaxy engine is based on the data flow model ofexecution discussed earlier in this section. It is written inPython, based on some Galaxy functions to save develop-ment time. The Tavaxy engine (compared to the Galaxyengine) is standalone and not tightly coupled with theweb-interface and database-interface; i.e., it can beinvoked programatically or using a command line inter-face. Furthermore, it can invoke itself in a recursive man-ner, which enables the implementation of differentpatterns and integration of heterogeneous workflows. Bybuilding on some of core features of Galaxy engine, theTavaxy engine can be regarded as an extended and engi-neered version of that of Galaxy. The Taverna engine isinvoked as any program (secondary engine) to achieverun time interoperability with Taverna workflows and touse it in invocation of remote services.All local tools in Tavaxy are wrapped within a generic

wrapper that is invoked by the engine.This wrapper is responsible for the following:

� The wrapper decides whether the associated tool isexecuted or not, depending on reception of a specialtoken (dummy data). The special token can correspondeither to 1) execution dependency or 2) “do-not-execute” or “fail” signal from the preceding node, as inthe case of the multi-choice pattern. In the former case,the wrapper executes the respective computational tool,

Figure 4 Use of cloud computing in Tavaxy. Left: The web interface forTavaxy showing the local and cloud versions of the system. The data flows frmachine or to the persistent S3 storage. The S3 storage serves two purposes

while in the latter case, it will not invoke the tool andfurther passes the token to the output ports.

� It handles the list patterns by determining the listitems, executing list operations, and invoking therespective program (in parallel) on list items.

� It uses cloud computing APIs to execute tasks oncloud computing platforms. The use of cloudcomputing is discussed below in more detail.

Workflow pattern databaseThe workflow pattern database stores the definition andimplementation of the workflow patterns used in Tavaxy.It also stores how the nodes associated with these patternsare rendered on the workflow authoring client. This pat-tern database is extensible by the user, who can define newpatterns according to the rules of the Tavaxy system.

Use of cloud computingAs briefly mentioned before in the introduction, we providethree modes for using cloud computing: 1) whole systeminstantiation, 2) sub-workflow instantiation, and 3) tool(service) instantiation. To further simplify the use of thefirst mode, we installed an instance of Tavaxy (includingthe whole web-interface and tools) on an Amazon AWSvirtual machine and deposited a public image of it at theAmazon web-site. A user who has an Amazon account candirectly start the image and use it. Based on Amazon APIs,this image can establish a computer cluster upon its activa-tion. The user can specifically define the type of nodes (e.g.,large or extra large) and their number. The Amazon S3storage is used as a shared storage for the computer cluster.We developed several interface functions that manage datatransfer among the compute nodes and the shared storageof the cluster at run time. Figure 4(left) shows a screen shot

setting the computer cluster on the cloud. Right: The architecture ofom the local version to either the mounted disk attached to the main: 1) persistent storage and 2) shared storage for the computer cluster.

Page 10: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 10 of 19http://www.biomedcentral.com/1471-2105/13/77

of the Tavaxy interface page, where the user can configurethe cluster and storage.In the second mode, the user already has aTavaxy version

installed on his local machines (called local Tavaxy) anddelegates the execution of one or multiple sub-workflows tobe executed on the cloud. To support this scenario, a light-weight version of Tavaxy has been deposited at the Amazonplatform as a virtual machine image. From a simple userinterface in the local Tavaxy, the user can start and config-ure a cloud cluster using the prepared Tavaxy image.At run-time, the local version of Tavaxy communicates

with the cloud counterpart, using a simple asynchronousprotocol (similar to the REST protocol), to send the sub-workflow, execute it, and retrieve the results. The inputand output data related to such a sub-workflow flowaccording to one of two scenarios:

1. The input data is sent to the mounted disk of themain cloud machine along with the workflow to beexecuted. After processing, the output is sent back tothe local Tavaxy. After termination of the machine,the input and result data are lost, unless they aremoved by the user to a persistent storage. Thisscenario is useful in case no computer cluster isneeded.

2. The input data is sent to a shared volume in thepersistent S3 storage (this can be done offline),where the compute nodes of the computer clustercan easily access it. Because reads and writes to S3require the use of Amazon APIs, we developedspecial scripts to facilitate this access between thelocal Tavaxy and S3 on one side and between thecompute nodes and S3 on the other side. Afterexecution of the sub-workflow, a copy of the outputis maintained on the S3 and another copy is sent tothe local Tavaxy to complete the execution of themain workflow.

The third mode is a special case of the second mode,where the user can delegate the execution of only a sin-gle task to the cloud. For this mode, we also use a simpleprotocol to manage the data transfer and remote execu-tion of the task on the cloud. Figure 4(right) shows thearchitecture of the cloud version of Tavaxy and the dataflows among its components.

Results and discussionAccessing TavaxyThere are different ways to access and use the Tavaxysystem from its main home page:

1. Downloadable version: The whole Tavaxy system,with all features described in this manuscript, can bedownloaded for local use. The bioinformatics

packages are provided in a separate compressedfolder, because we assume that some users alreadyhave installed the packages of interest on their localsystems and just need the Tavaxy system. Thepackages currently include about 160 open sourcetools, coming from EMBOSS [35], SAMtools [36],fastx [37], NCBI BLAST Toolkit [38-40], and otherindividual sequence analysis programs. Addition ofextra tools is explained in the Tavaxy manual.

2. Web-based access: We offer a traditional web-basedinterface to a Tavaxy instance for running small andmoderate size jobs. For large scale jobs, werecommend the use of cloud version.

3. Cloud-computing based access: In this mode, eachuser creates a Tavaxy instance with the hardwareconfiguration of choice on the AWS cloud. Theinteresting feature in this model is that multipleusers may have multiple Tavaxy systems, each withdifferent configuration (number and type of ‘virtual’machines). The Tavaxy instances on the cloudalready include the 160 tools currently tested. Theyalso include a number of databases to be used withthe cloud machines, such as the NCBI (nucleotideand protein) and swissprot databases.

Pre-imported workflowsAt the time of preparing this manuscript (June 2011),the Taverna repository myExperiment contained 557workflows in SCUFL (Taverna1) format and 554 work-flows in t2flow format (Taverna2). By manual inspection,we found that 296 workflows (96 in SCUFL format and200 in t2flows format) are related to the sequence ana-lysis domain, which is the main focus of this version ofTavaxy. To help the community, we already imported allthese workflows into the Tavaxy environment, andarranged them in a special web-accessible repository forpublic use. We also provided the user with optimizedversions of the sequence analysis workflows, where manyof the web-services are replaced with local invocations ofthe corresponding local tools distributed with Tavaxy.We also imported all public Galaxy workflows from theGalaxy Public Pages and added them to this repository.The workflows imported from both the Taverna andGalaxy repositories are included in the Tavaxy system,and will be kept up-to-date on its web-site. These work-flows can serve as “design patterns” that can can be usedto speed up workflow development cycle, when develop-ing more complex workflows.

Experiments overviewIn the following sub-sections, we introduce two casestudies that demonstrate the key features of Tavaxy. Inthe first case study, we demonstrate 1) how Taverna,Galaxy, and Tavaxy sub-workflows can be integrated in a

Page 11: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 11 of 19http://www.biomedcentral.com/1471-2105/13/77

single Tavaxy workflow, highlighting both the integrationcapabilities and use of workflow patterns; and 2) theoptimization steps included before the execution ofimported workflows and their effects on the performanceof the system. In the second case study, we demonstrate1) the use of Tavaxy for a metagenomics workflow basedon NGS data; 2) the advantages of using advanced datapatterns in facilitating the workflow design and support-ing parallel execution; 3) the speed-up achieved by usinglocal HPC infrastructure; and finally 4) the efficient andcost-saving use of cloud computing.

Case study I: Composing heterogeneous sub-workflowson TavaxyFigure 5 shows a workflow for finding homologous pro-tein sequences and analyzing them. The workflow startswith reading a DNA/protein sequence from the user. Ifthe input is a DNA sequence, it is translated to a protein

Figure 5 Protein analysis workflow. Workflow for finding and analyzingsub-workflows from Galaxy and Tavaxy, and the remaining parts correspon

sequence. The input sequence is passed to BLAST[38,39] to find similar sequences. The output of BLAST,which is a list of Genbank IDs, is then compared to auser-provided list of sequence IDs to exclude commonsequences from the output list. The protein sequences ofthe exclusive IDs are then retrieved and passed to theprograms ClustalW [41,42] and MUSCLE [43] for com-puting multiple alignment. ClustalW is also used forcomputing a phylogenetic tree.Searching the myExperiment repository, there is

already an existing Taverna implementation for most ofthe desired workflow, deposited under the name “work-flow_for_protein_sequence_analysis” [44], and Figure 6shows its implementation as it appears in the Tavernaauthoring module. The missing functionality in thisTaverna workflow are the two parts highlighted inFigure 5, including the parts for translating the DNA se-quence into protein sequence and the one for MUSCLE-

homologous protein sequences. The highlighted parts are extrad to a Taverna workflow already deposited at myExperimentweb-site.

Page 12: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 12 of 19http://www.biomedcentral.com/1471-2105/13/77

consensus. In the original Taverna implementation, thesoftware tools BLAST, ClustalW, and phylogeny plottingare invoked through web-service interfaces. The otherintermediate steps are executed by built-in Tavernaprograms.We downloaded the Taverna workflow and imported it

into Tavaxy; Figure 7 shows the same workflow in theTavaxy environment. At this step, the user may chooseto execute this workflow as it is from Tavaxy, or may

Figure 6 Taverna implementation of the protein analysis workflow. Taparameters (e.g., BLAST tool to be used and UPGMA NJ option) are considethis paper are available in Additional File 2.

choose to optimize the execution of the workflow and/orcustomize it by adding further tasks. For example, for thisworkflow, the user can replace web-services with equiva-lent locally installed tools through a simple user interface.The workflow mapper carries out this replacement andcan, according to user choices, coalesce the remainingTaverna tasks into maximal sub-workflows, as describedearlier in the Tavaxy implementation section. In this ex-ample, we decided that the ClustalW and the phylogeny

verna implementation of the workflow in Figure 5. All programred as input to the workflow. High resolution versions of the figures of

Page 13: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Figure 7 Imported Tavernaworkflow in Tavaxy. The imported Tavernaworkflow in Figure 6. The Tavaxy switch pattern is explicitly represented.The switch patterns are represented by diamond shapes. The upper switch pattern checks if the input sequence is DNA. If false, the lower switchpattern checks if it is a protein one. The dashed polygons mark two maximal external sub-workflows which will be encapsulated in theoptimization step, as in Figure 8.

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 13 of 19http://www.biomedcentral.com/1471-2105/13/77

analysis parts of the workflow run on the local infrastruc-ture, while the BLAST part still runs remotely. Figure 8shows the optimized version of this workflow, where themaximal Taverna sub-workflows are computed. The func-tionality of this workflow can be augmented with furthertasks. First, we re-used a native Galaxy (sub-) workflowthat computes multiple alignment using the MUSCLE pro-gram and computes the consensus sequence. Second, weadded a Tavaxy sub-workflow, in which the DNAsequences are translated into protein sequences, instead ofignoring processing them. To link the translated sequencesto the other parts of the workflow for further analysis, thedata merge pattern is used to pass the protein sequences.These extra parts are highlighted in Figures 5 and 8.

Measuring the performanceWe conducted an experiment to evaluate the overheadassociated with invoking the Tavern engine to execute re-mote tasks, before and after the optimization step. Weused the original Taverna workflow and its imported ver-sion (i.e., we did not use the extra Galaxy and Tavaxy sub-workflows shown in Figure 8), with the list of input proteinIDs (for checking duplicates) being empty. We measuredthe running time of this workflow with respect to threedifferent execution scenarios. In the first scenario, the ori-ginal Taverna workflow was executed on Taverna, wherethe tasks are executed remotely. In the second scenario,

the workflow was executed after replacing the remote toolswith equivalent local ones (except for BLAST). In the thirdscenario, the workflow was executed after conducting theoptimization step to reduce the number of invocations ofthe local Taverna engine.For this experiment, we used the example protein se-

quence distributed with the Taverna workflow on myEx-periment. We also used another set of proteins used byKerk et al. [45] to update the Protein Phosphatase data-base with novel members. The basic idea of their work isto use a set of representative human proteins from differ-ent phosphatase classes to identify homologs from differ-ent genomes. It is worth mentioning that the workflowat hand automates most of the manual steps conductedin the study of Kerk et al. [45]. Hence, it can be used tosystematically and automatically revisit the protein phos-phatase repertoire.Table 1 shows the average running times for the differ-

ent execution scenarios specified above. The experimentswere conducted on an 8 core machine (AMD Opteron1.2 GHz processors) and 64 GB RAM. It can be notedthat the workflow is not compute-intensive, as it handlesone protein sequence at a time and the amount of trans-ferred data on the web is not too large. Therefore, it doesnot take much time to execute on Taverna. Running theworkflow from Tavaxy after using local tools withoutoptimization led to higher execution time due to the

Page 14: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Table 1 The average running times for the protein workflow

Protein Name Taverna Tavaxy-local Tavaxy-optimized

NP_061857.3 (gi|239047414) 4:10 8:05 3:04

NP_203747.2 (gi|37674210) 4:17 8:45 3:16

NP_060327.2 (gi|24586675) 4:36 7:36 3:21

Q9UNH5.1 (gi|55976620) 4:31 7:24 3:13

O60729.1 (gi|55976216) 4:35 7:18 3:03

P30304.2 (gi|50403734) 2:50 8:30 3:01

P30305.2 (gi|21264471) 2:50 8:30 3:01

NP_001781.2 (gi|125625350) 1:48 7:22 3:20

NP_054907.1 (gi|7661832) 2:08 7:36 2:54

Example seq. 1:21 7:17 2:44

The average running times in minutes for different protein sequences and fordifferent execution scenarios of the protein homology workflow. The lastprotein, Example seq., is the example protein distributed with theTavernaworkflow. The other proteins are from the study of [45].

Figure 8 Hybrid and optimized workflow in Tavaxy. The workflow in Figure 7 after optimization and augmentation with extra components.Sub-workflows 1 and 2 are the maximal external sub-workflows marked in Figure 7 by dashed polygons. The extra Galaxyworkflow and Tavaxynodes are also shown.

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 14 of 19http://www.biomedcentral.com/1471-2105/13/77

overhead associated with the invocation of the Tavernaengine at each step. After optimization into maximal ex-ternal sub-workflows, this time decreased and the over-head was minimized. We note that the time on Tavaxyfor the last five proteins is slower than that of Taverna.The reason for this is that these proteins are shorter thanthe others, which means short running time. Hence, theoverheads of calling Taverna outweigh the gain in savingdata transfer and using local tools. It is important to notethat this overhead is proportional to the complexity ofthe workflow and not to the data size. This means that itwould be neglected for time consuming experiments.Despite the differences in the design of the Taverna,

Galaxy, and Tavaxy engines, we performed an extra ex-periment to compare their performance. We used the sub-workflow in this case study, including the BLAST andClustalW calls, as a test workflow. This sub-workflow ishighlighted in Figure 5 and denoted as ‘core workflow’. ForTaverna, we used the local installation of the programsand we wrote special shell scripts to run them on the localinfrastructure. (This is not a usual use case for usingTaverna and it is not a straightforward task for the non-programming scientist.) The results of this experiment,

which are shown in Table 2, indicates that the performanceof the three systems is very similar. We note a little over-head when using Galaxy and Tavaxy, because the enginesof both systems are designed for multiple users, while theTaverna engine is desktop based serving a single user. Wealso note that the Tavaxy engine, as expected, is a little

Page 15: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 15 of 19http://www.biomedcentral.com/1471-2105/13/77

slower than that of Galaxy. This can be attributed to theoverhead associated with the extra wrapper module devel-oped for handling the patterns and cloud functionalities.Note that these overheads are proportional to the work-flow size, and would be negligible for large datasets.

Case study 2: A metagenomics workflowFigure 9 (left) shows a flow chart representation of ametagenomics workflow deposited on the Galaxy publicpages [46,47]. The input to this workflow is a set of NGSreads and associated quality data. The workflow startswith quality check of the reads and computation of theirlengths. The high quality reads are queried, using theMegaBLASTtool [40], against two different databaseschosen by the user. The reads with good alignment cover-age are retained for further analysis. Finally, the taxonom-ical information of the successful reads are extractedfrom the alignment file and a taxonomy tree is plotted.In the original implementation of this workflow on

Galaxy [46,47], and as depicted in the schematic repre-sentation of Figure 9, we can identify two issues: First,the input reads are passed to MegaBLAST is a singlemulti-FASTA file which implies sequential processing ofthe queries against the database. Second, there are twonodes for MegaBLAST: one to consider the NCBI_WGS

Table 2 The average running times for protein homologysub-workflow on the Taverna, Galaxy, and Tavaxy systems

Database Sequence Taverna (local) Galaxy Tavaxy

0swissprot NP_061857.3 0:32 0:38 0:37

NP_203747.2 0:31 0:32 0:34

NP_060327.2 0:33 0:40 0:41

Q9UNH5.1 0:21 0:23 0:23

O60729.1 0:17 0:23 0:23

P30304.2 0:20 0:15 0:25

P30305.2 0:20 0:25 0:28

NP_001781.2 0:19 0:25 0:26

NP_054907.1 0:18 0:22 0:26

Example Seq. 0:15 0:17 0:19

refseq NP_061857.3 2:56 3:20 3:15

NP_203747.2 2:58 3:17 3:28

NP_060327.2 2:12 2:00 2:02

Q9UNH5.1 1:59 2:01 2:05

O60729.1 1:50 1:39 1:42

P30304.2 2:51 2:53 2:56

P30305.2 2:12 2:21 2:22

NP_001781.2 1:50 1:57 1:59

NP_054907.1 1:53 2:01 2:04

Example Seq. 1:46 1:43 1:47

The average running times (in minutes) of the workflow involving BLAST andClustalWfor the protein sequences in Table 1. The whole workflow runs onlocal infrastructure. The queries are performed against the swissprot and NCBIrefseq databases.

database and the other to consider the NCBI_NT data-base. To query more databases in Galaxy, additionalnodes should be manually added; this will yield a bulkyworkflow for a large number of databases. In Tavaxy, wecan enhance the design and execution of this workflowwith respect to these two issues.For the first issue, we use the Tavaxy list pattern in as-

sociation with MegaBLAST so that the input multi-FASTA file is handled as a list of items. This will imme-diately lead to parallelization of this step. A list itemcould be a single FASTA sequence or a block of multipleFASTA sequences. We recommend that the input readsare divided into a list of n blocks, each of size ksequences. The parameter k is set by the user and itshould be proportional to the number of processorsavailable. (The list is defined by a special node and itsitems (blocks) are separated by a special user-definedsymbol.) When the workflow with the list pattern is exe-cuted, multiple versions of MegaBLAST will be invokedto handle these blocks in parallel.For the second issue, concerning the simple integration

of more databases, we will use only just one MegaBLASTnode and create a list of input databases. This list is passedas input to the MegaBLAST node. To ensure that eachread is queried against all given databases, we use the crossproduct operation defined over the list of databases andthe list of input sequences. For m databases and n blocks,we have n×m invocations of MegaBLAST, which can behandled in parallel without extra coding effort.Figure 9 (right) shows a schematic representation of

the enhanced workflow with the list pattern. Figure 10shows the implementation of the enhanced workflow inTavaxy. In this figure, the special node “split_into_list”defines the list items from the multi-FASTA file.

Measuring the performanceWe tested the performance of the enhanced metagenomicsworkflow on a computer cluster using two datasets. Thefirst was the dataset used by Huson et al. [48], constitutinga metagenomic survey of the Sargasso Sea [49]. This data-set, which represents four environmental samples, is com-posed of 20,000 Sanger reads, where 10,000 come fromSample 1 and another 10,000 come from Samples 2–4. Thesecond dataset is the windshield data set of [46], which iscomposed of two collections of 454 FLX reads. These readscame from the DNA of the organic matter on the wind-shield of a moving vehicle that visited two geographic loca-tions (trips A and B). We used the reads of the left part ofthe windshield experienced both trips. The number ofreads are 70343 (� 15.7 Mbp) and 89783 (18 Mbp) fortrips A and B, respectively. For MegaBLAST, we used theNCBI_HTGS, NCBI_NT, and NCBI_ENV datasets.Table 3 shows the average running times over a com-

puter cluster of different compute nodes. (The cluster is

Page 16: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Figure 9 Metagenomics workflow. Left: Metagenomics workflow as originally provided by Galaxy. Right: the re-designed version of thisworkflow using the list pattern of Tavaxy.

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 16 of 19http://www.biomedcentral.com/1471-2105/13/77

composed of three machines, each with 8 cores (AMDOpteron 1.2 GHz processors), and 64 GB RAM, connectedwith a 1Gb Ethernet switch.) In this experiment, the listpattern divided the input data into 11 blocks, eachwith size� 1000 sequences in case of the Sargasso data

Figure 10 The enhanced metagenomics workflow. The enhanced meta

and� 7000 sequences in case of the windshield data.(For a cross product with 3 databases, we have 33 jobsin total.) From the table, it can be seen that therunning times decrease with the increased number ofcores.

genomics workflow as implemented in Tavaxy.

Page 17: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Table 3 The average running times of the metagenomicsworkflow on local infrastructure

Dataset Cores

1 2 4 8 16 32

Windshield Trip A (left) 163 86 48 31 21 15

Windshield Trip B (left) 204 98 55 35 21 16

Sargasso Sea (Sample 1) 109 59 35 21 13 10

Sargasso Sea (Samples 2–4) 113 67 39 23 14 10

The average running times in minutes for varying numbers of processors(cluster cores) on the local infrastructure.

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 17 of 19http://www.biomedcentral.com/1471-2105/13/77

Use of cloud computingWe used the cloud computing features of Tavaxy on thesub-workflow level to execute the metagenomics work-flow. The purpose is to test the use of cloud computingin terms of execution time and cost of computation.Here, we focused on the sub-workflow mode of usingcloud computing, because it demonstrates the case. Wedecided to run the sub-workflow involving MegaBLASTwith the list pattern on the cloud because it is the mostcompute-intensive part in this workflow. From theTavaxy interface, we established a computer cluster onthe AWS cloud. Each node includes a copy of the data-bases needed by MegaBLAST. The shared S3 cloud stor-age is attached to the cluster to maintain the output andintermediate results. For this experiment, we usedAmazon instances of type “Extra Large”, with 8 cores(�1.2 GHz Xeon Processor), 15 GB RAM, and 1,690 GBstorage. The establishment of the cluster with the storagetook a few minutes from the machine images.Table 4 shows the execution times of the workflow for

the same datasets mentioned before using different clus-ter sizes on the cloud. It also includes the monetary costof running this workflow, for each cluster size. It is inter-esting to see that the use of more machines led to fasterrunning time and reduced cost. In our case, the fourmachines (with total 32 cores) working in parallel runfor less than one hour and cost totally $2.7. This is

Table 4 The average running times of the metagenomicsworkflow on the AWS cloud

Dataset Cores

1 4 8 16 32

WindshieldTrip A (left)

330 ($4.1) 82 ($4.1) 34 ($4.1) 18 ($1.4) 14 ($2.7)

WindshieldTrip B (left)

371 ($4.8) 91 ($4.8) 40 ($4.1) 21 ($1.4) 15 ($2.7)

Sargasso Sea(Sample 1)

252 ($3.4) 60 ($3.4) 22 ($3.4) 15 ($1.4) 9 ($2.7)

Sargasso Sea(Samples 2–4)

299 ($3.4) 73 ($3.4) 26 ($3.4) 16 ($1.4) 10 ($2.7)

The average running times in minutes for a computer cluster on the cloud.The number in bracket is the computation cost in US Dollars for the US-Eastsite with $0.68 per hour (2011 AWS price list). (Note that partial computinghour of an instance is billed on Amazon as a full hour.)

cheaper and faster than using a single machine that runsfor about 6 hours and costs $4.1.

ConclusionsIn this paper we introduced Tavaxy, a stand-alone pattern-based workflow system that can also integrate the use ofTaverna and Galaxy workflows in a single environment, en-abling their modification and execution. The Tavaxy inte-gration approach is based on the use of hierarchicalworkflows and workflow patterns. Tavaxy also supports theuse of local high-performance computing and the use ofcloud computing. The focus of the current version ofTavaxyis on simplifying the development of sequence ana-lysis applications, and we demonstrated its features andadvantages using two sequence analysis case studies. Futureversions of the system will support further applications intranscriptomics and proteomics.We also introduced a set of advanced data patterns

that simplify the composition of a variety of sequenceanalysis tasks and simplify the use of parallel computingresources for executing them. In future work, we will ex-tend the available patterns to support more complex se-quence analysis tasks, as well as other applicationdomains. Tavaxyis currently shipped with its own reposi-tory of pre-imported Tavernaand Galaxy workflows to fa-cilitate their immediate use. This repository can beregarded as a set of “design patterns” that can help inspeeding up composition of more complex workflows.In the current version of Tavaxy, we have set up the

system for use on a traditional computer cluster on theAWS cloud. We have not yet investigated other HPCoptions, such as the Amazon Elastic MapReduce or theuse of GPUs.In future versions of Tavaxy we will investigate the use

of these options to support efficient execution at thesub-workflow and task levels. We will also investigatethe use of other cloud computing platforms.Finally, we believe that one of the key advantages of

Tavaxy is that it provides a solution that consolidates theuse of remote web-services, cloud computing, and localcomputing infrastructures. In our model, the use of re-mote web-services is limited to only those shared toolsthat cannot be made locally available, the use of a localinfrastructure supports the execution of affordable tasks,and the use of cloud computing provides a scalable solu-tion to compute- and data-intensive tasks.

Availability and requirements0.0.0.1. Project name: Tavaxy.0.0.0.2. Project home page: http://www.tavaxy.org.0.0.0.3. Operating system(s): Linux.0.0.0.4. Programming language: Python, C, Java script,JSF

Page 18: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 18 of 19http://www.biomedcentral.com/1471-2105/13/77

0.0.0.5. Other requirements: Compatible with the brow-sers FireFox, Chrome, Safari, and Opera. See the manualfor more details.0.0.0.6. License: Free for academics. Authorization li-cense needed for commercial usage (Please contact thecorresponding author for more details).0.0.0.7. Any restrictions to use by non-academics: Norestrictions.

Additional files

Additional file 1: Re-writing rules for translating SCUFL to tSCUFL. APDF file describing the re-writing rules for translating a Tavernaworkflowin SCUFL format into Tavaxy workflow in tSCUFL format.

Additional file 2: Paper figures in original size. Compressed foldercontaining the paper figures in original size for better visualization.

Competing interestThe authors declare no conflict of interest.

AcknowledgmentWe thank the Galaxy team for making the code of their system availableunder the open source license, which helped us re-use a number of Galaxycomponents within our system. We also thank the Taverna team for makingtheir system available under open source license and for their valuablefeedback on the manuscript. We thank Peter Tonellato and Dennis Wall fromHarvard Medical School, as well as the Amazon team, for providing us withAWS compute hours. We thank Mohamed Elkalioby from Nile University forhis support in establishing the cloud computing infrastructure. We thankSondos Seif from Nile University for helping us in software engineering tasks.

Author details1Center for Informatics Sciences, Nile University, Giza, Egypt. 2Department ofComputing, Imperial College London, London, SW7 2AZ, UK. 3Faculty ofEngineering, Cairo University, Giza, Egypt.

Authors’ contributionsMA led the Tavaxy project. MA and MG contributed to theoreticaldevelopments of the architecture and workflow patterns which form thebasis of Tavaxy. SA and MA developed and tested the software andimplemented the workflows. All authors wrote and approved the manuscript.

Received: 15 August 2011 Accepted: 4 May 2012Published: 4 May 2012

References1. Koboldt D, Ding L, Mardis E, Wilson R: Challenges of sequencing human

genomes. Briefings in Bioinformics 2010, 11(5):484–498.2. Voelkerding K, Dames S, Durtschi J: Next-generation sequencing: from

basic research to diagnostics. Clin Chem 2009, 55(4):641–658.3. Sana M, Iascone M, Marchetti D, Palatini J, Galasso M, Volinia S: GAMES

identifies and annotates mutations in next-generation sequencingprojects. Bioinformics 2010, 27:9–13.

4. Wooley J, Godzik A, Friedberg I: A Primer on metagenomics. PLoS ComputBiol. 2010, 146(2):e1000667.

5. Chistoserdova L: Recent progress and new challenges in metagenomicsfor biotechnology. Biotechnological Letters 2010, 32:1351–1359.

6. Kunin V, Copeland A, Lapidus A, Mavromatis K: P H: A Bioinformatician’sguide to metagenomics. Microbiol. Mol. Biology Reviews 2008,72(4):557–578.

7. Gilbert J, Dupont C: Microbial metagenomics: Beyond the genome.Annual Review of Marine Science 2010, 3:347–371.

8. Oinn T, Addis M, Ferris J, Marvin D, et al: Taverna: a tool for thecomposition and enactment of bioinformatics workflows. Bioinformatics2004, 20(17):3045–3054.

9. Hull D, Wolstencroft K, Stevens R, Goble C, et al: Taverna: a tool forbuilding and running workflows of services. Nucleic Acids Res 2006,34:W729–W732.

10. Ludäscher B, Altintas I, Berkley C: D H, et al: Scientific workflowmanagement and the Kepler system. Concurrency and Computation:Practice and Experience 2006, 18(10):1039–1065.

11. Taylor I, Shields M, Wang I, Harrison A: Visual Grid Workflow in Triana. J.Grid Computing 2005, 3(3–4):153–169.

12. Taylor I, Shields M, Wang I, Harrison A: The Triana workflowenvironment: Architecture and Applications, In Workflows for e-Science,Springer; 2007:320–339.

13. Giardine B, Riemer C, Hardison R, et al: Galaxy: A platform for interactivelarge-scale genome analysis. Genome Res 2005, 15(10):1451–1455.

14. Linke B, Giegerich R, Goesmann A: Conveyor: a workflow engine forbioinformatics analyses. Bioinformatics 2011, 27(7):903–911.

15. Deelman E, Singh G, Su MH, Blythe J, Gil Y, Kesselman C, Mehta G, Vahi K,Berriman GB, Good J, Laity A, Jacob JC, Katz D: Pegasus: A framework formapping complex scientific workflows onto distributed systems. SciProgram 2005, 3:219–237.

16. Shah S, He D, Sawkins J, Druce J, Quon G, Lett D, Zheng G, Xu T, OuelletteB: Pegasys: software for executing and integrating analyses of biologicalsequences. BMC Bioinformatics 2004, 5:40.

17. Reich M, Liefeld T, Gould J, Lerner J, Tamayo P, Mesirov J: GenePattern 2.0.Nat Genet 2006, 38:500–501.

18. Kuehn H, Liberzon A, Reich M, Mesirov JP: Using GenePattern for geneexpression analysis. Current Protocols Bioinformatics 2008, Chapter 7(Unit 7):12.

19. Rowe A, Kalaitzopoulos D, Osmond M, Ghanem M, Guo Y: The discoverynet system for high throughput bioinformatics. Bioinformatics 2003, 19(90001):225i–231i.

20. Ghanem M, Curcin V, Wendel P, Guo Y: Building and using analyticalworkflows in discovery net. John Wiley and Sons: In Data mining on theGrid; 2008.

21. Bradley J, Brown C, Carpenter B, et al: The OMII software distribution. In AllHands Meeting, Humana Press 2006:748–753.

22. Curcin V, Ghanem M: Scientific workflow systems - can one size fit all?IEEE: In Proceedings of CIBEC; 2008.

23. Goble C, Bhagat J, Aleksejevs S, Cruickshank D, Michaelides D, Newman D,Borkum M, Bechhofer S, Roos M, Li P, De Roure D: myExperiment: arepository and social network for the sharing of bioinformaticsworkflows. Nucleic Acids Res 2010, 38(suppl 2):W677–W682.

24. MyExperiment: http://www.myexperiment.org.25. Abouelhoda M, Alaa S, Ghanem M: Meta-workflows: pattern-based

interoperability between Galaxy and Taverna. In Wands’10: Proceedings ofthe 1st International Workshop on Workflow Approaches to New Data-centricScience. New York, NY, USA: ACM 2010:1–8.

26. Karasavvas K: eGalaxy.; . https://trac.nbic.nl/elabfactory/wiki/eGalaxy.27. WfMC: Workflow Management Coalition Workflow

Standard - Interoperability abstract specification. Document NumberWFMC-TC-1012. Version 1. Tech. rep., www.wfmc.org.

28. Elmroth E, Hernandez F, Tordsson J: Three fundamental dimensions ofscientific workflow interoperability: Model of computation, language,and execution environment. Futur Gener Comput Syst 2010, 26(2):245–256.

29. van der Aalst W, Hofstede A, Kiepuszewski B, Barros A: Workflow patterns.Distributed and Parallel Databases 2003, 14(3):5–51.

30. Shields M: Control-versus data-driven workflows, In Workflows for e-Science,Springer 2007 :167–173.

31. Ludäscher B, Weske M, Mcphillips T, Bowers S: Scientific workflows:business as usual? In Proceedings of the 7th International Conference onBusiness Process Management, BPM’09, Springer-Verlag 2009:31–47.

32. McPhillips T, Bowers S, Ludäscher B: Collection-oriented scientificworkflows for integrating and analyzing biological data. Data Integrationin the Life Sciences (DILS) 2006, 4075:248–263.

33. Kahn G, Macqueen D: Coroutines and networks of parallel processes, InInformation Processing 77, North Holland Publishing Company 1977:993–998.

34. Ashford E, David L: Static scheduling of synchronous data flow programsfor digital signal processing. IEEE Trans Comput 1987, 36:24–35.

35. Rice P, Longden I, Bleasby A: EMBOSS: the European Molecular BiologyOpen Software Suite. Trends in Genetics 2000, 16(6):276–277.

36. Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, AbecasisG, Durbin R: The sequence alignment/map format and SAMtools.Bioinformatics 2009, 25(16):2078–2079.

Page 19: SOFTWARE Open Access Tavaxy: Integrating Taverna and Galaxy

Abouelhoda et al. BMC Bioinformatics 2012, 13:77 Page 19 of 19http://www.biomedcentral.com/1471-2105/13/77

37. FASTX-Toolkit. http://hannonlab.cshl.edu/fastx_toolkit.38. Altschul SF, Gish W, Miller W, Myers EW, Lipman DJ: A basic local alignment

search tool. J. Molecular Biology 1990, 215:403–410.39. Altschul S, Madden TL, Schäffer AA, et al: Gapped BLAST and PSI-BLAST: a

new generation of protein database search programs. Nucleic Acids Res1997, 25(17):3389–3402.

40. Zhang Z, Schwartz S, Wagner L, Miller W: A greedy algorithm for aligningDNA sequences. J Comput Biol 2000, 7(1–2):203–214.

41. Thompson J, Higgins D, Gibson T: CLUSTALW: Improving the sensitivity ofprogressive multiple sequence alignment through sequence weighting,position specific gap penalties, and weight matrix choice. Nucleic AcidsRes 1994, 22:4673–4680.

42. Notredame C, Higgins D, Heringa J: T-Coffee: A novel method for fast andaccurate multiple sequence alignment. J. Molecular Biology 2000,302:205–217.

43. Edgar R: Muscle: multiple sequence alignment with high accuracy andhigh throughput. Nucleic Acids Res 2004, 32:1792–1797.

44. Monteiro M: Workflow for protein sequence analysis. http://www.myexperiment.org/workflows/124.html.

45. Kerk D, Templeton G, Moorhead G: Evolutionary radiation pattern of novelprotein phosphatases revealed by analysis of protein data from thecompletely sequenced genomes of humans, green algae, and higherplants. Plant Physiol 2008, 146(2):351–367.

46. Kosakovsky Pond S, Wadhawan S, Chiaromonte F, Ananda G, Chung W,Taylor J, Nekrutenko A, Team TG: Windshield splatter analysis with theGalaxy metagenomic pipeline. Genome Res 2009, 19(11):2144–2153.

47. Galaxy Published Page: windshield splatter.http://main.g2.bx.psu.edu/u/aun1/p/windshield-splatter.

48. DH Huson D, AF A, Qi J, Schuster S: MEGAN: analysis of metagenomicdata. Genome Res 2007, 17:377–386.

49. Venter J, Remington K, Heidelberg J, Halpern A, Rusch D, Eisen J, Wu D,Paulsen I, Nelson K, et al: Nelson Wea: Environmental genome shotgunsequencing of the Sargasso Sea. Science 2004, 17:377–386.

doi:10.1186/1471-2105-13-77Cite this article as: Abouelhoda et al.: Tavaxy: Integrating Taverna andGalaxy workflows with cloud computing support. BMC Bioinformatics2012 13:77.

Submit your next manuscript to BioMed Centraland take full advantage of:

• Convenient online submission

• Thorough peer review

• No space constraints or color figure charges

• Immediate publication on acceptance

• Inclusion in PubMed, CAS, Scopus and Google Scholar

• Research which is freely available for redistribution

Submit your manuscript at www.biomedcentral.com/submit