Please enable JavaScript.
Coggle requires JavaScript to display documents.
BamProcessing.wdl, task BaseRecalibrator {, task ApplyBQSR {, BQSR -…
BamProcessing.wdl
-
-
-
version 1.0
Copyright Broad Institute, 2018
-
-
-
-
For program versions, see docker containers.
-
-
task
task MarkDuplicates {
input {
-
-
-
-
-
-
-
-
This can be desirable if you don't mind the estimated library size being wrong and optical duplicate detection is taking >7 days and failing
-
-
-
-
The merged bam will be smaller than the sum of the parts so we need to account for the unmerged inputs and the merged output.
Mark Duplicates takes in as input readgroup bams and outputs a slightly smaller aggregated bam. Giving .25 as wiggleroom
-
-
-
-
Task is assuming query-sorted input so that the Secondary and Supplementary reads get marked correctly
This works because the output of BWA is query-grouped and therefore, so is the output of MergeBamAlignment.
While query-grouped isn't actually query-sorted, it's good enough for MarkDuplicates with ASSUME_SORT_ORDER="queryname"
command {
java -Dsamjdk.compression_level=~{compression_level} -Xms~{java_memory_size}g -jar /usr/gitc/picard.jar \
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
SortSam
task SortSam {
-
#
more disk space. Also it spills to disk in an uncompressed format so we need to account for that with a larger multiplier
SortSam spills to disk a lot more because we are only store 300000 records in RAM now because its faster for our data so it needs
-
Int disk_size = ceil(sort_sam_disk_multiplier * size(input_bam, "GiB")) + 20
-
-
-
-
task SortSamSpark {
-
-
#
more disk space. Also it spills to disk in an uncompressed format so we need to account for that with a larger multiplier
SortSam spills to disk a lot more because we are only store 300000 records in RAM now because its faster for our data so it needs
-
Int disk_size = ceil(sort_sam_disk_multiplier * size(input_bam, "GiB")) + 20
-
-
-
-
-
-
Note that if/when WDL supports optional outputs, we should merge this task with the sorted version
-
task BaseRecalibrator {
-
-
Float ref_size = size(ref_fasta, "GiB") + size(ref_fasta_index, "GiB") + size(ref_dict, "GiB")
Float dbsnp_size = size(dbsnp_vcf, "GiB")
Int disk_size = ceil((size(input_bam, "GiB") / bqsr_scatter) + ref_size + dbsnp_size) + 20
-
-
-
-
task ApplyBQSR {
-
-
-
-
-
-
Float ref_size = size(ref_fasta, "GiB") + size(ref_fasta_index, "GiB") + size(ref_dict, "GiB")
Int disk_size = ceil((size(input_bam, "GiB") * 3 / bqsr_scatter) + ref_size) + additional_disk
-
-