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.

Documentation for the Workflow Description Language. For a gentle introduction on how to write WDL workflows, check out Getting Started with WDL.

  • Getting Started with WDL plus-icon minus-icon

    This section lays out all you need to know to start writing and running WDL workflows that do useful things -- TODAY. Don't worry, this is going to be easier than you might think. Writing a WDL First, we'll introduce the building blocks of WDL an...
    See more

  • Base Structure plus-icon minus-icon

    There are 5 basic components that form the core structure of a WDL script: workflow, task, call, command, and output. There is no explicitly named "input" definition component; input variables (for specifying parameters as well as input and output...
    See more

  • Add Variables plus-icon minus-icon

    In this context, variables are placeholders that we write into the script instead of actual filenames and parameter values. We can then specify the filenames and values we want to use at runtime (meaning when we run the script) without modifying t...
    See more

  • Add Plumbing plus-icon minus-icon

    By plumbing, we mean chaining tasks together to form sophisticated pipelines. How do we do that in WDL? With effortless grace, that's how. Simple connections At this point you know how to include multiple tasks in your workflow script. If you we...
    See more

  • Validate Syntax plus-icon minus-icon

    Nobody likes to kick off a bunch of jobs only to find after returning from lunch that they all failed within minutes due to a syntax error in the script. Missing bracket, schmacket. The good news is that WDL comes with a utility toolkit called wdl...
    See more

  • Specify Inputs plus-icon minus-icon

      The simplest way to specify values for the input variables (such as file names and parameters) to the commands in your WDL scripts is to hard-code them, i.e. write them in the script itself. However, doing so forces you to make a new copy and ed...
    See more

  • Execute! plus-icon minus-icon

    At the moment, Cromwell is the only fully-featured execution engine that we know of that supports WDL. Cromwell Cromwell is an open source (BSD 3-clause) execution engine written in Java that supports running WDL on three types of platform: local...
    See more

  • Toolkit: All the tools you need to write and run WDLs plus-icon minus-icon

     AUTHORING SublimeText Our preferred editor for writing WDLs; it offers a good balance of usability and editing features. Syntax highlighters Plugins that enable syntax highlighting (i.e. coloring code elements based on their function) for suppo...
    See more

Powered by Zendesk