From f6f512ffbae67ed259905cd0c57828e1c10dc5f3 Mon Sep 17 00:00:00 2001 From: Shadi Zaheri Date: Mon, 22 Apr 2024 23:16:46 -0400 Subject: [PATCH 1/2] Modify ReadMetrics task with customizable memory and SSD support --- wdl/tasks/QC/AlignedMetrics.wdl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/wdl/tasks/QC/AlignedMetrics.wdl b/wdl/tasks/QC/AlignedMetrics.wdl index 54f211906..c2aa00afa 100644 --- a/wdl/tasks/QC/AlignedMetrics.wdl +++ b/wdl/tasks/QC/AlignedMetrics.wdl @@ -625,12 +625,14 @@ task ComputeBedCoverage { task ReadMetrics { input { File bam - + Int? mem_gb_input # Optional input for memory in GiB + Int? disk_gb_input # Optional input for disk size in GiB RuntimeAttr? runtime_attr_override } String basename = basename(bam, ".bam") - Int disk_size = 2*ceil(size(bam, "GB")) + Int calculated_disk_size = 2*ceil(size(bam, "GB")) + Int disk_size = select_first([disk_gb_input, calculated_disk_size]) # Use disk_gb_input if provided, otherwise use calculated_disk_size command <<< set -euxo pipefail @@ -655,8 +657,8 @@ task ReadMetrics { ######################### RuntimeAttr default_attr = object { cpu_cores: 2, - mem_gb: 50, - disk_gb: disk_size, + mem_gb: select_first([mem_gb_input, 50]), # Use mem_gb_input if provided, otherwise default to 50 + disk_gb: disk_size, # Use disk_gb_input if provided, otherwise use calculated_disk_size boot_disk_gb: 10, preemptible_tries: 2, max_retries: 1, From c76413bfd2eb50be0786389405a939526561b551 Mon Sep 17 00:00:00 2001 From: Shadi Zaheri Date: Mon, 22 Apr 2024 23:27:25 -0400 Subject: [PATCH 2/2] Modify AlignedMetrics inputs with customizable memory and SSD support --- wdl/tasks/QC/AlignedMetrics.wdl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/wdl/tasks/QC/AlignedMetrics.wdl b/wdl/tasks/QC/AlignedMetrics.wdl index c2aa00afa..d5ada373e 100644 --- a/wdl/tasks/QC/AlignedMetrics.wdl +++ b/wdl/tasks/QC/AlignedMetrics.wdl @@ -24,6 +24,10 @@ workflow AlignedMetrics { File ref_dict String? gcs_output_dir + + Int? mem_gb_input_ReadMetrics # Optional input for memory in GiB + Int? disk_gb_input_ReadMetrics # Optional input for disk size in GiB + } call ReadMetrics as AlignedReadMetrics { input: bam = aligned_bam } @@ -625,14 +629,14 @@ task ComputeBedCoverage { task ReadMetrics { input { File bam - Int? mem_gb_input # Optional input for memory in GiB - Int? disk_gb_input # Optional input for disk size in GiB + Int? mem_gb_input_ReadMetrics # Optional input for memory in GiB + Int? disk_gb_input_ReadMetrics # Optional input for disk size in GiB RuntimeAttr? runtime_attr_override } String basename = basename(bam, ".bam") Int calculated_disk_size = 2*ceil(size(bam, "GB")) - Int disk_size = select_first([disk_gb_input, calculated_disk_size]) # Use disk_gb_input if provided, otherwise use calculated_disk_size + Int disk_size = select_first([disk_gb_input_ReadMetrics, calculated_disk_size]) # Use disk_gb_input if provided, otherwise use calculated_disk_size command <<< set -euxo pipefail @@ -657,7 +661,7 @@ task ReadMetrics { ######################### RuntimeAttr default_attr = object { cpu_cores: 2, - mem_gb: select_first([mem_gb_input, 50]), # Use mem_gb_input if provided, otherwise default to 50 + mem_gb: select_first([mem_gb_input_ReadMetrics, 50]), # Use mem_gb_input if provided, otherwise default to 50 disk_gb: disk_size, # Use disk_gb_input if provided, otherwise use calculated_disk_size boot_disk_gb: 10, preemptible_tries: 2,