Creating or editing a new Workflow in Terra requires working in the "Broad Methods Repository." This article includes step-by step instructions on how to create a new workflow, edit a workflow, and share or clone a workflow.
Option 1. Create a new workflow
Follow the step-by-step instructions below to create a workflow from scratch and upload to a Terra workspace. Scroll down (or click here) if you prefer to use scripting (FISS) to upload a method to the Broad Methods Repository.
1.1. Navigate to the Workflow tab in your workspace and click on the Find a Workflow card.
1.2. From the popup, click on the Broad Methods Repository at the bottom, under Find Additional Workflows.
1.3. You will be redirected to the Broad Methods Repository, where you can click on the blue button at the top right corner to Create New Method. +.
Clicking the Create New Method.. + button will open up a modal to set up your new workflow.
1.4. Enter your Namespace* and the Name of your new Workflow followed by your WDL (enter manually or with "Load from file..."). Workflow names can include letters, numbers, underscores, dashes, and periods.
1.5. Press Upload once you've filled in all the information.
Namespace* acts like a folder containing workflow and workflow configs. For example, if
you add the workflow "ExampleNewWorkflow" to the Broad Methods Repository under the
namespace "SupportDocs", its identifier would be: SupportDocs/ExampleNewWorkflow
Many analysts choose to put their name and/or institution in the namespace field. You can
label your namespaces however you see fit, provided the chosen namespace does not
already exist. Administrators may verify namespaces, which like verified Twitter accounts,
establish the authenticity of namespaces attached to specific organizations (e.g., Broad
You can permit others to use your namespace. This is great for labs who have multiple
contributors but want people to find all of their methods under the "Miller-lab", for
In this case, we may add the namespace "SupportDocs" to any workflows that we create
for the purpose of documents.
Name is the name of the specific workflow you create. This can be any name as
long as it does not already exist. In this example, the workflow is called
Documentation is where you can add information about the WDL and what it does. We
encourage developers to add descriptive information so if you share this
with another user, they can recognize the inputs and outputs as well as any other
required information they may need to run the workflow successfully.
Snapshot is a numerical value assigned to the WDL similar to a versioning system. From
the WDL section, you can make edits directly to the script and each time you press
Upload, you create a new Snapshot.
1.6. Once you finish uploading, you'll be directed to your new workflow. You can Export to Workspace from the top right-hand corner:
1.6. The configuration lets you set inputs and save them to use again and again. You can select a configuration if one already exists or use a blank configuration.
1.7. Choose the destination workspace. This is the Terra workspace to which you want to export your Workflow. You'll be prompted to go to the destination workspace, which will redirect you back to your Terra Workflows tab, where you should see your new workflow:
Prefer scripting? Use FISS to upload to the Methods Repository
The(FI)reCloud (S)ervice (S)elector is another way to upload workflows to the Method Repository using scripting rather than right in Terra. You can use it from your terminal, following the instructions below.
1. Install FISS.
You'll find instructions to do this in the readme of the FISS repo https://github.com/broadinstitute/fiss
2. To see the command line format and optional variables, run
3. To put a WDL into a certain namespace with a method_name, run the following command:
fissfc meth_new -m method_name -n method_namespace -d path/to/local/wdl/file [-s desc of method] [-doc optional documentation] [-c optional snapshot comment]
-dinputs are required.
Option 2: Edit a workflow in the Broad Methods Repository
2.1. Open your workflow in the Broad Methods Repository (Summary tab).
2.2. Press Edit from the left-hand bar.
This should bring up the same modal used to create your workflow:
2.3. You can edit directly in the WDL section window.
The program automatically recognizes syntax errors when you press Upload. You can also change the snapshot comment depending on the changes that you made.
2.4. Press Save as New Snapshot.
You can see that there are now 2 Snapshots. You do not need to export this workflow to Terra again. Just go to the Workflow tab to toggle between the snapshots when you click into the workflow.
Option 3: Share or clone a workflow
You can duplicate (clone) a workflow within your workspace or export to a new workspace following these steps:
3.1. Go to the Workflows tab of your Terra Workspace.
3.2. Click the three button icon for the workflow you want to share.
3.3. Select Duplicate to clone the workflow within the workspace or select Copy to Another Workspace to copy (clone) to a different workspace.
Hi Sushma Chaluvadi
I found this article helpful, but it left me wondering how to upload a more complex WDL script that imports relative dependencies. The Cromwell server is said to allow us to submit a ZIP file containing workflow source files that are used to resolve local imports. This zip bundle will be unpacked in a sandbox accessible to this workflow. See here: https://cromwell.readthedocs.io/en/stable/api/RESTAPI/#submit-a-workflow-for-execution
It it possible to submit a zip bundle to describe a workflow to Terra?
Please sign in to leave a comment.