diff --git a/biopet/bamstats.wdl b/biopet/bamstats.wdl
index d5a30f055c12ff13aca71b91a999c1f9c5b299ae..a00ed97efb18dbea04c842e9e05ec51c135558f8 100644
--- a/biopet/bamstats.wdl
+++ b/biopet/bamstats.wdl
@@ -16,15 +16,15 @@ task Generate {
         String outputDir
         Reference? reference
 
-        Int memory = 8
-        Float memoryMultiplier = 2.0
+        String memory = "16G"
+        String javaXmx = "8G"
     }
 
     File referenceFasta = if defined(reference) then select_first([reference]).fasta else ""
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " + toolJar
-        else "biopet-bamstats -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-bamstats -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -46,6 +46,6 @@ task Generate {
     }
 
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
\ No newline at end of file
diff --git a/biopet/biopet.wdl b/biopet/biopet.wdl
index 92f38eff29434d7e41ef87d428e1187025dd4ae6..8cf23813bd0880c726010316c02d802b8eef922a 100644
--- a/biopet/biopet.wdl
+++ b/biopet/biopet.wdl
@@ -11,13 +11,13 @@ task BaseCounter {
         String outputDir
         String prefix
 
-        Int memory = 4
-        Float memoryMultiplier = 3.5
+        String memory = "14G"
+        String javaXmx = "4G"
     }
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " +toolJar
-        else "biopet-basecounter -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-basecounter -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -68,7 +68,7 @@ task BaseCounter {
     }
 
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
 
@@ -155,13 +155,13 @@ task FastqSync {
         String out2path
         File? toolJar
 
-        Int memory = 4
-        Float memoryMultiplier = 2.5
+        String memory = "10G"
+        String javaXmx = "4G"
     }
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " +toolJar
-        else "biopet-fastqsync -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-fastqsync -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -184,7 +184,7 @@ task FastqSync {
     }
     
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
 
diff --git a/biopet/sampleconfig.wdl b/biopet/sampleconfig.wdl
index 321b77c78759da1a1c8c17f6582ab497fc04de28..59f0bad26b971fa7c3ccd9819756158621be3083 100644
--- a/biopet/sampleconfig.wdl
+++ b/biopet/sampleconfig.wdl
@@ -14,13 +14,13 @@ task SampleConfig {
         String? jsonOutputPath
         String? tsvOutputPath
 
-        Int memory = 4
-        Float memoryMultiplier = 2.0
+        String memory = "8G"
+        String javaXmx = "16G"
     }
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " +toolJar
-        else "biopet-sampleconfig -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-sampleconfig -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -43,7 +43,7 @@ task SampleConfig {
     }
 
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
 
@@ -54,13 +54,13 @@ task SampleConfigCromwellArrays {
         Array[File]+ inputFiles
         String outputPath
 
-        Int memory = 4
-        Float memoryMultiplier = 2.0
+        String memory = "8G"
+        String javaXmx = "4G"
     }
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " + toolJar
-        else "biopet-sampleconfig -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-sampleconfig -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -76,7 +76,7 @@ task SampleConfigCromwellArrays {
     }
 
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
 
@@ -90,13 +90,13 @@ task CaseControl {
         String outputPath
         String controlTag = "control"
 
-        Int memory = 4
-        Float memoryMultiplier = 2.0
+        String memory = "8G"
+        String javaXmx = "4G"
     }
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " + toolJar
-        else "biopet-sampleconfig -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-sampleconfig -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -115,6 +115,6 @@ task CaseControl {
     }
 
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
diff --git a/biopet/seqstat.wdl b/biopet/seqstat.wdl
index c8b591f79bda4559bee8abf540acea2029eae458..ade4b45da4b8c0f2af7b2fa3881a0a652e77f7aa 100644
--- a/biopet/seqstat.wdl
+++ b/biopet/seqstat.wdl
@@ -14,13 +14,13 @@ task Generate {
         String library
         String readgroup
 
-        Int memory = 4
-        Float memoryMultiplier = 2.5
+        String memory = "10G"
+        String javaXmx = "4G"
     }
 
     String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " + toolJar
-        else "biopet-seqstat -Xmx" + memory + "G"
+        then "java -Xmx~{javaXmx} -jar " + toolJar
+        else "biopet-seqstat -Xmx~{javaXmx}"
 
     command {
         set -e -o pipefail
@@ -40,6 +40,6 @@ task Generate {
     }
 
     runtime {
-        memory: ceil(memory * memoryMultiplier)
+        memory: memory
     }
 }
\ No newline at end of file
diff --git a/centrifuge.wdl b/centrifuge.wdl
index ac8cd5a296e4e907a6aac4de9b73ca96f41ebabd..ec6652f93de5f29c1338f7d7ee7d7f3e9192d0f0 100644
--- a/centrifuge.wdl
+++ b/centrifuge.wdl
@@ -27,7 +27,7 @@ task Build {
         Int? kmerCount
 
         Int threads = 8
-        Int memory = 20
+        String memory = "20G"
     }
 
     command {
@@ -81,7 +81,7 @@ task Classify {
         Array[String]? excludeTaxIds
 
         Int threads = 4
-        Int memory = 8
+        String memory = "8G"
     }
 
     String outputFilePath = outputDir + "/centrifuge.out"
@@ -205,7 +205,7 @@ task Kreport {
         Int? minLength
 
         Int cores = 1
-        Int memory = 4
+        String memory = "4G"
     }
 
     String kreportFilePath = outputDir + "/" + prefix + "." + suffix
diff --git a/collect-columns.wdl b/collect-columns.wdl
index 57d246718272c21f373b20abf5cc95160f832877..fce0cfa9a9ebdb8232057222858e589be607e521 100644
--- a/collect-columns.wdl
+++ b/collect-columns.wdl
@@ -36,10 +36,10 @@ task CollectColumns {
         File outputTable = outputPath
     }
 
-    Int memoryGigs = 4 + ceil(0.5 * length(inputTables))
+    Int memoryGb = 4 + ceil(0.5 * length(inputTables))
 
     runtime {
-        memory: "~{memoryGigs}G"
+        memory: "~{memoryGb}G"
         docker: dockerImage
     }
 }
\ No newline at end of file
diff --git a/flash.wdl b/flash.wdl
index 81703604308ba8b8252ab817aa2d010892384698..03a3646c468ba3aa31e9468aa2639a1ff6acad36 100644
--- a/flash.wdl
+++ b/flash.wdl
@@ -13,7 +13,7 @@ task Flash {
         Boolean compress = true
 
         Int threads = 2
-        Int memory = 2
+        String memory = "2G"
     }
 
     command {
diff --git a/stringtie.wdl b/stringtie.wdl
index d9b7cdcc1a21ebaa63e4c43f93ee630c44962772..dd267aa5b63236b2328a29b3f1863191ef8b680a 100644
--- a/stringtie.wdl
+++ b/stringtie.wdl
@@ -55,7 +55,7 @@ task Merge {
         Boolean keepMergedTranscriptsWithRetainedIntrons = false
         String? label
 
-        Int memory = 10
+        String memory = "10G"
         String dockerImage = "quay.io/biocontainers/stringtie:1.3.4--py35_0"
     }