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