Example workflow definitions - AWS HealthOmics

AWS HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7th, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see AWS HealthOmics variant store and annotation store availability change.

Example workflow definitions

The following example shows the same workflow definition in WDL, Nextflow, and CWL.

WDL
version 1.1 task my_task { runtime { ... } inputs { File input_file String name Int threshold } command <<< my_tool --name ~{name} --threshold ~{threshold} ~{input_file} >>> output { File results = "results.txt" } } workflow my_workflow { inputs { File input_file String name Int threshold = 50 } call my_task { input: input_file = input_file, name = name, threshold = threshold } outputs { File results = my_task.results } }
Nextflow
nextflow.enable.dsl = 2 params.input_file = null params.name = null params.threshold = 50 process my_task { // <directives> input: path input_file val name val threshold output: path 'results.txt', emit: results script: """ my_tool --name ${name} --threshold ${threshold} ${input_file} """ } workflow MY_WORKFLOW { my_task( params.input_file, params.name, params.threshold ) } workflow { MY_WORKFLOW() }
CWL
cwlVersion: v1.2 class: Workflow requirements: InlineJavascriptRequirement: {} inputs: input_file: File name: string threshold: int outputs: result: type: ... outputSource: ... steps: my_task: run: class: CommandLineTool baseCommand: my_tool requirements: ... inputs: name: type: string inputBinding: prefix: "--name" threshold: type: int inputBinding: prefix: "--threshold" input_file: type: File inputBinding: {} outputs: results: type: File outputBinding: glob: results.txt