diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e175c6df7be51f49ef55987266c2792ac21d54f..437294cd9adfd157bcee2c1bf53310b5301b8d7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ that users understand how the changes affect the new version. version 5.0.0-dev --------------------------- ++ UMI-tools (dedup): Add tempdir + Update BCFTOOLS view: add options for filtering (include, exclude, excludeUncalled). + Duphold: add duphold.wdl. + Add new wdl file prepareShiny.wdl for creating input files for shiny app. diff --git a/umi-tools.wdl b/umi-tools.wdl index 6524d656d59b28eaf4de21df2457de2c79036bb3..6b3aa6975fd6e8128cf877d26b9f305095ecde2b 100644 --- a/umi-tools.wdl +++ b/umi-tools.wdl @@ -78,6 +78,8 @@ task Dedup { File inputBam File inputBamIndex String outputBamPath + String tmpDir = "./umiToolsDedupTmpDir" + Boolean paired = true String? umiSeparator @@ -85,27 +87,25 @@ task Dedup { String memory = "25G" Int timeMinutes = 30 + ceil(size(inputBam, "G") * 30) - # Use a multi-package-container which includes umi_tools (0.5.5) and samtools (1.9). - String dockerImage = "quay.io/biocontainers/mulled-v2-509311a44630c01d9cb7d2ac5727725f51ea43af:6089936aca6219b5bb5f54210ac5eb456c7503f2-0" + String dockerImage = "quay.io/biocontainers/umi_tools:1.1.1--py38h0213d0e_1" } String outputBamIndex = sub(outputBamPath, "\.bam$", ".bai") command { set -e - mkdir -p "$(dirname ~{outputBamPath})" + mkdir -p "$(dirname ~{outputBamPath})" "~{tmpDir}" umi_tools dedup \ - --stdin ~{inputBam} \ - --stdout ~{outputBamPath} \ + --stdin=~{inputBam} \ + --stdout=~{outputBamPath} \ ~{"--output-stats " + statsPrefix} \ ~{"--umi-separator=" + umiSeparator} \ - ~{true="--paired" false="" paired} - samtools index ~{outputBamPath} ~{outputBamIndex} + ~{true="--paired" false="" paired} \ + --temp-dir=~{tmpDir} } output { File deduppedBam = outputBamPath - File deduppedBamIndex = outputBamIndex File? editDistance = "~{statsPrefix}_edit_distance.tsv" File? umiStats = "~{statsPrefix}_per_umi.tsv" File? positionStats = "~{statsPrefix}_per_umi_per_position.tsv" @@ -122,6 +122,7 @@ task Dedup { inputBam: {description: "The input BAM file.", categrory: "required"} inputBamIndex: {description: "The index for the ipnut BAM file.", cateogry: "required"} outputBamPath: {description: "The location to write the output BAM file to.", category: "required"} + tmpDir: {description: "Temporary directory.", category: "advanced"} paired: {description: "Whether or not the data is paired.", category: "common"} umiSeparator: {description: "Seperator used for UMIs in the read names.", category: "advanced"} statsPrefix: {description: "The prefix for the stats files.", category: "advanced"} @@ -131,7 +132,6 @@ task Dedup { # outputs deduppedBam: {description: "Deduplicated BAM file."} - deduppedBamIndex: {description: "Index of the deduplicated BAM file."} editDistance: {description: "Report of the (binned) average edit distance between the UMIs at each position."} umiStats: {description: "UMI-level summary statistics."} positionStats: {description: "The counts for unique combinations of UMI and position."}