diff --git a/biopet/biopet.wdl b/biopet/biopet.wdl
index 788e21b50f38254dbea7bba4a1afb28b3ca9ac65..aed1749efb34b5392d457982315bbcba78241c71 100644
--- a/biopet/biopet.wdl
+++ b/biopet/biopet.wdl
@@ -125,23 +125,15 @@ task FastqSplitter {
 
         Int memory = 4
         Float memoryMultiplier = 2.5
+        String dockerTag = "0.1--2"
     }
 
-    String toolCommand = if defined(toolJar)
-        then "java -Xmx" + memory + "G -jar " +toolJar
-        else "biopet-fastqsplitter -Xmx" + memory + "G"
-
     command {
-        set -e -o pipefail
-        ~{preCommand}
+        set -e
         mkdir -p $(dirname ~{sep=') $(dirname ' outputPaths})
-        if [ ~{length(outputPaths)} -gt 1 ]; then
-            ~{toolCommand} \
-            -I ~{inputFastq} \
-            -o ~{sep=' -o ' outputPaths}
-          else
-            ln -sf ~{inputFastq} ~{outputPaths[0]}
-          fi
+        biopet-fastqsplitter -Xmx~{memory}G \
+        -I ~{inputFastq} \
+        -o ~{sep=' -o ' outputPaths}
     }
 
     output {
@@ -150,6 +142,7 @@ task FastqSplitter {
     
     runtime {
         memory: ceil(memory * memoryMultiplier)
+        docker: "quay.io/biocontainers/biopet-fastqsplitter:" + dockerTag
     }
 }
 
diff --git a/bwa.wdl b/bwa.wdl
index aca1bd44870926a1d7e3ee14ac9627b6ec553cb1..edc8206f8124fa0506a7142260d155befea47f05 100644
--- a/bwa.wdl
+++ b/bwa.wdl
@@ -4,8 +4,8 @@ import "common.wdl" as common
 
 task Mem {
     input {
-        String? preCommand
-        FastqPair inputFastq
+        File read1
+        File? read2
         BwaIndex bwaIndex
         String outputPath
         String? readgroup
@@ -15,45 +15,23 @@ task Mem {
         Int threads = 2
         Int memory = 8
         Int picardMemory = 4
+        String dockerTag = "43ec6124f9f4f875515f9548733b8b4e5fed9aa6-0"
     }
 
-    String picardPrefix = if defined(picardJar)
-        then "java -Xmx" + picardMemory + "G -jar " + picardJar
-        else "picard -Xmx" + picardMemory + "G"
-
-    # Post alt script from bwa
-    String altCommand = if defined(bwaIndex.altIndex)
-        then "| bwa-postalt " + bwaIndex.altIndex
-        else ""
-
-    # setNmMdAndUqTags is only required if alt sequences are added
-    String setNmMdAndUqTagsCommand = picardPrefix + " SetNmMdAndUqTags INPUT=/dev/stdin OUTPUT=" +
-        outputPath + " CREATE_INDEX=true" + " R=" + bwaIndex.fastaFile
-
-    String sortSamCommand = picardPrefix + " SortSam INPUT=/dev/stdin SORT_ORDER=coordinate " +
-        if defined(bwaIndex.altIndex)
-            then " OUTPUT=/dev/stdout "
-            else " OUTPUT=" + outputPath + " CREATE_INDEX=true "
-
-    String picardCommand = if defined(bwaIndex.altIndex)
-        then sortSamCommand + " | " + setNmMdAndUqTagsCommand
-        else sortSamCommand
-
-    String readgroupArg = if defined(readgroup)
-        then "-R '" + readgroup + "'"
-        else ""
-
     command {
         set -e -o pipefail
         mkdir -p $(dirname ~{outputPath})
-        ~{preCommand}
-        bwa mem ~{"-t " + threads} \
-        ~{readgroupArg} \
+        bwa mem \
+        ~{"-t " + threads} \
+        ~{"-R '" + readgroup}~{true="'" false="" defined(readgroup)} \
         ~{bwaIndex.fastaFile} \
-        ~{inputFastq.R1} \
-        ~{inputFastq.R2} \
-        ~{altCommand} \
-        | ~{picardCommand}
+        ~{read1} \
+        ~{read2} \
+        | picard -Xmx~{picardMemory}G SortSam \
+        INPUT=/dev/stdin \
+        OUTPUT=~{outputPath} \
+        SORT_ORDER=coordinate \
+        CREATE_INDEX=true
     }
 
     output {
@@ -66,6 +44,10 @@ task Mem {
     runtime{
         cpu: threads
         memory: memory + picardMemory + picardMemory
+        # A mulled container is needed to have both picard and bwa in one container.
+        # This container contains: picard (2.18.7), bwa (0.7.17-r1188)
+        docker: "quay.io/biocontainers/mulled-v2-002f51ea92721407ef440b921fb5940f424be842:" +
+            dockerTag
     }
 }
 
@@ -118,5 +100,4 @@ task Index {
 struct BwaIndex {
     File fastaFile
     Array[File] indexFiles
-    File? altIndex
 }