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.

Components that make up a WDL script

  • workflow plus-icon minus-icon

    The workflow component is a required top-level component of a WDL script. It contains call statements that invoke task components, as well as workflow-level input definitions. There are various options for chaining tasks together through call and ...
    See more

  • call plus-icon minus-icon

    The call component is used within the workflow body to specify that a particular task should be executed. In its simplest form, a call just needs a task name. Optionally, we can add a code block to specify input variables for the task. We can also...
    See more

  • task plus-icon minus-icon

    The task component is a top-level component of WDL scripts. It contains all the information necessary to "do something" centering around a command accompanied by definitions of input files and parameters, as well as the explicit identification of ...
    See more

  • command plus-icon minus-icon

    The command component is a required property of a task. The body of the command block specifies the literal command line to run (basically any command that you could otherwise run in a terminal shell) with placeholders (e.g. ${input_file}) for the...
    See more

  • output plus-icon minus-icon

    The output component is a (mostly*) required property of a task. It is used to explicitly identify the output(s) of the task command for the purpose of flow control. The outputs identified here will be used to build the workflow graph, so it is im...
    See more

  • runtime plus-icon minus-icon

    The runtime component is an optional property of a task. It can be used to specify environment parameters through key/value pairs. These can be set arbitrarily, but the backend is responsible for interpreting these values. Cromwell currently suppo...
    See more

  • parameter_meta plus-icon minus-icon

    The parameter_meta component is an optional property of a task. It is intended to store descriptions of input arguments and parameters used in the task command, which is particularly helpful if your variable names are not descriptive enough. Any i...
    See more

  • meta plus-icon minus-icon

    The meta component is an optional property of a task. It is intended to store metadata such as the author or contact email of a task. Any key/value pairs can be used. Usage example meta { author: "Broad Institute DSDE" }
    See more

  • basename() plus-icon minus-icon

    This WDL function allows you to name an output file based on another filename, e.g. an input filename. Giving it a File will strip off the path and yield the filename alone (as a String). If you also give it a string as a secondary argument, the f...
    See more

  • Variable Types in WDL plus-icon minus-icon

    Note that this is not technically a formal WDL component like task or workflow since there is no entity named variables in the WDL specification. We are covering variables as a group and lumping them in with the proper components for the purposes ...
    See more

Powered by Zendesk