NOTE: WORKFLOWS FROM THIS REPOSITORY HAVE BEEN MIGRATED TO THE PUBLIC HEALTH BIOINFORMATICS (PHB) REPOSITORY. FUTURE DEVELOPMENTS AND UPDATES FOR THESE WORKFLOWS WILL OCCUR IN https://github.com/theiagen/public_health_bioinformatics.
Bioinformatics workflows for characterization, epidemiology and sharing of viral pathogen genomes. More information about the steps undertaken in these workflows is available via the Theiagen Public Resources Documentation.
Support for running these workflows can be sought by raising a GitHub issue or by contacting Theiagen at [email protected].
These workflows are written in WDL, a language for specifying data processing workflows with a human-readable and writeable syntax. They have been developed by Theiagen genomics to primarily run on the Terra.bio platform but can be run locally or on an HPC system at the command-line with Cromwell or miniWDL.
- Based on collaborative work with Andrew Lang, PhD & his Genomic Analysis WDL workflows
- Workflows and task development influenced by The Broad's Viral Pipes
- TheiaCoV workflows for genomic characterization influenced by UPHL's Cecret & StaPH-B's Monroe
- The TheiaCoV workflow for waste water variant calling (TheiaCoV_WWVC) incorporates a modified version of the CDPHE's WasteWaterVariantCalling WDL Worfklow.
- The TheiaCoV workflow user community. To provide feedback, please raise a GitHub issue GitHub issue.
Contributions to the workflows contained in this repository are warmly welcomed. Our style guide may be found below for convenience of formatting.
2-space indents (no tabs), no line break for openning braces, single space when defining input/output variables & runtime attributes, single-line breaks between non-intended constructs, and task commands enclosed with triple braces (<<< ... >>>
).
E.g.:
workflow w {
input {
String input
}
call task_01 {
input:
input = input
}
call task_02 {
input:
input = input
}
output {
File task_01_out = task_01.output
File task_02_out = task_02.output
}
}
task task1 {
input {
String input
String docker = "theiagen/utility:1.1"
}
command <<<
echo '~{input}' > output.txt
>>>
output {
File output = "output.txt"
}
runtime {
docker: docker
memory: "8 GB"
cpu: 2
disks "local-disk 100 SSD"
preemptible: 0
maxRetries: 0
}
}
task task_02 {
input{
String input
String docker = "theiagen/utility:1.1"
}
command <<<
echo '~{input}' > output.txt
>>>
output {
File output = "output.txt"
}
runtime {
docker: docker
memory: "8 GB"
cpu: 2
disks "local-disk 100 SSD"
preemptible: 0
maxRetries: 0
}
}
Style guide inspired by scottfrazer's WDL Best Pratcices Style Guide