diff --git a/CHANGELOG.md b/CHANGELOG.md index d0c741f883..c92d3b7588 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#806](https://github.com/nf-core/sarek/pull/806) - Split up `modules.config` file - [#810](https://github.com/nf-core/sarek/pull/810) - Update CHANGELOG - [#821](https://github.com/nf-core/sarek/pull/821) - Change `replace` to `putIfAbsent` for automatic search of `input` if none is provided to avoid overwriting values +- [#822](https://github.com/nf-core/sarek/pull/822) - Update modules with `nf-core modules update -a`: Update GATK version to 4.3.0 - [#827](https://github.com/nf-core/sarek/pull/827) - Add `--genomicsdb-shared-posixfs-optimizations true --bypass-feature-reader` to `GenomicsDB` parameters to speed up the analysis ### Fixed @@ -49,6 +50,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed +### Dependencies + +| Dependency | Old version | New version | +| ------------- | ----------- | ----------- | +| `bcftools` | 1.15.1 | 1.16 | +| `deepvariant` | 1.3.0 | 1.4.0 | +| `freebayes` | 1.3.5 | 1.3.6 | +| `gatk4` | 4.2.6.1 | 4.3.0.0 | +| `samtools` | 1.15.1 | 1.16.1 | +| `tiddit` | 3.1.0 | 3.3.2 | + ## [3.0.2](https://github.com/nf-core/sarek/releases/tag/3.0.2) - Lájtávrre Lájtávrre is a lake you can see from the Skierfe mountain, formed by the Rapaätno river. diff --git a/conf/base.config b/conf/base.config index b77c2ae5fe..df23e7de7b 100644 --- a/conf/base.config +++ b/conf/base.config @@ -87,9 +87,6 @@ process { cpus = { check_max( 10 * task.attempt, 'cpus' ) } memory = { check_max( 8.GB * task.attempt, 'memory' ) } } - withName: 'FREEBAYES' { - cpus = { check_max( 1 * task.attempt, 'cpus' ) } - } withName:'SAMTOOLS_CONVERT'{ memory = { check_max( 4.GB * task.attempt, 'memory' ) } } diff --git a/modules.json b/modules.json index a8b793321c..cce1c81995 100644 --- a/modules.json +++ b/modules.json @@ -11,20 +11,19 @@ }, "bcftools/sort": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "78cf39939fbe160a1410c44a6c5946f9a4c56e7e" }, "bcftools/stats": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905", - "patch": "modules/nf-core/bcftools/stats/bcftools-stats.diff" + "git_sha": "78cf39939fbe160a1410c44a6c5946f9a4c56e7e" }, "bwa/index": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "9518fa4f65f3fb8cde24fde7d40333b39ec8fd65" }, "bwa/mem": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "bwamem2/index": { "branch": "master", @@ -32,7 +31,7 @@ }, "bwamem2/mem": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "cat/cat": { "branch": "master", @@ -48,7 +47,7 @@ }, "cnvkit/batch": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "cnvkit/reference": { "branch": "master", @@ -76,19 +75,21 @@ }, "custom/dumpsoftwareversions": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "8022c68e7403eecbd8ba9c49496f69f8c49d50f0" }, "deepvariant": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "6e58487f28429876b7cad237afbf4685e90c7bd4" }, "dragmap/align": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "6b8dc21a3afcc92c7446dbdaf27817e7874c5ddf", + "patch": "modules/nf-core/dragmap/align/dragmap-align.diff" }, "dragmap/hashtable": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "6b8dc21a3afcc92c7446dbdaf27817e7874c5ddf", + "patch": "modules/nf-core/dragmap/hashtable/dragmap-hashtable.diff" }, "ensemblvep": { "branch": "master", @@ -96,11 +97,11 @@ }, "fastp": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "1e49f31e93c56a3832833eef90a02d3cde5a3f7e" }, "fastqc": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "3dd73937b084b547f9272bc901e0f120a7913fd8" }, "fgbio/callmolecularconsensusreads": { "branch": "master", @@ -116,108 +117,107 @@ }, "freebayes": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "1630b6b4479515fe2a577652cbccf75864fb7822" }, "gatk4/applybqsr": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/applybqsrspark": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/applyvqsr": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/baserecalibrator": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/baserecalibratorspark": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/calculatecontamination": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/cnnscorevariants": { "branch": "master", - "git_sha": "1832dc139342122c9617bfcd5c38c8fb8dd060ad" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/createsequencedictionary": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/estimatelibrarycomplexity": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/filtermutectcalls": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/filtervarianttranches": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/gatherbqsrreports": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/gatherpileupsummaries": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/genomicsdbimport": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/genotypegvcfs": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/getpileupsummaries": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/haplotypecaller": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/intervallisttobed": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/learnreadorientationmodel": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/markduplicates": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905", - "patch": "modules/nf-core/gatk4/markduplicates/gatk4-markduplicates.diff" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/markduplicatesspark": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/mergemutectstats": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/mergevcfs": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/mutect2": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "gatk4/variantrecalibrator": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "7578005a576f3ac1b0d4f10c037dde34cdedfb67" }, "manta/germline": { "branch": "master", @@ -250,44 +250,43 @@ }, "samblaster": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/bam2fq": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/collatefastq": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/convert": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/faidx": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/index": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/merge": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/mpileup": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/stats": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "samtools/view": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905", - "patch": "modules/nf-core/samtools/view/samtools-view.diff" + "git_sha": "cf5b9c30a2adacc581793afb79fae5f5b50bed01" }, "snpeff": { "branch": "master", @@ -315,7 +314,7 @@ }, "tiddit/sv": { "branch": "master", - "git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905" + "git_sha": "89f98091ac9e1653657b9e324e394b158d723a4f" }, "untar": { "branch": "master", diff --git a/modules/nf-core/bcftools/sort/main.nf b/modules/nf-core/bcftools/sort/main.nf index 9552b57c49..6441def7cb 100644 --- a/modules/nf-core/bcftools/sort/main.nf +++ b/modules/nf-core/bcftools/sort/main.nf @@ -2,10 +2,10 @@ process BCFTOOLS_SORT { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::bcftools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::bcftools=1.16" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bcftools:1.15.1--h0ea216a_0': - 'quay.io/biocontainers/bcftools:1.15.1--h0ea216a_0' }" + 'https://depot.galaxyproject.org/singularity/bcftools:1.16--hfe4b78e_1': + 'quay.io/biocontainers/bcftools:1.16--hfe4b78e_1' }" input: tuple val(meta), path(vcf) diff --git a/modules/nf-core/bcftools/stats/bcftools-stats.diff b/modules/nf-core/bcftools/stats/bcftools-stats.diff deleted file mode 100644 index 471ae8d2ed..0000000000 --- a/modules/nf-core/bcftools/stats/bcftools-stats.diff +++ /dev/null @@ -1,36 +0,0 @@ -Changes in module 'nf-core/bcftools/stats' ---- modules/nf-core/bcftools/stats/main.nf -+++ modules/nf-core/bcftools/stats/main.nf -@@ -8,10 +8,8 @@ - 'quay.io/biocontainers/bcftools:1.15.1--h0ea216a_0' }" - - input: -- tuple val(meta), path(vcf), path(tbi) -- path regions -- path targets -- path samples -+ tuple val(meta), path(vcf) -+ path(target_bed) - - output: - tuple val(meta), path("*stats.txt"), emit: stats -@@ -23,15 +21,11 @@ - script: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" -- def regions_file = regions ? "--regions-file ${regions}" : "" -- def targets_file = targets ? "--targets-file ${targets}" : "" -- def samples_file = samples ? "--samples-file ${samples}" : "" -+ def target = target_bed ? "--regions-file ${target_bed}" : "" - """ - bcftools stats \\ - $args \\ -- $regions_file \\ -- $targets_file \\ -- $samples_file \\ -+ $target \\ - $vcf > ${prefix}.bcftools_stats.txt - - cat <<-END_VERSIONS > versions.yml - -************************************************************ diff --git a/modules/nf-core/bcftools/stats/main.nf b/modules/nf-core/bcftools/stats/main.nf index 95251d13a9..9db624ebf2 100644 --- a/modules/nf-core/bcftools/stats/main.nf +++ b/modules/nf-core/bcftools/stats/main.nf @@ -2,14 +2,16 @@ process BCFTOOLS_STATS { tag "$meta.id" label 'process_single' - conda (params.enable_conda ? "bioconda::bcftools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::bcftools=1.16" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bcftools:1.15.1--h0ea216a_0': - 'quay.io/biocontainers/bcftools:1.15.1--h0ea216a_0' }" + 'https://depot.galaxyproject.org/singularity/bcftools:1.16--hfe4b78e_1': + 'quay.io/biocontainers/bcftools:1.16--hfe4b78e_1' }" input: - tuple val(meta), path(vcf) - path(target_bed) + tuple val(meta), path(vcf), path(tbi) + path regions + path targets + path samples output: tuple val(meta), path("*stats.txt"), emit: stats @@ -21,11 +23,15 @@ process BCFTOOLS_STATS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def target = target_bed ? "--regions-file ${target_bed}" : "" + def regions_file = regions ? "--regions-file ${regions}" : "" + def targets_file = targets ? "--targets-file ${targets}" : "" + def samples_file = samples ? "--samples-file ${samples}" : "" """ bcftools stats \\ $args \\ - $target \\ + $regions_file \\ + $targets_file \\ + $samples_file \\ $vcf > ${prefix}.bcftools_stats.txt cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/bwa/index/main.nf b/modules/nf-core/bwa/index/main.nf index aa75ae5dbb..6d70fc1598 100644 --- a/modules/nf-core/bwa/index/main.nf +++ b/modules/nf-core/bwa/index/main.nf @@ -8,11 +8,11 @@ process BWA_INDEX { 'quay.io/biocontainers/bwa:0.7.17--hed695b0_7' }" input: - path fasta + tuple val(meta), path(fasta) output: - path "bwa" , emit: index - path "versions.yml", emit: versions + tuple val(meta), path(bwa) , emit: index + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when @@ -32,4 +32,20 @@ process BWA_INDEX { bwa: \$(echo \$(bwa 2>&1) | sed 's/^.*Version: //; s/Contact:.*\$//') END_VERSIONS """ + + stub: + """ + mkdir bwa + + touch bwa/genome.amb + touch bwa/genome.ann + touch bwa/genome.bwt + touch bwa/genome.pac + touch bwa/genome.sa + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bwa: \$(echo \$(bwa 2>&1) | sed 's/^.*Version: //; s/Contact:.*\$//') + END_VERSIONS + """ } diff --git a/modules/nf-core/bwa/index/meta.yml b/modules/nf-core/bwa/index/meta.yml index 2bbd81d9cf..2c6cfcd795 100644 --- a/modules/nf-core/bwa/index/meta.yml +++ b/modules/nf-core/bwa/index/meta.yml @@ -15,10 +15,20 @@ tools: arxiv: arXiv:1303.3997 licence: ["GPL-3.0-or-later"] input: + - meta: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] - fasta: type: file description: Input genome fasta file output: + - meta: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] - index: type: file description: BWA genome index files diff --git a/modules/nf-core/bwa/mem/main.nf b/modules/nf-core/bwa/mem/main.nf index f55af94437..7eb9d5c2cf 100644 --- a/modules/nf-core/bwa/mem/main.nf +++ b/modules/nf-core/bwa/mem/main.nf @@ -2,14 +2,14 @@ process BWA_MEM { tag "$meta.id" label 'process_high' - conda (params.enable_conda ? "bioconda::bwa=0.7.17 bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::bwa=0.7.17 bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-fe8faa35dbf6dc65a0f7f5d4ea12e31a79f73e40:8110a70be2bfe7f75a2ea7f2a89cda4cc7732095-0' : - 'quay.io/biocontainers/mulled-v2-fe8faa35dbf6dc65a0f7f5d4ea12e31a79f73e40:8110a70be2bfe7f75a2ea7f2a89cda4cc7732095-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-fe8faa35dbf6dc65a0f7f5d4ea12e31a79f73e40:219b6c272b25e7e642ae3ff0bf0c5c81a5135ab4-0' : + 'quay.io/biocontainers/mulled-v2-fe8faa35dbf6dc65a0f7f5d4ea12e31a79f73e40:219b6c272b25e7e642ae3ff0bf0c5c81a5135ab4-0' }" input: tuple val(meta), path(reads) - path index + tuple val(meta2), path(index) val sort_bam output: diff --git a/modules/nf-core/bwa/mem/meta.yml b/modules/nf-core/bwa/mem/meta.yml index f84c5227b6..62357bf8d5 100644 --- a/modules/nf-core/bwa/mem/meta.yml +++ b/modules/nf-core/bwa/mem/meta.yml @@ -28,6 +28,11 @@ input: description: | List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively. + - meta2: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] - index: type: file description: BWA genome index files diff --git a/modules/nf-core/bwamem2/mem/main.nf b/modules/nf-core/bwamem2/mem/main.nf index 08dc5dfb8c..f8bad4b94a 100644 --- a/modules/nf-core/bwamem2/mem/main.nf +++ b/modules/nf-core/bwamem2/mem/main.nf @@ -2,10 +2,10 @@ process BWAMEM2_MEM { tag "$meta.id" label 'process_high' - conda (params.enable_conda ? "bioconda::bwa-mem2=2.2.1 bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::bwa-mem2=2.2.1 bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-e5d375990341c5aef3c9aff74f96f66f65375ef6:38aed4501da19db366dc7c8d52d31d94e760cfaf-0' : - 'quay.io/biocontainers/mulled-v2-e5d375990341c5aef3c9aff74f96f66f65375ef6:38aed4501da19db366dc7c8d52d31d94e760cfaf-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-e5d375990341c5aef3c9aff74f96f66f65375ef6:2cdf6bf1e92acbeb9b2834b1c58754167173a410-0' : + 'quay.io/biocontainers/mulled-v2-e5d375990341c5aef3c9aff74f96f66f65375ef6:2cdf6bf1e92acbeb9b2834b1c58754167173a410-0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/cnvkit/batch/main.nf b/modules/nf-core/cnvkit/batch/main.nf index 090f7860d2..ac3ace4f69 100644 --- a/modules/nf-core/cnvkit/batch/main.nf +++ b/modules/nf-core/cnvkit/batch/main.nf @@ -2,10 +2,10 @@ process CNVKIT_BATCH { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? 'bioconda::cnvkit=0.9.9 bioconda::samtools=1.15.1' : null) + conda (params.enable_conda ? 'bioconda::cnvkit=0.9.9 bioconda::samtools=1.16.1' : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-780d630a9bb6a0ff2e7b6f730906fd703e40e98f:304d1c5ab610f216e77c61420ebe85f1e7c5968a-0' : - 'quay.io/biocontainers/mulled-v2-780d630a9bb6a0ff2e7b6f730906fd703e40e98f:304d1c5ab610f216e77c61420ebe85f1e7c5968a-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-780d630a9bb6a0ff2e7b6f730906fd703e40e98f:3bdd798e4b9aed6d3e1aaa1596c913a3eeb865cb-0' : + 'quay.io/biocontainers/mulled-v2-780d630a9bb6a0ff2e7b6f730906fd703e40e98f:3bdd798e4b9aed6d3e1aaa1596c913a3eeb865cb-0' }" input: tuple val(meta), path(tumor), path(normal) diff --git a/modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py b/modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py old mode 100644 new mode 100755 index 7c2abfa494..da03340857 --- a/modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py +++ b/modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py @@ -1,11 +1,16 @@ #!/usr/bin/env python + +"""Provide functions to merge multiple versions.yml files.""" + + import yaml import platform from textwrap import dedent def _make_versions_html(versions): + """Generate a tabular HTML output of all versions for MultiQC.""" html = [ dedent( """\\ @@ -44,47 +49,53 @@ def _make_versions_html(versions): return "\\n".join(html) -versions_this_module = {} -versions_this_module["${task.process}"] = { - "python": platform.python_version(), - "yaml": yaml.__version__, -} - -with open("$versions") as f: - versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module - -# aggregate versions by the module name (derived from fully-qualified process name) -versions_by_module = {} -for process, process_versions in versions_by_process.items(): - module = process.split(":")[-1] - try: - if versions_by_module[module] != process_versions: - raise AssertionError( - "We assume that software versions are the same between all modules. " - "If you see this error-message it means you discovered an edge-case " - "and should open an issue in nf-core/tools. " - ) - except KeyError: - versions_by_module[module] = process_versions - -versions_by_module["Workflow"] = { - "Nextflow": "$workflow.nextflow.version", - "$workflow.manifest.name": "$workflow.manifest.version", -} - -versions_mqc = { - "id": "software_versions", - "section_name": "${workflow.manifest.name} Software Versions", - "section_href": "https://github.com/${workflow.manifest.name}", - "plot_type": "html", - "description": "are collected at run time from the software output.", - "data": _make_versions_html(versions_by_module), -} - -with open("software_versions.yml", "w") as f: - yaml.dump(versions_by_module, f, default_flow_style=False) -with open("software_versions_mqc.yml", "w") as f: - yaml.dump(versions_mqc, f, default_flow_style=False) - -with open("versions.yml", "w") as f: - yaml.dump(versions_this_module, f, default_flow_style=False) +def main(): + """Load all version files and generate merged output.""" + versions_this_module = {} + versions_this_module["${task.process}"] = { + "python": platform.python_version(), + "yaml": yaml.__version__, + } + + with open("$versions") as f: + versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module + + # aggregate versions by the module name (derived from fully-qualified process name) + versions_by_module = {} + for process, process_versions in versions_by_process.items(): + module = process.split(":")[-1] + try: + if versions_by_module[module] != process_versions: + raise AssertionError( + "We assume that software versions are the same between all modules. " + "If you see this error-message it means you discovered an edge-case " + "and should open an issue in nf-core/tools. " + ) + except KeyError: + versions_by_module[module] = process_versions + + versions_by_module["Workflow"] = { + "Nextflow": "$workflow.nextflow.version", + "$workflow.manifest.name": "$workflow.manifest.version", + } + + versions_mqc = { + "id": "software_versions", + "section_name": "${workflow.manifest.name} Software Versions", + "section_href": "https://github.com/${workflow.manifest.name}", + "plot_type": "html", + "description": "are collected at run time from the software output.", + "data": _make_versions_html(versions_by_module), + } + + with open("software_versions.yml", "w") as f: + yaml.dump(versions_by_module, f, default_flow_style=False) + with open("software_versions_mqc.yml", "w") as f: + yaml.dump(versions_mqc, f, default_flow_style=False) + + with open("versions.yml", "w") as f: + yaml.dump(versions_this_module, f, default_flow_style=False) + + +if __name__ == "__main__": + main() diff --git a/modules/nf-core/deepvariant/main.nf b/modules/nf-core/deepvariant/main.nf index 344fdb030a..de48d9c1e4 100644 --- a/modules/nf-core/deepvariant/main.nf +++ b/modules/nf-core/deepvariant/main.nf @@ -7,7 +7,7 @@ process DEEPVARIANT { exit 1, "Conda environments cannot be used with DeepVariant at the moment. Please use Docker or Singularity containers." } - container "google/deepvariant:1.3.0" + container "google/deepvariant:1.4.0" input: tuple val(meta), path(input), path(index), path(intervals) diff --git a/modules/nf-core/dragmap/align/dragmap-align.diff b/modules/nf-core/dragmap/align/dragmap-align.diff new file mode 100644 index 0000000000..90f2a15e43 --- /dev/null +++ b/modules/nf-core/dragmap/align/dragmap-align.diff @@ -0,0 +1,19 @@ +Changes in module 'nf-core/dragmap/align' +--- modules/nf-core/dragmap/align/main.nf ++++ modules/nf-core/dragmap/align/main.nf +@@ -2,10 +2,10 @@ + tag "$meta.id" + label 'process_high' + +- conda (params.enable_conda ? "bioconda::dragmap=1.3.0 bioconda::samtools=1.16.1 conda-forge::pigz=2.3.4" : null) ++ conda (params.enable_conda ? "bioconda::dragmap=1.2.1 bioconda::samtools=1.15.1 conda-forge::pigz=2.3.4" : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? +- 'https://depot.galaxyproject.org/singularity/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:bb7e33c2ede38421063b8379a5fb3453645bb047-0': +- 'quay.io/biocontainers/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:bb7e33c2ede38421063b8379a5fb3453645bb047-0' }" ++ 'https://depot.galaxyproject.org/singularity/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:5ebebbc128cd624282eaa37d2c7fe01505a91a69-0': ++ 'quay.io/biocontainers/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:5ebebbc128cd624282eaa37d2c7fe01505a91a69-0' }" + + input: + tuple val(meta) , path(reads) + +************************************************************ diff --git a/modules/nf-core/dragmap/align/main.nf b/modules/nf-core/dragmap/align/main.nf index f0d59f05f6..082b189183 100644 --- a/modules/nf-core/dragmap/align/main.nf +++ b/modules/nf-core/dragmap/align/main.nf @@ -8,8 +8,8 @@ process DRAGMAP_ALIGN { 'quay.io/biocontainers/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:5ebebbc128cd624282eaa37d2c7fe01505a91a69-0' }" input: - tuple val(meta), path(reads) - path hashmap + tuple val(meta) , path(reads) + tuple val(meta2), path(hashmap) val sort_bam output: diff --git a/modules/nf-core/dragmap/align/meta.yml b/modules/nf-core/dragmap/align/meta.yml index dcce34fb56..bdf1400050 100644 --- a/modules/nf-core/dragmap/align/meta.yml +++ b/modules/nf-core/dragmap/align/meta.yml @@ -25,6 +25,11 @@ input: description: | List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively. + - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test', single_end:false ] - hashmap: type: file description: DRAGMAP hash table diff --git a/modules/nf-core/dragmap/hashtable/dragmap-hashtable.diff b/modules/nf-core/dragmap/hashtable/dragmap-hashtable.diff new file mode 100644 index 0000000000..9f948b4852 --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/dragmap-hashtable.diff @@ -0,0 +1,14 @@ +Changes in module 'nf-core/dragmap/hashtable' +--- modules/nf-core/dragmap/hashtable/main.nf ++++ modules/nf-core/dragmap/hashtable/main.nf +@@ -2,7 +2,7 @@ + tag "$fasta" + label 'process_high' + +- conda (params.enable_conda ? "bioconda::dragmap=1.3.0" : null) ++ conda (params.enable_conda ? "bioconda::dragmap=1.2.1" : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/dragmap:1.3.0--h72d16da_1': + 'quay.io/biocontainers/dragmap:1.3.0--h72d16da_1' }" + +************************************************************ diff --git a/modules/nf-core/dragmap/hashtable/main.nf b/modules/nf-core/dragmap/hashtable/main.nf index 81333dfdae..a0fb1d7731 100644 --- a/modules/nf-core/dragmap/hashtable/main.nf +++ b/modules/nf-core/dragmap/hashtable/main.nf @@ -4,15 +4,15 @@ process DRAGMAP_HASHTABLE { conda (params.enable_conda ? "bioconda::dragmap=1.2.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/dragmap:1.2.1--hd4ca14e_0': - 'quay.io/biocontainers/dragmap:1.2.1--hd4ca14e_0' }" + 'https://depot.galaxyproject.org/singularity/dragmap:1.3.0--h72d16da_1': + 'quay.io/biocontainers/dragmap:1.3.0--h72d16da_1' }" input: - path fasta + tuple val(meta), path(fasta) output: - path "dragmap" , emit: hashmap - path "versions.yml" , emit: versions + tuple val(meta), path("dragmap") , emit: hashmap + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/dragmap/hashtable/meta.yml b/modules/nf-core/dragmap/hashtable/meta.yml index f86a5dbb74..6d91ff17c8 100644 --- a/modules/nf-core/dragmap/hashtable/meta.yml +++ b/modules/nf-core/dragmap/hashtable/meta.yml @@ -14,10 +14,20 @@ tools: doi: "" licence: ["GPL v3"] input: + - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test', single_end:false ] - fasta: type: file description: Input genome fasta file output: + - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test', single_end:false ] - hashmap: type: file description: DRAGMAP hash table diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf index 11ea4db32a..207258ad75 100644 --- a/modules/nf-core/fastp/main.nf +++ b/modules/nf-core/fastp/main.nf @@ -9,6 +9,7 @@ process FASTP { input: tuple val(meta), path(reads) + path adapter_fasta val save_trimmed_fail val save_merged @@ -27,6 +28,7 @@ process FASTP { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" + def adapter_list = adapter_fasta ? "--adapter_fasta ${adapter_fasta}" : "" def fail_fastq = save_trimmed_fail && meta.single_end ? "--failed_out ${prefix}.fail.fastq.gz" : save_trimmed_fail && !meta.single_end ? "--unpaired1 ${prefix}_1.fail.fastq.gz --unpaired2 ${prefix}_2.fail.fastq.gz" : '' // Added soft-links to original fastqs for consistent naming in MultiQC // Use single ended for interleaved. Add --interleaved_in in config. @@ -40,6 +42,7 @@ process FASTP { --thread $task.cpus \\ --json ${prefix}.fastp.json \\ --html ${prefix}.fastp.html \\ + $adapter_list \\ $fail_fastq \\ $args \\ 2> ${prefix}.fastp.log \\ @@ -61,6 +64,7 @@ process FASTP { --thread $task.cpus \\ --json ${prefix}.fastp.json \\ --html ${prefix}.fastp.html \\ + $adapter_list \\ $fail_fastq \\ $args \\ 2> ${prefix}.fastp.log @@ -82,6 +86,7 @@ process FASTP { --out2 ${prefix}_2.fastp.fastq.gz \\ --json ${prefix}.fastp.json \\ --html ${prefix}.fastp.html \\ + $adapter_list \\ $fail_fastq \\ $merge_fastq \\ --thread $task.cpus \\ diff --git a/modules/nf-core/fastp/meta.yml b/modules/nf-core/fastp/meta.yml index 2368fdedde..6f6fad749e 100644 --- a/modules/nf-core/fastp/meta.yml +++ b/modules/nf-core/fastp/meta.yml @@ -23,6 +23,10 @@ input: List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively. If you wish to run interleaved paired-end data, supply as single-end data but with `--interleaved_in` in your `modules.conf`'s `ext.args` for the module. + - adapter_fasta: + type: file + description: File in FASTA format containing possible adapters to remove. + pattern: "*.{fasta,fna,fas,fa}" - save_trimmed_fail: type: boolean description: Specify true to save files that failed to pass trimming thresholds ending in `*.fail.fastq.gz` diff --git a/modules/nf-core/fastqc/main.nf b/modules/nf-core/fastqc/main.nf index 05730368b2..3bebb2407a 100644 --- a/modules/nf-core/fastqc/main.nf +++ b/modules/nf-core/fastqc/main.nf @@ -20,30 +20,16 @@ process FASTQC { script: def args = task.ext.args ?: '' - // Add soft-links to original FastQs for consistent naming in pipeline def prefix = task.ext.prefix ?: "${meta.id}" - if (meta.single_end) { - """ - [ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz - fastqc $args --threads $task.cpus ${prefix}.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) - END_VERSIONS - """ - } else { - """ - [ ! -f ${prefix}_1.fastq.gz ] && ln -s ${reads[0]} ${prefix}_1.fastq.gz - [ ! -f ${prefix}_2.fastq.gz ] && ln -s ${reads[1]} ${prefix}_2.fastq.gz - fastqc $args --threads $task.cpus ${prefix}_1.fastq.gz ${prefix}_2.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) - END_VERSIONS - """ - } + """ + printf "%s\\n" $reads | while read f; do [[ \$f =~ ^${prefix}.* ]] || ln -s \$f ${prefix}_\$f ; done + fastqc $args --threads $task.cpus ${prefix}* + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) + END_VERSIONS + """ stub: def prefix = task.ext.prefix ?: "${meta.id}" diff --git a/modules/nf-core/freebayes/main.nf b/modules/nf-core/freebayes/main.nf index 73b1da961c..dfc65a3bc3 100644 --- a/modules/nf-core/freebayes/main.nf +++ b/modules/nf-core/freebayes/main.nf @@ -1,11 +1,11 @@ process FREEBAYES { tag "$meta.id" - label 'process_low' + label 'process_single' - conda (params.enable_conda ? "bioconda::freebayes=1.3.5" : null) + conda (params.enable_conda ? "bioconda::freebayes=1.3.6" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/freebayes:1.3.5--py38ha193a2f_3' : - 'quay.io/biocontainers/freebayes:1.3.5--py38ha193a2f_3' }" + 'https://depot.galaxyproject.org/singularity/freebayes:1.3.6--hbfe0e7f_2' : + 'quay.io/biocontainers/freebayes:1.3.6--hbfe0e7f_2' }" input: tuple val(meta), path(input_1), path(input_1_index), path(input_2), path(input_2_index), path(target_bed) @@ -31,43 +31,21 @@ process FREEBAYES { def populations_file = populations ? "--populations ${populations}" : "" def cnv_file = cnv ? "--cnv-map ${cnv}" : "" - if (task.cpus > 1) { - """ - freebayes-parallel \\ - <(fasta_generate_regions.py $fasta_fai 10000) $task.cpus \\ - -f $fasta \\ - $targets_file \\ - $samples_file \\ - $populations_file \\ - $cnv_file \\ - $args \\ - $input > ${prefix}.vcf - - bgzip ${prefix}.vcf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - freebayes: \$(echo \$(freebayes --version 2>&1) | sed 's/version:\s*v//g' ) - END_VERSIONS - """ - - } else { - """ - freebayes \\ - -f $fasta \\ - $targets_file \\ - $samples_file \\ - $populations_file \\ - $cnv_file \\ - $args \\ - $input > ${prefix}.vcf - - bgzip ${prefix}.vcf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - freebayes: \$(echo \$(freebayes --version 2>&1) | sed 's/version:\s*v//g' ) - END_VERSIONS - """ - } + """ + freebayes \\ + -f $fasta \\ + $targets_file \\ + $samples_file \\ + $populations_file \\ + $cnv_file \\ + $args \\ + $input > ${prefix}.vcf + + bgzip ${prefix}.vcf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + freebayes: \$(echo \$(freebayes --version 2>&1) | sed 's/version:\s*v//g' ) + END_VERSIONS + """ } diff --git a/modules/nf-core/gatk4/applybqsr/main.nf b/modules/nf-core/gatk4/applybqsr/main.nf index a0e2c45ca0..d3e251a282 100644 --- a/modules/nf-core/gatk4/applybqsr/main.nf +++ b/modules/nf-core/gatk4/applybqsr/main.nf @@ -2,10 +2,10 @@ process GATK4_APPLYBQSR { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(input), path(input_index), path(bqsr_table), path(intervals) diff --git a/modules/nf-core/gatk4/applybqsrspark/main.nf b/modules/nf-core/gatk4/applybqsrspark/main.nf index 5890278af3..9b47dc916f 100644 --- a/modules/nf-core/gatk4/applybqsrspark/main.nf +++ b/modules/nf-core/gatk4/applybqsrspark/main.nf @@ -2,8 +2,8 @@ process GATK4_APPLYBQSR_SPARK { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1 conda-forge::openjdk=8.0.312" : null) - container 'broadinstitute/gatk:4.2.6.1' + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0 conda-forge::openjdk=8.0.312" : null) + container 'broadinstitute/gatk:4.3.0.0' input: tuple val(meta), path(input), path(input_index), path(bqsr_table), path(intervals) diff --git a/modules/nf-core/gatk4/applyvqsr/main.nf b/modules/nf-core/gatk4/applyvqsr/main.nf index d3da833213..6d18463d8d 100644 --- a/modules/nf-core/gatk4/applyvqsr/main.nf +++ b/modules/nf-core/gatk4/applyvqsr/main.nf @@ -2,10 +2,10 @@ process GATK4_APPLYVQSR { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(vcf), path(vcf_tbi), path(recal), path(recal_index), path(tranches) diff --git a/modules/nf-core/gatk4/baserecalibrator/main.nf b/modules/nf-core/gatk4/baserecalibrator/main.nf index fb26d3da73..222dfae9da 100644 --- a/modules/nf-core/gatk4/baserecalibrator/main.nf +++ b/modules/nf-core/gatk4/baserecalibrator/main.nf @@ -2,10 +2,10 @@ process GATK4_BASERECALIBRATOR { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(input), path(input_index), path(intervals) diff --git a/modules/nf-core/gatk4/baserecalibratorspark/main.nf b/modules/nf-core/gatk4/baserecalibratorspark/main.nf index 755122cb79..d923721515 100644 --- a/modules/nf-core/gatk4/baserecalibratorspark/main.nf +++ b/modules/nf-core/gatk4/baserecalibratorspark/main.nf @@ -2,8 +2,8 @@ process GATK4_BASERECALIBRATOR_SPARK { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1 conda-forge::openjdk=8.0.312" : null) - container 'broadinstitute/gatk:4.2.6.1' + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0 conda-forge::openjdk=8.0.312" : null) + container 'broadinstitute/gatk:4.3.0.0' input: tuple val(meta), path(input), path(input_index), path(intervals) diff --git a/modules/nf-core/gatk4/calculatecontamination/main.nf b/modules/nf-core/gatk4/calculatecontamination/main.nf index c289684edb..a270c03773 100644 --- a/modules/nf-core/gatk4/calculatecontamination/main.nf +++ b/modules/nf-core/gatk4/calculatecontamination/main.nf @@ -2,10 +2,10 @@ process GATK4_CALCULATECONTAMINATION { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(pileup), path(matched) diff --git a/modules/nf-core/gatk4/cnnscorevariants/main.nf b/modules/nf-core/gatk4/cnnscorevariants/main.nf index f251155ce3..319ab43887 100644 --- a/modules/nf-core/gatk4/cnnscorevariants/main.nf +++ b/modules/nf-core/gatk4/cnnscorevariants/main.nf @@ -6,7 +6,7 @@ process GATK4_CNNSCOREVARIANTS { if (params.enable_conda) { exit 1, "Conda environments cannot be used for GATK4/CNNScoreVariants at the moment. Please use docker or singularity containers." } - container "broadinstitute/gatk:4.2.6.1" //Biocontainers is missing a package + container "broadinstitute/gatk:4.3.0.0" //Biocontainers is missing a package input: tuple val(meta), path(vcf), path(tbi), path(aligned_input), path(intervals) diff --git a/modules/nf-core/gatk4/createsequencedictionary/main.nf b/modules/nf-core/gatk4/createsequencedictionary/main.nf index 13fa9e8100..fb78cdf5dc 100644 --- a/modules/nf-core/gatk4/createsequencedictionary/main.nf +++ b/modules/nf-core/gatk4/createsequencedictionary/main.nf @@ -2,10 +2,10 @@ process GATK4_CREATESEQUENCEDICTIONARY { tag "$fasta" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: path fasta diff --git a/modules/nf-core/gatk4/estimatelibrarycomplexity/main.nf b/modules/nf-core/gatk4/estimatelibrarycomplexity/main.nf index 46e09a95bb..9d56bb3e57 100644 --- a/modules/nf-core/gatk4/estimatelibrarycomplexity/main.nf +++ b/modules/nf-core/gatk4/estimatelibrarycomplexity/main.nf @@ -2,10 +2,10 @@ process GATK4_ESTIMATELIBRARYCOMPLEXITY { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(input) diff --git a/modules/nf-core/gatk4/filtermutectcalls/main.nf b/modules/nf-core/gatk4/filtermutectcalls/main.nf index 71de16f6d4..130c83b654 100644 --- a/modules/nf-core/gatk4/filtermutectcalls/main.nf +++ b/modules/nf-core/gatk4/filtermutectcalls/main.nf @@ -2,10 +2,10 @@ process GATK4_FILTERMUTECTCALLS { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(vcf), path(vcf_tbi), path(stats), path(orientationbias), path(segmentation), path(table), val(estimate) diff --git a/modules/nf-core/gatk4/filtervarianttranches/main.nf b/modules/nf-core/gatk4/filtervarianttranches/main.nf index 98e620e7a6..5a2117e980 100644 --- a/modules/nf-core/gatk4/filtervarianttranches/main.nf +++ b/modules/nf-core/gatk4/filtervarianttranches/main.nf @@ -2,10 +2,10 @@ process GATK4_FILTERVARIANTTRANCHES { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(vcf), path(tbi), path(intervals) diff --git a/modules/nf-core/gatk4/gatherbqsrreports/main.nf b/modules/nf-core/gatk4/gatherbqsrreports/main.nf index 231bd39e6a..f560d47670 100644 --- a/modules/nf-core/gatk4/gatherbqsrreports/main.nf +++ b/modules/nf-core/gatk4/gatherbqsrreports/main.nf @@ -2,10 +2,10 @@ process GATK4_GATHERBQSRREPORTS { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(table) diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/main.nf b/modules/nf-core/gatk4/gatherpileupsummaries/main.nf index 0b763f4169..05e7f13d53 100644 --- a/modules/nf-core/gatk4/gatherpileupsummaries/main.nf +++ b/modules/nf-core/gatk4/gatherpileupsummaries/main.nf @@ -2,10 +2,10 @@ process GATK4_GATHERPILEUPSUMMARIES { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: diff --git a/modules/nf-core/gatk4/genomicsdbimport/main.nf b/modules/nf-core/gatk4/genomicsdbimport/main.nf index 810f2b63b1..45f2e75878 100644 --- a/modules/nf-core/gatk4/genomicsdbimport/main.nf +++ b/modules/nf-core/gatk4/genomicsdbimport/main.nf @@ -2,10 +2,10 @@ process GATK4_GENOMICSDBIMPORT { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(vcf), path(tbi), path(interval_file), val(interval_value), path(wspace) diff --git a/modules/nf-core/gatk4/genotypegvcfs/main.nf b/modules/nf-core/gatk4/genotypegvcfs/main.nf index 11024b1b23..043e006f70 100644 --- a/modules/nf-core/gatk4/genotypegvcfs/main.nf +++ b/modules/nf-core/gatk4/genotypegvcfs/main.nf @@ -2,10 +2,10 @@ process GATK4_GENOTYPEGVCFS { tag "$meta.id" label 'process_high' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(gvcf), path(gvcf_index), path(intervals), path(intervals_index) diff --git a/modules/nf-core/gatk4/getpileupsummaries/main.nf b/modules/nf-core/gatk4/getpileupsummaries/main.nf index 5945a937ad..99b2595ca9 100644 --- a/modules/nf-core/gatk4/getpileupsummaries/main.nf +++ b/modules/nf-core/gatk4/getpileupsummaries/main.nf @@ -2,10 +2,10 @@ process GATK4_GETPILEUPSUMMARIES { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(input), path(index), path(intervals) diff --git a/modules/nf-core/gatk4/haplotypecaller/main.nf b/modules/nf-core/gatk4/haplotypecaller/main.nf index 19cd57bbf0..9347fbbc10 100644 --- a/modules/nf-core/gatk4/haplotypecaller/main.nf +++ b/modules/nf-core/gatk4/haplotypecaller/main.nf @@ -2,10 +2,10 @@ process GATK4_HAPLOTYPECALLER { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(input), path(input_index), path(intervals), path(dragstr_model) diff --git a/modules/nf-core/gatk4/intervallisttobed/main.nf b/modules/nf-core/gatk4/intervallisttobed/main.nf index 84f3c472ea..901b9301c1 100644 --- a/modules/nf-core/gatk4/intervallisttobed/main.nf +++ b/modules/nf-core/gatk4/intervallisttobed/main.nf @@ -2,10 +2,10 @@ process GATK4_INTERVALLISTTOBED { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(intervals) diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/main.nf b/modules/nf-core/gatk4/learnreadorientationmodel/main.nf index 8c4ac94e6f..3f206296f5 100644 --- a/modules/nf-core/gatk4/learnreadorientationmodel/main.nf +++ b/modules/nf-core/gatk4/learnreadorientationmodel/main.nf @@ -2,10 +2,10 @@ process GATK4_LEARNREADORIENTATIONMODEL { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(f1r2) diff --git a/modules/nf-core/gatk4/markduplicates/gatk4-markduplicates.diff b/modules/nf-core/gatk4/markduplicates/gatk4-markduplicates.diff deleted file mode 100644 index 14cac1cecc..0000000000 --- a/modules/nf-core/gatk4/markduplicates/gatk4-markduplicates.diff +++ /dev/null @@ -1,53 +0,0 @@ -Changes in module 'nf-core/gatk4/markduplicates' ---- modules/nf-core/gatk4/markduplicates/main.nf -+++ modules/nf-core/gatk4/markduplicates/main.nf -@@ -9,25 +9,20 @@ - - input: - tuple val(meta), path(bam) -- path fasta -- path fasta_fai - - output: -- tuple val(meta), path("*cram"), emit: cram, optional: true -- tuple val(meta), path("*bam"), emit: bam, optional: true -- tuple val(meta), path("*.crai"), emit: crai, optional: true -- tuple val(meta), path("*.bai"), emit: bai, optional: true -+ tuple val(meta), path("*.bam") , emit: bam -+ tuple val(meta), path("*.bai") , optional:true, emit: bai - tuple val(meta), path("*.metrics"), emit: metrics -- path "versions.yml", emit: versions -+ path "versions.yml" , emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - def args = task.ext.args ?: '' -- prefix = task.ext.prefix ?: "${meta.id}" -+ def prefix = task.ext.prefix ?: "${meta.id}" - def input_list = bam.collect{"--INPUT $it"}.join(' ') -- def reference = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" - - def avail_mem = 3 - if (!task.memory) { -@@ -38,16 +33,10 @@ - """ - gatk --java-options "-Xmx${avail_mem}g" MarkDuplicates \\ - $input_list \\ -- --OUTPUT ${prefix} \\ -+ --OUTPUT ${prefix}.bam \\ - --METRICS_FILE ${prefix}.metrics \\ - --TMP_DIR . \\ -- ${reference} \\ - $args -- -- -- if [[ ${prefix} == *.cram ]]; then -- mv ${prefix}.bai ${prefix}.crai -- fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - -************************************************************ diff --git a/modules/nf-core/gatk4/markduplicates/main.nf b/modules/nf-core/gatk4/markduplicates/main.nf index 63805c929d..02f78bda2d 100644 --- a/modules/nf-core/gatk4/markduplicates/main.nf +++ b/modules/nf-core/gatk4/markduplicates/main.nf @@ -2,10 +2,10 @@ process GATK4_MARKDUPLICATES { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(bam) diff --git a/modules/nf-core/gatk4/markduplicatesspark/main.nf b/modules/nf-core/gatk4/markduplicatesspark/main.nf index b8c315fc3d..a632c65f78 100644 --- a/modules/nf-core/gatk4/markduplicatesspark/main.nf +++ b/modules/nf-core/gatk4/markduplicatesspark/main.nf @@ -2,8 +2,8 @@ process GATK4_MARKDUPLICATES_SPARK { tag "$meta.id" label 'process_high' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1 conda-forge::openjdk=8.0.312" : null) - container 'broadinstitute/gatk:4.2.6.1' + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0 conda-forge::openjdk=8.0.312" : null) + container 'broadinstitute/gatk:4.3.0.0' input: tuple val(meta), path(bam) diff --git a/modules/nf-core/gatk4/mergemutectstats/main.nf b/modules/nf-core/gatk4/mergemutectstats/main.nf index 54311df7f5..c666d3c60e 100644 --- a/modules/nf-core/gatk4/mergemutectstats/main.nf +++ b/modules/nf-core/gatk4/mergemutectstats/main.nf @@ -2,10 +2,10 @@ process GATK4_MERGEMUTECTSTATS { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(stats) diff --git a/modules/nf-core/gatk4/mergevcfs/main.nf b/modules/nf-core/gatk4/mergevcfs/main.nf index c1ec942ec2..0b065b5b55 100644 --- a/modules/nf-core/gatk4/mergevcfs/main.nf +++ b/modules/nf-core/gatk4/mergevcfs/main.nf @@ -2,10 +2,10 @@ process GATK4_MERGEVCFS { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(vcf) diff --git a/modules/nf-core/gatk4/mutect2/main.nf b/modules/nf-core/gatk4/mutect2/main.nf index abec0d73d3..693340d9eb 100644 --- a/modules/nf-core/gatk4/mutect2/main.nf +++ b/modules/nf-core/gatk4/mutect2/main.nf @@ -2,10 +2,10 @@ process GATK4_MUTECT2 { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(input), path(input_index), path(intervals) diff --git a/modules/nf-core/gatk4/variantrecalibrator/main.nf b/modules/nf-core/gatk4/variantrecalibrator/main.nf index 961e60d8ef..dd317a9bbd 100644 --- a/modules/nf-core/gatk4/variantrecalibrator/main.nf +++ b/modules/nf-core/gatk4/variantrecalibrator/main.nf @@ -2,10 +2,10 @@ process GATK4_VARIANTRECALIBRATOR { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::gatk4=4.2.6.1" : null) + conda (params.enable_conda ? "bioconda::gatk4=4.3.0.0" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gatk4:4.2.6.1--hdfd78af_0': - 'quay.io/biocontainers/gatk4:4.2.6.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/gatk4:4.3.0.0--py36hdfd78af_0': + 'quay.io/biocontainers/gatk4:4.3.0.0--py36hdfd78af_0' }" input: tuple val(meta), path(vcf), path(tbi) // input vcf and tbi of variants to recalibrate diff --git a/modules/nf-core/samblaster/main.nf b/modules/nf-core/samblaster/main.nf index 225c715280..64e498431e 100644 --- a/modules/nf-core/samblaster/main.nf +++ b/modules/nf-core/samblaster/main.nf @@ -2,10 +2,10 @@ process SAMBLASTER { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samblaster=0.1.26 bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samblaster=0.1.26 bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-19fa9f1a5c3966b63a24166365e81da35738c5ab:fff03944e664bbf9a139f7b174b9cb2d4163271a-0' : - 'quay.io/biocontainers/mulled-v2-19fa9f1a5c3966b63a24166365e81da35738c5ab:fff03944e664bbf9a139f7b174b9cb2d4163271a-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-19fa9f1a5c3966b63a24166365e81da35738c5ab:cee56b506ceb753d4bbef7e05b81e1bfc25d937f-0' : + 'quay.io/biocontainers/mulled-v2-19fa9f1a5c3966b63a24166365e81da35738c5ab:cee56b506ceb753d4bbef7e05b81e1bfc25d937f-0' }" input: tuple val(meta), path(bam) diff --git a/modules/nf-core/samtools/bam2fq/main.nf b/modules/nf-core/samtools/bam2fq/main.nf index 9301d1d33c..a6bd59d93f 100644 --- a/modules/nf-core/samtools/bam2fq/main.nf +++ b/modules/nf-core/samtools/bam2fq/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_BAM2FQ { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(inputbam) diff --git a/modules/nf-core/samtools/collatefastq/main.nf b/modules/nf-core/samtools/collatefastq/main.nf index 3d9becdae4..8d6b1fb730 100644 --- a/modules/nf-core/samtools/collatefastq/main.nf +++ b/modules/nf-core/samtools/collatefastq/main.nf @@ -2,19 +2,22 @@ process SAMTOOLS_COLLATEFASTQ { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input) + tuple val(meta2), path(fasta) + val(interleave) output: - //TODO might be good to have ordered output of the fastq files, so we can - // make sure the we get the right files - tuple val(meta), path("*_{1,2}.fq.gz"), path("*_other.fq.gz"), path("*_singleton.fq.gz"), emit: reads - path "versions.yml" , emit: versions + tuple val(meta), path("*_{1,2}.fq.gz") , optional:true, emit: fastq + tuple val(meta), path("*_interleaved.fq.gz") , optional:true, emit: fastq_interleaved + tuple val(meta), path("*_other.fq.gz") , emit: fastq_other + tuple val(meta), path("*_singleton.fq.gz") , optional:true, emit: fastq_singleton + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when @@ -23,10 +26,16 @@ process SAMTOOLS_COLLATEFASTQ { def args = task.ext.args ?: '' def args2 = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--reference ${fasta}" : "" + def output = (interleave && ! meta.single_end) ? "> ${prefix}_interleaved.fq.gz" : + meta.single_end ? "-1 ${prefix}_1.fq.gz -s ${prefix}_singleton.fq.gz" : + "-1 ${prefix}_1.fq.gz -2 ${prefix}_2.fq.gz -s ${prefix}_singleton.fq.gz" + """ samtools collate \\ $args \\ --threads $task.cpus \\ + ${reference} \\ -O \\ $input \\ . | @@ -34,10 +43,9 @@ process SAMTOOLS_COLLATEFASTQ { samtools fastq \\ $args2 \\ --threads $task.cpus \\ - -1 ${prefix}_1.fq.gz \\ - -2 ${prefix}_2.fq.gz \\ + ${reference} \\ -0 ${prefix}_other.fq.gz \\ - -s ${prefix}_singleton.fq.gz + $output cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/samtools/collatefastq/meta.yml b/modules/nf-core/samtools/collatefastq/meta.yml index d3a2e3af07..89655b99d8 100644 --- a/modules/nf-core/samtools/collatefastq/meta.yml +++ b/modules/nf-core/samtools/collatefastq/meta.yml @@ -25,19 +25,47 @@ input: type: file description: BAM/CRAM/SAM file pattern: "*.{bam,cram,sam}" - + - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test' ] + - fasta: + type: file + description: Reference genome fasta file + pattern: "*.{fasta,fa}" + - interleave: + type: boolean + description: | + If true, the output is a single interleaved paired-end FASTQ + If false, the output split paired-end FASTQ + default: false output: - meta: type: map description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - reads: + - fastq: + type: file + description: | + R1 and R2 FASTQ files + pattern: "*_{1,2}.fq.gz" + - fastq_interleaved: + type: file + description: | + Interleaved paired end FASTQ files + pattern: "*_interleaved.fq.gz" + - fastq_other: + type: file + description: | + FASTQ files with reads where the READ1 and READ2 FLAG bits set are either both set or both unset. + pattern: "*_other.fq.gz" + - fastq_singleton: type: file description: | - FASTQ files, which will be either a group of 4 files (read_1, read_2, other and singleton) - or a single interleaved .fq.gz file if the user chooses not to split the reads. - pattern: "*.fq.gz" + FASTQ files with singleton reads. + pattern: "*_singleton.fq.gz" - versions: type: file description: File containing software versions @@ -46,3 +74,4 @@ output: authors: - "@lescai" - "@maxulysse" + - "@matthdsm" diff --git a/modules/nf-core/samtools/convert/main.nf b/modules/nf-core/samtools/convert/main.nf index eea00179c6..ab4833a45e 100644 --- a/modules/nf-core/samtools/convert/main.nf +++ b/modules/nf-core/samtools/convert/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_CONVERT { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input), path(index) diff --git a/modules/nf-core/samtools/faidx/main.nf b/modules/nf-core/samtools/faidx/main.nf index ef940db279..2830963e88 100644 --- a/modules/nf-core/samtools/faidx/main.nf +++ b/modules/nf-core/samtools/faidx/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_FAIDX { tag "$fasta" label 'process_single' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/samtools/index/main.nf b/modules/nf-core/samtools/index/main.nf index e04e63e859..8577dc9df2 100644 --- a/modules/nf-core/samtools/index/main.nf +++ b/modules/nf-core/samtools/index/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_INDEX { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/merge/main.nf b/modules/nf-core/samtools/merge/main.nf index 91f141166c..89dd072a9f 100644 --- a/modules/nf-core/samtools/merge/main.nf +++ b/modules/nf-core/samtools/merge/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_MERGE { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input_files, stageAs: "?/*") diff --git a/modules/nf-core/samtools/mpileup/main.nf b/modules/nf-core/samtools/mpileup/main.nf index fe8e32b4ce..6c6b1bf61d 100644 --- a/modules/nf-core/samtools/mpileup/main.nf +++ b/modules/nf-core/samtools/mpileup/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_MPILEUP { tag "$meta.id" label 'process_single' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input), path(intervals) path fasta diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf index 9b0c386789..5d2fd68a04 100644 --- a/modules/nf-core/samtools/stats/main.nf +++ b/modules/nf-core/samtools/stats/main.nf @@ -2,10 +2,10 @@ process SAMTOOLS_STATS { tag "$meta.id" label 'process_single' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input), path(input_index) diff --git a/modules/nf-core/samtools/view/main.nf b/modules/nf-core/samtools/view/main.nf index 59ded5c3b8..314c8b729d 100644 --- a/modules/nf-core/samtools/view/main.nf +++ b/modules/nf-core/samtools/view/main.nf @@ -2,19 +2,24 @@ process SAMTOOLS_VIEW { tag "$meta.id" label 'process_low' - conda (params.enable_conda ? "bioconda::samtools=1.15.1" : null) + conda (params.enable_conda ? "bioconda::samtools=1.16.1" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : - 'quay.io/biocontainers/samtools:1.15.1--h1170115_0' }" + 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' : + 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }" input: tuple val(meta), path(input), path(index) path fasta + path qname output: - tuple val(meta), path("*.bam") , emit: bam , optional: true - tuple val(meta), path("*.cram"), emit: cram, optional: true - path "versions.yml" , emit: versions + tuple val(meta), path("*.bam"), emit: bam, optional: true + tuple val(meta), path("*.cram"), emit: cram, optional: true + tuple val(meta), path("*.sam"), emit: sam, optional: true + tuple val(meta), path("*.bai"), emit: bai, optional: true + tuple val(meta), path("*.csi"), emit: csi, optional: true + tuple val(meta), path("*.crai"), emit: crai, optional: true + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -23,18 +28,23 @@ process SAMTOOLS_VIEW { def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def reference = fasta ? "--reference ${fasta} -C" : "" - def file_type = input.getExtension() + def reference = fasta ? "--reference ${fasta}" : "" + def readnames = qname ? "--qname-file ${qname}": "" + def file_type = args.contains("--output-fmt sam") ? "sam" : + args.contains("--output-fmt bam") ? "bam" : + args.contains("--output-fmt cram") ? "cram" : + input.getExtension() if ("$input" == "${prefix}.${file_type}") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" """ samtools \\ view \\ --threads ${task.cpus-1} \\ ${reference} \\ + ${readnames} \\ $args \\ + -o ${prefix}.${file_type} \\ $input \\ - $args2 \\ - > ${prefix}.${file_type} + $args2 cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/samtools/view/samtools-view.diff b/modules/nf-core/samtools/view/samtools-view.diff deleted file mode 100644 index 1ee7b0c1ae..0000000000 --- a/modules/nf-core/samtools/view/samtools-view.diff +++ /dev/null @@ -1,54 +0,0 @@ -Changes in module 'nf-core/samtools/view' ---- modules/nf-core/samtools/view/main.nf -+++ modules/nf-core/samtools/view/main.nf -@@ -10,39 +10,31 @@ - input: - tuple val(meta), path(input), path(index) - path fasta -- path qname - - output: -- tuple val(meta), path("*.bam"), emit: bam, optional: true -- tuple val(meta), path("*.cram"), emit: cram, optional: true -- tuple val(meta), path("*.sam"), emit: sam, optional: true -- tuple val(meta), path("*.bai"), emit: bai, optional: true -- tuple val(meta), path("*.csi"), emit: csi, optional: true -- tuple val(meta), path("*.crai"), emit: crai, optional: true -- path "versions.yml", emit: versions -+ tuple val(meta), path("*.bam") , emit: bam , optional: true -+ tuple val(meta), path("*.cram"), emit: cram, optional: true -+ path "versions.yml" , emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - def args = task.ext.args ?: '' -+ def args2 = task.ext.args2 ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" -- def reference = fasta ? "--reference ${fasta}" : "" -- def readnames = qname ? "--qname-file ${qname}": "" -- def file_type = args.contains("--output-fmt sam") ? "sam" : -- args.contains("--output-fmt bam") ? "bam" : -- args.contains("--output-fmt cram") ? "cram" : -- input.getExtension() -+ def reference = fasta ? "--reference ${fasta} -C" : "" -+ def file_type = input.getExtension() - if ("$input" == "${prefix}.${file_type}") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" - """ - samtools \\ - view \\ - --threads ${task.cpus-1} \\ - ${reference} \\ -- ${readnames} \\ - $args \\ -- -o ${prefix}.${file_type} \\ -- $input -+ $input \\ -+ $args2 \\ -+ > ${prefix}.${file_type} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - -************************************************************ diff --git a/modules/nf-core/tiddit/sv/main.nf b/modules/nf-core/tiddit/sv/main.nf index 2e876ef1ae..7faefa99c7 100644 --- a/modules/nf-core/tiddit/sv/main.nf +++ b/modules/nf-core/tiddit/sv/main.nf @@ -2,15 +2,15 @@ process TIDDIT_SV { tag "$meta.id" label 'process_medium' - conda (params.enable_conda ? "bioconda::tiddit=3.1.0" : null) + conda (params.enable_conda ? "bioconda::tiddit=3.3.2" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/tiddit:3.1.0--py39h59fae87_1' : - 'quay.io/biocontainers/tiddit:3.1.0--py39h59fae87_1' }" + 'https://depot.galaxyproject.org/singularity/tiddit:3.3.2--py310hc2b7f4b_0' : + 'quay.io/biocontainers/tiddit:3.3.2--py310hc2b7f4b_0' }" input: tuple val(meta), path(input), path(input_index) - path fasta - path bwa_index + tuple val(meta2), path(fasta) + tuple val(meta3), path(bwa_index) output: tuple val(meta), path("*.vcf") , emit: vcf diff --git a/subworkflows/local/bam_convert_samtools/main.nf b/subworkflows/local/bam_convert_samtools/main.nf index 52e49ffc3e..d2d5410bbf 100644 --- a/subworkflows/local/bam_convert_samtools/main.nf +++ b/subworkflows/local/bam_convert_samtools/main.nf @@ -16,22 +16,23 @@ workflow BAM_CONVERT_SAMTOOLS { input // channel: [meta, alignment (BAM or CRAM), index (optional)] fasta // optional: reference file if CRAM format and reference not in header fasta_fai + interleaved // value: true/false main: ch_versions = Channel.empty() // Index File if not PROVIDED -> this also requires updates to samtools view possibly URGH // MAP - MAP - SAMTOOLS_VIEW_MAP_MAP(input, fasta) + SAMTOOLS_VIEW_MAP_MAP(input, fasta[1], []) // UNMAP - UNMAP - SAMTOOLS_VIEW_UNMAP_UNMAP(input, fasta) + SAMTOOLS_VIEW_UNMAP_UNMAP(input, fasta[1], []) // UNMAP - MAP - SAMTOOLS_VIEW_UNMAP_MAP(input, fasta) + SAMTOOLS_VIEW_UNMAP_MAP(input, fasta[1], []) // MAP - UNMAP - SAMTOOLS_VIEW_MAP_UNMAP(input, fasta) + SAMTOOLS_VIEW_MAP_UNMAP(input, fasta[1], []) // Merge UNMAP all_unmapped_bam = SAMTOOLS_VIEW_UNMAP_UNMAP.out.bam @@ -41,29 +42,21 @@ workflow BAM_CONVERT_SAMTOOLS { [meta, [unmap_unmap, unmap_map, map_unmap]] } - SAMTOOLS_MERGE_UNMAP(all_unmapped_bam, fasta, fasta_fai) + SAMTOOLS_MERGE_UNMAP(all_unmapped_bam, fasta[1], fasta_fai) // Collate & convert unmapped - COLLATE_FASTQ_UNMAP(SAMTOOLS_MERGE_UNMAP.out.bam) + COLLATE_FASTQ_UNMAP(SAMTOOLS_MERGE_UNMAP.out.bam, fasta, interleaved) // Collate & convert mapped - COLLATE_FASTQ_MAP(SAMTOOLS_VIEW_MAP_MAP.out.bam) + COLLATE_FASTQ_MAP(SAMTOOLS_VIEW_MAP_MAP.out.bam, fasta, interleaved) // join Mapped & unmapped fastq - unmapped_reads = COLLATE_FASTQ_UNMAP.out.reads - .map{ meta, reads_R1_R2, reads_other, reads_singleton -> - [meta, reads_R1_R2] - } - - mapped_reads = COLLATE_FASTQ_MAP.out.reads - .map{ meta, reads_R1_R2, reads_other, reads_singleton -> - [meta, reads_R1_R2] - } - reads_to_concat = mapped_reads.join(unmapped_reads) - .map{ meta, mapped_reads, unmapped_reads -> - [meta, [mapped_reads[0], mapped_reads[1], unmapped_reads[0], unmapped_reads[1]]] - } + reads_to_concat = COLLATE_FASTQ_MAP.out.fastq + .join(COLLATE_FASTQ_UNMAP.out.fastq) + .map{ meta, mapped_reads, unmapped_reads -> + [meta, [mapped_reads[0], mapped_reads[1], unmapped_reads[0], unmapped_reads[1]]] + } // Concatenate Mapped_R1 with Unmapped_R1 and Mapped_R2 with Unmapped_R2 CAT_FASTQ(reads_to_concat) diff --git a/subworkflows/local/bam_variant_calling_germline_all/main.nf b/subworkflows/local/bam_variant_calling_germline_all/main.nf index ccc61add81..2c55e18f44 100644 --- a/subworkflows/local/bam_variant_calling_germline_all/main.nf +++ b/subworkflows/local/bam_variant_calling_germline_all/main.nf @@ -215,7 +215,7 @@ workflow BAM_VARIANT_CALLING_GERMLINE_ALL { if (tools.split(',').contains('tiddit')){ BAM_VARIANT_CALLING_SINGLE_TIDDIT( cram_recalibrated, - fasta, + fasta.map{ it -> [[id:it[0].baseName], it] }, bwa ) diff --git a/subworkflows/local/bam_variant_calling_somatic_all/main.nf b/subworkflows/local/bam_variant_calling_somatic_all/main.nf index 50b5c734fc..c53a8cb37d 100644 --- a/subworkflows/local/bam_variant_calling_somatic_all/main.nf +++ b/subworkflows/local/bam_variant_calling_somatic_all/main.nf @@ -273,7 +273,7 @@ workflow BAM_VARIANT_CALLING_SOMATIC_ALL { [meta, tumor_cram, tumor_crai] } - BAM_VARIANT_CALLING_SOMATIC_TIDDIT(cram_normal, cram_tumor, fasta, bwa) + BAM_VARIANT_CALLING_SOMATIC_TIDDIT(cram_normal, cram_tumor, fasta.map{ it -> [[id:it[0].baseName], it] }, bwa) tiddit_vcf = BAM_VARIANT_CALLING_SOMATIC_TIDDIT.out.tiddit_vcf ch_versions = ch_versions.mix(BAM_VARIANT_CALLING_SOMATIC_TIDDIT.out.versions) } diff --git a/subworkflows/local/bam_variant_calling_tumor_only_all/main.nf b/subworkflows/local/bam_variant_calling_tumor_only_all/main.nf index 1155eaf831..a0c700fbab 100644 --- a/subworkflows/local/bam_variant_calling_tumor_only_all/main.nf +++ b/subworkflows/local/bam_variant_calling_tumor_only_all/main.nf @@ -199,7 +199,7 @@ workflow BAM_VARIANT_CALLING_TUMOR_ONLY_ALL { BAM_VARIANT_CALLING_SINGLE_TIDDIT( cram_recalibrated, - fasta, + fasta.map{ it -> [[id:it[0].baseName], it] }, bwa ) diff --git a/subworkflows/local/fastq_align_bwamem_mem2_dragmap/main.nf b/subworkflows/local/fastq_align_bwamem_mem2_dragmap/main.nf index 7eebe0f900..5b145ae56b 100644 --- a/subworkflows/local/fastq_align_bwamem_mem2_dragmap/main.nf +++ b/subworkflows/local/fastq_align_bwamem_mem2_dragmap/main.nf @@ -20,9 +20,9 @@ workflow FASTQ_ALIGN_BWAMEM_MEM2_DRAGMAP { ch_reports = Channel.empty() // Only one of the following should be run - BWAMEM1_MEM(ch_reads, ch_map_index, sort) // If aligner is bwa-mem + BWAMEM1_MEM(ch_reads, ch_map_index.map{ it -> [[id:it[0].baseName], it] }, sort) // If aligner is bwa-mem BWAMEM2_MEM(ch_reads, ch_map_index.map{ it -> [[id:it[0].baseName], it] }, sort) // If aligner is bwa-mem2 - DRAGMAP_ALIGN(ch_reads, ch_map_index, sort) // If aligner is dragmap + DRAGMAP_ALIGN(ch_reads, ch_map_index.map{ it -> [[id:it[0].baseName], it] }, sort) // If aligner is dragmap // Get the bam files from the aligner // Only one aligner is run diff --git a/subworkflows/local/prepare_genome/main.nf b/subworkflows/local/prepare_genome/main.nf index e97e2c4469..14e556a101 100644 --- a/subworkflows/local/prepare_genome/main.nf +++ b/subworkflows/local/prepare_genome/main.nf @@ -45,9 +45,9 @@ workflow PREPARE_GENOME { ch_versions = Channel.empty() - BWAMEM1_INDEX(fasta) // If aligner is bwa-mem + BWAMEM1_INDEX(fasta.map{ it -> [[id:it[0].baseName], it] }) // If aligner is bwa-mem BWAMEM2_INDEX(fasta.map{ it -> [[id:it[0].baseName], it] }) // If aligner is bwa-mem2 - DRAGMAP_HASHTABLE(fasta) // If aligner is dragmap + DRAGMAP_HASHTABLE(fasta.map{ it -> [[id:it[0].baseName], it] }) // If aligner is dragmap GATK4_CREATESEQUENCEDICTIONARY(fasta) MSISENSORPRO_SCAN(fasta.map{ it -> [[id:it[0].baseName], it] }) @@ -102,6 +102,7 @@ workflow PREPARE_GENOME { ch_versions = ch_versions.mix(SAMTOOLS_FAIDX.out.versions) ch_versions = ch_versions.mix(BWAMEM1_INDEX.out.versions) ch_versions = ch_versions.mix(BWAMEM2_INDEX.out.versions) + ch_versions = ch_versions.mix(DRAGMAP_HASHTABLE.out.versions) ch_versions = ch_versions.mix(GATK4_CREATESEQUENCEDICTIONARY.out.versions) ch_versions = ch_versions.mix(MSISENSORPRO_SCAN.out.versions) ch_versions = ch_versions.mix(TABIX_DBSNP.out.versions) @@ -111,17 +112,17 @@ workflow PREPARE_GENOME { ch_versions = ch_versions.mix(TABIX_PON.out.versions) emit: - bwa = BWAMEM1_INDEX.out.index // path: bwa/* - bwamem2 = BWAMEM2_INDEX.out.index.map{ meta, index -> [index] }.collect() // path: bwamem2/* - hashtable = DRAGMAP_HASHTABLE.out.hashmap // path: dragmap/* - dbsnp_tbi = TABIX_DBSNP.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: dbsnb.vcf.gz.tbi - dict = GATK4_CREATESEQUENCEDICTIONARY.out.dict // path: genome.fasta.dict - fasta_fai = SAMTOOLS_FAIDX.out.fai.map{ meta, fai -> [fai] } // path: genome.fasta.fai - germline_resource_tbi = TABIX_GERMLINE_RESOURCE.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: germline_resource.vcf.gz.tbi - known_snps_tbi = TABIX_KNOWN_SNPS.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: {known_indels*}.vcf.gz.tbi - known_indels_tbi = TABIX_KNOWN_INDELS.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: {known_indels*}.vcf.gz.tbi - msisensorpro_scan = MSISENSORPRO_SCAN.out.list.map{ meta, list -> [list] } // path: genome_msi.list - pon_tbi = TABIX_PON.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: pon.vcf.gz.tbi + bwa = BWAMEM1_INDEX.out.index.map{ meta, index -> [index] }.collect() // path: bwa/* + bwamem2 = BWAMEM2_INDEX.out.index.map{ meta, index -> [index] }.collect() // path: bwamem2/* + hashtable = DRAGMAP_HASHTABLE.out.hashmap.map{ meta, index -> [index] }.collect() // path: dragmap/* + dbsnp_tbi = TABIX_DBSNP.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: dbsnb.vcf.gz.tbi + dict = GATK4_CREATESEQUENCEDICTIONARY.out.dict // path: genome.fasta.dict + fasta_fai = SAMTOOLS_FAIDX.out.fai.map{ meta, fai -> [fai] } // path: genome.fasta.fai + germline_resource_tbi = TABIX_GERMLINE_RESOURCE.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: germline_resource.vcf.gz.tbi + known_snps_tbi = TABIX_KNOWN_SNPS.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: {known_indels*}.vcf.gz.tbi + known_indels_tbi = TABIX_KNOWN_INDELS.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: {known_indels*}.vcf.gz.tbi + msisensorpro_scan = MSISENSORPRO_SCAN.out.list.map{ meta, list -> [list] } // path: genome_msi.list + pon_tbi = TABIX_PON.out.tbi.map{ meta, tbi -> [tbi] }.collect() // path: pon.vcf.gz.tbi chr_files = chr_files allele_files = allele_files loci_files = loci_files diff --git a/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf b/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf index 45ba1b72ae..d77d3aabf1 100644 --- a/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf +++ b/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf @@ -12,7 +12,7 @@ workflow VCF_QC_BCFTOOLS_VCFTOOLS { ch_versions = Channel.empty() - BCFTOOLS_STATS(vcf, []) + BCFTOOLS_STATS(vcf.map{meta, vcf -> [meta, vcf, []]}, [], [], []) VCFTOOLS_TSTV_COUNT(vcf, target_bed, []) VCFTOOLS_TSTV_QUAL(vcf, target_bed, []) VCFTOOLS_SUMMARY(vcf, target_bed, []) diff --git a/tests/test_aligner_dragmap.yml b/tests/test_aligner_dragmap.yml index 6650f8aef1..0df9339fe3 100644 --- a/tests/test_aligner_dragmap.yml +++ b/tests/test_aligner_dragmap.yml @@ -1,5 +1,5 @@ - name: Run dragmap - command: nextflow run main.nf -profile test,docker --aligner dragmap --save_reference + command: nextflow run main.nf -profile test --aligner dragmap --save_reference tags: - aligner - dragmap diff --git a/tests/test_deepvariant.yml b/tests/test_deepvariant.yml index 5cc462a74a..987a784d43 100644 --- a/tests/test_deepvariant.yml +++ b/tests/test_deepvariant.yml @@ -7,13 +7,13 @@ files: - path: results/multiqc - path: results/reports/bcftools/deepvariant/sample1/sample1.deepvariant.bcftools_stats.txt - md5sum: 433aa535e9ce72acddca7be36b12238b + md5sum: b439cca4aa3ff9d28c9091e384128e54 - path: results/reports/vcftools/deepvariant/sample1/sample1.deepvariant.FILTER.summary - md5sum: f97d30123c7e20c704e9a8a73170661e + md5sum: 6830ef43decc97aee6a32ad4626ff0d7 - path: results/reports/vcftools/deepvariant/sample1/sample1.deepvariant.TsTv.count - md5sum: 1f546d259ddc493736507b35ee520dc4 + md5sum: 4479b87635bdaad485af00949fe5f999 - path: results/reports/vcftools/deepvariant/sample1/sample1.deepvariant.TsTv.qual - md5sum: 437d6a802b10f05fa1601166eb6b7d48 + md5sum: 9aa8f0b60b0beeda80f2203afe84da99 - path: results/variant_calling/deepvariant/sample1/sample1.deepvariant.g.vcf.gz # binary changes md5sums on reruns. - path: results/variant_calling/deepvariant/sample1/sample1.deepvariant.g.vcf.gz.tbi @@ -40,13 +40,13 @@ - path: results/no_intervals.bed.gz.tbi md5sum: f3dac01ea66b95fe477446fde2d31489 - path: results/reports/bcftools/deepvariant/sample1/sample1.deepvariant.bcftools_stats.txt - md5sum: 0d8602284347cb5acf1c264a301f5093 + md5sum: 0433be69ade0cd64b4adc1b51d8c3530 - path: results/reports/vcftools/deepvariant/sample1/sample1.deepvariant.FILTER.summary - md5sum: cffb486232d067db80616c3129bf1322 + md5sum: a23f59a596d6c4715401730bb64a13d9 - path: results/reports/vcftools/deepvariant/sample1/sample1.deepvariant.TsTv.count - md5sum: bbd541f33c490df06fee5feb2f6e2c7f + md5sum: b47b737f8838b4879d629d1d7c2429fc - path: results/reports/vcftools/deepvariant/sample1/sample1.deepvariant.TsTv.qual - md5sum: 037063e030edec5fb4e784b1f6c8954f + md5sum: 099766a58050c7a709602e4519ec4705 - path: results/variant_calling/deepvariant/sample1/sample1.deepvariant.g.vcf.gz # binary changes md5sums on reruns. - path: results/variant_calling/deepvariant/sample1/sample1.deepvariant.g.vcf.gz.tbi diff --git a/tests/test_gatk4_spark.yml b/tests/test_gatk4_spark.yml index 6b8e3a2f83..92bd5e7d21 100644 --- a/tests/test_gatk4_spark.yml +++ b/tests/test_gatk4_spark.yml @@ -12,15 +12,15 @@ md5sum: 2d29d9e53894dcce96a1b5beb6ef3312 - path: results/multiqc - path: results/preprocessing/markduplicates/test/test.md.cram - md5sum: cf0ebfe288ee7164cd2fcd028bda1887 + md5sum: b1338daf0d2f85c42fdc1bf12764bcae - path: results/preprocessing/markduplicates/test/test.md.cram.crai - md5sum: 2136b37eca3e806c77c39ee823231679 + md5sum: 4f249f7b2492c37fd2186b02f7e5b03c - path: results/preprocessing/recal_table/test/test.recal.table md5sum: 5b6e5078b4a90f6cb982fa0f0df616c2 - path: results/preprocessing/recalibrated/test/test.recal.cram - md5sum: 1c168110f006bacba2ed8783bb5a3dee + md5sum: f56bee4375f79298fbdcdc2b3a5f2013 - path: results/preprocessing/recalibrated/test/test.recal.cram.crai - md5sum: 1c91543c9f75bc354274b1a1da745ee3 + md5sum: 1441e62e7cff530cb71df158693651c7 - path: results/reports/fastqc/test-test_L1 - path: results/reports/markduplicates/test/test.md.cram.metrics # The text-based output-file test.md.cram.metrics only contains comments and no metrics, which is a bit odd. @@ -63,15 +63,15 @@ - path: results/csv/recalibrated.csv md5sum: 2d29d9e53894dcce96a1b5beb6ef3312 - path: results/preprocessing/markduplicates/test/test.md.cram - md5sum: cf0ebfe288ee7164cd2fcd028bda1887 + md5sum: b1338daf0d2f85c42fdc1bf12764bcae - path: results/preprocessing/markduplicates/test/test.md.cram.crai - md5sum: 2136b37eca3e806c77c39ee823231679 + md5sum: 4f249f7b2492c37fd2186b02f7e5b03c - path: results/preprocessing/recal_table/test/test.recal.table md5sum: 5b6e5078b4a90f6cb982fa0f0df616c2 - path: results/preprocessing/recalibrated/test/test.recal.cram - md5sum: 1c168110f006bacba2ed8783bb5a3dee + md5sum: f56bee4375f79298fbdcdc2b3a5f2013 - path: results/preprocessing/recalibrated/test/test.recal.cram.crai - md5sum: 1c91543c9f75bc354274b1a1da745ee3 + md5sum: 1441e62e7cff530cb71df158693651c7 - path: results/multiqc should_exist: false - path: results/reports/fastqc diff --git a/tests/test_haplotypecaller.yml b/tests/test_haplotypecaller.yml index 0d13eb3650..39ec5b22d1 100644 --- a/tests/test_haplotypecaller.yml +++ b/tests/test_haplotypecaller.yml @@ -17,7 +17,7 @@ - path: results/preprocessing/recalibrated/test/test.recal.cram.crai should_exist: false - path: results/reports/bcftools/haplotypecaller/test/test.haplotypecaller.filtered.bcftools_stats.txt - md5sum: f9cc3809106a42601eafd3b09900750a + md5sum: 81df44406e8c015ba45be5cbf53760c8 - path: results/reports/vcftools/haplotypecaller/test/test.haplotypecaller.filtered.FILTER.summary md5sum: 4e2ceea7f3ff998004691fd71192d9ee - path: results/reports/vcftools/haplotypecaller/test/test.haplotypecaller.filtered.TsTv.count @@ -60,7 +60,7 @@ - path: results/preprocessing/recalibrated/test/test.recal.cram.crai should_exist: false - path: results/reports/bcftools/haplotypecaller/test/test.haplotypecaller.filtered.bcftools_stats.txt - md5sum: f9cc3809106a42601eafd3b09900750a + md5sum: 81df44406e8c015ba45be5cbf53760c8 - path: results/reports/vcftools/haplotypecaller/test/test.haplotypecaller.filtered.FILTER.summary md5sum: 4e2ceea7f3ff998004691fd71192d9ee - path: results/reports/vcftools/haplotypecaller/test/test.haplotypecaller.filtered.TsTv.count @@ -92,7 +92,7 @@ - path: results/preprocessing/recalibrated/test/test.recal.cram.crai should_exist: false - path: results/reports/bcftools/haplotypecaller/joint_variant_calling/joint_germline.bcftools_stats.txt - md5sum: f91f185319e00108870911e0ce1a7ed6 + md5sum: 86b04ea7a8c3c4b8d217a42e868a4f46 - path: results/reports/vcftools/haplotypecaller/joint_variant_calling/joint_germline.FILTER.summary md5sum: 2a4eb7abfb2e64e45d53fdda17530b7f - path: results/reports/vcftools/haplotypecaller/joint_variant_calling/joint_germline.TsTv.count diff --git a/tests/test_markduplicates_from_cram.yml b/tests/test_markduplicates_from_cram.yml index 1accab1b5e..d0f8ab9d9e 100644 --- a/tests/test_markduplicates_from_cram.yml +++ b/tests/test_markduplicates_from_cram.yml @@ -66,7 +66,7 @@ - path: results/preprocessing/recalibrated/test/test.recal.cram # binary changes md5sums on reruns. - path: results/preprocessing/recalibrated/test/test.recal.cram.crai - md5sum: adac39d7845f64f6b35b766751393b06 + md5sum: feb197ae262a1f95ea54a118e949342e - path: results/reports/mosdepth/test/test.recal.mosdepth.global.dist.txt md5sum: bdb8f185c35dd1eec7ce2f69bce57972 - path: results/reports/mosdepth/test/test.recal.mosdepth.region.dist.txt diff --git a/tests/test_tiddit.yml b/tests/test_tiddit.yml index 2c7a51d0d3..7c8169b934 100644 --- a/tests/test_tiddit.yml +++ b/tests/test_tiddit.yml @@ -25,7 +25,7 @@ - path: results/reports/vcftools/tiddit/sample4_vs_sample3/sample4_vs_sample3.tiddit_sv_merge.TsTv.qual md5sum: bc68ae4e688e9fb772b457069e604883 - path: results/variant_calling/tiddit/sample3/sample3.tiddit.ploidies.tab - md5sum: d65f8aa5bb136f77c23264640481f047 + md5sum: fcfd2ecf6e7eef532e072757354c8a90 - path: results/variant_calling/tiddit/sample3/sample3.tiddit.vcf.gz # conda changes md5sums for test. - path: results/variant_calling/tiddit/sample3/sample3.tiddit.vcf.gz.tbi @@ -63,7 +63,7 @@ - path: results/reports/vcftools/tiddit/sample1/sample1.tiddit.TsTv.qual md5sum: bc68ae4e688e9fb772b457069e604883 - path: results/variant_calling/tiddit/sample1/sample1.tiddit.ploidies.tab - md5sum: d65f8aa5bb136f77c23264640481f047 + md5sum: fcfd2ecf6e7eef532e072757354c8a90 - path: results/variant_calling/tiddit/sample1/sample1.tiddit.vcf.gz # conda changes md5sums for test. - path: results/variant_calling/tiddit/sample1/sample1.tiddit.vcf.gz.tbi @@ -89,7 +89,7 @@ - path: results/reports/vcftools/tiddit/sample2/sample2.tiddit.TsTv.qual md5sum: bc68ae4e688e9fb772b457069e604883 - path: results/variant_calling/tiddit/sample2/sample2.tiddit.ploidies.tab - md5sum: 0f01874e20df10ecc7418d4537c7aa82 + md5sum: 5c5d70295c3957990502cb692e07a965 - path: results/variant_calling/tiddit/sample2/sample2.tiddit.vcf.gz # conda changes md5sums for test. - path: results/variant_calling/tiddit/sample2/sample2.tiddit.vcf.gz.tbi diff --git a/tests/test_umi.yml b/tests/test_umi.yml index 5ddacea421..2fc76175cb 100644 --- a/tests/test_umi.yml +++ b/tests/test_umi.yml @@ -47,9 +47,9 @@ - path: results/reports/mosdepth/test/test.recal.regions.bed.gz.csi md5sum: d0713716f63ac573f4a3385733e9a537 - path: results/reports/samtools/test/test.md.cram.stats - md5sum: 9c424aaae1d200f67a1ecc3e55ad5a6a + md5sum: f8a2f99e2bf353b8691c1f252a8ef30e - path: results/reports/samtools/test/test.recal.cram.stats - md5sum: e64175125c512651b2819ced400bc846 + md5sum: 44cb4ed98f9b18f8522c537264bb69d0 # - name: Run UMI TSO test # command: nextflow run main.nf -profile test,umi_tso # tags: diff --git a/workflows/sarek.nf b/workflows/sarek.nf index 682f4aaf91..6ac4d8f1e3 100644 --- a/workflows/sarek.nf +++ b/workflows/sarek.nf @@ -389,7 +389,10 @@ workflow SAREK { // convert any bam input to fastq // Fasta are not needed when converting bam to fastq -> [] - CONVERT_FASTQ_INPUT(ch_input_sample_type.bam, [], []) + CONVERT_FASTQ_INPUT(ch_input_sample_type.bam, + [[id:"fasta"], []], // fasta + [], // fasta_fai + false) // Currently don't allow interleaved input // gather fastq (inputed or converted) // Theorically this could work on mixed input (fastq for one sample and bam for another) @@ -422,7 +425,10 @@ workflow SAREK { bamtofastq = FASTQ_CREATE_UMI_CONSENSUS_FGBIO.out.consensusbam.map{meta, bam -> [meta,bam,[]]} // convert back to fastq for further preprocessing - CONVERT_FASTQ_UMI(bamtofastq, [], []) + CONVERT_FASTQ_UMI(bamtofastq, + [[id:"fasta"], []], // fasta + [], // fasta_fai + false) // Currently don't allow interleaved input ch_reads_fastp = CONVERT_FASTQ_UMI.out.reads @@ -438,7 +444,10 @@ workflow SAREK { save_trimmed_fail = false save_merged = false - FASTP(ch_reads_fastp, save_trimmed_fail, save_merged) + FASTP(ch_reads_fastp, + [], // we are not using any adapter fastas at the moment + save_trimmed_fail, + save_merged) ch_reports = ch_reports.mix( FASTP.out.json.collect{meta, json -> json}, @@ -934,7 +943,7 @@ workflow SAREK { BAM_VARIANT_CALLING_GERMLINE_ALL( params.tools, ch_cram_variant_calling_status_normal, - [], //bwa_index for tiddit; not used here + [[id:"bwa"],[]], //bwa_index for tiddit; not used here dbsnp, dbsnp_tbi, dict, @@ -953,7 +962,7 @@ workflow SAREK { BAM_VARIANT_CALLING_TUMOR_ONLY_ALL( params.tools, ch_cram_variant_calling_tumor_only, - [], //bwa_index for tiddit; not used here + [[id:"bwa"],[]], //bwa_index for tiddit; not used here cf_chrom_len, chr_files, cnvkit_reference, @@ -976,7 +985,7 @@ workflow SAREK { BAM_VARIANT_CALLING_SOMATIC_ALL( params.tools, ch_cram_variant_calling_pair, - [], //bwa_index for tiddit; not used here + [[id:"bwa"],[]], //bwa_index for tiddit; not used here cf_chrom_len, chr_files, dbsnp,