Skip to end of metadata
Go to start of metadata

Taverna has a built-in support for dealing with lists of data values. Services can return single values, lists of values, or deeper lists of lists. For instance, a WSDL service that returns matching genes from a database would typically return a list of values. In other cases, it might be required to use a shim from Local Services like Split string into string list by regular expressions to create a list from a single value, typically splitting by a line feed (\n) or tabulator (\t).

When creating a workflow input port or an input port for a Beanshell service, one needs to specify the expected list depth.

When connecting services which do not have matching depths, for example connecting a list output to a single value input, Taverna will perform implicit iteration, creating a new list of the outputs of the service, one for each value in the list.

When connecting multiple lists to a service, Taverna will by default do an all-to-all iteration. This behaviour can be customized by specifying the list handling, for instance to specify which port is the inner/outer iteration, or instead pair up values in equally sized lists.

Read More

  • List depthList depth specifies the granularity of a port, like single value (0), list of values (1), list of lists (2), etc.
  • Implicit iterationImplicit iteration occurs when connecting services with different depths, creating a new list of the outputs of the service.
  • List handlingBy customizing list handling, one can control the implicit iteration, such as pairing up values in equally sized lists.
  • None