From 1fbf3eacc269782a6035c0c2e2bec348a31de0e8 Mon Sep 17 00:00:00 2001
From: cagaser <c.agaser@lumc.nl>
Date: Mon, 19 Jul 2021 11:54:26 +0200
Subject: [PATCH] update common.wdl fastqc.wdl samtools.wdl somaticseq.wdl
 umi-tools.wdl wisestork.wdl: add runtime memory

---
 common.wdl     | 28 +++++++++++++++++++++++-----
 fastqc.wdl     |  4 +++-
 samtools.wdl   |  3 ++-
 somaticseq.wdl | 10 ++++++++++
 umi-tools.wdl  |  2 ++
 wisestork.wdl  |  6 ++++++
 6 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/common.wdl b/common.wdl
index 54b1156..d29ed5d 100644
--- a/common.wdl
+++ b/common.wdl
@@ -24,6 +24,8 @@ task AppendToStringArray {
     input {
         Array[String] array
         String string
+        
+        String memory = "1G"
     }
 
     command {
@@ -36,7 +38,7 @@ task AppendToStringArray {
     }
 
     runtime {
-        memory: "1G"
+        memory: memory
     }
 }
 
@@ -45,9 +47,11 @@ task CheckFileMD5 {
     input {
         File file
         String md5
+
         # By default cromwell expects /bin/bash to be present in the container.
         # The 'bash' container does not fill this requirement. (It is in /usr/local/bin/bash)
         # Use a stable version of debian:stretch-slim for this. (Smaller than ubuntu)
+        String memory = "1G"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -60,6 +64,7 @@ task CheckFileMD5 {
 
     runtime {
         docker: dockerImage
+        memory: memory
     }
 }
 
@@ -69,6 +74,8 @@ task ConcatenateTextFiles {
         String combinedFilePath
         Boolean unzip = false
         Boolean zip = false
+
+        String memory = "1G"
     }
 
     # When input and output is both compressed decompression is not needed.
@@ -86,7 +93,7 @@ task ConcatenateTextFiles {
     }
 
     runtime {
-        memory: "1G"
+        memory: memory
     }
 }
 
@@ -97,6 +104,7 @@ task Copy {
         Boolean recursive = false
 
         # Version not that important as long as it is stable.
+        String memory = "1G"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -112,6 +120,7 @@ task Copy {
 
     runtime {
         docker: dockerImage
+        memory: memory
     }
 }
 
@@ -122,6 +131,8 @@ task CreateLink {
     input {
         String inputFile
         String outputPath
+
+        String memory = "1G"
     }
 
     command {
@@ -131,12 +142,17 @@ task CreateLink {
     output {
         File link = outputPath
     }
+
+    runtime {
+        memory: memory
+    }
 }
 
 task MapMd5 {
     input {
         Map[String,String] map
 
+        String memory = "1G"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -150,7 +166,7 @@ task MapMd5 {
     }
 
     runtime {
-        memory: "1G"
+        memory: memory
         docker: dockerImage
     }
 }
@@ -160,6 +176,7 @@ task StringArrayMd5 {
     input {
         Array[String] stringArray
 
+        String memory = "1G"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -173,7 +190,7 @@ task StringArrayMd5 {
     }
 
     runtime {
-        memory: "1G"
+        memory: memory
         docker: dockerImage
     }
 }
@@ -183,6 +200,7 @@ task TextToFile {
         String text
         String outputFile = "out.txt"
 
+        String memory = "1G"
         Int timeMinutes = 1
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
@@ -196,7 +214,7 @@ task TextToFile {
     }
 
     runtime {
-        memory: "1G"
+        memory: memory
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/fastqc.wdl b/fastqc.wdl
index 973eeed..3a07db4 100644
--- a/fastqc.wdl
+++ b/fastqc.wdl
@@ -143,6 +143,7 @@ task Fastqc {
 
 task GetConfiguration {
     input {
+        String memory = "2G" # Needs more than 1 to pull the docker image.
         Int timeMinutes = 1
         String dockerImage = "quay.io/biocontainers/fastqc:0.11.7--4"
     }
@@ -165,7 +166,7 @@ task GetConfiguration {
     }
 
     runtime {
-        memory: "2G" # Needs more than 1 to pull the docker image.
+        memory: memory 
         time_minute: timeMinutes
         docker: dockerImage
     }
@@ -173,6 +174,7 @@ task GetConfiguration {
     parameter_meta {
         # inputs
         timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"}
+        memory: {description: "The amount of memory available to the job.", category: "advanced"}
         dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"}
 
         # outputs
diff --git a/samtools.wdl b/samtools.wdl
index 46d1eb7..04e27fc 100644
--- a/samtools.wdl
+++ b/samtools.wdl
@@ -25,7 +25,7 @@ task BgzipAndIndex {
         File inputFile
         String outputDir
         String type = "vcf"
-
+        String memory = "2G"
         Int timeMinutes = 1 + ceil(size(inputFile, "G"))
         String dockerImage = "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
     }
@@ -47,6 +47,7 @@ task BgzipAndIndex {
     runtime {
         time_minutes: timeMinutes
         docker: dockerImage
+        memory: memory
     }
 
     parameter_meta {
diff --git a/somaticseq.wdl b/somaticseq.wdl
index 07103ef..27c3fe3 100644
--- a/somaticseq.wdl
+++ b/somaticseq.wdl
@@ -49,6 +49,7 @@ task ParallelPaired {
 
         Int threads = 1
         Int timeMinutes = 60
+        String memory = "2G"
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
 
@@ -92,6 +93,7 @@ task ParallelPaired {
     runtime {
         cpu: threads
         time_minutes: timeMinutes
+        memory: memory
         docker: dockerImage
     }
 
@@ -161,6 +163,7 @@ task ParallelPairedTrain {
 
         Int threads = 1
         Int timeMinutes = 240
+        String memory = "2G"
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
 
@@ -203,6 +206,7 @@ task ParallelPairedTrain {
     runtime {
         cpu: threads
         time_minutes: timeMinutes
+        memory: memory
         docker: dockerImage
     }
 
@@ -266,6 +270,7 @@ task ParallelSingle {
 
         Int threads = 1
         Int timeMinutes = 60
+        String memory = "2G"
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
 
@@ -302,6 +307,7 @@ task ParallelSingle {
     runtime {
         cpu: threads
         time_minutes: timeMinutes
+        memory: memory
         docker: dockerImage
     }
 
@@ -355,6 +361,7 @@ task ParallelSingleTrain {
 
         Int threads = 1
         Int timeMinutes = 240
+        String memory = "2G"
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
 
@@ -390,6 +397,7 @@ task ParallelSingleTrain {
     runtime {
         cpu: threads
         time_minutes: timeMinutes
+        memory: memory
         docker: dockerImage
     }
 
@@ -430,6 +438,7 @@ task ModifyStrelka {
         String outputVCFName = basename(strelkaVCF, ".gz")
 
         Int timeMinutes = 20
+        String memory = "2G"
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
 
@@ -448,6 +457,7 @@ task ModifyStrelka {
 
     runtime {
         time_minutes: timeMinutes
+        memory: memory
         docker: dockerImage
     }
 
diff --git a/umi-tools.wdl b/umi-tools.wdl
index 86bf131..b79817c 100644
--- a/umi-tools.wdl
+++ b/umi-tools.wdl
@@ -30,6 +30,7 @@ task Extract {
         String? read2Output = "umi_extracted_R2.fastq.gz"
         Boolean threePrime = false
 
+        String memory = "20G"
         Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 2)
         String dockerImage = "quay.io/biocontainers/mulled-v2-509311a44630c01d9cb7d2ac5727725f51ea43af:3067b520386698317fd507c413baf7f901666fd4-0"
     }
@@ -51,6 +52,7 @@ task Extract {
     }
 
     runtime {
+        memory: memory
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/wisestork.wdl b/wisestork.wdl
index 6be3216..8fb4b76 100644
--- a/wisestork.wdl
+++ b/wisestork.wdl
@@ -31,6 +31,7 @@ task Count {
         Int? binSize
         File? binFile
 
+        String memory = "2G"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -50,6 +51,7 @@ task Count {
     }
 
     runtime {
+        memory: memory
         docker: dockerImage
     }
 }
@@ -67,6 +69,7 @@ task GcCorrect {
         Int? iter
         Float? fracLowess
 
+        String memory = "2G"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -89,6 +92,7 @@ task GcCorrect {
     }
 
     runtime {
+        memory: memory
         docker: dockerImage
     }
 }
@@ -143,6 +147,7 @@ task Zscore {
         Int? binSize
         File? binFile
 
+        String memory = "2G"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -163,6 +168,7 @@ task Zscore {
     }
 
     runtime {
+        memory: memory
         docker: dockerImage
     }
 }
-- 
GitLab