In the Taverna workbench you can insert a nested workflow by merging.
You can merge in any workflow, including workflows open in the
workbench.

To merge in an existing nested workflow, first Right-click on it to
Edit Nested Workflow.

Now go back to the original workflow using the Workflows menu, where
you click in the top menu Insert -> Merge workflow.

In the dialogue, select Workflow Source:   Already opened workflow -
and select "XXXX in YYY" - the newly opened nested workflow.

Now you will have to rewire each step of the nested workflow. There
will be new input ports added to your workflow, which one by one you
will have to: Delete the new input port (otherwise the next step will
add a merge), then find the corresponding datalink that goes into the
old nested workflow, and click to drag it into the processor(s) that
the just-deleted input port just to go to.

Repeat for nested workflow output ports. You would in this case first
need to delete the existing outgoing datalinks from the nested
workflow to avoid making merges into the processors of the master
workflow.

Finally you can close and delete the old nested workflow and repeat
the processor for the remaining (including any previously nested
nested) workflows.



Note that the execution logic totally changes by merging in a nested
workflow, and the resulting workflow is unlikely to produce the same
results for common uses of nested workflows.


For instance, if there are iterations over the nested workflow, now
you would have iterations over the immediate first processors instead
(and their downstreams) - which might in some cases require you to
reconfigure List Handling on every step of the workflow.

Many nested workflows are used with iterations both inside and outside
the nested workflows - in which case there are several List Handling
iteration patterns which can't easily be expressed on a merged
workflow, say outer Dot product and inner Cross product.


A nested workflow executes in 'one go' - so the next steps consuming
its outputs don't execute before everything in the nested workflow has
finished (including 'dangling processors' without outputs, typically
used for clean-up).  Similarly it does not start until all the inputs
are present. After merging, Taverna's pipelined execution means that
the individual steps will now be detangled and execute as soon as data
is available -- this might be what you want if the nested workflow
unnecessarily caused a slow-down of parts of its processes. You can
add Run After links to try to coordinate some of these, but even this
would give a different execution logic as it would require the full
outer iterations to have completed.


Any processor-level configuration on a nested workflow would also
disappear, e.g. List Handling, Looping and Parallel Jobs.  So any
workflows doing asynchronous services such as the EBI InterproScan
would not work.



tl;dr; In many cases, execution will NOT be the same after flattening.


So I am left to wonder what is the reason for your flattening.. it can
make sense in some cases - but more often than not it doesn't - which
is why we have not got such as feature built in to the workbench.

Are you doing this for the purpose of executing the flattened
workflows, or just for analytical purposes?


On 17 November 2013 20:44, Pinar Alper <[email protected]> wrote:
>
>
> Hi all,
>
> For an evaluation that I'm performing I need flattened versions of
> workflows with sub-workflows in them.
>
> I was just wondering if there is an easy way to unnest a sub workflow in
> Taverna. Or should I copy all sub-processors one by one to the parent
> workflow?
>
>
> --
> regards
> pinar
>
> ------------------------------------------------------------------------------
> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
> Free app hosting. Or install the open source package on any LAMP server.
> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
> _______________________________________________
> taverna-users mailing list
> [email protected]
> [email protected]
> Web site: http://www.taverna.org.uk
> Mailing lists: http://www.taverna.org.uk/about/contact-us/



-- 
Stian Soiland-Reyes, myGrid team
School of Computer Science
The University of Manchester
http://soiland-reyes.com/stian/work/ http://orcid.org/0000-0001-9842-9718

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
taverna-users mailing list
[email protected]
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/

Reply via email to