Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Taverna tutorial 2014: Advanced Taverna features includes a tutorial on Looping.

Looping in Taverna

Taverna workflows are inherently data-driven workflows, where data returned from one service is pushed directly to downstream services. A Taverna workflow definition does not linearly say when a service should be invoked, but where its data should come from and go to. This philosophy lets the user focus on how services are connected together, and the Taverna execution takes care of invoking services as soon as the required inputs are ready.


In this dialogue you will see the code generated from the selections in the loop configuration window:

Code Block

loop = "" + (! (Double.parseDouble(divided) < Double.parseDouble("2")));
if ("true".matches(loop)) {


This example workflow shows how a nested workflow can be looped using this customized loop script:

Code Block

count = Integer.parseInt(count) + 1;
loop = ( list.size() < 5 );