Workflow Metadata
Use workflow metadata to allow the dx build command to build a workflow according to your specifications.
Annotated Example
{
// (optional for regular, project-based workflows; required for global workflows)
// Workflow name
"name": "exome_variant_calling",
// (optional) Title of a workflow, used in display, search, or listing in the UI or CLI
"title": "Exome Variant Calling",
// (optional for regular, project-based workflows; required for global workflows)
// Version of the global workflow
"version": "1.0.0",
// (optional) A short description of the workflow
"summary": "A simple exome pipeline",
// (optional) Folder for the workflow's output
"outputFolder": "/output",
// (global workflow only) Specify a resource container that to be accessible
// to all apps/applets run by the workflow. Requires all apps/applets to be
// compiled with the "allProjects": VIEW permission.
"regionalOptions": {
"aws:us-east-1": {
"resources": "project-xxxx"
}
},
// (optional) Workflow level input specification (see API documentation)
"inputs": [
{
// Name of the workflow-level input
"name": "reads",
// Class of the workflow-level input
"class": "array:file",
// (optional) help for this workflow-level input
"help": "An array of FASTQ gzipped files"
}
],
// (optional) Workflow level output specification (see API documentation)
"outputs": [
{
// Name of the workflow-level output
"name": "variants",
// Class of the workflow-level output
"class": "file",
// Link to the output of the stage which provides the output of the workflow
"outputSource": {
"$dnanexus_link": {
"stage": "call_variants",
"outputField": "variants_vcfgz"
}
}
}
],
// (optional) A list of stages
"stages": [
{
// Unique ID of the first stage
"id": "align_reads",
// (optional) Display name of the first stage
"name": "BWA MEM",
// Name or ID of the app or ID of the applet run in this stage
"executable": "app-bwa_mem_fastq_read_mapper/2.0.4",
// The output folder to which outputs of this stage should be cloned.
// Folder paths can be absolute ("/foo/bar") or relative ("foo/bar") to
// the workflow's outputFolder.
"folder": "map_reads_output",
// (optional) Input of the first stage
"input": {
// Input field name
"genomeindex_targz": {
// Link to a reference genome file
"$dnanexus_link": {
"project": "project-BQpp3Y804Y0xbyG4GJPQ01xv",
"id": "file-B6ZY4942J35xX095VZyQBk0v"
}
},
// Input field name
"reads_fastqgzs": {
// Link to the workflow level input; the input passed to "reads" on
// the workflow level will be consumed by the "reads_fastqgz" input
"$dnanexus_link": {
"workflowInputField": "reads"
}
}
},
// (optional) Request different instance types for different entry points
// of this stage
"systemRequirements": {
// "main" is the name of the entry point called when a stage is run
"main": {
"instanceType": "mem1_ssd1_v2_x16"
}
},
// (optional) Options governing job restart policy
"executionPolicy": {
// Restart automatically up to 3 times for all errors
"restartOn": {
"*": 3
}
}
},
{
// Unique ID of the second stage
"id": "call_variants",
// (optional) Display name of the second stage
"name": "Freebayes",
// Name or ID of the app/globalworkflow or ID of the applet/workflow
// run in this stage
"executable": "app-freebayes/2.0.1",
// The output folder to which outputs of this stage should be cloned.
// Folder paths can be absolute ("/foo/bar") or relative ("foo/bar") to
// the workflow's outputFolder.
"folder": "call_variants_output",
// (optional) Input of the second stage which is linked to the output of
// "sorted_bam" of the first stage
"input": {
"sorted_bams": [
{
"$dnanexus_link": {
"stage": "align_reads",
"outputField": "sorted_bam"
}
}
],
"genome_fastagz": {
"$dnanexus_link": {
"project": "project-BQpp3Y804Y0xbyG4GJPQ01xv",
"id": "file-B6ZY7VG2J35Vfvpkj8y0KZ01"
}
}
}
}
]
}Specification
name
nametitle
titleversion
versionsummary
summaryoutputFolder
outputFolderinputs
inputsoutputs
outputsstages
stagesregionalOptions
regionalOptionsLast updated
Was this helpful?