runs submit
Submit one or more Workflow Runs
Synopsis
Description
omics workbench runs submit
facilitates the submission of a workflow for execution one or more times against the same execution engine.
Examples
Submit a single workflow for execution using the default engine and inputs passed in the input overrides
You can also provide workflow and version as an alternative to workflow url
If workflows are stored in a file called inputs.json
you can use the special @
operator to load the file contents
The above example can be modified to pass additional tag metadata. Tags are arbitrary key:value pairs that provide additional context and can be used later for filtering runs
To perform a dry run without actually submitting the workflow, use the --dry-run
flag
Positional Arguments
INPUT_OVERRIDES
INPUT_OVERRIDES
Flags
--url
=URL
--url
=URL
The URL to the workflow file (*.wdl). Only URLs from workflow-service are currently supported. Workflow URLs are a string that can correspond to any of the following:
URL from the workflows page in Workbench (ie:
https://workbench.dnastack/workflows/<workflow_id>/overview
)Complete URL for a workflow or a workflow version from the workflow service
This flag is mutually exclusive with --workflow
--workflow
=WORKFLOW_ID
--workflow
=WORKFLOW_ID
--version
=WORKFLOW_VERSION
--version
=WORKFLOW_VERSION
Must be used in conjunction with --workflow to specify the version of the workflow to run.
--engine
=ENGINE_ID
--engine
=ENGINE_ID
--engine-params
=JSON_DATA
--engine-params
=JSON_DATA
--default-params
=JSON_DATA
--default-params
=JSON_DATA
--workflow-params
=JSON_DATA
--workflow-params
=JSON_DATA
--tags
=JSON_DATA
--tags
=JSON_DATA
--dry-run
--dry-run
Perform a dry run without actually submitting the workflow. This can be useful for validating the inputs and parameters before actual submission.
Advanced Topics
Batching
The CLI provides a powerful interface for submitting many workflows at once with the ability to define default values and an arbitrary number of runs. In the above examples, we are submitting inputs using input overrides. The simple workflow submission can be re-written using the --workflow-params
flag instead of overrides.
Additionally, if we want to guarantee that every run has a specific value defined for hello.greeting
we can mix and match the --workflow-params
flag with input overrides.
Now imagine you want to submit the exact same workflow for Suzy, Frank, Peggie, and Brooklyn. One way would be to submit the above command 4 different times changing the hello.name=${name}
, however, this increases the boilerplate needed. A simpler approach would be to define multiple --workflow-params
flags in the same command. You can specify --workflow-params
as many times as you want. Each time it is specified, it will be translated into a single submitted run of the given workflow.
Finally, say we would like to change one of the run's greetings but keep it the same for all other runs. The above command uses an override which will fix the input value for all runs. Instead, we can use the --default-params
flag to specify the default values, and then in the specific submission, we want to override it, and provide a key:value input for it.
The above command sets Hello
as the default greeting which will be applied to all submissions except the final one which sets the greeting to Goodbye
.
Last updated
Was this helpful?