Versions Compared

Key

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

Implicit iteration occurs when connecting services with different depths, creating a new list of the outputs of the service.

Services output ports have a defined depth, just like service and workflow inputs.

...

Info
titleLists to single value

If a service expects a list, but you provide it with a single value (like from the [string constant|taverna:String constant]the Text Constant), Taverna will simply wrap the value in single-item list(s) for you. Be careful, though, if you later change the workflow to do an implicit iteration over the service outputting a single value, the following service would receive the full iteration output in one go.

To workaround this, you can write a Beanshell script taking a single value, and returning a list with a single item.

Code Block

out1 = new ArrayList();
out1.add(in1);

This will force iteration over lists of lists below in the service below expecting lists.

...