From 8993b5c662428a0bcdc5d2fd4806812b061db529 Mon Sep 17 00:00:00 2001
From: Ruben Vorderman <r.h.p.vorderman@lumc.nl>
Date: Mon, 22 Aug 2022 14:25:59 +0200
Subject: [PATCH] Use gebibytes instead of gigabytes

---
 CPAT.wdl                 |  4 +--
 bam2fastx.wdl            |  4 +--
 bcftools.wdl             | 10 +++----
 bedtools.wdl             | 16 +++++------
 biowdl.wdl               |  2 +-
 bowtie.wdl               |  2 +-
 bwa-mem2.wdl             |  4 +--
 bwa.wdl                  |  6 ++--
 ccs.wdl                  |  2 +-
 centrifuge.wdl           | 10 +++----
 chunked-scatter.wdl      |  4 +--
 clever.wdl               |  4 +--
 collect-columns.wdl      |  2 +-
 common.wdl               | 20 +++++++-------
 cutadapt.wdl             |  2 +-
 deconstructsigs.wdl      |  2 +-
 deepvariant.wdl          |  2 +-
 delly.wdl                |  2 +-
 duphold.wdl              |  2 +-
 extractSigPredictHRD.wdl |  2 +-
 fastqc.wdl               |  2 +-
 fastqsplitter.wdl        |  2 +-
 fgbio.wdl                |  2 +-
 flash.wdl                |  2 +-
 gatk.wdl                 | 56 ++++++++++++++++++-------------------
 gffcompare.wdl           |  4 +--
 gffread.wdl              |  4 +--
 gridss.wdl               | 10 +++----
 hisat2.wdl               |  2 +-
 hmftools.wdl             | 34 +++++++++++------------
 htseq.wdl                |  4 +--
 isoseq3.wdl              |  2 +-
 lima.wdl                 |  2 +-
 macs2.wdl                |  2 +-
 manta.wdl                |  4 +--
 minimap2.wdl             |  4 +--
 multiqc.wdl              |  6 ++--
 nanopack.wdl             |  4 +--
 pacbio.wdl               |  4 +--
 pbbam.wdl                |  2 +-
 pbmm2.wdl                |  2 +-
 peach.wdl                |  2 +-
 picard.wdl               | 60 ++++++++++++++++++++--------------------
 prepareShiny.wdl         |  4 +--
 rtg.wdl                  |  8 +++---
 sambamba.wdl             | 10 +++----
 samtools.wdl             | 34 +++++++++++------------
 scripts                  |  2 +-
 smoove.wdl               |  2 +-
 snpeff.wdl               |  2 +-
 somaticseq.wdl           | 10 +++----
 spades.wdl               |  2 +-
 star.wdl                 | 10 +++----
 strelka.wdl              |  4 +--
 stringtie.wdl            |  4 +--
 survivor.wdl             |  2 +-
 talon.wdl                | 20 +++++++-------
 transcriptclean.wdl      |  6 ++--
 umi-tools.wdl            |  6 ++--
 umi.wdl                  |  4 +--
 unicycler.wdl            |  2 +-
 vardict.wdl              |  2 +-
 vt.wdl                   |  2 +-
 whatshap.wdl             |  6 ++--
 wisestork.wdl            |  8 +++---
 65 files changed, 234 insertions(+), 234 deletions(-)

diff --git a/CPAT.wdl b/CPAT.wdl
index e6cef3e..b96ea0d 100644
--- a/CPAT.wdl
+++ b/CPAT.wdl
@@ -34,8 +34,8 @@ task CPAT {
         Array[String]? startCodons
         Array[String]? stopCodons
 
-        String memory = "4G"
-        Int timeMinutes = 10 + ceil(size(gene, "G") * 30)
+        String memory = "4GiB"
+        Int timeMinutes = 10 + ceil(size(gene, "GiB") * 30)
         String dockerImage = "quay.io/biocontainers/cpat:3.0.4--py39hcbe4a3b_0"
     }
 
diff --git a/bam2fastx.wdl b/bam2fastx.wdl
index 0bdccca..62827fd 100644
--- a/bam2fastx.wdl
+++ b/bam2fastx.wdl
@@ -30,7 +30,7 @@ task Bam2Fasta {
 
         String? seqIdPrefix
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.1--hf05d43a_1"
     }
@@ -98,7 +98,7 @@ task Bam2Fastq {
 
         String? seqIdPrefix
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.1--hf05d43a_1"
     }
diff --git a/bcftools.wdl b/bcftools.wdl
index 2bf1c73..726d2e3 100644
--- a/bcftools.wdl
+++ b/bcftools.wdl
@@ -47,7 +47,7 @@ task Annotate {
         File? samplesFile
 
         Int threads = 0
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 60 + ceil(size(inputFile, "G"))
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -138,7 +138,7 @@ task Filter {
         String? softFilter
         String outputPath = "./filtered.vcf.gz"
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 1 + ceil(size(vcf, "G"))
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -186,7 +186,7 @@ task Sort {
         String outputPath = "output.vcf.gz"
         String tmpDir = "./sorting-tmp"
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 1 + ceil(size(inputFile, "G")) * 5
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -261,7 +261,7 @@ task Stats {
         String? userTsTv
 
         Int threads = 0
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 1 + 2* ceil(size(select_all([inputVcf, compareVcf]), "G")) # TODO: Estimate, 2 minutes per GB, refine later.
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -350,7 +350,7 @@ task View {
         String? exclude
         String? include
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 1 + ceil(size(inputFile, "G"))
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
diff --git a/bedtools.wdl b/bedtools.wdl
index 80a281d..fe18ede 100644
--- a/bedtools.wdl
+++ b/bedtools.wdl
@@ -26,7 +26,7 @@ task Complement {
         File inputBed
         String outputBed = basename(inputBed, "\.bed") + ".complement.bed"
 
-        String memory = "~{512 + ceil(size([inputBed, faidx], "M"))}M"
+        String memory = "~{512 + ceil(size([inputBed, faidx], "MiB"))}MiB"
         Int timeMinutes = 1 + ceil(size([inputBed, faidx], "G"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
@@ -75,7 +75,7 @@ task Coverage {
         File? bIndex
         String outputPath = "./coverage.tsv"
 
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 320
         String dockerImage = "quay.io/biocontainers/bedtools:2.30.0--h7d7f7ad_2"
     }
@@ -120,7 +120,7 @@ task Merge {
         File inputBed
         String outputBed = "merged.bed"
 
-        String memory = "~{512 + ceil(size(inputBed, "M"))}M"
+        String memory = "~{512 + ceil(size(inputBed, "MiB"))}MiB"
         Int timeMinutes = 1 + ceil(size(inputBed, "G"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
@@ -159,7 +159,7 @@ task MergeBedFiles {
         Array[File]+ bedFiles
         String outputBed = "merged.bed"
 
-        String memory = "~{512 + ceil(size(bedFiles, "M"))}M"
+        String memory = "~{512 + ceil(size(bedFiles, "MiB"))}MiB"
         Int timeMinutes = 1 + ceil(size(bedFiles, "G"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
@@ -207,8 +207,8 @@ task Sort {
         File? genome
         File? faidx
 
-        String memory = "~{512 + ceil(size(inputBed, "M"))}M"
-        Int timeMinutes = 1 + ceil(size(inputBed, "G"))
+        String memory = "~{512 + ceil(size(inputBed, "MiB"))}MiB"
+        Int timeMinutes = 1 + ceil(size(inputBed, "GiB"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
 
@@ -267,8 +267,8 @@ task Intersect {
 
         File? faidx # Giving a faidx file will set the sorted option.
 
-        String memory = "~{512 + ceil(size([regionsA, regionsB], "M"))}M"
-        Int timeMinutes = 1 + ceil(size([regionsA, regionsB], "G"))
+        String memory = "~{512 + ceil(size([regionsA, regionsB], "MiB"))}MiB"
+        Int timeMinutes = 1 + ceil(size([regionsA, regionsB], "GiB"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
 
diff --git a/biowdl.wdl b/biowdl.wdl
index dead830..f891618 100644
--- a/biowdl.wdl
+++ b/biowdl.wdl
@@ -32,7 +32,7 @@ task InputConverter {
         Boolean checkFileMd5sums=false
         Boolean old=false
 
-        String memory = "128M"
+        String memory = "128MiB"
         Int timeMinutes = 1
         String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.3.0--pyhdfd78af_0"
     }
diff --git a/bowtie.wdl b/bowtie.wdl
index 87210dc..7e81759 100644
--- a/bowtie.wdl
+++ b/bowtie.wdl
@@ -37,7 +37,7 @@ task Bowtie {
 
         String picardXmx = "4G"
         Int threads = 1
-        String memory = "~{5 + ceil(size(indexFiles, "G"))}G"
+        String memory = "~{5 + ceil(size(indexFiles, "GiB"))}GiB"
         Int timeMinutes = 1 + ceil(size(flatten([readsUpstream, readsDownstream]), "G") * 300 / threads)
         # Image contains bowtie=1.2.2 and picard=2.9.2
         String dockerImage = "quay.io/biocontainers/mulled-v2-bfe71839265127576d3cd749c056e7b168308d56:1d8bec77b352cdcf3e9ff3d20af238b33ed96eae-0"
diff --git a/bwa-mem2.wdl b/bwa-mem2.wdl
index 4566e68..b3db0ad 100644
--- a/bwa-mem2.wdl
+++ b/bwa-mem2.wdl
@@ -36,7 +36,7 @@ task Mem {
         
         Int threads = 4
         Int? memoryGb
-        Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 220 / threads)
+        Int timeMinutes = 1 + ceil(size([read1, read2], "GiB") * 220 / threads)
         # Contains bwa-mem2 2.0 bwakit 0.7.17.dev1 and samtools 1.10.
         String dockerImage = "quay.io/biocontainers/mulled-v2-6a15c99309c82b345497d24489bee67bbb76c2f6:1c9c3227b9bf825a8dc9726a25701aa23c0b1f12-0"
     }
@@ -84,7 +84,7 @@ task Mem {
         # One extra thread for bwa-postalt + samtools is not needed.
         # These only use 5-10% of compute power and not always simultaneously.
         cpu: threads
-        memory: "~{select_first([memoryGb, estimatedMemoryGb])}G"
+        memory: "~{select_first([memoryGb, estimatedMemoryGb])}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/bwa.wdl b/bwa.wdl
index 373de62..d4f4495 100644
--- a/bwa.wdl
+++ b/bwa.wdl
@@ -37,7 +37,7 @@ task Mem {
 
         Int threads = 4
         Int? memoryGb
-        Int timeMinutes = 10 + ceil(size([read1, read2], "G") * 300 / threads)
+        Int timeMinutes = 10 + ceil(size([read1, read2], "GiB") * 300 / threads)
         # Contains bwa 0.7.17 bwakit 0.7.17.dev1 and samtools 1.10.
         String dockerImage = "quay.io/biocontainers/mulled-v2-ad317f19f5881324e963f6a6d464d696a2825ab6:c59b7a73c87a9fe81737d5d628e10a3b5807f453-0"
     }
@@ -48,7 +48,7 @@ task Mem {
     Int estimatedSortThreads = if threads == 1 then 1 else 1 + ceil(threads / 4.0)
     Int totalSortThreads = select_first([sortThreads, estimatedSortThreads])
     # BWA needs slightly more memory than the size of the index files (~10%). Add a margin for safety here.
-    Int estimatedMemoryGb = 10 + ceil(size(bwaIndex.indexFiles, "G") * 2) + sortMemoryPerThreadGb * totalSortThreads
+    Int estimatedMemoryGb = 10 + ceil(size(bwaIndex.indexFiles, "GiB") * 2) + sortMemoryPerThreadGb * totalSortThreads
     
     # The bwa postalt script is out commented as soon as usePostalt = false.
     # This hack was tested with bash, dash and ash. It seems that comments in between pipes work for all of them.
@@ -81,7 +81,7 @@ task Mem {
         # One extra thread for bwa-postalt + samtools is not needed.
         # These only use 5-10% of compute power and not always simultaneously.
         cpu: threads
-        memory: "~{select_first([memoryGb, estimatedMemoryGb])}G"
+        memory: "~{select_first([memoryGb, estimatedMemoryGb])}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/ccs.wdl b/ccs.wdl
index 29f1a7f..27db15a 100644
--- a/ccs.wdl
+++ b/ccs.wdl
@@ -42,7 +42,7 @@ task CCS {
         String? chunkString
 
         Int threads = 2
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/pbccs:6.0.0--h9ee0642_2"
     }
diff --git a/centrifuge.wdl b/centrifuge.wdl
index 07dc7f8..757af23 100644
--- a/centrifuge.wdl
+++ b/centrifuge.wdl
@@ -36,7 +36,7 @@ task Build {
         File? sizeTable
 
         Int threads = 5
-        String memory = "20G"
+        String memory = "20GiB"
         Int timeMinutes = 2880
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -109,7 +109,7 @@ task Classify {
         String? excludeTaxIDs
 
         Int threads = 4
-        String memory = "16G"
+        String memory = "16GiB"
         Int timeMinutes = 2880
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -186,7 +186,7 @@ task Inspect {
 
         Int? across
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -245,7 +245,7 @@ task KReport {
         Int? minimumScore
         Int? minimumLength
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -303,7 +303,7 @@ task KTimportTaxonomy {
         File inputFile
         String outputPrefix
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1
         String dockerImage = "biocontainers/krona:v2.7.1_cv1"
     }
diff --git a/chunked-scatter.wdl b/chunked-scatter.wdl
index 66954c3..af24b13 100644
--- a/chunked-scatter.wdl
+++ b/chunked-scatter.wdl
@@ -30,7 +30,7 @@ task ChunkedScatter {
         Int? overlap
         Int? minimumBasesPerFile
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 2
         String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0"
     }
@@ -84,7 +84,7 @@ task ScatterRegions {
 
         Int? scatterSize
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 2
         String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0"
     }
diff --git a/clever.wdl b/clever.wdl
index 186be51..791a0ba 100644
--- a/clever.wdl
+++ b/clever.wdl
@@ -34,7 +34,7 @@ task Mateclever {
         Int maxOffset = 150
 
         Int threads = 10
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 600
         String dockerImage = "quay.io/biocontainers/clever-toolkit:2.4--py36hcfe0e84_6"
     }
@@ -94,7 +94,7 @@ task Prediction {
         String outputPath = "./clever"
 
         Int threads = 10
-        String memory = "55G"
+        String memory = "55GiB"
         Int timeMinutes = 480
         String dockerImage = "quay.io/biocontainers/clever-toolkit:2.4--py36hcfe0e84_6"
     }
diff --git a/collect-columns.wdl b/collect-columns.wdl
index 3d65c7e..03ccb6f 100644
--- a/collect-columns.wdl
+++ b/collect-columns.wdl
@@ -62,7 +62,7 @@ task CollectColumns {
     }
 
     runtime {
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/common.wdl b/common.wdl
index 1e4fc8c..1ce2895 100644
--- a/common.wdl
+++ b/common.wdl
@@ -25,7 +25,7 @@ task AppendToStringArray {
         Array[String] array
         String string
         
-        String memory = "1G"
+        String memory = "1GiB"
     }
 
     command {
@@ -51,7 +51,7 @@ task CheckFileMD5 {
         # 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 memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -75,7 +75,7 @@ task ConcatenateTextFiles {
         Boolean unzip = false
         Boolean zip = false
 
-        String memory = "1G"
+        String memory = "1GiB"
     }
 
     # When input and output is both compressed decompression is not needed.
@@ -104,7 +104,7 @@ task Copy {
         Boolean recursive = false
 
         # Version not that important as long as it is stable.
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -132,7 +132,7 @@ task CreateLink {
         String inputFile
         String outputPath
 
-        String memory = "1G"
+        String memory = "1GiB"
     }
 
     command {
@@ -170,7 +170,7 @@ task GetSamplePositionInArray {
 
     runtime {
         # 4 gigs of memory to be able to build the docker image in singularity.
-        memory: "4G"
+        memory: "4GiB"
         docker: dockerImage
         timeMinutes: 5
     }
@@ -190,7 +190,7 @@ task MapMd5 {
     input {
         Map[String,String] map
 
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -214,7 +214,7 @@ task StringArrayMd5 {
     input {
         Array[String] stringArray
 
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -238,7 +238,7 @@ task TextToFile {
         String text
         String outputFile = "out.txt"
 
-        String memory = "1G"
+        String memory = "1GiB"
         Int timeMinutes = 1
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
@@ -274,7 +274,7 @@ task YamlToJson {
         File yaml
         String outputJson = basename(yaml, "\.ya?ml$") + ".json"
 
-        String  memory = "128M"
+        String  memory = "128MiB"
         Int timeMinutes = 1
         # biowdl-input-converter has python and pyyaml.
         String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.3.0--pyhdfd78af_0"
diff --git a/cutadapt.wdl b/cutadapt.wdl
index b49a95d..9a67692 100644
--- a/cutadapt.wdl
+++ b/cutadapt.wdl
@@ -83,7 +83,7 @@ task Cutadapt {
         Boolean? noZeroCap
 
         Int cores = 4
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 1 + ceil(size([read1, read2], "G")  * 12.0 / cores)
         String dockerImage = "quay.io/biocontainers/cutadapt:2.10--py37hf01694f_1"
     }
diff --git a/deconstructsigs.wdl b/deconstructsigs.wdl
index ef47e3e..c44bf9c 100644
--- a/deconstructsigs.wdl
+++ b/deconstructsigs.wdl
@@ -27,7 +27,7 @@ task DeconstructSigs {
         String outputPath = "./signatures.rds"
 
         Int timeMinutes = 15
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "quay.io/biocontainers/r-deconstructsigs:1.9.0--r41hdfd78af_1"
     }
 
diff --git a/deepvariant.wdl b/deepvariant.wdl
index 28aee81..25d05bd 100644
--- a/deepvariant.wdl
+++ b/deepvariant.wdl
@@ -37,7 +37,7 @@ task RunDeepVariant {
         String? sampleName
         Boolean? VCFStatsReport = true
 
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 5000
         String dockerImage = "google/deepvariant:1.0.0"
     }
diff --git a/delly.wdl b/delly.wdl
index bf00ed3..7333c5f 100644
--- a/delly.wdl
+++ b/delly.wdl
@@ -28,7 +28,7 @@ task CallSV {
         File referenceFastaFai
         String outputPath = "./delly/delly.bcf"
 
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 300
         String dockerImage = "quay.io/biocontainers/delly:0.8.1--h4037b6b_1"
     }
diff --git a/duphold.wdl b/duphold.wdl
index 80fe31d..0426da5 100644
--- a/duphold.wdl
+++ b/duphold.wdl
@@ -30,7 +30,7 @@ task Duphold {
         String sample
         String outputPath = "./duphold.vcf"
 
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/duphold:0.2.1--h516909a_1"
     }
diff --git a/extractSigPredictHRD.wdl b/extractSigPredictHRD.wdl
index 2b5d978..1520b60 100644
--- a/extractSigPredictHRD.wdl
+++ b/extractSigPredictHRD.wdl
@@ -30,7 +30,7 @@ task ExtractSigPredictHRD {
         File svVcfIndex
         Boolean hg38 = false
 
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/chord-mutsigextractor:2.00_1.14"
     }
diff --git a/fastqc.wdl b/fastqc.wdl
index 3a07db4..d821e53 100644
--- a/fastqc.wdl
+++ b/fastqc.wdl
@@ -45,7 +45,7 @@ task Fastqc {
         # weird edge case fastq's.
         String javaXmx="1750M"
         Int threads = 1
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 1 + ceil(size(seqFile, "G")) * 4
         String dockerImage = "quay.io/biocontainers/fastqc:0.11.9--0"
 
diff --git a/fastqsplitter.wdl b/fastqsplitter.wdl
index 25a5095..4a02697 100644
--- a/fastqsplitter.wdl
+++ b/fastqsplitter.wdl
@@ -63,7 +63,7 @@ task Fastqsplitter {
 
     runtime {
         cpu: cores
-        memory: "~{memory}G"
+        memory: "~{memory}GiB"
         docker: dockerImage
     }
 }
diff --git a/fgbio.wdl b/fgbio.wdl
index d50906d..15fb0ea 100644
--- a/fgbio.wdl
+++ b/fgbio.wdl
@@ -26,7 +26,7 @@ task AnnotateBamWithUmis {
         File inputUmi
         String outputPath
 
-        String memory = "120G"
+        String memory = "120GiB"
         Int timeMinutes = 360
         String javaXmx="100G"
         String dockerImage = "quay.io/biocontainers/fgbio:1.4.0--hdfd78af_0"
diff --git a/flash.wdl b/flash.wdl
index c4554c5..7b50e0d 100644
--- a/flash.wdl
+++ b/flash.wdl
@@ -34,7 +34,7 @@ task Flash {
         Int? maxOverlap
 
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
     }
 
     command {
diff --git a/gatk.wdl b/gatk.wdl
index 5cf7c67..0b93efe 100644
--- a/gatk.wdl
+++ b/gatk.wdl
@@ -34,7 +34,7 @@ task AnnotateIntervals {
         File? segmentalDuplicationTrack
 
         String javaXmx = "2G"
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -129,7 +129,7 @@ task ApplyBQSR {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -197,7 +197,7 @@ task BaseRecalibrator {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -232,7 +232,7 @@ task CalculateContamination {
         File? normalPileups
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 180
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -279,7 +279,7 @@ task CallCopyRatioSegments {
         File copyRatioSegments
 
         String javaXmx = "2G"
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 2
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -332,7 +332,7 @@ task CollectAllelicCounts {
         File? commonVariantSitesIndex
 
         String javaXmx = "10G"
-        String memory = "11G"
+        String memory = "11GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -390,7 +390,7 @@ task CollectReadCounts {
         String intervalMergingRule = "OVERLAPPING_ONLY"
 
         String javaXmx = "7G"
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 1 + ceil(size(inputBam, "G") * 5)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -449,7 +449,7 @@ task CombineGVCFs {
         File referenceFastaFai
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 1 + ceil(size(gvcfFiles, "G") * 8)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -509,7 +509,7 @@ task CombineVariants {
         String outputPath
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 180
         String dockerImage = "broadinstitute/gatk3:3.8-1"
     }
@@ -579,7 +579,7 @@ task CreateReadCountPanelOfNormals {
         File? annotatedIntervals
 
         String javaXmx = "7G"
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 5
         # The biocontainer causes a spark related error for some reason.
         String dockerImage = "broadinstitute/gatk:4.1.8.0"
@@ -629,7 +629,7 @@ task DenoiseReadCounts {
         File? annotatedIntervals
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -690,7 +690,7 @@ task FilterMutectCalls {
         File? artifactPriors
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -775,7 +775,7 @@ task GatherBqsrReports {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -805,7 +805,7 @@ task GenomicsDBImport {
         String? tmpDir
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 180
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -866,7 +866,7 @@ task GenotypeGVCFs {
         File? pedigree
 
         String javaXmx = "6G"
-        String memory = "7G"
+        String memory = "7GiB"
         Int timeMinutes = 120 # This will likely be used with intervals, as such size based estimation can't be used.
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -932,7 +932,7 @@ task GetPileupSummaries {
         String outputPrefix
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1032,7 +1032,7 @@ task HaplotypeCaller {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -1073,7 +1073,7 @@ task LearnReadOrientationModel {
         Array[File]+ f1r2TarGz
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1114,7 +1114,7 @@ task MergeStats {
         Array[File]+ stats
 
         String javaXmx = "14G"
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1162,7 +1162,7 @@ task ModelSegments {
         File? normalAllelicCounts
 
         String javaXmx = "10G"
-        String memory = "11G"
+        String memory = "11GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1250,7 +1250,7 @@ task MuTect2 {
         File? panelOfNormalsIndex
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 240
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1325,7 +1325,7 @@ task PlotDenoisedCopyRatios {
         Int? minimumContigLength
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 2
         String dockerImage = "broadinstitute/gatk:4.1.8.0"
     }
@@ -1393,7 +1393,7 @@ task PlotModeledSegments {
         Int? minimumContigLength
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 2
         String dockerImage = "broadinstitute/gatk:4.1.8.0"
     }
@@ -1454,7 +1454,7 @@ task PreprocessIntervals {
         File? intervals
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 6)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1516,7 +1516,7 @@ task SelectVariants {
         String? selectTypeToInclude
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1576,7 +1576,7 @@ task SplitNCigarReads {
         Array[File] intervals = []
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 120 # This will likely be used with intervals, as such size based estimation can't be used.
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1645,7 +1645,7 @@ task VariantEval {
         File? dbsnpVCFIndex
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         # TODO: Refine estimate. For now 4 minutes per GB of input.
         Int timeMinutes = ceil(size(flatten([evalVcfs, comparisonVcfs, select_all([referenceFasta, dbsnpVCF])]), "G") * 20)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
@@ -1722,7 +1722,7 @@ task VariantFiltration {
         Array[File] intervals = []
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
diff --git a/gffcompare.wdl b/gffcompare.wdl
index d06602b..fe1db0a 100644
--- a/gffcompare.wdl
+++ b/gffcompare.wdl
@@ -46,8 +46,8 @@ task GffCompare {
         Int? maxDistanceGroupingTranscriptStartSites
         String? namePrefix
 
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(inputGtfFiles, "G") * 30)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(inputGtfFiles, "GiB") * 30)
         String dockerImage = "quay.io/biocontainers/gffcompare:0.10.6--h2d50403_0"
 
         # This workaround only works in the input section.
diff --git a/gffread.wdl b/gffread.wdl
index a04540f..26a2773 100644
--- a/gffread.wdl
+++ b/gffread.wdl
@@ -32,8 +32,8 @@ task GffRead {
         String? proteinFastaPath
         String? filteredGffPath
 
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(inputGff, "G") * 10)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(inputGff, "GiB") * 10)
         String dockerImage = "quay.io/biocontainers/gffread:0.9.12--0"
     }
 
diff --git a/gridss.wdl b/gridss.wdl
index add3c08..cfe5375 100644
--- a/gridss.wdl
+++ b/gridss.wdl
@@ -33,7 +33,7 @@ task AnnotateInsertedSequence {
 
         Int threads = 8
         String javaXmx = "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         String dockerImage = "quay.io/biowdl/gridss:2.12.2"
         Int timeMinutes = 120
     }
@@ -85,7 +85,7 @@ task AnnotateSvTypes {
         File gridssVcfIndex
         String outputPath = "./gridss.svtyped.vcf.bgz"
 
-        String memory = "32G"
+        String memory = "32GiB"
         String dockerImage = "quay.io/biocontainers/bioconductor-structuralvariantannotation:1.10.0--r41hdfd78af_0"
         Int timeMinutes = 240
     }
@@ -201,7 +201,7 @@ task GRIDSS {
 
     runtime {
         cpu: threads
-        memory: "~{jvmHeapSizeGb + nonJvmMemoryGb}G"
+        memory: "~{jvmHeapSizeGb + nonJvmMemoryGb}GiB"
         time_minutes: timeMinutes # !UnknownRuntimeKey
         docker: dockerImage
     }
@@ -239,7 +239,7 @@ task GridssAnnotateVcfRepeatmasker {
         File gridssVcfIndex
         String outputPath = "./gridss.repeatmasker_annotated.vcf.gz"
 
-        String memory = "25G"
+        String memory = "25GiB"
         Int threads = 8
         String dockerImage = "quay.io/biowdl/gridss:2.12.2"
         Int timeMinutes = 1440
@@ -289,7 +289,7 @@ task Virusbreakend {
         File virusbreakendDB
         String outputPath = "./virusbreakend.vcf"
 
-        String memory = "75G"
+        String memory = "75GiB"
         Int threads = 12
         String dockerImage = "quay.io/biowdl/gridss:2.12.2"
         Int timeMinutes = 320
diff --git a/hisat2.wdl b/hisat2.wdl
index a2c0777..50fabc9 100644
--- a/hisat2.wdl
+++ b/hisat2.wdl
@@ -82,7 +82,7 @@ task Hisat2 {
 
     runtime {
         cpu: threads
-        memory: "~{select_first([memoryGb, estimatedMemoryGb])}G"
+        memory: "~{select_first([memoryGb, estimatedMemoryGb])}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/hmftools.wdl b/hmftools.wdl
index f878181..26ab4e4 100644
--- a/hmftools.wdl
+++ b/hmftools.wdl
@@ -35,7 +35,7 @@ task Amber {
         File referenceFastaDict
 
         Int threads = 2
-        String memory = "70G"
+        String memory = "70GiB"
         String javaXmx = "64G"
         Int timeMinutes = 240
         String dockerImage = "quay.io/biocontainers/hmftools-amber:3.5--0"
@@ -112,7 +112,7 @@ task Cobalt {
         File gcProfile
 
         Int threads = 1
-        String memory = "5G"
+        String memory = "5GiB"
         String javaXmx = "4G"
         Int timeMinutes = 480
         String dockerImage = "quay.io/biocontainers/hmftools-cobalt:1.11--0"
@@ -174,7 +174,7 @@ task CupGenerateReport {
         File cupData
         String outputDir = "./cuppa"
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/cuppa:1.6"
     }
@@ -242,7 +242,7 @@ task Cuppa {
         String outputDir = "./cuppa"
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/cuppa:1.6"
     }
@@ -298,7 +298,7 @@ task CuppaChart {
         File cupData
         String outputDir = "./cuppa"
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biowdl/cuppa:1.6"
     }
@@ -348,7 +348,7 @@ task Gripss {
         File vcfIndex
         String outputDir = "./"
 
-        String memory = "17G"
+        String memory = "17GiB"
         String javaXmx = "16G"
         Int timeMinutes = 50
         String dockerImage = "quay.io/biocontainers/hmftools-gripss:2.0--hdfd78af_0"
@@ -419,7 +419,7 @@ task GripssApplicationKt {
         File breakendPon
         File breakpointPon
 
-        String memory = "32G"
+        String memory = "32GiB"
         String javaXmx = "31G"
         Int timeMinutes = 45
         String dockerImage = "quay.io/biocontainers/hmftools-gripss:1.11--hdfd78af_0"
@@ -478,7 +478,7 @@ task GripssHardFilterApplicationKt {
         File inputVcf
         String outputPath = "gripss_hard_filter.vcf.gz"
 
-        String memory = "3G"
+        String memory = "3GiB"
         String javaXmx = "2G"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/hmftools-gripss:1.11--hdfd78af_0"
@@ -527,7 +527,7 @@ task HealthChecker {
         Array[File]+ purpleOutput
 
         String javaXmx = "2G"
-        String memory = "1G"
+        String memory = "3GiB"
         Int timeMinutes = 1
         String dockerImage = "quay.io/biowdl/health-checker:3.2"
     }
@@ -604,7 +604,7 @@ task Linx {
         File transExonDataCsv
         File transSpliceDataCsv
 
-        String memory = "9G"
+        String memory = "9iB"
         String javaXmx = "8G"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biocontainers/hmftools-linx:1.18--hdfd78af_0"
@@ -690,7 +690,7 @@ task LinxVisualisations {
         Array[File]+ linxOutput
         Boolean plotReportable = true
 
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/hmftools-linx:1.18--hdfd78af_0"
@@ -778,7 +778,7 @@ task Orange {
         File cohortMappingTsv
         File cohortPercentilesTsv
 
-        String memory = "17G"
+        String memory = "17GiB"
         String javaXmx = "16G"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/orange:v1.6"
@@ -902,7 +902,7 @@ task Pave {
 
         Int timeMinutes = 50
         String javaXmx = "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         String dockerImage = "quay.io/biowdl/pave:v1.0"
     }
 
@@ -979,7 +979,7 @@ task Protect {
         File chordPrediction
         File annotatedVirus
 
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biowdl/protect:v2.0"
@@ -1078,7 +1078,7 @@ task Purple {
 
         Int threads = 1
         Int timeMinutes = 30
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         # clone of quay.io/biocontainers/hmftools-purple:3.2--hdfd78af_0 with 'ln -s /usr/local/lib/libwebp.so.7 /usr/local/lib/libwebp.so.6'
         String dockerImage = "quay.io/biowdl/hmftools-purple:3.2"
@@ -1227,7 +1227,7 @@ task Sage {
 
         Int threads = 32
         String javaXmx = "16G"
-        String memory = "20G"
+        String memory = "20GiB"
         Int timeMinutes = 720
         String dockerImage = "quay.io/biocontainers/hmftools-sage:2.8--hdfd78af_1"
     }
@@ -1315,7 +1315,7 @@ task VirusInterpreter {
         File virusReportingDbTsv
         String outputDir = "."
 
-        String memory = "3G"
+        String memory = "3GiB"
         String javaXmx = "2G"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biowdl/virus-interpreter:1.2"
diff --git a/htseq.wdl b/htseq.wdl
index 76d3bb8..92bc442 100644
--- a/htseq.wdl
+++ b/htseq.wdl
@@ -33,8 +33,8 @@ task HTSeqCount {
         String? idattr
 
         Int nprocesses = 1
-        String memory = "8G"
-        Int timeMinutes = 1440 #10 + ceil(size(inputBams, "G") * 60) FIXME
+        String memory = "8GiB"
+        Int timeMinutes = 1440 #10 + ceil(size(inputBams, "GiB") * 60) FIXME
         String dockerImage = "quay.io/biocontainers/htseq:0.12.4--py37hb3f55d8_0"
     }
 
diff --git a/isoseq3.wdl b/isoseq3.wdl
index aacbfc6..77f19f8 100644
--- a/isoseq3.wdl
+++ b/isoseq3.wdl
@@ -32,7 +32,7 @@ task Refine {
         String outputNamePrefix
 
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/isoseq3:3.4.0--0"
     }
diff --git a/lima.wdl b/lima.wdl
index 6b87ad4..eece2b3 100644
--- a/lima.wdl
+++ b/lima.wdl
@@ -49,7 +49,7 @@ task Lima {
         String outputPrefix
         
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/lima:2.2.0--h9ee0642_0"
     }
diff --git a/macs2.wdl b/macs2.wdl
index 2afe3bb..e6a011a 100644
--- a/macs2.wdl
+++ b/macs2.wdl
@@ -31,7 +31,7 @@ task PeakCalling {
         String format = "AUTO"
         Boolean nomodel = false
         Int timeMinutes = 600  # Default to 10 hours
-        String memory = "8G"
+        String memory = "8GiB"
         String dockerImage = "quay.io/biocontainers/macs2:2.1.2--py27r351_0"
     }
 
diff --git a/manta.wdl b/manta.wdl
index 1c949af..6804f30 100644
--- a/manta.wdl
+++ b/manta.wdl
@@ -60,7 +60,7 @@ task Germline {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         docker: dockerImage
         time_minutes: timeMinutes
     }
@@ -138,7 +138,7 @@ task Somatic {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         docker: dockerImage
         time_minutes: timeMinutes
     }
diff --git a/minimap2.wdl b/minimap2.wdl
index 50ff4db..96cc773 100644
--- a/minimap2.wdl
+++ b/minimap2.wdl
@@ -31,7 +31,7 @@ task Indexing {
         Int? splitIndex
 
         Int cores = 1
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biocontainers/minimap2:2.20--h5bf99c6_0"
     }
@@ -98,7 +98,7 @@ task Mapping {
         String? howToFindGTAG
 
         Int cores = 4
-        String memory = "30G"
+        String memory = "30GiB"
         Int timeMinutes = 1 + ceil(size(queryFile, "G") * 200 / cores)
         String dockerImage = "quay.io/biocontainers/minimap2:2.20--h5bf99c6_0"
     }
diff --git a/multiqc.wdl b/multiqc.wdl
index a166293..21fc8a7 100644
--- a/multiqc.wdl
+++ b/multiqc.wdl
@@ -57,11 +57,11 @@ task MultiQC {
         String? clConfig
 
         String? memory
-        Int timeMinutes = 10 + ceil(size(reports, "G") * 8)
+        Int timeMinutes = 10 + ceil(size(reports, "GiB") * 8)
         String dockerImage = "quay.io/biocontainers/multiqc:1.9--py_1"
     }
 
-    Int memoryGb = 2 + ceil(size(reports, "G"))
+    Int memoryGb = 2 + ceil(size(reports, "GiB"))
 
     # This is where the reports end up. It does not need to be changed by the
     # user. It is full of symbolic links, so it is not of any use to the user
@@ -139,7 +139,7 @@ task MultiQC {
     }
 
     runtime {
-        memory: select_first([memory, "~{memoryGb}G"])
+        memory: select_first([memory, "~{memoryGb}GiB"])
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/nanopack.wdl b/nanopack.wdl
index e4c94a4..bd3f433 100644
--- a/nanopack.wdl
+++ b/nanopack.wdl
@@ -40,7 +40,7 @@ task NanoPlot {
         String? readType
 
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/nanoplot:1.38.0--pyhdfd78af_0"
     }
@@ -130,7 +130,7 @@ task NanoQc {
 
         Int? minLength
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/nanoqc:0.9.4--py_0"
     }
diff --git a/pacbio.wdl b/pacbio.wdl
index b21c69b..dcf0f69 100644
--- a/pacbio.wdl
+++ b/pacbio.wdl
@@ -25,7 +25,7 @@ task mergePacBio {
         Array[File]+ reports
         String outputPathMergedReport
 
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "quay.io/redmar_van_den_berg/pacbio-merge:0.2"
     }
 
@@ -62,7 +62,7 @@ task ccsChunks {
     input {
         Int chunkCount
 
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "python:3.7-slim"
     }
 
diff --git a/pbbam.wdl b/pbbam.wdl
index ae64b87..d5cafed 100644
--- a/pbbam.wdl
+++ b/pbbam.wdl
@@ -26,7 +26,7 @@ task Index {
 
         String? outputBamPath
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 1 + ceil(size(bamFile, "G") * 4)
         String dockerImage = "quay.io/biocontainers/pbbam:1.6.0--h5b7e6e0_0"
     }
diff --git a/pbmm2.wdl b/pbmm2.wdl
index 5fda1c8..ea7c05d 100644
--- a/pbmm2.wdl
+++ b/pbmm2.wdl
@@ -29,7 +29,7 @@ task Mapping {
         File queryFile
 
         Int cores = 4
-        String memory = "30G"
+        String memory = "30GiB"
         Int timeMinutes = 1 + ceil(size(queryFile, "G") * 2000 / cores)
         String dockerImage = "quay.io/biocontainers/pbmm2:1.3.0--h56fc30b_1"
     }
diff --git a/peach.wdl b/peach.wdl
index d1bc17f..7da029d 100644
--- a/peach.wdl
+++ b/peach.wdl
@@ -29,7 +29,7 @@ task Peach {
         String outputDir = "./peach"
         File panelJson
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biowdl/peach:v1.5"
         Int timeMinutes = 5
     }
diff --git a/picard.wdl b/picard.wdl
index 3d83582..f762ecd 100644
--- a/picard.wdl
+++ b/picard.wdl
@@ -27,7 +27,7 @@ task BedToIntervalList {
         String outputPath = "regions.interval_list"
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
@@ -88,7 +88,7 @@ task CollectHsMetrics {
         Int memoryMb = javaXmxMb + 512
         # Additional * 2 because picard multiple metrics reads the
         # reference fasta twice.
-        Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 3 * 2) + ceil(size(inputBam, "G") * 6)
+        Int timeMinutes = 1 + ceil(size(referenceFasta, "GiB") * 3 * 2) + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -109,7 +109,7 @@ task CollectHsMetrics {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -157,7 +157,7 @@ task CollectMultipleMetrics {
         Int javaXmxMb = 3072
         Int memoryMb = javaXmxMb + 512
         # Additional * 2 because picard multiple metrics reads the reference fasta twice.
-        Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 3 * 2) + ceil(size(inputBam, "G") * 6)
+        Int timeMinutes = 1 + ceil(size(referenceFasta, "GiB") * 3 * 2) + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -223,7 +223,7 @@ task CollectMultipleMetrics {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -281,9 +281,9 @@ task CollectRnaSeqMetrics {
         String strandSpecificity = "NONE"
 
         String javaXmx =  "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         # With 6 minutes per G there were several timeouts.
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 12)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 12)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -340,8 +340,8 @@ task CollectTargetedPcrMetrics {
         String basename
 
         String javaXmx = "3G"
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 6)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -402,7 +402,7 @@ task CollectVariantCallingMetrics {
         String basename
 
         String javaXmx =  "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
@@ -459,9 +459,9 @@ task CollectWgsMetrics {
         Int? minimumBaseQuality
         Int? coverageCap
 
-        String memory = "5G"
+        String memory = "5GiB"
         String javaXmx = "4G"
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 6)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.23.2--0"
     }
 
@@ -516,7 +516,7 @@ task CreateSequenceDictionary {
         String outputDir
 
         String javaXmx = "2G"
-        String memory = "3G"
+        String memory = "3GiB"
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -568,7 +568,7 @@ task GatherBamFiles {
         Int javaXmxMb = 1024
         Int memoryMb = javaXmxMb + 512
         # One minute per input gigabyte.
-        Int timeMinutes = 1 + ceil(size(inputBams, "G") * 1)
+        Int timeMinutes = 1 + ceil(size(inputBams, "GiB") * 1)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -593,7 +593,7 @@ task GatherBamFiles {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -630,8 +630,8 @@ task GatherVcfs {
         Boolean useJdkDeflater = true  # Achieves much better compression rates than the intel deflater
 
         String javaXmx = "4G"
-        String memory = "5G"
-        Int timeMinutes = 1 + ceil(size(inputVcfs, "G") * 2)
+        String memory = "5GiB"
+        Int timeMinutes = 1 + ceil(size(inputVcfs, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -700,7 +700,7 @@ task MarkDuplicates {
         Int javaXmxMb =  6656  # 6.5G
         String memoryMb = javaXmxMb + 512
 
-        Int timeMinutes = 1 + ceil(size(inputBams, "G") * 8)
+        Int timeMinutes = 1 + ceil(size(inputBams, "GiB") * 8)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -736,7 +736,7 @@ task MarkDuplicates {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -782,8 +782,8 @@ task MergeVCFs {
         Boolean useJdkDeflater = true  # Achieves much better compression rates than the intel deflater
 
         String javaXmx = "4G"
-        String memory = "5G"
-        Int timeMinutes = 1 + ceil(size(inputVCFs, "G")) * 2
+        String memory = "5GiB"
+        Int timeMinutes = 1 + ceil(size(inputVCFs, "GiB")) * 2
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -838,7 +838,7 @@ task SamToFastq {
         Boolean paired = true
 
         String javaXmx = "16G" # High memory default to avoid crashes.
-        String memory = "17G"
+        String memory = "17GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
 
@@ -900,7 +900,7 @@ task ScatterIntervalList {
         Int scatter_count
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -943,7 +943,7 @@ task SortSam {
         # 4.000000001 which gets rounded to 5.
         # GATK Best practices uses 75000 here: https://github.com/gatk-workflows/broad-prod-wgs-germline-snps-indels/blob/d2934ed656ade44801f9cfe1c0e78d4f80684b7b/PairedEndSingleSampleWf-fc-hg38.wdl#L778
         Int XmxGb = ceil(maxRecordsInRam / 125001.0)
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 3)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 3)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -971,7 +971,7 @@ task SortSam {
 
     runtime {
         cpu: 1
-        memory: "~{1 + XmxGb}G"
+        memory: "~{1 + XmxGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -1004,8 +1004,8 @@ task SortVcf {
         File? dict
 
         String javaXmx = "8G"
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size(vcfFiles, "G") * 5)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size(vcfFiles, "GiB") * 5)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -1054,8 +1054,8 @@ task RenameSample {
         String newSampleName
 
         String javaXmx = "8G"
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size(inputVcf, "G") * 2)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size(inputVcf, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -1109,7 +1109,7 @@ task UmiAwareMarkDuplicatesWithMateCigar {
         Boolean useJdkInflater = false
         Boolean useJdkDeflater = true  # Achieves much better compression rates than the intel deflater
         String javaXmx = "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         Int timeMinutes = 360
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
diff --git a/prepareShiny.wdl b/prepareShiny.wdl
index d669e2d..2891074 100644
--- a/prepareShiny.wdl
+++ b/prepareShiny.wdl
@@ -25,7 +25,7 @@ task CreateDesignMatrix {
         File countTable
         String shinyDir = "."
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/predex:0.9.2--pyh3252c3a_0"
     }
@@ -67,7 +67,7 @@ task CreateAnnotation {
         File referenceGtfFile
         String shinyDir = "."
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/predex:0.9.2--pyh3252c3a_0"
     }
diff --git a/rtg.wdl b/rtg.wdl
index 0e86ce3..3e9dab9 100644
--- a/rtg.wdl
+++ b/rtg.wdl
@@ -27,8 +27,8 @@ task Format {
         String outputPath = "seq_data.sdf"
 
         String rtgMem = "8G"
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size(inputFiles) * 2)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size(inputFiles, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/rtg-tools:3.10.1--0"
     }
 
@@ -85,8 +85,8 @@ task VcfEval {
 
         String rtgMem = "8G"
         Int threads = 1  # Tool default is number of cores in the system 😱.
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size([baseline, calls], "G") * 5)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size([baseline, calls], "GiB") * 5)
         String dockerImage = "quay.io/biocontainers/rtg-tools:3.10.1--0"
     }
 
diff --git a/sambamba.wdl b/sambamba.wdl
index 6696668..be347f9 100644
--- a/sambamba.wdl
+++ b/sambamba.wdl
@@ -27,7 +27,7 @@ task Flagstat {
         String outputPath = "./flagstat.txt"
 
         Int threads = 2
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 320
         String dockerImage = "quay.io/biocontainers/sambamba:0.7.1--h148d290_2"
     }
@@ -84,7 +84,7 @@ task Markdup {
         # Added 8192 mb as a margin of safety. Real life use with this setting uses 2.7 GiB.
         Int memoryMb = 8192 + sortBufferSize + 2 * ioBufferSize
         # Time minute calculation does not work well for higher number of threads.
-        Int timeMinutes = 1 + ceil(size(inputBams, "G") * 25) / threads
+        Int timeMinutes = 1 + ceil(size(inputBams, "GiB") * 25) / threads
         String dockerImage = "quay.io/biocontainers/sambamba:0.7.1--h148d290_2"
     }
 
@@ -113,7 +113,7 @@ task Markdup {
 
     runtime {
         cpu: threads
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -149,7 +149,7 @@ task Sort {
         Int memoryPerThreadGb = 4
         Int threads = 1
         Int memoryGb = 1 + threads * memoryPerThreadGb
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 3)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 3)
         String dockerImage = "quay.io/biocontainers/sambamba:0.7.1--h148d290_2"
     }
 
@@ -177,7 +177,7 @@ task Sort {
 
     runtime {
         cpu: threads
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         docker: dockerImage
         time_minutes: timeMinutes
     }
diff --git a/samtools.wdl b/samtools.wdl
index 81b6c17..e1b0817 100644
--- a/samtools.wdl
+++ b/samtools.wdl
@@ -26,8 +26,8 @@ task BgzipAndIndex {
         String outputDir
         String type = "vcf"
 
-        String memory = "2G"
-        Int timeMinutes = 1 + ceil(size(inputFile, "G"))
+        String memory = "2GiB"
+        Int timeMinutes = 1 + ceil(size(inputFile, "GiB"))
         String dockerImage = "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
     }
 
@@ -71,7 +71,7 @@ task Faidx {
         File inputFile
         String outputDir
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -119,7 +119,7 @@ task Fastq {
         Int? compressionLevel
 
         Int threads = 1
-        String memory = "1G"
+        String memory = "1GiB"
         Int timeMinutes = 1 + ceil(size(inputBam) * 2)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
@@ -183,8 +183,8 @@ task FilterShortReadsBam {
         File bamFile
         String outputPathBam
 
-        String memory = "1G"
-        Int timeMinutes = 1 + ceil(size(bamFile, "G") * 8)
+        String memory = "1GiB"
+        Int timeMinutes = 1 + ceil(size(bamFile, "GiB") * 8)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -229,7 +229,7 @@ task Flagstat {
         File inputBam
         String outputPath
 
-        String memory = "256M"  # Only 40.5 MiB used for 150G bam file.
+        String memory = "256MiB"  # Only 40.5 MiB used for 150G bam file.
         Int timeMinutes = 1 + ceil(size(inputBam, "G"))
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
@@ -269,8 +269,8 @@ task Index {
 
         String? outputBamPath
 
-        String memory = "2G"
-        Int timeMinutes = 1 + ceil(size(bamFile, "G") * 4)
+        String memory = "2GiB"
+        Int timeMinutes = 1 + ceil(size(bamFile, "GiB") * 4)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -321,7 +321,7 @@ task Markdup {
         File inputBam
         String outputBamPath
 
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 2)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -359,8 +359,8 @@ task Merge {
         Boolean force = true
 
         Int threads = 1
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(bamFiles, "G") * 2)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(bamFiles, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -415,7 +415,7 @@ task Sort {
         Int memoryPerThreadGb = 4
         Int threads = 1
         Int memoryGb = 1 + threads * memoryPerThreadGb
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 3)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 3)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -444,7 +444,7 @@ task Sort {
 
     runtime {
         cpu: threads
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -473,7 +473,7 @@ task Tabix {
         String outputFilePath = "indexed.vcf.gz"
         String type = "vcf"
 
-        Int timeMinutes = 1 + ceil(size(inputFile, "G") * 2)
+        Int timeMinutes = 1 + ceil(size(inputFile, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
     }
 
@@ -526,8 +526,8 @@ task View {
         Int? MAPQthreshold
 
         Int threads = 1
-        String memory = "1G"
-        Int timeMinutes = 1 + ceil(size(inFile, "G") * 5)
+        String memory = "1GiB"
+        Int timeMinutes = 1 + ceil(size(inFile, "GiB") * 5)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
diff --git a/scripts b/scripts
index 84690a3..98cc3e1 160000
--- a/scripts
+++ b/scripts
@@ -1 +1 @@
-Subproject commit 84690a30eb0dde2bfdfaff9abf097b6f4c49dfd8
+Subproject commit 98cc3e10125c853a70f41ceccf8f9d5428d4c1a3
diff --git a/smoove.wdl b/smoove.wdl
index d1011f6..7a1ac38 100644
--- a/smoove.wdl
+++ b/smoove.wdl
@@ -29,7 +29,7 @@ task Call {
         String sample
         String outputDir = "./smoove"
 
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/smoove:0.2.5--0"
     }
diff --git a/snpeff.wdl b/snpeff.wdl
index 4a3640c..0f14e5b 100644
--- a/snpeff.wdl
+++ b/snpeff.wdl
@@ -36,7 +36,7 @@ task SnpEff {
         Boolean noShiftHgvs = false
         Int? upDownStreamLen
 
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/snpeff:5.0--0"
diff --git a/somaticseq.wdl b/somaticseq.wdl
index 63f8362..7656d08 100644
--- a/somaticseq.wdl
+++ b/somaticseq.wdl
@@ -47,7 +47,7 @@ task ParallelPaired {
         File? strelkaSNV
         File? strelkaIndel
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 60
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -162,7 +162,7 @@ task ParallelPairedTrain {
         File? strelkaSNV
         File? strelkaIndel
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 240
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -270,7 +270,7 @@ task ParallelSingle {
         File? scalpelVCF
         File? strelkaVCF
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 60
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -362,7 +362,7 @@ task ParallelSingleTrain {
         File? scalpelVCF
         File? strelkaVCF
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 240
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -441,7 +441,7 @@ task ModifyStrelka {
         File strelkaVCF
         String outputVCFName = basename(strelkaVCF, ".gz")
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 20
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
diff --git a/spades.wdl b/spades.wdl
index 3975dd3..d717ab2 100644
--- a/spades.wdl
+++ b/spades.wdl
@@ -100,6 +100,6 @@ task Spades {
 
     runtime {
         cpu: threads
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
     }
 }
diff --git a/star.wdl b/star.wdl
index 6a123c8..88d3c83 100644
--- a/star.wdl
+++ b/star.wdl
@@ -29,8 +29,8 @@ task GenomeGenerate {
         Int? sjdbOverhang
 
         Int threads = 4
-        String memory = "32G"
-        Int timeMinutes = ceil(size(referenceFasta, "G") * 240 / threads)
+        String memory = "32GiB"
+        Int timeMinutes = ceil(size(referenceFasta, "GiB") * 240 / threads)
         String dockerImage = "quay.io/biocontainers/star:2.7.3a--0"
     }
 
@@ -130,12 +130,12 @@ task Star {
         Int runThreadN = 4
         String? memory
         # 1 minute initialization + time reading in index (1 minute per G) + time aligning data.
-        Int timeMinutes = 1 + ceil(size(indexFiles, "G")) + ceil(size(flatten([inputR1, inputR2]), "G") * 300 / runThreadN)
+        Int timeMinutes = 1 + ceil(size(indexFiles, "GiB")) + ceil(size(flatten([inputR1, inputR2]), "GiB") * 300 / runThreadN)
         String dockerImage = "quay.io/biocontainers/star:2.7.3a--0"
     }
 
     # Use a margin of 30% index size. Real memory usage is ~30 GiB for a 27 GiB index. 
-    Int memoryGb = 1 + ceil(size(indexFiles, "G") * 1.3)
+    Int memoryGb = 1 + ceil(size(indexFiles, "GiB") * 1.3)
     # For some reason doing above calculation inside a string does not work.
     # So we solve it with an optional memory string and using select_first
     # in the runtime section.
@@ -172,7 +172,7 @@ task Star {
 
     runtime {
         cpu: runThreadN
-        memory: select_first([memory, "~{memoryGb}G"])
+        memory: select_first([memory, "~{memoryGb}GiB"])
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/strelka.wdl b/strelka.wdl
index be08e38..39afe17 100644
--- a/strelka.wdl
+++ b/strelka.wdl
@@ -63,7 +63,7 @@ task Germline {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -139,7 +139,7 @@ task Somatic {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/stringtie.wdl b/stringtie.wdl
index 9c2f3cf..fbe7e44 100644
--- a/stringtie.wdl
+++ b/stringtie.wdl
@@ -34,7 +34,7 @@ task Stringtie {
         Float? minimumCoverage
 
         Int threads = 1
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 1 + ceil(size(bam, "G") * 60 / threads)
         String dockerImage = "quay.io/biocontainers/stringtie:1.3.6--h92e31bf_0"
     }
@@ -102,7 +102,7 @@ task Merge {
         Float? minimumIsoformFraction
         String? label
 
-        String memory = "10G"
+        String memory = "10GiB"
         Int timeMinutes = 1 + ceil(size(gtfFiles, "G") * 20)
         String dockerImage = "quay.io/biocontainers/stringtie:2.1.4--h7e0af3c_0"
     }
diff --git a/survivor.wdl b/survivor.wdl
index de23240..b233fb5 100644
--- a/survivor.wdl
+++ b/survivor.wdl
@@ -31,7 +31,7 @@ task Merge {
         Int minSize = 30
         String outputPath = "./survivor/merged.vcf"
 
-        String memory = "24G"
+        String memory = "24GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/survivor:1.0.6--h6bb024c_0"
     }
diff --git a/talon.wdl b/talon.wdl
index 61f5eb4..2f93e36 100644
--- a/talon.wdl
+++ b/talon.wdl
@@ -30,7 +30,7 @@ task CreateAbundanceFileFromDatabase {
         File? whitelistFile
         File? datasetsFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -86,7 +86,7 @@ task CreateGtfFromDatabase {
         File? whitelistFile
         File? datasetFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -144,7 +144,7 @@ task FilterTalonTranscripts {
         File? datasetsFile
         Int? minDatasets
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -200,7 +200,7 @@ task GetReadAnnotations {
 
         File? datasetFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -248,7 +248,7 @@ task GetSpliceJunctions {
         String runMode = "intron"
         String outputPrefix
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -302,7 +302,7 @@ task InitializeTalonDatabase {
         Int cutOff3p = 300
         String outputPrefix
 
-        String memory = "10G"
+        String memory = "10GiB"
         Int timeMinutes = 60
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -360,7 +360,7 @@ task LabelReads {
         String outputPrefix
 
         Int threads = 4
-        String memory = "25G"
+        String memory = "25GiB"
         Int timeMinutes = 2880
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -413,7 +413,7 @@ task ReformatGtf {
     input {
         File gtfFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -454,7 +454,7 @@ task SummarizeDatasets {
 
         File? datasetGroupsCsv
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 50
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -506,7 +506,7 @@ task Talon {
         String outputPrefix
 
         Int threads = 4
-        String memory = "25G"
+        String memory = "25GiB"
         Int timeMinutes = 2880
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
diff --git a/transcriptclean.wdl b/transcriptclean.wdl
index efdd95f..8607a7a 100644
--- a/transcriptclean.wdl
+++ b/transcriptclean.wdl
@@ -27,7 +27,7 @@ task GetSJsFromGtf {
         String outputPrefix
         Int minIntronSize = 21
 
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/transcriptclean:v2.0.2_cv1"
     }
@@ -72,7 +72,7 @@ task GetTranscriptCleanStats {
         File inputSam
         String outputPrefix
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/transcriptclean:v2.0.2_cv1"
     }
@@ -128,7 +128,7 @@ task TranscriptClean {
         File? variantFile
 
         Int cores = 1
-        String memory = "25G"
+        String memory = "25GiB"
         Int timeMinutes = 2880
         String dockerImage = "biocontainers/transcriptclean:v2.0.2_cv1"
     }
diff --git a/umi-tools.wdl b/umi-tools.wdl
index b79817c..d8d17c4 100644
--- a/umi-tools.wdl
+++ b/umi-tools.wdl
@@ -30,7 +30,7 @@ task Extract {
         String? read2Output = "umi_extracted_R2.fastq.gz"
         Boolean threePrime = false
 
-        String memory = "20G"
+        String memory = "20GiB"
         Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 2)
         String dockerImage = "quay.io/biocontainers/mulled-v2-509311a44630c01d9cb7d2ac5727725f51ea43af:3067b520386698317fd507c413baf7f901666fd4-0"
     }
@@ -87,8 +87,8 @@ task Dedup {
         String? umiSeparator
         String? statsPrefix
 
-        String memory = "25G"
-        Int timeMinutes = 30 + ceil(size(inputBam, "G") * 30)
+        String memory = "25GiB"
+        Int timeMinutes = 30 + ceil(size(inputBam, "GiB") * 30)
         String dockerImage = "quay.io/biocontainers/mulled-v2-509311a44630c01d9cb7d2ac5727725f51ea43af:3067b520386698317fd507c413baf7f901666fd4-0"
     }
 
diff --git a/umi.wdl b/umi.wdl
index 0dc5c55..e7f01fc 100644
--- a/umi.wdl
+++ b/umi.wdl
@@ -30,8 +30,8 @@ task BamReadNameToUmiTag {
         String outputPath = "output.bam"
         String umiTag = "RX"
 
-        String memory = "2G"
-        Int timeMinutes = 1 + ceil(size([inputBam], "G") * 10)
+        String memory = "2GiB"
+        Int timeMinutes = 1 + ceil(size([inputBam], "GiB") * 10)
         String dockerImage = "quay.io/biocontainers/pysam:0.17.0--py39h051187c_0"
     }
     
diff --git a/unicycler.wdl b/unicycler.wdl
index 938d0c7..d83db3c 100644
--- a/unicycler.wdl
+++ b/unicycler.wdl
@@ -66,7 +66,7 @@ task Unicycler {
         String? lowScore
 
         Int threads = 1
-        String memory = "4G"
+        String memory = "4GiB"
     }
 
     command {
diff --git a/vardict.wdl b/vardict.wdl
index 1c20e51..187b456 100644
--- a/vardict.wdl
+++ b/vardict.wdl
@@ -48,7 +48,7 @@ task VarDict {
 
         String javaXmx = "16G"
         Int threads = 1
-        String memory = "18G"
+        String memory = "18GiB"
         Int timeMinutes = 300
         String dockerImage = "quay.io/biocontainers/vardict-java:1.5.8--1"
     }
diff --git a/vt.wdl b/vt.wdl
index 85077da..4da2d8c 100644
--- a/vt.wdl
+++ b/vt.wdl
@@ -29,7 +29,7 @@ task Normalize {
         Boolean ignoreMaskedRef = false
         String outputPath = "./vt/normalized_decomposed.vcf"
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/vt:0.57721--hdf88d34_2"
     }
diff --git a/whatshap.wdl b/whatshap.wdl
index 7307ce7..da86ad8 100644
--- a/whatshap.wdl
+++ b/whatshap.wdl
@@ -38,7 +38,7 @@ task Phase {
         String? threshold
         String? ped
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 120
         # Whatshap 1.0, tabix 0.2.5.
         String dockerImage = "quay.io/biocontainers/mulled-v2-5c61fe1d8c284dd05d26238ce877aa323205bf82:89b4005d04552bdd268e8af323df83357e968d83-0"
@@ -109,7 +109,7 @@ task Stats {
         String? blockList
         String? chromosome
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 120
         # Whatshap 1.0, tabix 0.2.5.
         String dockerImage = "quay.io/biocontainers/mulled-v2-5c61fe1d8c284dd05d26238ce877aa323205bf82:89b4005d04552bdd268e8af323df83357e968d83-0"
@@ -169,7 +169,7 @@ task Haplotag {
         String? regions
         String? sample
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 120
         # Whatshap 1.0, tabix 0.2.5.
         String dockerImage = "quay.io/biocontainers/mulled-v2-5c61fe1d8c284dd05d26238ce877aa323205bf82:89b4005d04552bdd268e8af323df83357e968d83-0"
diff --git a/wisestork.wdl b/wisestork.wdl
index 8fb4b76..bef54e2 100644
--- a/wisestork.wdl
+++ b/wisestork.wdl
@@ -31,7 +31,7 @@ task Count {
         Int? binSize
         File? binFile
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -69,7 +69,7 @@ task GcCorrect {
         Int? iter
         Float? fracLowess
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -129,7 +129,7 @@ task Newref {
     }
 
     runtime {
-        memory: "~{memory}G"
+        memory: "~{memory}GiB"
         docker: dockerImage
     }
 }
@@ -147,7 +147,7 @@ task Zscore {
         Int? binSize
         File? binFile
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
-- 
GitLab