taverna-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Williams <alanin...@googlemail.com>
Subject Re: Multi-sample processing workflow
Date Fri, 01 Apr 2016 22:45:49 GMT
On 01-Apr-16 21:09, Marian Thieme wrote:
> Hello,


> I am new to taverna and started reading some documentation. My
> understanding now is, that I can create a workflow which is supposed to
> process an input or maybe a given number of inputs.

A workflow can have a number of input ports. However, you can specify if 
an input port will take a single value or a list of values (or a list of 
list... of values). Technically that is called the input port's depth. A 
depth of zero means a single value, a depth of 1 is a list of values, a 
depth of 2 is a list of list of values and so on.

> Which means that
> this the number of inputs is fixed.

The input ports are "fixed", however the number of values allowed in an 
input list is *not* fixed. For example, if a workflow has an input port 
that takes a list, you could give it an empty list, a list with one 
value, or a list with 1001 values. When you run that workflow again, you 
could give it a list of different length with different values.

> There is one point I haven't
> understood yet: How do you cope with arbitrary number if inputs and
> interactions in between ?

Normally that would be a single input port that takes a list.

> For example: Lets assume there are a number of input files coming from a
> different sample each, like SampleA, SampleB, etc.

In Taverna, you would normally have an input port called Samples that 
took a list.

If you connect the input port Samples to a service that takes a single 
value then Taverna will call that service several times, once for each 
element in the Samples list.

> In case of there is
> no interaction than there is no problem: I would just run my workflow
> for each sample separately, sample by sample. However, if there is some
> kind of interaction (like: at some processing stage all samples needed
> to be processed in common), is it possible
>   1. to model a node which process all samples at once ? (... which
>      means the node knows only at the time of runtime (or maybe while
>      compilation of workflow together with inputs), how many inputs it
>      gets.)


The service would be described as taking a list. If you give it the 
Samples list then it will only be called once. It would take all the 
Samples in one go.

>   2. to let the workflow run with an arbitrary number of samples at once?

Yes. Specify that the input takes a list.

> Thanks for your help,
> Marian

I hope this helped.


View raw message