diff --git a/picard.wdl b/picard.wdl
index 104261816f42dea6126dc5c645ab7871e618fe1e..8177b2636a1546e0491af7449751c3ac441454c9 100644
--- a/picard.wdl
+++ b/picard.wdl
@@ -147,6 +147,40 @@ task MergeVCFs {
         File output_vcf_index = output_vcf_path + ".tbi"
     }
 
+    runtime {
+        memory: ceil(mem * select_first([memoryMultiplier, 1.5]))
+    }
+}
+
+task SamToFastq {
+    String? preCommand
+    File inputBam
+    String outputRead1
+    String? outputRead2
+    String? outputUnpaired
+    String picard_jar
+    Float? memory
+    Float? memoryMultiplier
+    Int mem = ceil(select_first([memory, 4.0]))
+
+    command {
+        set -e -o pipefail
+        ${preCommand}
+        java \
+        -Xmx${mem}G \
+        -jar ${picard_jar} \
+        I=${inputBam} \
+        ${"FASTQ=" + outputRead1} \
+        ${"SECOND_END_FASTQ=" + outputRead2} \
+        ${"UNPAIRED_FASTQ=" + outputUnpaired}
+    }
+
+    output {
+        File read1 = outputRead1
+        File? read2 = outputRead2
+        File? unpairedRead = outputUnpaired
+    }
+
     runtime {
         memory: ceil(mem * select_first([memoryMultiplier, 1.5]))
     }