Skip to content

Commit

Permalink
Reduce SVConcordance memory usage (#623)
Browse files Browse the repository at this point in the history
  • Loading branch information
mwalker174 authored Jan 17, 2024
1 parent ba672d2 commit 4a40ac7
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion inputs/values/dockers.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "dockers",
"cnmops_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/cnmops:2023-07-28-v0.28.1-beta-e70dfbd7",
"condense_counts_docker": "us.gcr.io/broad-dsde-methods/tsharpe/gatk:4.2.6.1-57-g9e03432",
"gatk_docker": "us.gcr.io/broad-dsde-methods/markw/gatk:2023-07-13-4.4.0.0-43-gd79823f9c-NIGHTLY-SNAPSHOT",
"gatk_docker": "us.gcr.io/broad-dsde-methods/gatk-sv/gatk:2024-01-15-4.5.0.0-3-gb68fadc5f-NIGHTLY-SNAPSHOT",
"gatk_docker_pesr_override": "us.gcr.io/broad-dsde-methods/tsharpe/gatk:4.2.6.1-57-g9e03432",
"genomes_in_the_cloud_docker": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.2-1510681135",
"linux_docker": "marketplace.gcr.io/google/ubuntu1804",
Expand Down
2 changes: 1 addition & 1 deletion inputs/values/dockers_azure.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "dockers",
"cnmops_docker": "vahid.azurecr.io/gatk-sv/cnmops:2023-07-28-v0.28.1-beta-e70dfbd7",
"condense_counts_docker": "vahid.azurecr.io/tsharpe/gatk:4.2.6.1-57-g9e03432",
"gatk_docker": "vahid.azurecr.io/markw/gatk:2023-07-13-4.4.0.0-43-gd79823f9c-NIGHTLY-SNAPSHOT",
"gatk_docker": "vahid.azurecr.io/gatk-sv/gatk:2024-01-15-4.5.0.0-3-gb68fadc5f-NIGHTLY-SNAPSHOT",
"gatk_docker_pesr_override": "vahid.azurecr.io/tsharpe/gatk:4.2.6.1-57-g9e03432",
"genomes_in_the_cloud_docker": "vahid.azurecr.io/genomes-in-the-cloud:2.3.2-1510681135",
"linux_docker": "vahid.azurecr.io/google/ubuntu1804",
Expand Down
25 changes: 16 additions & 9 deletions wdl/SVConcordance.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ workflow SVConcordance {

Float? java_mem_fraction

RuntimeAttr? runtime_attr_format_eval
RuntimeAttr? runtime_attr_format_truth
RuntimeAttr? runtime_attr_sv_concordance
RuntimeAttr? runtime_attr_postprocess
RuntimeAttr? runtime_attr_sort_vcf
RuntimeAttr? runtime_override_concat_shards
}
Expand All @@ -30,19 +28,27 @@ workflow SVConcordance {
input:
eval_vcf=eval_vcf,
truth_vcf=truth_vcf,
output_prefix="~{output_prefix}.concordance.~{contig}",
output_prefix="~{output_prefix}.concordance.~{contig}.unsorted",
contig=contig,
reference_dict=reference_dict,
java_mem_fraction=java_mem_fraction,
gatk_docker=gatk_docker,
runtime_attr_override=runtime_attr_sv_concordance
}
call tasks_cohort.SortVcf {
input:
vcf=SVConcordanceTask.out_unsorted,
outfile_prefix="~{output_prefix}.concordance.~{contig}.sorted",
sv_base_mini_docker=sv_base_mini_docker,
runtime_attr_override=runtime_attr_sort_vcf
}
}
call tasks_cohort.ConcatVcfs {
input:
vcfs=SVConcordanceTask.out,
vcfs_idx=SVConcordanceTask.out_index,
vcfs=SortVcf.out,
vcfs_idx=SortVcf.out_index,
naive=true,
outfile_prefix="~{output_prefix}.concordance",
sv_base_mini_docker=sv_base_mini_docker,
Expand Down Expand Up @@ -81,16 +87,15 @@ task SVConcordanceTask {
RuntimeAttr default_attr = object {
cpu_cores: 1,
mem_gb: 16,
disk_gb: ceil(10 + size(eval_vcf, "GB") * 2 + size(truth_vcf, "GB")),
disk_gb: ceil(10 + size(eval_vcf, "GB") * 4 + size(truth_vcf, "GB")),
boot_disk_gb: 10,
preemptible_tries: 3,
max_retries: 1
}
RuntimeAttr runtime_attr = select_first([runtime_attr_override, default_attr])
output {
File out = "~{output_prefix}.vcf.gz"
File out_index = "~{output_prefix}.vcf.gz.tbi"
File out_unsorted = "~{output_prefix}.vcf.gz"
}
command <<<
set -euo pipefail
Expand All @@ -108,12 +113,14 @@ task SVConcordanceTask {
JVM_MAX_MEM=$(getJavaMem MemTotal)
echo "JVM memory: $JVM_MAX_MEM"

# As of 12/15/2023, the gatk docker contains an outdated version of bcftools so we sort in a subsequent task
gatk --java-options "-Xmx${JVM_MAX_MEM}" SVConcordance \
~{"-L " + contig} \
--sequence-dictionary ~{reference_dict} \
--eval ~{eval_vcf} \
--truth ~{truth_vcf} \
-O ~{output_prefix}.vcf.gz \
--do-not-sort \
~{additional_args}
>>>
runtime {
Expand Down

0 comments on commit 4a40ac7

Please sign in to comment.