From 211ebf0d04f8851cd8c89f261d9c330ae74c5347 Mon Sep 17 00:00:00 2001 From: Shadi Zaheri Date: Wed, 24 Jul 2024 08:57:50 -0400 Subject: [PATCH 1/3] Add BarcodeExtractor workflow to extract the barcodes from each inut_bam --- .../TechAgnostic/Utility/BarcodeExtractor.wdl | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl diff --git a/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl b/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl new file mode 100644 index 000000000..7043beb69 --- /dev/null +++ b/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl @@ -0,0 +1,74 @@ +version 1.0 +import "../../../structs/Structs.wdl" + + +workflow BarcodeExtractor { + meta { + description: "Extract barcode from BAM file and create movie_name.barcode for each sample." + } + input { + File input_file + String id + String movie_name + } + + call ExtractBarcode { + input: input_bam = input_file + } + + output { + String barcode = ExtractBarcode.barcode + String movie_name_barcode = movie_name + "." + ExtractBarcode.barcode + } +} + +task ExtractBarcode { + input { + File input_bam + RuntimeAttr? runtime_attr_override + } + + command <<< + python3 <>> + + output { + String barcode = read_string(stdout()) + } + + ######################### + RuntimeAttr default_attr = object { + cpu_cores: 2, + mem_gb: 8, + disk_gb: 50, + boot_disk_gb: 10, + preemptible_tries: 3, + max_retries: 0, + docker: "us.gcr.io/broad-dsp-lrma/lr-compile-sv-stats:0.0.0" + } + RuntimeAttr runtime_attr = select_first([runtime_attr_override, default_attr]) + + runtime { + cpu: select_first([runtime_attr.cpu_cores, default_attr.cpu_cores]) + memory: select_first([runtime_attr.mem_gb, default_attr.mem_gb]) + " GiB" + disks: "local-disk " + select_first([runtime_attr.disk_gb, default_attr.disk_gb]) + " HDD" + bootDiskSizeGb: select_first([runtime_attr.boot_disk_gb, default_attr.boot_disk_gb]) + preemptible: select_first([runtime_attr.preemptible_tries, default_attr.preemptible_tries]) + maxRetries: select_first([runtime_attr.max_retries, default_attr.max_retries]) + docker: select_first([runtime_attr.docker, default_attr.docker]) + } +} From b974cb21e9900f7c7af4e791486ea4ec495b0421 Mon Sep 17 00:00:00 2001 From: Shadi Zaheri Date: Wed, 24 Jul 2024 10:32:16 -0400 Subject: [PATCH 2/3] Modifying the extract funtion --- .../TechAgnostic/Utility/BarcodeExtractor.wdl | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl b/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl index 7043beb69..bf89b1b30 100644 --- a/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl +++ b/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl @@ -1,6 +1,6 @@ version 1.0 -import "../../../structs/Structs.wdl" +import "../../../structs/Structs.wdl" as Structs workflow BarcodeExtractor { meta { @@ -13,7 +13,7 @@ workflow BarcodeExtractor { } call ExtractBarcode { - input: input_bam = input_file + input: input_bam_path = input_file } output { @@ -24,21 +24,23 @@ workflow BarcodeExtractor { task ExtractBarcode { input { - File input_bam - RuntimeAttr? runtime_attr_override + String input_bam_path + Structs.RuntimeAttr? runtime_attr_override } command <<< python3 < Date: Wed, 24 Jul 2024 10:51:02 -0400 Subject: [PATCH 3/3] Update BarcodeExtractor.wdl --- .../TechAgnostic/Utility/BarcodeExtractor.wdl | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl b/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl index bf89b1b30..c25a20b08 100644 --- a/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl +++ b/wdl/pipelines/TechAgnostic/Utility/BarcodeExtractor.wdl @@ -1,6 +1,14 @@ version 1.0 -import "../../../structs/Structs.wdl" as Structs +struct RuntimeAttr { + Int cpu_cores + Int mem_gb + Int disk_gb + Int boot_disk_gb + Int preemptible_tries + Int max_retries + String docker +} workflow BarcodeExtractor { meta { @@ -25,7 +33,7 @@ workflow BarcodeExtractor { task ExtractBarcode { input { String input_bam_path - Structs.RuntimeAttr? runtime_attr_override + RuntimeAttr? runtime_attr_override } command <<< @@ -52,7 +60,7 @@ CODE String barcode = read_string(stdout()) } - Structs.RuntimeAttr default_attr = object { + RuntimeAttr default_attr = object { cpu_cores: 2, mem_gb: 8, disk_gb: 50, @@ -61,7 +69,8 @@ CODE max_retries: 0, docker: "us.gcr.io/broad-dsp-lrma/lr-compile-sv-stats:0.0.0" } - Structs.RuntimeAttr runtime_attr = select_first([runtime_attr_override, default_attr]) + + RuntimeAttr runtime_attr = select_first([runtime_attr_override, default_attr]) runtime { cpu: select_first([runtime_attr.cpu_cores, default_attr.cpu_cores])