diff --git a/macs2.wdl b/macs2.wdl
new file mode 100644
index 0000000000000000000000000000000000000000..cccd3a857e0c1c794265e504836ed81313167fe7
--- /dev/null
+++ b/macs2.wdl
@@ -0,0 +1,26 @@
+task PeakCalling {
+    String? preCommand
+    Array[File] bamFiles
+    String outDir
+    String sampleName
+    Int? threads
+    Int? memory
+
+    command {
+        set -e -o pipefail
+        ${preCommand}
+        macs2 callpeaks \
+        --treatment ${sep = ' ' bamFiles} \
+        --outdir ${outDir} \
+        --name ${sampleName}
+    }
+
+    output {
+        File peakFile = outDir + "/" + sampleName + "/macs2/" + sampleName + "_peaks.narrowPeak"
+    }
+
+    runtime {
+        cpu: select_first([threads,1])
+        memory: select_first([memory,8])
+    }
+}
\ No newline at end of file