diff --git a/CHANGELOG.md b/CHANGELOG.md index f50bf65084a3e88c07a8ac6c35c1c7a7b96ed498..22e6c56fda38058a6b841fa30f8722166f27a2ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,11 @@ that users understand how the changes affect the new version. version 4.0.0-develop --------------------------- ++ Reworked bcf2vcf task into bcftools view task. ++ Removed the redundant format flag from the htseq interface. This is + autodetected in newer versions of htseq. ++ Update docker images for samtools, bcftools, picard, GATK, cutadapt, htseq + and chunked-scatter. + Default docker images for bwa, bwakit and hisat2 updated to include samtools 1.10. + Alignment tasks (STAR, Hisat2, BWA) now produce BAM files at level 1 diff --git a/bcftools.wdl b/bcftools.wdl index e1ec3059d022a76be71550ff9e993d8f1bc6d445..2677899be23d70b102a357a9ff9b593c2fbb2832 100644 --- a/bcftools.wdl +++ b/bcftools.wdl @@ -22,23 +22,31 @@ version 1.0 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -task Bcf2Vcf { +task View { input { - File bcf - String outputPath = "./bcftools/SV.vcf" - String memory = "2G" - Int timeMinutes = 1 + ceil(size(bcf, "G")) - String dockerImage = "quay.io/biocontainers/bcftools:1.9--ha228f0b_3" + File inputFile + String outputPath = "output.vcf.gz" + String memory = "256M" + Int timeMinutes = 1 + ceil(size(inputFile, "G")) + String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2" + String outputType = "z" + Int compressionLevel = 1 } command { set -e mkdir -p "$(dirname ~{outputPath})" - bcftools view ~{bcf} -O v -o ~{outputPath} + bcftools view \ + -o ~{outputPath} \ + -O ~{outputType} \ + -l ~{compressionLevel} \ + ~{inputFile} + bcftools index --tbi ~{outputPath} } output { File outputVcf = outputPath + File outputVcfIndex = outputPath + ".tbi" } runtime { @@ -48,9 +56,11 @@ task Bcf2Vcf { } parameter_meta { - bcf: {description: "The generated BCF from an SV caller", category: "required"} + inputFile: {description: "A vcf or bcf file.", category: "required"} outputPath: {description: "The location the output VCF file should be written.", category: "common"} + outputType: {description: "Output type: v=vcf, z=vcf.gz, b=bcf, u=uncompressed bcf"} memory: {description: "The amount of memory this job will use.", category: "advanced"} + compressionLevel: {description: "Compression level from 0 (uncompressed) to 9 (best).", category: "advanced"} timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"} dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"} } @@ -87,7 +97,7 @@ task Stats { Int threads = 0 Int timeMinutes = 1 + 2* ceil(size(select_all([inputVcf, compareVcf]), "G")) # TODO: Estimate, 2 minutes per GB, refine later. String memory = "256M" - String dockerImage = "quay.io/biocontainers/bcftools:1.9--ha228f0b_3" + String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2" } command { @@ -159,4 +169,4 @@ task Stats { memory: {description: "The amount of memory this job will use.", category: "advanced"} timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"} } -} \ No newline at end of file +} diff --git a/chunked-scatter.wdl b/chunked-scatter.wdl index 3ef0c74784c8fb91e78ecb2055dfa84be9174c88..b54a7d2e909a20d43bbe194d9f28496b7753ce5d 100644 --- a/chunked-scatter.wdl +++ b/chunked-scatter.wdl @@ -30,7 +30,7 @@ task ChunkedScatter { String memory = "256M" Int timeMinutes = 2 - String dockerImage = "quay.io/biocontainers/chunked-scatter:0.2.0--py_0" + String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0" } command { diff --git a/cutadapt.wdl b/cutadapt.wdl index ad32ff21aff4958f9955628753a7b68468a855cd..d125af43b3039fd2ba9aa2b63b0819d4676fbf41 100644 --- a/cutadapt.wdl +++ b/cutadapt.wdl @@ -81,7 +81,7 @@ task Cutadapt { Int cores = 4 String memory = "~{300 + 100 * cores}M" Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 12.0 / cores) - String dockerImage = "quay.io/biocontainers/cutadapt:2.8--py37h516909a_0" + String dockerImage = "quay.io/biocontainers/cutadapt:2.10--py37h516909a_0" } String realRead2output = select_first([read2output, "cut_r2.fq.gz"]) diff --git a/gatk.wdl b/gatk.wdl index 939513db6a92d2f4b4fda5fdf22c26a079be68f0..e0209a0c4ef0f4b19fde26f3b47f0d0bd2b33fe0 100644 --- a/gatk.wdl +++ b/gatk.wdl @@ -35,7 +35,7 @@ task AnnotateIntervals { String memory = "3G" String javaXmx = "2G" Int timeMinutes = 5 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -96,7 +96,7 @@ task ApplyBQSR { Int memoryMb = javaXmxMb + 512 Int javaXmxMb = 2048 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.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -168,7 +168,7 @@ task BaseRecalibrator { Int memoryMb = javaXmxMb + 512 Int javaXmxMb = 1024 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.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -227,7 +227,7 @@ task CalculateContamination { String memory = "13G" String javaXmx = "12G" Int timeMinutes = 180 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.2.0--1" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -271,7 +271,7 @@ task CallCopyRatioSegments { String memory = "3G" String javaXmx = "2G" Int timeMinutes = 2 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -320,7 +320,7 @@ task CollectAllelicCounts { String memory = "11G" String javaXmx = "10G" Int timeMinutes = 120 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -376,7 +376,7 @@ task CollectReadCounts { String memory = "8G" String javaXmx = "7G" Int timeMinutes = 1 + ceil(size(inputBam, "G") * 5) - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -433,7 +433,7 @@ task CombineGVCFs { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 1 + ceil(size(gvcfFiles, "G") * 8) - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -560,7 +560,7 @@ task CreateReadCountPanelOfNormals { String memory = "8G" String javaXmx = "7G" Int timeMinutes = 5 - String dockerImage = "broadinstitute/gatk:4.1.4.0" # The biocontainer causes a spark related error for some reason... + String dockerImage = "broadinstitute/gatk:4.1.8.0" # The biocontainer causes a spark related error for some reason... } command { @@ -607,7 +607,7 @@ task DenoiseReadCounts { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 5 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -665,7 +665,7 @@ task FilterMutectCalls { String memory = "13G" String javaXmx = "12G" Int timeMinutes = 60 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.2.0--1" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -728,7 +728,7 @@ task GatherBqsrReports { Int memoryMb = 256 + javaXmxMb Int javaXmxMb = 256 Int timeMinutes = 1 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -774,7 +774,7 @@ task GenomicsDBImport { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 180 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -833,7 +833,7 @@ task GenotypeGVCFs { String memory = "7G" String javaXmx = "6G" 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.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -899,7 +899,7 @@ task GetPileupSummaries { String memory = "13G" String javaXmx = "12G" Int timeMinutes = 120 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.2.0--1" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -966,7 +966,7 @@ task HaplotypeCaller { # Memory increases with time used. 4G should cover most use cases. Int javaXmxMb = 4096 Int timeMinutes = 400 # This will likely be used with intervals, as such size based estimation can't be used. - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1040,7 +1040,7 @@ task LearnReadOrientationModel { String memory = "13G" String javaXmx = "12G" Int timeMinutes = 120 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.2.0--1" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1079,7 +1079,7 @@ task MergeStats { String memory = "15G" String javaXmx = "14G" Int timeMinutes = 30 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1126,7 +1126,7 @@ task ModelSegments { String memory = "11G" String javaXmx = "10G" Int timeMinutes = 60 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1202,7 +1202,7 @@ task MuTect2 { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 240 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1271,7 +1271,7 @@ task PlotDenoisedCopyRatios { String memory = "4G" String javaXmx = "3G" Int timeMinutes = 2 - String dockerImage = "broadinstitute/gatk:4.1.4.0" # The biocontainer doesn't seem to contain R. + String dockerImage = "broadinstitute/gatk:4.1.8.0" } command { @@ -1289,7 +1289,7 @@ task PlotDenoisedCopyRatios { output { File denoisedCopyRatiosPlot = outputDir + "/" + outputPrefix + ".denoised.png" - File denoisedCopyRatiosLimitedPlot = outputDir + "/" + outputPrefix + ".denoisedLimit4.png" + File? denoisedCopyRatiosLimitedPlot = outputDir + "/" + outputPrefix + ".denoisedLimit4.png" File standardizedMedianAbsoluteDeviation = outputDir + "/" + outputPrefix + ".standardizedMAD.txt" File denoisedMedianAbsoluteDeviation = outputDir + "/" + outputPrefix + ".denoisedMAD.txt" File deltaMedianAbsoluteDeviation = outputDir + "/" + outputPrefix + ".deltaMAD.txt" @@ -1331,7 +1331,7 @@ task PlotModeledSegments { String memory = "4G" String javaXmx = "3G" Int timeMinutes = 2 - String dockerImage = "broadinstitute/gatk:4.1.4.0" # The biocontainer doesn't seem to contain R. + String dockerImage = "broadinstitute/gatk:4.1.8.0" } command { @@ -1389,7 +1389,7 @@ task PreprocessIntervals { String memory = "4G" String javaXmx = "3G" Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 6) - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1447,7 +1447,7 @@ task SelectVariants { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 60 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1507,7 +1507,7 @@ task SplitNCigarReads { String memory = "5G" String javaXmx = "4G" 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.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1576,7 +1576,7 @@ task VariantEval { String javaXmx = "4G" # 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.7.0--py38_0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { @@ -1647,7 +1647,7 @@ task VariantFiltration { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 120 - String dockerImage = "quay.io/biocontainers/gatk4:4.1.0.0--0" + String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0" } command { diff --git a/htseq.wdl b/htseq.wdl index cba32c6f7b7ecda00c9deeda1f19fb6aec762f42..cbd8e2acded8d7e89157201a548aa6a29768096b 100644 --- a/htseq.wdl +++ b/htseq.wdl @@ -25,23 +25,23 @@ task HTSeqCount { Array[File]+ inputBams File gtfFile String outputTable = "output.tsv" - String format = "bam" String order = "pos" String stranded = "no" String? featureType String? idattr Array[String] additionalAttributes = [] + Int nprocesses = 1 String memory = "8G" Int timeMinutes = 10 + ceil(size(inputBams, "G") * 60) - String dockerImage = "quay.io/biocontainers/htseq:0.11.2--py37h637b7d7_1" + String dockerImage = "quay.io/biocontainers/htseq:0.12.4--py37hb3f55d8_0" } command { set -e mkdir -p "$(dirname ~{outputTable})" htseq-count \ - -f ~{format} \ + --nprocesses ~{nprocesses} \ -r ~{order} \ -s ~{stranded} \ ~{"--type " + featureType} \ @@ -49,7 +49,7 @@ task HTSeqCount { ~{true="--additional-attr " false="" length(additionalAttributes) > 0 }~{sep=" --additional-attr " additionalAttributes} \ ~{sep=" " inputBams} \ ~{gtfFile} \ - > ~{outputTable} + -c ~{outputTable} } output { @@ -57,6 +57,7 @@ task HTSeqCount { } runtime { + cpu: nprocesses time_minutes: timeMinutes memory: memory docker: dockerImage @@ -66,7 +67,7 @@ task HTSeqCount { inputBams: {description: "The input BAM files.", category: "required"} gtfFile: {description: "A GTF/GFF file containing the features of interest.", category: "required"} outputTable: {description: "The path to which the output table should be written.", category: "common"} - format: {description: "Equivalent to the -f option of htseq-count.", category: "advanced"} + nprocesses: {description: "Number of processes to run htseq with.", category: "advanced"} order: {description: "Equivalent to the -r option of htseq-count.", category: "advanced"} stranded: {description: "Equivalent to the -s option of htseq-count.", category: "common"} featureType: {description: "Equivalent to the --type option of htseq-count.", category: "advanced"} diff --git a/picard.wdl b/picard.wdl index f9dd52109f3302df1909aa0fbe24878cdb0b3520..adb55b4b52d2dce2bc3ae45a67a02b479dd9c181 100644 --- a/picard.wdl +++ b/picard.wdl @@ -89,7 +89,7 @@ task CollectMultipleMetrics { Int javaXmxMb = 3072 # 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) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } @@ -205,7 +205,7 @@ task CollectRnaSeqMetrics { String javaXmx = "8G" # With 6 minutes per G there were several timeouts. Int timeMinutes = 1 + ceil(size(inputBam, "G") * 12) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { @@ -263,7 +263,7 @@ task CollectTargetedPcrMetrics { String memory = "4G" String javaXmx = "3G" Int timeMinutes = 1 + ceil(size(inputBam, "G") * 6) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { @@ -322,7 +322,7 @@ task CreateSequenceDictionary { String memory = "3G" String javaXmx = "2G" - String dockerImage = "quay.io/biocontainers/picard:2.22.3--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { @@ -370,7 +370,7 @@ task GatherBamFiles { Boolean createMd5File = false # One minute per input gigabyte. Int timeMinutes = 1 + ceil(size(inputBams, "G") * 1) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { @@ -422,7 +422,7 @@ task GatherVcfs { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 1 + ceil(size(inputVcfs, "G") * 2) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { @@ -478,7 +478,7 @@ task MarkDuplicates { String memoryMb = javaXmxMb + 512 Int timeMinutes = 1 + ceil(size(inputBams, "G") * 8) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" # The program default for READ_NAME_REGEX is appropriate in nearly every case. # Sometimes we wish to supply "null" in order to turn off optical duplicate detection @@ -554,7 +554,7 @@ task MergeVCFs { String memory = "5G" String javaXmx = "4G" Int timeMinutes = 1 + ceil(size(inputVCFs, "G")) - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } # Using MergeVcfs instead of GatherVcfs so we can create indices @@ -603,7 +603,7 @@ task SamToFastq { String memory = "17G" String javaXmx = "16G" # High memory default to avoid crashes. - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" File? NONE } @@ -640,7 +640,7 @@ task ScatterIntervalList { String memory = "4G" String javaXmx = "3G" - String dockerImage = "quay.io/biocontainers/picard:2.20.5--0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { @@ -681,9 +681,7 @@ task SortSam { # 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) - # 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) - String dockerImage = "quay.io/biocontainers/picard:2.23.1--h37ae868_0" + String dockerImage = "quay.io/biocontainers/picard:2.23.2--0" } command { diff --git a/samtools.wdl b/samtools.wdl index 5daf57ab3375ddb57193b4ad868268c755ddd079..0b8394bff308d65874d03170918569417b1c751e 100644 --- a/samtools.wdl +++ b/samtools.wdl @@ -114,7 +114,7 @@ task Fastq { Int threads = 1 String memory = "1G" Int timeMinutes = 1 + ceil(size(inputBam) * 2) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } command { @@ -170,7 +170,7 @@ task FilterShortReadsBam { String outputPathBam String memory = "1G" Int timeMinutes = 1 + ceil(size(bamFile, "G") * 8) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } String outputPathBamIndex = sub(outputPathBam, "\.bam$", ".bai") @@ -211,7 +211,7 @@ task Flagstat { String memory = "256M" # Only 40.5 MiB used for 150G bam file. Int timeMinutes = 1 + ceil(size(inputBam, "G")) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } command { @@ -247,7 +247,7 @@ task Index { String? outputBamPath String memory = "2G" Int timeMinutes = 1 + ceil(size(bamFile, "G") * 4) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } # Select_first is needed, otherwise womtool validate fails. @@ -296,7 +296,7 @@ task Markdup { String outputBamPath Int timeMinutes = 1 + ceil(size(inputBam, "G") * 2) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } command { @@ -332,7 +332,7 @@ task Merge { Int threads = 1 Int timeMinutes = 1 + ceil(size(bamFiles, "G") * 2) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } String indexPath = sub(outputBamPath, "\.bam$",".bai") @@ -483,7 +483,7 @@ task View { Int threads = 1 String memory = "1G" Int timeMinutes = 1 + ceil(size(inFile, "G") * 5) - String dockerImage = "quay.io/biocontainers/samtools:1.8--h46bd0b3_5" + String dockerImage = "quay.io/biocontainers/samtools:1.10--h9402c20_2" } String outputIndexPath = basename(outputFileName) + ".bai"