Need Help?

Search our documentation and community forum

Terra is a cloud-native platform for biomedical researchers to access data, run analysis tools, and collaborate.
Terra powers important scientific projects like FireCloud, AnVIL, DataSTAGE. Learn more.

Options for connecting workflow steps

  • Linear Chaining plus-icon minus-icon

    The simplest way to chain tasks together in a workflow is a linear chain, where we feed the output of one task to the input of the next, like so: This is easy to do because WDL allows us to refer to the output of any task (declared appropriately ...
    See more

  • Branch & Merge plus-icon minus-icon

    The ability to connect outputs to inputs described in Linear Chaining and Multi-in/out, which relies on hierarchical naming, can be further extended to direct a task's outputs to separate paths, do something with them, then merge the branching pat...
    See more

  • Multi-input / Multi-output plus-icon minus-icon

    The ability to connect outputs to inputs described in Linear Chaining, which relies on hierarchical naming, allows you to chain together tools that produce multiple outputs and accept multiple inputs, and specify exactly which output feeds into wh...
    See more

  • Scatter-Gather Parallelism plus-icon minus-icon

    Parallelism is a way to make a program finish faster by performing several operations in parallel, rather than sequentially (i.e. waiting for each operation to finish before starting the next one). For a more detailed introduction on parallelism, ...
    See more

  • Task Aliasing plus-icon minus-icon

    When you need to call a task more than once in a workflow, you can use task aliasing. It would be tedious to copy-paste a task's definition and change the name each time you needed to use it again in the workflow. This method, termed copy and past...
    See more

  • Conditionals (if/else) plus-icon minus-icon

    Conditionals have been implemented as of Cromwell version 24 Sometimes when pipelining, there are steps you want to run sometimes and not other times. This could mean switching between two paths (e.g. run a tool in modeA vs. run a tool in modeB) o...
    See more

Powered by Zendesk