diff --git a/docs/germline-inputs.md b/docs/germline-inputs.md
index b7a0547..ad581f9 100644
--- a/docs/germline-inputs.md
+++ b/docs/germline-inputs.md
@@ -16,11 +16,6 @@ Germline.
File
dbsnp VCF file used for checking known sites.
-
Germline.dbsnpVCFIndex
-
- File
- Index (.tbi) file for the dbsnp VCF.
-
Germline.dockerImagesFile
File
@@ -31,20 +26,20 @@ Germline.
File
The reference fasta file.
-Germline.referenceFastaDict
+Germline.sampleConfigFile
File
- Sequence dictionary (.dict) file of the reference.
+ The samplesheet, including sample ids, library ids, readgroup ids and fastq file locations.
-Germline.referenceFastaFai
+Germline.sampleWorkflow.umiDedup.outputPathMetrics
- File
- Fasta index (.fai) file of the reference.
+ String — Default: outputPath + ".metrics"
+ The location the output metrics file should be written to.
-Germline.sampleConfigFile
+Germline.sampleWorkflow.umiDedup.outputPathUmiMetrics
- File
- The samplesheet, including sample ids, library ids, readgroup ids and fastq file locations.
+ String — Default: outputPath + ".umi-metrics"
+ The location the output UMI metrics file should be written to.
Germline.svCalling.manta.cores
@@ -62,24 +57,29 @@ Germline.
- Germline.adapterForward
-
- String? — Default:
"AGATCGGAAGAG"
+ String?
The adapter to be removed from the reads first or single end reads.
- Germline.adapterReverse
-
- String? — Default:
"AGATCGGAAGAG"
+ String?
The adapter to be removed from the reads second end reads.
- Germline.bwaIndex
-
- struct(fastaFile : File, indexFiles : Array[File])?
- The BWA index files. When these are provided BWA will be used.
+ BwaIndex?
+ The BWA index files. When these are provided BWA will be used. Will be created automatically if both bwaIndex and bwaMem2Index are not present.
- Germline.bwaMem2Index
-
- struct(fastaFile : File, indexFiles : Array[File])?
+ BwaIndex?
The bwa-mem2 index files. When these are provided bwa-mem2 will be used.
+- Germline.dbsnpVCFIndex
+-
+ File?
+ Index (.tbi) file for the dbsnp VCF. Will be created automatically if not present.
+
- Germline.jointgenotyping
-
Boolean — Default:
true
@@ -105,6 +105,16 @@ Germline.
String — Default: "."
The directory the output should be written to.
+- Germline.referenceFastaDict
+-
+ File?
+ Sequence dictionary (.dict) file of the reference.
+
+- Germline.referenceFastaFai
+-
+ File?
+ Fasta index (.fai) file of the reference. Will be created automatically if not present.
+
- Germline.regions
-
File?
@@ -120,6 +130,11 @@ Germline.
Boolean — Default: false
Whether or not the index uses the '.64' suffixes.
+- Germline.sampleWorkflow.bwaMem.useSoftclippingForSupplementary
+-
+ Boolean — Default:
false
+ Use soft-clipping for supplementary alignments instead of hard-clipping
+
- Germline.sampleWorkflow.bwamem2Mem.sixtyFour
-
Boolean — Default:
false
@@ -155,6 +170,21 @@ Germline.
String — Default: sub(basename(read1),"(\.fq)?(\.fastq)?(\.gz)?","")
The name of the readgroup.
+- Germline.sampleWorkflow.umiDedup.assumeSortOrder
+-
+ String?
+ Assume a certain sort order even though the header might say otherwise.
+
+- Germline.sampleWorkflow.umiDedup.removeDuplicates
+-
+ Boolean — Default:
true
+ Whether the duplicate reads should be removed instead of marked.
+
+- Germline.sampleWorkflow.umiDedup.umiTagName
+-
+ String — Default:
"RX"
+ Which tag in the BAM file holds the UMI.
+
- Germline.singleSampleCalling.callAutosomal.excludeIntervalList
-
Array[File]+?
@@ -225,6 +255,26 @@ Germline.
Boolean — Default: false
Whether or not the data is from exome sequencing.
+- Germline.svCalling.setId.annsFile
+-
+ File?
+ Bgzip-compressed and tabix-indexed file with annotations (see man page for details).
+
+- Germline.svCalling.setId.annsFileIndex
+-
+ File?
+ The index for annsFile.
+
+- Germline.svCalling.setId.inputFileIndex
+-
+ File?
+ The index for the input vcf or bcf.
+
+- Germline.tabix.outputFilePath
+-
+ String — Default:
basename(inputFile)
+ The location where the file should be written to. The index will appear alongside this link to the file.
+
- Germline.umiDeduplication
-
Boolean — Default:
false
@@ -246,6 +296,16 @@ Germline.
Show/Hide
+- Germline.bwaIndexTask.dockerImage
+-
+ String — Default:
"quay.io/biocontainers/bwa:0.7.17--hed695b0_7"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+- Germline.bwaIndexTask.timeMinutes
+-
+ Int? — Default:
5 + ceil((size(fasta,"G") * 5))
+ The maximum amount of time the job will run in minutes.
+
- Germline.bwaThreads
-
Int — Default:
4
@@ -338,7 +398,7 @@ Germline.
- Germline.convertDockerImagesFile.memory
-
- String — Default:
"128M"
+ String — Default: "128MiB"
The maximum amount of memory the job will need.
- Germline.convertDockerImagesFile.timeMinutes
@@ -353,7 +413,7 @@ Germline.
- Germline.convertSampleConfig.memory
-
- String — Default:
"128M"
+ String — Default: "128MiB"
The amount of memory needed for the job.
- Germline.convertSampleConfig.old
@@ -376,6 +436,26 @@ Germline.
Int — Default: 1
The maximum amount of time the job will run in minutes.
+Germline.fidx.dockerImage
+
+ String — Default: "quay.io/biocontainers/samtools:1.16.1--h6899075_1"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Germline.fidx.javaXmx
+
+ String — Default: "2G"
+ The maximum memory available to the program. Should be lower than `memory` to accommodate JVM overhead.
+
+Germline.fidx.memory
+
+ String — Default: "3GiB"
+ The amount of memory available to the job.
+
+Germline.fidx.timeMinutes
+
+ Int — Default: 5 + ceil((size(inputFile,"GiB") * 5))
+ The maximum amount of time the job will run in minutes.
+
Germline.JointGenotyping.gatherGvcfs.intervals
Array[File] — Default: []
@@ -690,7 +770,7 @@ Germline.
Germline.multiqcTask.timeMinutes
- Int — Default: 10 + ceil((size(reports,"G") * 8))
+ Int — Default: 10 + ceil((size(reports,"GiB") * 8))
The maximum amount of time the job will run in minutes.
Germline.multiqcTask.title
@@ -815,7 +895,7 @@ Germline.
Germline.sampleWorkflow.bwaMem.timeMinutes
- Int — Default: 1 + ceil((size([read1, read2],"G") * 220 / threads))
+ Int — Default: 10 + ceil((size([read1, read2],"GiB") * 300 / threads))
The maximum amount of time the job will run in minutes.
Germline.sampleWorkflow.bwamem2Mem.compressionLevel
@@ -840,7 +920,7 @@ Germline.
Germline.sampleWorkflow.bwamem2Mem.timeMinutes
- Int — Default: 1 + ceil((size([read1, read2],"G") * 220 / threads))
+ Int — Default: 1 + ceil((size([read1, read2],"GiB") * 220 / threads))
The maximum amount of time the job will run in minutes.
Germline.sampleWorkflow.markdup.compressionLevel
@@ -860,7 +940,7 @@ Germline.
Germline.sampleWorkflow.markdup.memoryMb
- Int — Default: 1024 + sortBufferSize + 2 * ioBufferSize
+ Int — Default: 8192 + sortBufferSize + 2 * ioBufferSize
The amount of memory available to the job in megabytes.
Germline.sampleWorkflow.markdup.overFlowListSize
@@ -875,7 +955,7 @@ Germline.
Germline.sampleWorkflow.markdup.sortBufferSize
- Int — Default: 2048
+ Int — Default: 4096
The amount of mb allocated to the sort buffer.
Germline.sampleWorkflow.markdup.threads
@@ -885,7 +965,7 @@ Germline.
Germline.sampleWorkflow.markdup.timeMinutes
- Int — Default: 1 + ceil((size(inputBams,"G") * 8)) / threads
+ Int — Default: 1 + ceil((size(inputBams,"GiB") * 25)) / threads
The maximum amount of time the job will run in minutes.
Germline.sampleWorkflow.metrics.ampliconIntervalsLists.javaXmx
@@ -1558,24 +1638,64 @@ Germline.
Boolean — Default: defined(adapterForward) || defined(adapterReverse) || length(select_first([contaminations, []])) > 0
Whether or not adapters should be removed from the reads.
+Germline.sampleWorkflow.tagUmi.dockerImage
+
+ String — Default: "quay.io/biocontainers/pysam:0.17.0--py39h051187c_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Germline.sampleWorkflow.tagUmi.memory
+
+ String — Default: "2GiB"
+ The amount of memory available to the job.
+
+Germline.sampleWorkflow.tagUmi.timeMinutes
+
+ Int — Default: 1 + ceil((size([inputBam],"GiB") * 10))
+ The maximum amount of time the job will run in minutes.
+
+Germline.sampleWorkflow.umiDedup.compressionLevel
+
+ Int — Default: 1
+ The compression level at which the BAM files are written.
+
+Germline.sampleWorkflow.umiDedup.dockerImage
+
+ String — Default: "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Germline.sampleWorkflow.umiDedup.javaXmx
+
+ String — Default: "8G"
+ The maximum memory available to the program. Should be lower than `memory` to accommodate JVM overhead.
+
+Germline.sampleWorkflow.umiDedup.maxRecordsInRam
+
+ Int — Default: 1500000
+ This will specify the number of records stored in RAM before spilling to disk.
+
Germline.sampleWorkflow.umiDedup.memory
- String — Default: "25G"
- The amount of memory required for the task.
+ String — Default: "9GiB"
+ The amount of memory this job will use.
Germline.sampleWorkflow.umiDedup.timeMinutes
- Int — Default: 30 + ceil((size(inputBam,"G") * 30))
+ Int — Default: 360
The maximum amount of time the job will run in minutes.
-Germline.sampleWorkflow.umiDedup.umiSeparator
+Germline.sampleWorkflow.umiDedup.useJdkDeflater
- String?
- Seperator used for UMIs in the read names.
+ Boolean — Default: true
+ True, uses the java deflator to compress the BAM files. False uses the optimized intel deflater.
+
+Germline.sampleWorkflow.umiDedup.useJdkInflater
+
+ Boolean — Default: false
+ True, uses the java inflater. False, uses the optimized intel inflater.
Germline.scatterList.memory
- String — Default: "256M"
+ String — Default: "256MiB"
The amount of memory this job will use.
Germline.scatterList.prefix
@@ -1832,7 +1952,7 @@ Germline.
Germline.svCalling.annotateDH.memory
- String — Default: "15G"
+ String — Default: "15GiB"
The memory required to run the programs.
Germline.svCalling.annotateDH.timeMinutes
@@ -1842,7 +1962,7 @@ Germline.
Germline.svCalling.clever.memory
- String — Default: "55G"
+ String — Default: "80GiB"
The memory required to run the programs.
Germline.svCalling.clever.threads
@@ -1852,12 +1972,22 @@ Germline.
Germline.svCalling.clever.timeMinutes
- Int — Default: 480
+ Int — Default: 2200
The maximum amount of time the job will run in minutes.
+Germline.svCalling.delly.genotypeBcf
+
+ File?
+ A BCF with SVs to get genotyped in the samples.
+
+Germline.svCalling.delly.genotypeBcfIndex
+
+ File?
+ The index for the genotype BCF file.
+
Germline.svCalling.delly.memory
- String — Default: "15G"
+ String — Default: "15GiB"
The memory required to run the programs.
Germline.svCalling.delly.timeMinutes
@@ -1882,7 +2012,7 @@ Germline.
Germline.svCalling.delly2vcf.memory
- String — Default: "256M"
+ String — Default: "256MiB"
The amount of memory this job will use.
Germline.svCalling.delly2vcf.timeMinutes
@@ -1890,11 +2020,6 @@ Germline.
Int — Default: 1 + ceil(size(inputFile,"G"))
The maximum amount of time the job will run in minutes.
-Germline.svCalling.excludeFpDupDel
-
- Boolean — Default: false
- Option to exclude false positive duplications and deletions according to DUPHOLD.
-
Germline.svCalling.excludeMisHomRef
Boolean — Default: false
@@ -1902,17 +2027,117 @@ Germline.
Germline.svCalling.FilterShortReadsBam.memory
- String — Default: "1G"
+ String — Default: "1GiB"
The amount of memory this job will use.
Germline.svCalling.FilterShortReadsBam.timeMinutes
- Int — Default: 1 + ceil((size(bamFile,"G") * 8))
+ Int — Default: 1 + ceil((size(bamFile,"GiB") * 8))
+ The maximum amount of time the job will run in minutes.
+
+Germline.svCalling.getIntersections.excludeUncalled
+
+ Boolean — Default: false
+ Exclude sites without a called genotype (see man page for details).
+
+Germline.svCalling.getIntersections.include
+
+ String?
+ Select sites for which the expression is true (see man page for details).
+
+Germline.svCalling.getIntersections.memory
+
+ String — Default: "256MiB"
+ The amount of memory this job will use.
+
+Germline.svCalling.getIntersections.timeMinutes
+
+ Int — Default: 1 + ceil(size(inputFile,"G"))
+ The maximum amount of time the job will run in minutes.
+
+Germline.svCalling.getSVtype.exclude
+
+ String?
+ Exclude sites for which the expression is true (see man page for details).
+
+Germline.svCalling.getSVtype.excludeUncalled
+
+ Boolean — Default: false
+ Exclude sites without a called genotype (see man page for details).
+
+Germline.svCalling.getSVtype.memory
+
+ String — Default: "256MiB"
+ The amount of memory this job will use.
+
+Germline.svCalling.getSVtype.timeMinutes
+
+ Int — Default: 1 + ceil(size(inputFile,"G"))
+ The maximum amount of time the job will run in minutes.
+
+Germline.svCalling.gridss.blacklistBed
+
+ File?
+ A bed file with blaclisted regins.
+
+Germline.svCalling.gridss.gridssProperties
+
+ File?
+ A properties file for gridss.
+
+Germline.svCalling.gridss.jvmHeapSizeGb
+
+ Int — Default: 64
+ The size of JVM heap for assembly and variant calling
+
+Germline.svCalling.gridss.nonJvmMemoryGb
+
+ Int — Default: 10
+ The amount of memory in Gb to be requested besides JVM memory.
+
+Germline.svCalling.gridss.normalBai
+
+ File?
+ The index for normalBam.
+
+Germline.svCalling.gridss.normalBam
+
+ File?
+ The BAM file for the normal/control sample.
+
+Germline.svCalling.gridss.normalLabel
+
+ String?
+ The name of the normal sample.
+
+Germline.svCalling.gridss.threads
+
+ Int — Default: 12
+ The number of the threads to use.
+
+Germline.svCalling.gridss.timeMinutes
+
+ Int — Default: ceil((7200 / threads)) + 1800
+ The maximum amount of time the job will run in minutes.
+
+Germline.svCalling.gridssSvTyped.dockerImage
+
+ String — Default: "quay.io/biocontainers/bioconductor-structuralvariantannotation:1.10.0--r41hdfd78af_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Germline.svCalling.gridssSvTyped.memory
+
+ String — Default: "32GiB"
+ The amount of memory this job will use.
+
+Germline.svCalling.gridssSvTyped.timeMinutes
+
+ Int — Default: 240
The maximum amount of time the job will run in minutes.
Germline.svCalling.manta.timeMinutes
- Int — Default: 60
+ Int — Default: 2880
The maximum amount of time the job will run in minutes.
Germline.svCalling.mateclever.cleverMaxDelLength
@@ -1932,7 +2157,7 @@ Germline.
Germline.svCalling.mateclever.memory
- String — Default: "15G"
+ String — Default: "250GiB"
The memory required to run the programs.
Germline.svCalling.mateclever.threads
@@ -1942,14 +2167,9 @@ Germline.
Germline.svCalling.mateclever.timeMinutes
- Int — Default: 600
+ Int — Default: 2880
The maximum amount of time the job will run in minutes.
-Germline.svCalling.newId
-
- String — Default: "\'%CHROM\\_%POS\'"
- Assign ID on the fly (e.g. --set-id +'%CHROM\_%POS').
-
Germline.svCalling.removeFpDupDel.exclude
String?
@@ -1962,7 +2182,7 @@ Germline.
Germline.svCalling.removeFpDupDel.memory
- String — Default: "256M"
+ String — Default: "256MiB"
The amount of memory this job will use.
Germline.svCalling.removeFpDupDel.timeMinutes
@@ -1977,7 +2197,7 @@ Germline.
Germline.svCalling.removeMisHomRR.memory
- String — Default: "256M"
+ String — Default: "256MiB"
The amount of memory this job will use.
Germline.svCalling.removeMisHomRR.timeMinutes
@@ -1992,18 +2212,28 @@ Germline.
Germline.svCalling.renameSample.memory
- String — Default: "9G"
+ String — Default: "9GiB"
The memory required to run the programs.
Germline.svCalling.renameSample.timeMinutes
- Int — Default: 1 + ceil((size(inputVcf,"G") * 2))
+ Int — Default: 1 + ceil((size(inputVcf,"GiB") * 2))
The maximum amount of time the job will run in minutes.
-Germline.svCalling.setId.annsFile
+Germline.svCalling.runClever
- File?
- Bgzip-compressed and tabix-indexed file with annotations (see man page for details).
+ Boolean — Default: false
+ Whether or not to run clever.
+
+Germline.svCalling.runDupHold
+
+ Boolean — Default: false
+ Option to run duphold annotation and filter FP deletions and duplications.
+
+Germline.svCalling.runSmoove
+
+ Boolean — Default: true
+ Whether or not to run smoove.
Germline.svCalling.setId.collapse
@@ -2047,7 +2277,7 @@ Germline.
Germline.svCalling.setId.memory
- String — Default: "256M"
+ String — Default: "4GiB"
The amount of memory this job will use.
Germline.svCalling.setId.noVersion
@@ -2097,12 +2327,12 @@ Germline.
Germline.svCalling.setId.timeMinutes
- Int — Default: 1 + ceil(size(inputFile,"G"))
+ Int — Default: 60 + ceil(size(inputFile,"G"))
The maximum amount of time the job will run in minutes.
Germline.svCalling.smoove.memory
- String — Default: "15G"
+ String — Default: "15GiB"
The memory required to run the programs.
Germline.svCalling.smoove.timeMinutes
@@ -2112,12 +2342,12 @@ Germline.
Germline.svCalling.sort.memory
- String — Default: "256M"
+ String — Default: "5GiB"
The amount of memory this job will use.
Germline.svCalling.sort.timeMinutes
- Int — Default: 1 + ceil(size(inputFile,"G"))
+ Int — Default: 1 + ceil(size(inputFile,"G")) * 5
The maximum amount of time the job will run in minutes.
Germline.svCalling.survivor.breakpointDistance
@@ -2132,7 +2362,7 @@ Germline.
Germline.svCalling.survivor.memory
- String — Default: "24G"
+ String — Default: "24GiB"
The memory required to run the programs.
Germline.svCalling.survivor.minSize
@@ -2145,11 +2375,6 @@ Germline.
Boolean — Default: true
A boolean to include strand type of an SV to be merged.
-Germline.svCalling.survivor.suppVecs
-
- Int — Default: 2
- The minimum number of SV callers to support the merging.
-
Germline.svCalling.survivor.svType
Boolean — Default: true
@@ -2160,6 +2385,21 @@ Germline.
Int — Default: 60
The maximum amount of time the job will run in minutes.
+Germline.svCalling.svtypes
+
+ Array[String] — Default: ["DEL", "DUP", "INS", "INV", "BND"]
+ List of svtypes to be further processed and output by the pipeline.
+
+Germline.tabix.dockerImage
+
+ String — Default: "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Germline.tabix.timeMinutes
+
+ Int — Default: 1 + ceil((size(inputFile,"GiB") * 2))
+ The maximum amount of time the job will run in minutes.
+
Germline.useBwaKit
Boolean — Default: false
@@ -2176,13 +2416,12 @@ Germline.
The following inputs should ***not*** be set, even though womtool may
show them as being available inputs.
-* Germline.DONOTDEFINE
* Germline.sampleWorkflow.DONOTDEFINE
-* Germline.sampleWorkflow.qualityControl.FastqcRead1.noneFile
* Germline.sampleWorkflow.qualityControl.FastqcRead1.noneArray
-* Germline.sampleWorkflow.qualityControl.FastqcRead2.noneFile
+* Germline.sampleWorkflow.qualityControl.FastqcRead1.noneFile
* Germline.sampleWorkflow.qualityControl.FastqcRead2.noneArray
-* Germline.sampleWorkflow.qualityControl.FastqcRead1After.noneFile
+* Germline.sampleWorkflow.qualityControl.FastqcRead2.noneFile
* Germline.sampleWorkflow.qualityControl.FastqcRead1After.noneArray
-* Germline.sampleWorkflow.qualityControl.FastqcRead2After.noneFile
+* Germline.sampleWorkflow.qualityControl.FastqcRead1After.noneFile
* Germline.sampleWorkflow.qualityControl.FastqcRead2After.noneArray
+* Germline.sampleWorkflow.qualityControl.FastqcRead2After.noneFile
diff --git a/docs/index.md b/docs/index.md
index 1972b57..e8ca15d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -12,7 +12,7 @@ MultiQC), adapter clipping (using cutadapt), mapping (using BWA mem or
bwakit) and variant calling (based on the
[GATK Best Practice](https://software.broadinstitute.org/gatk/best-practices/)
for germline calling, and using a variety of callers for somatic calling).
-Optionally, the somatic workflow can also perform CNV calling.
+Optionally, the somatic workflow can also perform CNV calling and SV calling.
This workflow is part of [BioWDL](https://biowdl.github.io/)
developed by the SASC team
@@ -316,6 +316,9 @@ This workflow will produce a number of directories and files:
It contains the vcf file for the sample if germline.wdl was used and
a single sample vcf was produced.
It also contains a directory per readgroup.
+ - **structural-variants**: Structural variant calling results per
+ caller and the merged results from SURVIVOR. Only present if
+ `germline.wdl` is used with SV calling enabled.
- **CNVcalling**: Contains the CNV calling results for this sample
and its control sample. Only present if `somatic.wdl` is used with
CNV calling enabled.
@@ -329,6 +332,11 @@ This workflow will produce a number of directories and files:
- **PON**: A generated panel of normals and the preprocessed intervals.
Only present if `somatic.wdl` is used with CNV calling enabled and no
PON or preprocessed intervals were provided in the inputs.
+- **somatic-sv-calling**: Somatic SV calling results. Only present if
+ `somatic.wdl` is used with SV calling enabled.
+ - **<sample>**: SV results for Delly and Manta per tumor sample.
+ - **gridss**: GRIDSS results per normal and the generated PON files
+ (if no PON was provided in the inputs).
## Scattering
This workflow performs scattering to speed up analysis on grid computing
diff --git a/docs/somatic-inputs.md b/docs/somatic-inputs.md
index 76113b3..f03a36b 100644
--- a/docs/somatic-inputs.md
+++ b/docs/somatic-inputs.md
@@ -11,21 +11,11 @@ Somatic.
## Required inputs
-- Somatic.bwaIndex
--
- struct(fastaFile : File, indexFiles : Array[File])
- The BWA index files.
-
- Somatic.dbsnpVCF
-
File
dbsnp VCF file used for checking known sites.
-- Somatic.dbsnpVCFIndex
--
- File
- Index (.tbi) file for the dbsnp VCF.
-
- Somatic.dockerImagesFile
-
File
@@ -36,20 +26,20 @@ Somatic.
File
The reference fasta file.
-- Somatic.referenceFastaDict
+- Somatic.sampleConfigFile
-
File
- Sequence dictionary (.dict) file of the reference.
+ The samplesheet, including sample ids, library ids, readgroup ids and fastq file locations.
-- Somatic.referenceFastaFai
+- Somatic.sampleWorkflow.umiDedup.outputPathMetrics
-
- File
- Fasta index (.fai) file of the reference.
+ String — Default: outputPath + ".metrics"
+ The location the output metrics file should be written to.
-- Somatic.sampleConfigFile
+- Somatic.sampleWorkflow.umiDedup.outputPathUmiMetrics
-
- File
- The samplesheet, including sample ids, library ids, readgroup ids and fastq file locations.
+ String — Default: outputPath + ".umi-metrics"
+ The location the output UMI metrics file should be written to.
@@ -57,14 +47,19 @@ Somatic.
- Somatic.adapterForward
-
- String? — Default:
"AGATCGGAAGAG"
+ String?
The adapter to be removed from the reads first or single end reads.
- Somatic.adapterReverse
-
- String? — Default:
"AGATCGGAAGAG"
+ String?
The adapter to be removed from the reads second end reads.
+- Somatic.bwaIndex
+-
+ BwaIndex?
+ The BWA index files. Will be created automatically if not present.
+
- Somatic.cnvPanelOfNormals
-
File?
@@ -75,6 +70,11 @@ Somatic.
File?
An annotated set of intervals as generated by AnnotateIntervals (eg. using CNV-PON.wdl). Will be ignored if PON is provided.
+- Somatic.dbsnpVCFIndex
+-
+ File?
+ Index (.tbi) file for the dbsnp VCF. Will be created automatically if not present.
+
- Somatic.generateCnvPanelOfNormals.annotateIntervals.mappabilityTrack
-
File?
@@ -100,11 +100,26 @@ Somatic.
Boolean — Default: false
Whether or not CNV calling should be performed.
+- Somatic.performSvCalling
+-
+ Boolean — Default:
false
+ Whether or not SV calling should be performed.
+
- Somatic.preprocessedIntervals
-
File?
The preprocessed intervals to be used for CNV calling. If not provided (and performCnvCalling is set to true) then this will be generated on the fly.
+- Somatic.referenceFastaDict
+-
+ File?
+ Sequence dictionary (.dict) file of the reference.
+
+- Somatic.referenceFastaFai
+-
+ File?
+ Fasta index (.fai) file of the reference. Will be created automatically if not present.
+
- Somatic.regions
-
File?
@@ -140,9 +155,14 @@ Somatic.
Boolean — Default: false
Whether or not the index uses the '.64' suffixes.
+- Somatic.sampleWorkflow.bwaMem.useSoftclippingForSupplementary
+-
+ Boolean — Default:
false
+ Use soft-clipping for supplementary alignments instead of hard-clipping
+
- Somatic.sampleWorkflow.bwaMem2Index
-
- struct(fastaFile : File, indexFiles : Array[File])?
+ BwaIndex?
The bwa-mem2 index files. These or the bwaIndex should be provided.
- Somatic.sampleWorkflow.bwamem2Mem.sixtyFour
@@ -180,6 +200,21 @@ Somatic.
String — Default: sub(basename(read1),"(\.fq)?(\.fastq)?(\.gz)?","")
The name of the readgroup.
+Somatic.sampleWorkflow.umiDedup.assumeSortOrder
+
+ String?
+ Assume a certain sort order even though the header might say otherwise.
+
+Somatic.sampleWorkflow.umiDedup.removeDuplicates
+
+ Boolean — Default: true
+ Whether the duplicate reads should be removed instead of marked.
+
+Somatic.sampleWorkflow.umiDedup.umiTagName
+
+ String — Default: "RX"
+ Which tag in the BAM file holds the UMI.
+
Somatic.somaticVariantcalling.pairedSomaticSeq.exclusionRegion
File?
@@ -210,6 +245,36 @@ Somatic.
Boolean — Default: false
Whether or not the data is from RNA sequencing.
+Somatic.SVs.gridssPonBed
+
+ File?
+ A premade PON single breakend BED file for GRIDSS.
+
+Somatic.SVs.gridssPonBedpe
+
+ File?
+ A premade PON breakpoint BEDPE file for GRIDSS.
+
+Somatic.SVs.mantaSomatic.callRegions
+
+ File?
+ The bed file which indicates the regions to operate on.
+
+Somatic.SVs.mantaSomatic.callRegionsIndex
+
+ File?
+ The index of the bed file which indicates the regions to operate on.
+
+Somatic.SVs.mantaSomatic.exome
+
+ Boolean — Default: false
+ Whether or not the data is from exome sequencing.
+
+Somatic.tabix.outputFilePath
+
+ String — Default: basename(inputFile)
+ The location where the file should be written to. The index will appear alongside this link to the file.
+
Somatic.umiDeduplication
Boolean — Default: false
@@ -221,11 +286,26 @@ Somatic.
Show/Hide
+- Somatic.bwaIndexTask.dockerImage
+-
+ String — Default:
"quay.io/biocontainers/bwa:0.7.17--hed695b0_7"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+- Somatic.bwaIndexTask.timeMinutes
+-
+ Int? — Default:
5 + ceil((size(fasta,"G") * 5))
+ The maximum amount of time the job will run in minutes.
+
- Somatic.bwaThreads
-
Int — Default:
4
The amount of threads for the alignment process
+- Somatic.casePosition.dockerImage
+-
+ String — Default:
"python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
- Somatic.cnvMinimumContigLength
-
Int?
@@ -476,6 +556,16 @@ Somatic.
Boolean — Default: false
Whether or not UMI deduplication stats should be collected. This will potentially cause a massive increase in memory usage of the deduplication step.
+- Somatic.commonVariantSites
+-
+ File?
+ Alternative to dnSNP for specifying common variant sites used for allelic counts collection in CNV detection. Can be a picard-style interval list or a VCf.
+
+- Somatic.commonVariantSitesIndex
+-
+ File?
+ The index for the commonVariantSitesIndex VCF.
+
- Somatic.controlPostition.dockerImage
-
String — Default:
"python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
@@ -488,7 +578,7 @@ Somatic.
- Somatic.convertDockerImagesFile.memory
-
- String — Default:
"128M"
+ String — Default: "128MiB"
The maximum amount of memory the job will need.
- Somatic.convertDockerImagesFile.timeMinutes
@@ -503,7 +593,7 @@ Somatic.
Somatic.convertSampleConfig.memory
- String — Default: "128M"
+ String — Default: "128MiB"
The amount of memory needed for the job.
Somatic.convertSampleConfig.old
@@ -526,6 +616,26 @@ Somatic.
Int — Default: 1
The maximum amount of time the job will run in minutes.
+Somatic.fidx.dockerImage
+
+ String — Default: "quay.io/biocontainers/samtools:1.16.1--h6899075_1"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.fidx.javaXmx
+
+ String — Default: "2G"
+ The maximum memory available to the program. Should be lower than `memory` to accommodate JVM overhead.
+
+Somatic.fidx.memory
+
+ String — Default: "3GiB"
+ The amount of memory available to the job.
+
+Somatic.fidx.timeMinutes
+
+ Int — Default: 5 + ceil((size(inputFile,"GiB") * 5))
+ The maximum amount of time the job will run in minutes.
+
Somatic.generateCnvPanelOfNormals.annotateIntervals.featureQueryLookahead
Int — Default: 1000000
@@ -748,7 +858,7 @@ Somatic.
Somatic.multiqcTask.timeMinutes
- Int — Default: 10 + ceil((size(reports,"G") * 8))
+ Int — Default: 10 + ceil((size(reports,"GiB") * 8))
The maximum amount of time the job will run in minutes.
Somatic.multiqcTask.title
@@ -873,7 +983,7 @@ Somatic.
Somatic.sampleWorkflow.bwaMem.timeMinutes
- Int — Default: 1 + ceil((size([read1, read2],"G") * 220 / threads))
+ Int — Default: 10 + ceil((size([read1, read2],"GiB") * 300 / threads))
The maximum amount of time the job will run in minutes.
Somatic.sampleWorkflow.bwamem2Mem.compressionLevel
@@ -898,7 +1008,7 @@ Somatic.
Somatic.sampleWorkflow.bwamem2Mem.timeMinutes
- Int — Default: 1 + ceil((size([read1, read2],"G") * 220 / threads))
+ Int — Default: 1 + ceil((size([read1, read2],"GiB") * 220 / threads))
The maximum amount of time the job will run in minutes.
Somatic.sampleWorkflow.markdup.compressionLevel
@@ -918,7 +1028,7 @@ Somatic.
Somatic.sampleWorkflow.markdup.memoryMb
- Int — Default: 1024 + sortBufferSize + 2 * ioBufferSize
+ Int — Default: 8192 + sortBufferSize + 2 * ioBufferSize
The amount of memory available to the job in megabytes.
Somatic.sampleWorkflow.markdup.overFlowListSize
@@ -933,7 +1043,7 @@ Somatic.
Somatic.sampleWorkflow.markdup.sortBufferSize
- Int — Default: 2048
+ Int — Default: 4096
The amount of mb allocated to the sort buffer.
Somatic.sampleWorkflow.markdup.threads
@@ -943,7 +1053,7 @@ Somatic.
Somatic.sampleWorkflow.markdup.timeMinutes
- Int — Default: 1 + ceil((size(inputBams,"G") * 8)) / threads
+ Int — Default: 1 + ceil((size(inputBams,"GiB") * 25)) / threads
The maximum amount of time the job will run in minutes.
Somatic.sampleWorkflow.metrics.ampliconIntervalsLists.javaXmx
@@ -1616,24 +1726,64 @@ Somatic.
Boolean — Default: defined(adapterForward) || defined(adapterReverse) || length(select_first([contaminations, []])) > 0
Whether or not adapters should be removed from the reads.
+Somatic.sampleWorkflow.tagUmi.dockerImage
+
+ String — Default: "quay.io/biocontainers/pysam:0.17.0--py39h051187c_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.sampleWorkflow.tagUmi.memory
+
+ String — Default: "2GiB"
+ The amount of memory available to the job.
+
+Somatic.sampleWorkflow.tagUmi.timeMinutes
+
+ Int — Default: 1 + ceil((size([inputBam],"GiB") * 10))
+ The maximum amount of time the job will run in minutes.
+
+Somatic.sampleWorkflow.umiDedup.compressionLevel
+
+ Int — Default: 1
+ The compression level at which the BAM files are written.
+
+Somatic.sampleWorkflow.umiDedup.dockerImage
+
+ String — Default: "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.sampleWorkflow.umiDedup.javaXmx
+
+ String — Default: "8G"
+ The maximum memory available to the program. Should be lower than `memory` to accommodate JVM overhead.
+
+Somatic.sampleWorkflow.umiDedup.maxRecordsInRam
+
+ Int — Default: 1500000
+ This will specify the number of records stored in RAM before spilling to disk.
+
Somatic.sampleWorkflow.umiDedup.memory
- String — Default: "25G"
- The amount of memory required for the task.
+ String — Default: "9GiB"
+ The amount of memory this job will use.
Somatic.sampleWorkflow.umiDedup.timeMinutes
- Int — Default: 30 + ceil((size(inputBam,"G") * 30))
+ Int — Default: 360
The maximum amount of time the job will run in minutes.
-Somatic.sampleWorkflow.umiDedup.umiSeparator
+Somatic.sampleWorkflow.umiDedup.useJdkDeflater
- String?
- Seperator used for UMIs in the read names.
+ Boolean — Default: true
+ True, uses the java deflator to compress the BAM files. False uses the optimized intel deflater.
+
+Somatic.sampleWorkflow.umiDedup.useJdkInflater
+
+ Boolean — Default: false
+ True, uses the java inflater. False, uses the optimized intel inflater.
Somatic.scatterList.memory
- String — Default: "256M"
+ String — Default: "256MiB"
The amount of memory this job will use.
Somatic.scatterList.prefix
@@ -2308,7 +2458,7 @@ Somatic.
Somatic.somaticVariantcalling.trainingSet
- struct(jsmVCF : File?, lofreqIndel : File?, lofreqSNV : File?, museVCF : File?, mutect2VCF : File?, normalBam : File?, normalBamIndex : File?, scalpelVCF : File?, somaticsniperVCF : File?, strelkaIndel : File?, strelkaSNV : File?, truthIndel : File, truthSNV : File, tumorBam : File, tumorBamIndex : File, vardictVCF : File?, varscanIndel : File?, varscanSNV : File?)?
+ TrainingSet?
VCF files used to train somaticseq.
Somatic.somaticVariantcalling.vardict.filterSupplementaryAlignments
@@ -2526,6 +2676,221 @@ Somatic.
File?
The index of the common variants VCF file.
+Somatic.SVs.dellyCall.dockerImage
+
+ String — Default: "quay.io/biocontainers/delly:1.1.6--ha41ced6_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.dellyCall.genotypeBcf
+
+ File?
+ A BCF with SVs to get genotyped in the samples.
+
+Somatic.SVs.dellyCall.genotypeBcfIndex
+
+ File?
+ The index for the genotype BCF file.
+
+Somatic.SVs.dellyCall.memory
+
+ String — Default: "15GiB"
+ The memory required to run the programs.
+
+Somatic.SVs.dellyCall.timeMinutes
+
+ Int — Default: 300
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.dellyGenotypeNormals.dockerImage
+
+ String — Default: "quay.io/biocontainers/delly:1.1.6--ha41ced6_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.dellyGenotypeNormals.memory
+
+ String — Default: "15GiB"
+ The memory required to run the programs.
+
+Somatic.SVs.dellyGenotypeNormals.timeMinutes
+
+ Int — Default: 300
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.dellyPonFilter.dockerImage
+
+ String — Default: "quay.io/biocontainers/delly:1.1.6--ha41ced6_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.dellyPonFilter.memory
+
+ String — Default: "15GiB"
+ The memory required to run the programs.
+
+Somatic.SVs.dellyPonFilter.timeMinutes
+
+ Int — Default: 300
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.dellySomaticFilter.dockerImage
+
+ String — Default: "quay.io/biocontainers/delly:1.1.6--ha41ced6_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.dellySomaticFilter.memory
+
+ String — Default: "15GiB"
+ The memory required to run the programs.
+
+Somatic.SVs.dellySomaticFilter.timeMinutes
+
+ Int — Default: 300
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.filterGridssPon.dockerImage
+
+ String — Default: "quay.io/biowdl/gridss:2.12.2"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.filterGridssPon.memory
+
+ String — Default: "1GiB"
+ The amount of memory this job will use.
+
+Somatic.SVs.filterGridssPon.minimumScore
+
+ Int — Default: 3
+ The minimum number normal samples an SV must have been found in to be kept.
+
+Somatic.SVs.filterGridssPon.timeMinutes
+
+ Int — Default: 20
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.generateGridssPon.dockerImage
+
+ String — Default: "quay.io/biowdl/gridss:2.12.2"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.generateGridssPon.javaXmx
+
+ String — Default: "8G"
+ The maximum memory available to the program. Should be lower than `memory` to accommodate JVM overhead.
+
+Somatic.SVs.generateGridssPon.memory
+
+ String — Default: "9GiB"
+ The amount of memory this job will use.
+
+Somatic.SVs.generateGridssPon.threads
+
+ Int — Default: 8
+ The number of the threads to use.
+
+Somatic.SVs.generateGridssPon.timeMinutes
+
+ Int — Default: 120
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.gridssSomaticFilter.dockerImage
+
+ String — Default: "quay.io/biowdl/gridss:2.12.2"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.gridssSomaticFilter.memory
+
+ String — Default: "16GiB"
+ The amount of memory this job will use.
+
+Somatic.SVs.gridssSomaticFilter.timeMinutes
+
+ Int — Default: 60
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.groupedGridss.blacklistBed
+
+ File?
+ A bed file with blaclisted regins.
+
+Somatic.SVs.groupedGridss.dockerImage
+
+ String — Default: "quay.io/biowdl/gridss:2.12.2"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.groupedGridss.gridssProperties
+
+ File?
+ A properties file for gridss.
+
+Somatic.SVs.groupedGridss.jvmHeapSizeGb
+
+ Int — Default: 64
+ The size of JVM heap for assembly and variant calling
+
+Somatic.SVs.groupedGridss.nonJvmMemoryGb
+
+ Int — Default: 10
+ The amount of memory in Gb to be requested besides JVM memory.
+
+Somatic.SVs.groupedGridss.threads
+
+ Int — Default: 12
+ The number of the threads to use.
+
+Somatic.SVs.groupedGridss.timeMinutes
+
+ Int — Default: ceil((7200 / threads)) + 1800
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.mantaSomatic.cores
+
+ Int — Default: 1
+ The number of cores to use.
+
+Somatic.SVs.mantaSomatic.dockerImage
+
+ String — Default: "quay.io/biocontainers/manta:1.4.0--py27_1"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.mantaSomatic.memoryGb
+
+ Int — Default: 4
+ The amount of memory this job will use in Gigabytes.
+
+Somatic.SVs.mantaSomatic.timeMinutes
+
+ Int — Default: 2880
+ The maximum amount of time the job will run in minutes.
+
+Somatic.SVs.normalPosition.dockerImage
+
+ String — Default: "python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.normalPositionGridss.dockerImage
+
+ String — Default: "python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.tumorPosition.dockerImage
+
+ String — Default: "python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.SVs.tumorPositionGridss.dockerImage
+
+ String — Default: "python@sha256:e0f6a4df17d5707637fa3557ab266f44dddc46ebfc82b0f1dbe725103961da4e"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.tabix.dockerImage
+
+ String — Default: "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
+ The docker image used for this task. Changing this may result in errors which the developers may choose not to address.
+
+Somatic.tabix.timeMinutes
+
+ Int — Default: 1 + ceil((size(inputFile,"GiB") * 2))
+ The maximum amount of time the job will run in minutes.
+
Somatic.useBwaKit
Boolean — Default: false
@@ -2542,20 +2907,22 @@ Somatic.
The following inputs should ***not*** be set, even though womtool may
show them as being available inputs.
+* Somatic.DONOTDEFINETHISFILE
+* Somatic.DONOTDEFINETHISSTRING
* Somatic.sampleWorkflow.DONOTDEFINE
-* Somatic.sampleWorkflow.qualityControl.FastqcRead1.noneFile
* Somatic.sampleWorkflow.qualityControl.FastqcRead1.noneArray
-* Somatic.sampleWorkflow.qualityControl.FastqcRead2.noneFile
+* Somatic.sampleWorkflow.qualityControl.FastqcRead1.noneFile
* Somatic.sampleWorkflow.qualityControl.FastqcRead2.noneArray
-* Somatic.sampleWorkflow.qualityControl.FastqcRead1After.noneFile
+* Somatic.sampleWorkflow.qualityControl.FastqcRead2.noneFile
* Somatic.sampleWorkflow.qualityControl.FastqcRead1After.noneArray
-* Somatic.sampleWorkflow.qualityControl.FastqcRead2After.noneFile
+* Somatic.sampleWorkflow.qualityControl.FastqcRead1After.noneFile
* Somatic.sampleWorkflow.qualityControl.FastqcRead2After.noneArray
+* Somatic.sampleWorkflow.qualityControl.FastqcRead2After.noneFile
* Somatic.somaticVariantcalling.DONOTDEFINETHIS
-* Somatic.somaticVariantcalling.indelIndex.type
-* Somatic.somaticVariantcalling.snvIndex.type
-* Somatic.somaticVariantcalling.strelka.indelsIndex.type
+* Somatic.somaticVariantcalling.strelka.strelkaSomatic.doNotDefineThis
* Somatic.somaticVariantcalling.strelka.svsIndex.type
+* Somatic.somaticVariantcalling.strelka.indelsIndex.type
* Somatic.somaticVariantcalling.strelka.variantsIndex.type
-* Somatic.somaticVariantcalling.strelka.strelkaSomatic.doNotDefineThis
+* Somatic.somaticVariantcalling.snvIndex.type
+* Somatic.somaticVariantcalling.indelIndex.type
* Somatic.CNVs.controlSample.matchedNormalAllelicCounts
diff --git a/germline.wdl b/germline.wdl
index b1568e1..d2d4b47 100644
--- a/germline.wdl
+++ b/germline.wdl
@@ -309,8 +309,10 @@ workflow Germline {
cleverVcfs: {description: ""}
matecleverVcfs: {description: ""}
mantaVcfs: {description: ""}
+ smooveVcfs: {description: ""}
dellyVcfs: {description: ""}
survivorVcfs: {description: ""}
+ gridssVcfs: {description: ""}
gridssVcfIndexes: {description: ""}
SVunionVcfs: {description: ""}
SVisecVcfs: {description: ""}
diff --git a/scripts b/scripts
index 84690a3..4142daa 160000
--- a/scripts
+++ b/scripts
@@ -1 +1 @@
-Subproject commit 84690a30eb0dde2bfdfaff9abf097b6f4c49dfd8
+Subproject commit 4142daab81a7d9f28686b6a3299536757d381c81
diff --git a/somatic.wdl b/somatic.wdl
index 2bf38f6..f71854e 100644
--- a/somatic.wdl
+++ b/somatic.wdl
@@ -25,6 +25,7 @@ import "gatk-CNVcalling/CNV-PON.wdl" as cnvPon
import "sample.wdl" as sampleWorkflow
import "somatic-variantcalling/somatic-variantcalling.wdl" as somaticVariantcallingWorkflow
import "structs.wdl" as structs
+import "structural-variantcalling/somatic.wdl" as somaticSvCalling
import "tasks/biowdl.wdl" as biowdl
import "tasks/bwa.wdl" as bwa
import "tasks/common.wdl" as common
@@ -45,6 +46,7 @@ workflow Somatic {
Boolean umiDeduplication = false
Boolean collectUmiStats = false
Boolean performCnvCalling = false
+ Boolean performSvCalling = false
String platform = "illumina"
Boolean useBwaKit = false
Boolean runStrelka = true
@@ -194,7 +196,17 @@ workflow Somatic {
sample = select_first([sample.control])
}
+ # Collect the inputs for SV calling, so only paired samples are included.
+ String tumorIdsForSvCalling = sample.id
+ File tumorBamsForSvCalling = sampleWorkflow.recalibratedBam[casePosition.position]
+ File tumorBamIndexesForSvCalling = sampleWorkflow.recalibratedBamIndex[casePosition.position]
+ String controlIdsForSvCalling = select_first([sample.control])
+ File controlBamsForSvCalling = sampleWorkflow.recalibratedBam[controlPostition.position]
+ File controlBamIndexesForSvCalling = sampleWorkflow.recalibratedBamIndex[controlPostition.position]
+ Pair[String, String] tumorControlPairsForSvCalling = (sample.id, select_first([sample.control]))
}
+
+ # Allow SNV calling on tumor-only samples as well.
Int controlPos = select_first([controlPostition.position, 0])
String? controlSample = if (defined(sample.control)) then sampleIds[controlPos] else DONOTDEFINETHISSTRING
File? controlBam = if (defined(sample.control)) then sampleWorkflow.recalibratedBam[controlPos] else DONOTDEFINETHISFILE
@@ -245,6 +257,23 @@ workflow Somatic {
}
}
+ if (performSvCalling) {
+ call somaticSvCalling.SomaticSvCalling as SVs {
+ input:
+ normalIds = select_all(controlIdsForSvCalling),
+ normalBams = select_all(controlBamsForSvCalling),
+ normalBamIndexes = select_all(controlBamIndexesForSvCalling),
+ tumorIds = select_all(tumorIdsForSvCalling),
+ tumorBams = select_all(tumorBamsForSvCalling),
+ tumorBamIndexes = select_all(tumorBamIndexesForSvCalling),
+ pairs = select_all(tumorControlPairsForSvCalling),
+ referenceFasta = refFasta,
+ referenceFastaFai = refFastaFai,
+ bwaIndex = bwidx,
+ outputDir = outputDir + "/somatic-sv-calling"
+ }
+ }
+
call multiqc.MultiQC as multiqcTask {
input:
reports = flatten(sampleWorkflow.reports),
@@ -322,6 +351,7 @@ workflow Somatic {
dbsnpVCF: {description: "dbsnp VCF file used for checking known sites.", category: "required"}
dbsnpVCFIndex: {description: "Index (.tbi) file for the dbsnp VCF. Will be created automatically if not present.", category: "common"}
performCnvCalling: {description: "Whether or not CNV calling should be performed.", category: "common"}
+ performSvCalling: {description: "Whether or not SV calling should be performed.", category: "common"}
platform: {description: "The platform used for sequencing.", category: "advanced"}
useBwaKit: {description: "Whether or not BWA kit should be used. If false BWA mem will be used.", category: "advanced"}
runStrelka: {description: "Whether or not to run Strelka.", category: "common"}
diff --git a/structural-variantcalling b/structural-variantcalling
index 9f7328f..91d3eeb 160000
--- a/structural-variantcalling
+++ b/structural-variantcalling
@@ -1 +1 @@
-Subproject commit 9f7328fa5e0bd0b5e719d92010cc7f8d2be55ceb
+Subproject commit 91d3eebba990a649e6d186039347463e2dc082aa