diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e6e0606..aebf177d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#427](https://github.com/nf-core/funcscan/pull/427) AMPcombi now can use multiple other databases for classifications. (by @darcy220606) - [#429](https://github.com/nf-core/funcscan/pull/429) Updated to nf-core template 3.1.0. (by @jfy133 and @jasmezz) - [#433](https://github.com/nf-core/funcscan/pull/433) Updated to nf-core template 3.1.1. (by @jfy133) +- [#431](https://github.com/nf-core/funcscan/pull/431) Updated AMPcombi, Macrel, all MMseqs2 modules, MultiQC, Pyrodigal, and seqkit, added `--taxa_classification_mmseqs_compressed` parameter. (by @jasmezz) ### `Fixed` @@ -21,11 +22,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Dependencies` -| Tool | Previous version | New version | -| -------- | ---------------- | ----------- | -| AMPcombi | 0.2.2 | 2.0.1 | -| Macrel | 1.2.0 | 1.4.0 | -| MultiQC | 1.24.0 | 1.25.1 | +| Tool | Previous version | New version | +| --------- | ---------------- | ----------- | +| AMPcombi | 0.2.2 | 2.0.1 | +| Macrel | 1.2.0 | 1.4.0 | +| MMseqs2 | 15.6f452 | 17.b804f | +| MultiQC | 1.24.0 | 1.26 | +| Pyrodigal | 3.3.0 | 3.6.3 | +| seqkit | 2.8.1 | 2.9.0 | ### `Deprecated` @@ -105,7 +109,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | GECCO | 0.9.8 | 0.9.10 | | hAMRonization | 1.1.1 | 1.1.4 | | HMMER | 3.3.2 | 3.4 | -| MMSeqs | NA | 2:15.6f452 | +| MMseqs2 | NA | 15.6f452 | | MultiQC | 1.15 | 1.24 | | Pyrodigal | 2.1.0 | 3.3.0 | | RGI | 5.2.1 | 6.0.3 | diff --git a/conf/base.config b/conf/base.config index d6e451de..68f87c98 100644 --- a/conf/base.config +++ b/conf/base.config @@ -156,6 +156,7 @@ process { withName: ANTISMASH_ANTISMASHLITEDOWNLOADDATABASES { memory = { 4.GB * task.attempt } cpus = 1 + time = { 2.h * task.attempt } } withName: DEEPBGC_DOWNLOAD { diff --git a/conf/modules.config b/conf/modules.config index 7999b58a..adb8869c 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -41,7 +41,8 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] ext.args = [ - params.taxa_classification_mmseqs_db_savetmp ? "" : "--remove-tmp-files" + params.taxa_classification_mmseqs_db_savetmp ? "" : "--remove-tmp-files", + "--compressed ${params.taxa_classification_mmseqs_compressed}" ].join(' ').trim() } @@ -52,6 +53,9 @@ process { enabled: params.save_db, saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] + ext.args = [ + "--compressed ${params.taxa_classification_mmseqs_compressed}" + ].join(' ').trim() } withName: MMSEQS_TAXONOMY { @@ -70,6 +74,7 @@ process { "--orf-filter-s ${params.taxa_classification_mmseqs_taxonomy_orffilters}", "--lca-mode ${params.taxa_classification_mmseqs_taxonomy_lcamode}", "--vote-mode ${params.taxa_classification_mmseqs_taxonomy_votemode}", + "--compressed ${params.taxa_classification_mmseqs_compressed}" ].join(' ').trim() } @@ -81,6 +86,9 @@ process { pattern: "*.tsv", saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] + ext.args = [ + "--compressed ${params.taxa_classification_mmseqs_compressed}" + ].join(' ').trim() } withName: SEQKIT_SEQ { diff --git a/modules.json b/modules.json index bd233dd2..2ed71484 100644 --- a/modules.json +++ b/modules.json @@ -22,7 +22,7 @@ }, "ampcombi2/parsetables": { "branch": "master", - "git_sha": "993865fe60cb1569155fbbbe0cee113e1127abaf", + "git_sha": "0e9cb409c32d3ec4f0d3804588e4778971c09b7e", "installed_by": ["modules"] }, "ampir": { @@ -32,7 +32,7 @@ }, "amplify/predict": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "ce35ce92566b3328b405253543b9b2b4d4e5f4f7", "installed_by": ["modules"] }, "amrfinderplus/run": { @@ -62,7 +62,7 @@ }, "bakta/bakta": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "0e9cb409c32d3ec4f0d3804588e4778971c09b7e", "installed_by": ["modules"] }, "bakta/baktadbdownload": { @@ -82,12 +82,12 @@ }, "deepbgc/download": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "ce35ce92566b3328b405253543b9b2b4d4e5f4f7", "installed_by": ["modules"] }, "deepbgc/pipeline": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "ce35ce92566b3328b405253543b9b2b4d4e5f4f7", "installed_by": ["modules"] }, "fargene": { @@ -102,7 +102,7 @@ }, "gunzip": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "ce35ce92566b3328b405253543b9b2b4d4e5f4f7", "installed_by": ["modules"] }, "hamronization/abricate": { @@ -147,27 +147,27 @@ }, "mmseqs/createdb": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "2dc4c0474a77f5f8709eb970d890ad102e92af6f", "installed_by": ["modules"] }, "mmseqs/createtsv": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "2dc4c0474a77f5f8709eb970d890ad102e92af6f", "installed_by": ["modules"] }, "mmseqs/databases": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "2dc4c0474a77f5f8709eb970d890ad102e92af6f", "installed_by": ["modules"] }, "mmseqs/taxonomy": { "branch": "master", - "git_sha": "dc94b6ee04a05ddb9f7ae050712ff30a13149164", + "git_sha": "2dc4c0474a77f5f8709eb970d890ad102e92af6f", "installed_by": ["modules"] }, "multiqc": { "branch": "master", - "git_sha": "cf17ca47590cc578dfb47db1c2a44ef86f89976d", + "git_sha": "f80914f78fb7fa1c00b14cfeb29575ee12240d9c", "installed_by": ["modules"] }, "prodigal": { @@ -177,17 +177,17 @@ }, "prokka": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "bcfb2f7efd4444ab442ffc8a248afbd62bca5ae7", "installed_by": ["modules"] }, "pyrodigal": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "938e803109104e30773f76a7142442722498fef1", "installed_by": ["modules"] }, "rgi/cardannotation": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "3e548877f25a5980a177cc4f81d2d2e8c24164ef", "installed_by": ["modules"] }, "rgi/main": { @@ -197,7 +197,7 @@ }, "seqkit/seq": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "60645c2b45e56579de0a0c89416805cae44c1f46", "installed_by": ["modules"] }, "tabix/bgzip": { @@ -207,7 +207,7 @@ }, "untar": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "3e548877f25a5980a177cc4f81d2d2e8c24164ef", "installed_by": ["modules"], "patch": "modules/nf-core/untar/untar.diff" } diff --git a/modules/nf-core/ampcombi2/parsetables/meta.yml b/modules/nf-core/ampcombi2/parsetables/meta.yml index 14a0fd02..a8d1a4f7 100644 --- a/modules/nf-core/ampcombi2/parsetables/meta.yml +++ b/modules/nf-core/ampcombi2/parsetables/meta.yml @@ -176,7 +176,6 @@ output: - amp_${opt_amp_db}_database/*.fasta: type: file description: AMP reference database fasta file in clean format. - characters. pattern: "/amp_*_database/*.fasta" - db_mmseqs: - meta: diff --git a/modules/nf-core/ampcombi2/parsetables/tests/tags.yml b/modules/nf-core/ampcombi2/parsetables/tests/tags.yml new file mode 100644 index 00000000..b56b0468 --- /dev/null +++ b/modules/nf-core/ampcombi2/parsetables/tests/tags.yml @@ -0,0 +1,2 @@ +ampcombi2/parsetables: + - "modules/nf-core/ampcombi2/parsetables/**" diff --git a/modules/nf-core/amplify/predict/tests/main.nf.test b/modules/nf-core/amplify/predict/tests/main.nf.test index 835c409c..d9ca94ae 100644 --- a/modules/nf-core/amplify/predict/tests/main.nf.test +++ b/modules/nf-core/amplify/predict/tests/main.nf.test @@ -13,7 +13,7 @@ nextflow_process { test("AMPlify predict (with Prodigal) - sarscov2 - contigs.fasta") { - setup { + setup { run("PRODIGAL") { script "../../../prodigal/main.nf" process { @@ -31,7 +31,7 @@ nextflow_process { process { """ input[0] = PRODIGAL.out.amino_acid_fasta - + """ } } @@ -55,7 +55,7 @@ nextflow_process { } - test("AMPlify predict - stub") { + test("AMPlify predict (with Prodigal) - sarscov2 - contigs.fasta - stub") { options "-stub" diff --git a/modules/nf-core/amplify/predict/tests/main.nf.test.snap b/modules/nf-core/amplify/predict/tests/main.nf.test.snap index d70e80eb..9803e2b7 100644 --- a/modules/nf-core/amplify/predict/tests/main.nf.test.snap +++ b/modules/nf-core/amplify/predict/tests/main.nf.test.snap @@ -29,10 +29,10 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-04-05T12:58:56.67316521" + "timestamp": "2024-12-13T12:43:54.777959891" }, "AMPlify predict (with Prodigal) - sarscov2 - contigs.fasta": { "content": [ @@ -69,4 +69,4 @@ }, "timestamp": "2024-04-05T12:58:49.894554665" } -} \ No newline at end of file +} diff --git a/modules/nf-core/bakta/bakta/meta.yml b/modules/nf-core/bakta/bakta/meta.yml index f947e61b..7d734f28 100644 --- a/modules/nf-core/bakta/bakta/meta.yml +++ b/modules/nf-core/bakta/bakta/meta.yml @@ -103,7 +103,7 @@ output: - ${prefix}.hypotheticals.tsv: type: file description: additional information on hypothetical protein CDS as simple human - readble tab separated values + readable tab separated values pattern: "*.hypotheticals.tsv" - hypotheticals_faa: - meta: @@ -123,7 +123,7 @@ output: e.g. [ id:'test', single_end:false ] - ${prefix}.tsv: type: file - description: annotations as simple human readble tab separated values + description: annotations as simple human readable tab separated values pattern: "*.tsv" - txt: - meta: diff --git a/modules/nf-core/deepbgc/download/main.nf b/modules/nf-core/deepbgc/download/main.nf index b141142c..6818a135 100644 --- a/modules/nf-core/deepbgc/download/main.nf +++ b/modules/nf-core/deepbgc/download/main.nf @@ -2,13 +2,13 @@ process DEEPBGC_DOWNLOAD { label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/deepbgc:0.1.31--pyhca03a8a_0': - 'biocontainers/deepbgc:0.1.31--pyhca03a8a_0' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/deepbgc:0.1.31--pyhca03a8a_0' + : 'biocontainers/deepbgc:0.1.31--pyhca03a8a_0'}" output: - path "deepbgc_db/" , emit: db - path "versions.yml" , emit: versions + path "deepbgc_db/", emit: db + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -27,4 +27,14 @@ process DEEPBGC_DOWNLOAD { deepbgc: \$(echo \$(deepbgc info 2>&1 /dev/null/ | grep 'version' | cut -d " " -f3) ) END_VERSIONS """ + + stub: + """ + mkdir -p deepbgc_db + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + deepbgc: \$(echo \$(deepbgc info 2>&1 /dev/null/ | grep 'version' | cut -d " " -f3) ) + END_VERSIONS + """ } diff --git a/modules/nf-core/deepbgc/download/tests/main.nf.test b/modules/nf-core/deepbgc/download/tests/main.nf.test index a1c2c532..25db42ab 100644 --- a/modules/nf-core/deepbgc/download/tests/main.nf.test +++ b/modules/nf-core/deepbgc/download/tests/main.nf.test @@ -14,7 +14,6 @@ nextflow_process { when { process { """ - """ } } @@ -22,11 +21,27 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.db).match("db") }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot(process.out).match() } ) } - } + test("deepbgc download db - stub") { + + options "-stub" + + when { + process { + """ + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } } diff --git a/modules/nf-core/deepbgc/download/tests/main.nf.test.snap b/modules/nf-core/deepbgc/download/tests/main.nf.test.snap index b71c00ee..8d0c7fbb 100644 --- a/modules/nf-core/deepbgc/download/tests/main.nf.test.snap +++ b/modules/nf-core/deepbgc/download/tests/main.nf.test.snap @@ -1,39 +1,94 @@ { - "versions": { + "deepbgc download db - stub": { "content": [ - [ - "versions.yml:md5,4130f2ce0a4d43fc3d8e04f4935f908b" - ] + { + "0": [ + [ + + ] + ], + "1": [ + "versions.yml:md5,4130f2ce0a4d43fc3d8e04f4935f908b" + ], + "db": [ + [ + + ] + ], + "versions": [ + "versions.yml:md5,4130f2ce0a4d43fc3d8e04f4935f908b" + ] + } ], - "timestamp": "2023-12-04T13:10:01.115594047" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-16T13:16:09.517281467" }, - "db": { + "deepbgc download db": { "content": [ - [ - [ + { + "0": [ [ [ - "product_activity.pkl:md5,90f0c010460e9df882cb057664a49f30", - "product_class.pkl:md5,f78a2eda240403d2f40643d42202f3ac" + [ + "product_activity.pkl:md5,90f0c010460e9df882cb057664a49f30", + "product_class.pkl:md5,f78a2eda240403d2f40643d42202f3ac" + ], + [ + "clusterfinder_geneborder.pkl:md5,ca4be7031ae9f70780f17c616a4fa5b5", + "clusterfinder_original.pkl:md5,2ca2429bb9bc99a401d1093c376b37aa", + "clusterfinder_retrained.pkl:md5,65679a3b61c562ff4b84bdb574bb6d93", + "deepbgc.pkl:md5,7e9218be79ba45bc9adb23bed3845dc1" + ] ], [ - "clusterfinder_geneborder.pkl:md5,ca4be7031ae9f70780f17c616a4fa5b5", - "clusterfinder_original.pkl:md5,2ca2429bb9bc99a401d1093c376b37aa", - "clusterfinder_retrained.pkl:md5,65679a3b61c562ff4b84bdb574bb6d93", - "deepbgc.pkl:md5,7e9218be79ba45bc9adb23bed3845dc1" + "Pfam-A.31.0.clans.tsv:md5,a0a4590ffb2b33b83ef2b28f6ead886b", + "Pfam-A.31.0.hmm:md5,79a3328e4c95b13949a4489b19959fc5", + "Pfam-A.31.0.hmm.h3f:md5,cbca323cf8dd4e5e7c109114ec444162", + "Pfam-A.31.0.hmm.h3i:md5,5242332a3f6a60cd1ab634cd9331afd6", + "Pfam-A.31.0.hmm.h3m:md5,1fe946fa2b3bcde1d4b2bad732bce612", + "Pfam-A.31.0.hmm.h3p:md5,27b98a1ded123b6a1ef72db01927017c" ] - ], + ] + ], + "1": [ + "versions.yml:md5,4130f2ce0a4d43fc3d8e04f4935f908b" + ], + "db": [ [ - "Pfam-A.31.0.clans.tsv:md5,a0a4590ffb2b33b83ef2b28f6ead886b", - "Pfam-A.31.0.hmm:md5,79a3328e4c95b13949a4489b19959fc5", - "Pfam-A.31.0.hmm.h3f:md5,cbca323cf8dd4e5e7c109114ec444162", - "Pfam-A.31.0.hmm.h3i:md5,5242332a3f6a60cd1ab634cd9331afd6", - "Pfam-A.31.0.hmm.h3m:md5,1fe946fa2b3bcde1d4b2bad732bce612", - "Pfam-A.31.0.hmm.h3p:md5,27b98a1ded123b6a1ef72db01927017c" + [ + [ + "product_activity.pkl:md5,90f0c010460e9df882cb057664a49f30", + "product_class.pkl:md5,f78a2eda240403d2f40643d42202f3ac" + ], + [ + "clusterfinder_geneborder.pkl:md5,ca4be7031ae9f70780f17c616a4fa5b5", + "clusterfinder_original.pkl:md5,2ca2429bb9bc99a401d1093c376b37aa", + "clusterfinder_retrained.pkl:md5,65679a3b61c562ff4b84bdb574bb6d93", + "deepbgc.pkl:md5,7e9218be79ba45bc9adb23bed3845dc1" + ] + ], + [ + "Pfam-A.31.0.clans.tsv:md5,a0a4590ffb2b33b83ef2b28f6ead886b", + "Pfam-A.31.0.hmm:md5,79a3328e4c95b13949a4489b19959fc5", + "Pfam-A.31.0.hmm.h3f:md5,cbca323cf8dd4e5e7c109114ec444162", + "Pfam-A.31.0.hmm.h3i:md5,5242332a3f6a60cd1ab634cd9331afd6", + "Pfam-A.31.0.hmm.h3m:md5,1fe946fa2b3bcde1d4b2bad732bce612", + "Pfam-A.31.0.hmm.h3p:md5,27b98a1ded123b6a1ef72db01927017c" + ] ] + ], + "versions": [ + "versions.yml:md5,4130f2ce0a4d43fc3d8e04f4935f908b" ] - ] + } ], - "timestamp": "2023-12-04T13:09:47.229121097" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-16T13:15:16.323023111" } } \ No newline at end of file diff --git a/modules/nf-core/deepbgc/pipeline/main.nf b/modules/nf-core/deepbgc/pipeline/main.nf index fc72d238..1f93dff1 100644 --- a/modules/nf-core/deepbgc/pipeline/main.nf +++ b/modules/nf-core/deepbgc/pipeline/main.nf @@ -1,29 +1,29 @@ process DEEPBGC_PIPELINE { - tag "$meta.id" + tag "${meta.id}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/deepbgc:0.1.31--pyhca03a8a_0': - 'biocontainers/deepbgc:0.1.31--pyhca03a8a_0' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/deepbgc:0.1.31--pyhca03a8a_0' + : 'biocontainers/deepbgc:0.1.31--pyhca03a8a_0'}" input: tuple val(meta), path(genome) - path(db) + path db output: - tuple val(meta), path("${prefix}/README.txt") , optional: true, emit: readme - tuple val(meta), path("${prefix}/LOG.txt") , emit: log - tuple val(meta), path("${prefix}/${prefix}.antismash.json") , optional: true, emit: json - tuple val(meta), path("${prefix}/${prefix}.bgc.gbk") , optional: true, emit: bgc_gbk - tuple val(meta), path("${prefix}/${prefix}.bgc.tsv") , optional: true, emit: bgc_tsv - tuple val(meta), path("${prefix}/${prefix}.full.gbk") , optional: true, emit: full_gbk - tuple val(meta), path("${prefix}/${prefix}.pfam.tsv") , optional: true, emit: pfam_tsv - tuple val(meta), path("${prefix}/evaluation/${prefix}.bgc.png") , optional: true, emit: bgc_png - tuple val(meta), path("${prefix}/evaluation/${prefix}.pr.png") , optional: true, emit: pr_png - tuple val(meta), path("${prefix}/evaluation/${prefix}.roc.png") , optional: true, emit: roc_png - tuple val(meta), path("${prefix}/evaluation/${prefix}.score.png"), optional: true, emit: score_png - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}/README.txt"), optional: true, emit: readme + tuple val(meta), path("${prefix}/LOG.txt"), emit: log + tuple val(meta), path("${prefix}/${prefix}.antismash.json"), optional: true, emit: json + tuple val(meta), path("${prefix}/${prefix}.bgc.gbk"), optional: true, emit: bgc_gbk + tuple val(meta), path("${prefix}/${prefix}.bgc.tsv"), optional: true, emit: bgc_tsv + tuple val(meta), path("${prefix}/${prefix}.full.gbk"), optional: true, emit: full_gbk + tuple val(meta), path("${prefix}/${prefix}.pfam.tsv"), optional: true, emit: pfam_tsv + tuple val(meta), path("${prefix}/evaluation/${prefix}.bgc.png"), optional: true, emit: bgc_png + tuple val(meta), path("${prefix}/evaluation/${prefix}.pr.png"), optional: true, emit: pr_png + tuple val(meta), path("${prefix}/evaluation/${prefix}.roc.png"), optional: true, emit: roc_png + tuple val(meta), path("${prefix}/evaluation/${prefix}.score.png"), optional: true, emit: score_png + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -36,8 +36,8 @@ process DEEPBGC_PIPELINE { deepbgc \\ pipeline \\ - $args \\ - $genome + ${args} \\ + ${genome} if [[ "${genome.baseName}/" != "${prefix}/" ]]; then mv "${genome.baseName}/" "${prefix}/" @@ -55,7 +55,6 @@ process DEEPBGC_PIPELINE { """ stub: - def args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" """ mkdir -p ${prefix}/evaluation diff --git a/modules/nf-core/deepbgc/pipeline/tests/main.nf.test b/modules/nf-core/deepbgc/pipeline/tests/main.nf.test index 9dd24049..7e284269 100644 --- a/modules/nf-core/deepbgc/pipeline/tests/main.nf.test +++ b/modules/nf-core/deepbgc/pipeline/tests/main.nf.test @@ -12,42 +12,99 @@ nextflow_process { tag "gunzip" tag "prodigal" - setup { - run("DEEPBGC_DOWNLOAD") { - script "../..//download/main.nf" - process { - """ - """ + test("deepbgc pipeline gbk - bacteroides fragilis - test1_contigs.fa.gz") { + + setup { + run("DEEPBGC_DOWNLOAD") { + script "../..//download/main.nf" + process { + """ + """ + } } - } - run("GUNZIP") { - script "../../../gunzip/main.nf" - process { - """ - input[0] = Channel.fromList([ - tuple([ id:'test_gbk', single_end:false ], // meta map - file(params.modules_testdata_base_path + 'genomics/prokaryotes/bacteroides_fragilis/illumina/fasta/test1.contigs.fa.gz', checkIfExists: true)) - ]) - """ + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test_gbk', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/prokaryotes/bacteroides_fragilis/illumina/fasta/test1.contigs.fa.gz', checkIfExists: true)) + ]) + """ + } + } + run("PRODIGAL") { + script "../../../prodigal/main.nf" + process { + """ + input[0] = GUNZIP.out.gunzip + input[1] = 'gbk' + """ + } } } - run("PRODIGAL") { - script "../../../prodigal/main.nf" + + when { process { """ - input[0] = GUNZIP.out.gunzip - input[1] = 'gbk' + input [0] = PRODIGAL.out.gene_annotations + input [1] = DEEPBGC_DOWNLOAD.out.db """ } } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.bgc_gbk[0][1]).name, + file(process.out.full_gbk[0][1]).name, + file(process.out.log[0][1]).name, + file(process.out.readme[0][1]).name, + process.out.json, + process.out.versions).match() + } + ) + } + } - test("deepbgc pipeline gbk - bacteroides fragilis - test1_contigs.fa.gz") { + test("deepbgc pipeline fa - bacteroides fragilis - test1_contigs.fa.gz") { + + setup { + run("DEEPBGC_DOWNLOAD") { + script "../..//download/main.nf" + process { + """ + """ + } + } + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test_gbk', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/prokaryotes/bacteroides_fragilis/illumina/fasta/test1.contigs.fa.gz', checkIfExists: true)) + ]) + """ + } + } + run("PRODIGAL") { + script "../../../prodigal/main.nf" + process { + """ + input[0] = GUNZIP.out.gunzip + input[1] = 'gbk' + """ + } + } + } when { process { """ - input [0] = PRODIGAL.out.gene_annotations + input [0] = GUNZIP.out.gunzip input [1] = DEEPBGC_DOWNLOAD.out.db """ } @@ -56,22 +113,59 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.versions).match("gbk_versions") }, - { assert snapshot(process.out.json).match("gbk_json") }, - { assert path(process.out.log.get(0).get(1)).exists() }, - { assert path(process.out.bgc_gbk.get(0).get(1)).exists() }, - { assert path(process.out.full_gbk.get(0).get(1)).exists() } + { assert snapshot( + file(process.out.bgc_tsv[0][1]).name, + file(process.out.full_gbk[0][1]).name, + file(process.out.json[0][1]).name, + file(process.out.log[0][1]).name, + process.out.bgc_gbk, + process.out.bgc_png, + process.out.pfam_tsv, + process.out.score_png, + process.out.versions).match() + } ) } - } - test("deepbgc pipeline fa - bacteroides fragilis - test1_contigs.fa.gz") { + test("deepbgc pipeline gbk - bacteroides fragilis - test1_contigs.fa.gz - stub") { + + options "-stub" + + setup { + run("DEEPBGC_DOWNLOAD") { + script "../..//download/main.nf" + process { + """ + """ + } + } + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test_gbk', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/prokaryotes/bacteroides_fragilis/illumina/fasta/test1.contigs.fa.gz', checkIfExists: true)) + ]) + """ + } + } + run("PRODIGAL") { + script "../../../prodigal/main.nf" + process { + """ + input[0] = GUNZIP.out.gunzip + input[1] = 'gbk' + """ + } + } + } when { process { """ - input [0] = GUNZIP.out.gunzip + input [0] = PRODIGAL.out.gene_annotations input [1] = DEEPBGC_DOWNLOAD.out.db """ } @@ -80,21 +174,45 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.versions).match("fa_versions") }, - { assert snapshot(process.out.bgc_gbk).match("fa_bgc_gbk") }, - { assert snapshot(process.out.bgc_png).match("fa_bgc_png") }, - { assert snapshot(process.out.score_png).match("fa_score_png") }, - { assert snapshot(process.out.pfam_tsv).match("fa_pfam_tsv") }, - { assert path(process.out.json.get(0).get(1)).exists() }, - { assert path(process.out.log.get(0).get(1)).exists() }, - { assert path(process.out.bgc_tsv.get(0).get(1)).exists() }, - { assert path(process.out.full_gbk.get(0).get(1)).exists() } + { assert snapshot(process.out).match() } ) } } test("deepbgc pipeline fa - bacteroides fragilis - test1_contigs.fa.gz - stub") { + options "-stub" + + setup { + run("DEEPBGC_DOWNLOAD") { + script "../..//download/main.nf" + process { + """ + """ + } + } + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test_gbk', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/prokaryotes/bacteroides_fragilis/illumina/fasta/test1.contigs.fa.gz', checkIfExists: true)) + ]) + """ + } + } + run("PRODIGAL") { + script "../../../prodigal/main.nf" + process { + """ + input[0] = GUNZIP.out.gunzip + input[1] = 'gbk' + """ + } + } + } + when { process { """ @@ -111,6 +229,5 @@ nextflow_process { ) } } - } diff --git a/modules/nf-core/deepbgc/pipeline/tests/main.nf.test.snap b/modules/nf-core/deepbgc/pipeline/tests/main.nf.test.snap index ef64db97..751b9228 100644 --- a/modules/nf-core/deepbgc/pipeline/tests/main.nf.test.snap +++ b/modules/nf-core/deepbgc/pipeline/tests/main.nf.test.snap @@ -1,33 +1,218 @@ { - "gbk_versions": { + "deepbgc pipeline gbk - bacteroides fragilis - test1_contigs.fa.gz - stub": { "content": [ - [ - "versions.yml:md5,988a1db70bd9e95ad22c25b4d6d40e6e" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.1" - }, - "timestamp": "2023-12-01T18:29:41.728695197" - }, - "fa_bgc_png": { - "content": [ - [ - [ - { - "id": "test_gbk", - "single_end": false - }, - "test_gbk.bgc.png:md5,f4a0fc6cd260e2d7ad16f7a1fa103f96" + { + "0": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "README.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "LOG.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.score.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + "versions.yml:md5,988a1db70bd9e95ad22c25b4d6d40e6e" + ], + "2": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.antismash.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.full.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.pfam.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.pr.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.roc.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bgc_gbk": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bgc_png": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bgc_tsv": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "full_gbk": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.full.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.antismash.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "LOG.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "pfam_tsv": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.pfam.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "pr_png": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.pr.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "readme": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "README.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "roc_png": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.roc.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "score_png": [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.score.png:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,988a1db70bd9e95ad22c25b4d6d40e6e" ] - ] + } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-03T16:29:32.389704368" + "timestamp": "2024-12-16T14:41:33.07308826" }, "deepbgc pipeline fa - bacteroides fragilis - test1_contigs.fa.gz - stub": { "content": [ @@ -239,31 +424,35 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-03T16:32:11.354631831" + "timestamp": "2024-12-16T14:11:05.81892322" }, - "fa_score_png": { + "deepbgc pipeline fa - bacteroides fragilis - test1_contigs.fa.gz": { "content": [ + "test_gbk.bgc.tsv", + "test_gbk.full.gbk", + "test_gbk.antismash.json", + "LOG.txt", [ [ { "id": "test_gbk", "single_end": false }, - "test_gbk.score.png:md5,572e8882031f667580d8c8e13c2cbb91" + "test_gbk.bgc.gbk:md5,7fc70dd034903622dae273bf71b402f2" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-03T16:29:32.401051746" - }, - "fa_pfam_tsv": { - "content": [ + ], + [ + [ + { + "id": "test_gbk", + "single_end": false + }, + "test_gbk.bgc.png:md5,f4a0fc6cd260e2d7ad16f7a1fa103f96" + ] + ], [ [ { @@ -272,60 +461,49 @@ }, "test_gbk.pfam.tsv:md5,1179eb4e6df0c83aaeec18d7d34e7524" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-03T16:29:32.411632144" - }, - "gbk_json": { - "content": [ + ], [ [ { "id": "test_gbk", "single_end": false }, - "test_gbk.antismash.json:md5,889ac1efb6a9a7d7b8c65e4cd2233bba" + "test_gbk.score.png:md5,572e8882031f667580d8c8e13c2cbb91" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-03T16:25:25.861672633" - }, - "fa_versions": { - "content": [ + ], [ "versions.yml:md5,988a1db70bd9e95ad22c25b4d6d40e6e" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.1" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2023-12-01T18:44:16.352023677" + "timestamp": "2024-12-16T14:23:52.269487956" }, - "fa_bgc_gbk": { + "deepbgc pipeline gbk - bacteroides fragilis - test1_contigs.fa.gz": { "content": [ + "test_gbk.bgc.gbk", + "test_gbk.full.gbk", + "LOG.txt", + "README.txt", [ [ { "id": "test_gbk", "single_end": false }, - "test_gbk.bgc.gbk:md5,7fc70dd034903622dae273bf71b402f2" + "test_gbk.antismash.json:md5,889ac1efb6a9a7d7b8c65e4cd2233bba" ] + ], + [ + "versions.yml:md5,988a1db70bd9e95ad22c25b4d6d40e6e" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-03T16:29:32.383560585" + "timestamp": "2024-12-16T14:17:20.991066496" } } \ No newline at end of file diff --git a/modules/nf-core/gunzip/environment.yml b/modules/nf-core/gunzip/environment.yml index c7794856..ae4fa457 100644 --- a/modules/nf-core/gunzip/environment.yml +++ b/modules/nf-core/gunzip/environment.yml @@ -2,6 +2,9 @@ channels: - conda-forge - bioconda dependencies: + - conda-forge::coreutils=9.5 - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 - conda-forge::sed=4.8 - conda-forge::tar=1.34 diff --git a/modules/nf-core/gunzip/main.nf b/modules/nf-core/gunzip/main.nf index 5e67e3b9..3ffc8e92 100644 --- a/modules/nf-core/gunzip/main.nf +++ b/modules/nf-core/gunzip/main.nf @@ -1,37 +1,37 @@ process GUNZIP { - tag "$archive" + tag "${archive}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ubuntu:22.04' : - 'nf-core/ubuntu:22.04' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" input: tuple val(meta), path(archive) output: - tuple val(meta), path("$gunzip"), emit: gunzip - path "versions.yml" , emit: versions + tuple val(meta), path("${gunzip}"), emit: gunzip + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - def extension = ( archive.toString() - '.gz' ).tokenize('.')[-1] - def name = archive.toString() - '.gz' - ".$extension" - def prefix = task.ext.prefix ?: name - gunzip = prefix + ".$extension" + def args = task.ext.args ?: '' + def extension = (archive.toString() - '.gz').tokenize('.')[-1] + def name = archive.toString() - '.gz' - ".${extension}" + def prefix = task.ext.prefix ?: name + gunzip = prefix + ".${extension}" """ # Not calling gunzip itself because it creates files # with the original group ownership rather than the # default one for that user / the work directory gzip \\ -cd \\ - $args \\ - $archive \\ - > $gunzip + ${args} \\ + ${archive} \\ + > ${gunzip} cat <<-END_VERSIONS > versions.yml "${task.process}": @@ -40,13 +40,13 @@ process GUNZIP { """ stub: - def args = task.ext.args ?: '' - def extension = ( archive.toString() - '.gz' ).tokenize('.')[-1] - def name = archive.toString() - '.gz' - ".$extension" - def prefix = task.ext.prefix ?: name - gunzip = prefix + ".$extension" + def args = task.ext.args ?: '' + def extension = (archive.toString() - '.gz').tokenize('.')[-1] + def name = archive.toString() - '.gz' - ".${extension}" + def prefix = task.ext.prefix ?: name + gunzip = prefix + ".${extension}" """ - touch $gunzip + touch ${gunzip} cat <<-END_VERSIONS > versions.yml "${task.process}": gunzip: \$(echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//') diff --git a/modules/nf-core/gunzip/meta.yml b/modules/nf-core/gunzip/meta.yml index 9066c035..69d31024 100644 --- a/modules/nf-core/gunzip/meta.yml +++ b/modules/nf-core/gunzip/meta.yml @@ -27,7 +27,7 @@ output: type: file description: Compressed/uncompressed file pattern: "*.*" - - $gunzip: + - ${gunzip}: type: file description: Compressed/uncompressed file pattern: "*.*" diff --git a/modules/nf-core/gunzip/tests/main.nf.test.snap b/modules/nf-core/gunzip/tests/main.nf.test.snap index 069967e7..a0f0e67e 100644 --- a/modules/nf-core/gunzip/tests/main.nf.test.snap +++ b/modules/nf-core/gunzip/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -22,15 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-25T11:35:10.861293" + "timestamp": "2024-12-13T11:48:22.080222697" }, "Should run without failures - stub": { "content": [ @@ -44,7 +44,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -55,15 +55,15 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-25T11:35:05.857145" + "timestamp": "2024-12-13T11:48:14.593020264" }, "Should run without failures": { "content": [ @@ -77,7 +77,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -88,15 +88,15 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2023-10-17T15:35:37.690477896" + "timestamp": "2024-12-13T11:48:01.295397925" }, "Should run without failures - prefix": { "content": [ @@ -110,7 +110,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -121,14 +121,14 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-25T11:33:32.921739" + "timestamp": "2024-12-13T11:48:07.414271387" } } \ No newline at end of file diff --git a/modules/nf-core/mmseqs/createdb/environment.yml b/modules/nf-core/mmseqs/createdb/environment.yml index 18547591..d3561349 100644 --- a/modules/nf-core/mmseqs/createdb/environment.yml +++ b/modules/nf-core/mmseqs/createdb/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::mmseqs2=15.6f452 + - bioconda::mmseqs2=17.b804f diff --git a/modules/nf-core/mmseqs/createdb/main.nf b/modules/nf-core/mmseqs/createdb/main.nf index 9487e5bc..6f8d5b15 100644 --- a/modules/nf-core/mmseqs/createdb/main.nf +++ b/modules/nf-core/mmseqs/createdb/main.nf @@ -4,8 +4,8 @@ process MMSEQS_CREATEDB { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mmseqs2:15.6f452--pl5321h6a68c12_0': - 'biocontainers/mmseqs2:15.6f452--pl5321h6a68c12_0' }" + 'https://depot.galaxyproject.org/singularity/mmseqs2:17.b804f--hd6d6fdc_1': + 'biocontainers/mmseqs2:17.b804f--hd6d6fdc_1' }" input: tuple val(meta), path(sequence) @@ -33,8 +33,7 @@ process MMSEQS_CREATEDB { createdb \\ ${sequence_name} \\ ${prefix}/${prefix} \\ - $args \\ - --compressed 1 + $args cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/mmseqs/createdb/tests/main.nf.test.snap b/modules/nf-core/mmseqs/createdb/tests/main.nf.test.snap index a24c4118..9eee149b 100644 --- a/modules/nf-core/mmseqs/createdb/tests/main.nf.test.snap +++ b/modules/nf-core/mmseqs/createdb/tests/main.nf.test.snap @@ -8,26 +8,26 @@ "single_end": false }, [ - "test:md5,7c3c2c5926cf8fa82e66b9628f680256", - "test.dbtype:md5,c8ed20c23ba91f4577f84c940c86c7db", - "test.index:md5,5b2fd8abd0ad3fee24738af7082e6a6e", + "test:md5,a2cda8768736a7a317a09d61556194bd", + "test.dbtype:md5,4352d88a78aa39750bf70cd6f27bcaa5", + "test.index:md5,4ba298b011e2472ce9f6b99fe6b6e3d5", "test.lookup:md5,32f88756dbcb6aaf7b239b0d61730f1b", "test.source:md5,9ada5b3ea6e1a7e16c4418eb98ae8d9d", - "test_h:md5,8c29f5ed94d83d7115e9c8a883ce358d", - "test_h.dbtype:md5,8895d3d8e9322aedbf45249dfb3ddb0a", - "test_h.index:md5,87c7c8c6d16018ebfaa6f408391a5ae2" + "test_h:md5,21c399702a071bdeecce09f9d1df4531", + "test_h.dbtype:md5,740bab4f9ec8808aedb68d6b1281aeb2", + "test_h.index:md5,d767fb43b37c0a644c676b00f9f93477" ] ] ], [ - "versions.yml:md5,e644cbe263d4560298438a24f268eb6f" + "versions.yml:md5,c62b08152082097334109fe08ec6333a" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-09T10:01:44.163384" + "timestamp": "2025-01-20T14:11:57.883871" }, "Should build an mmseqs db from a zipped amino acid sequence file": { "content": [ @@ -37,25 +37,25 @@ "id": "test" }, [ - "test:md5,4b494965ed7ab67da8ca3f39523eb104", - "test.dbtype:md5,152afd7bf4dbe26f85032eee0269201a", - "test.index:md5,46f9d884e9a7f442fe1cd2ce339734e3", + "test:md5,1162504bc65aacf734abdcb0cdbe87de", + "test.dbtype:md5,f1d3ff8443297732862df21dc4e57262", + "test.index:md5,8cdcbc06c2b99fdb09f3d1735a76def9", "test.lookup:md5,3e27cb93d9ee875ad42a6f32f5651bdc", "test.source:md5,eaa64fc8a5f7ec1ee49b0dcbd1a72e9d", - "test_h:md5,6e798b81c70d191f78939c2dd6223a7f", - "test_h.dbtype:md5,8895d3d8e9322aedbf45249dfb3ddb0a", - "test_h.index:md5,d5ac49ff56df064b980fa0eb5da57673" + "test_h:md5,f258f8cc04f83c270a75e8b00a6d2d89", + "test_h.dbtype:md5,740bab4f9ec8808aedb68d6b1281aeb2", + "test_h.index:md5,844bf1950bcd37284fdc5d7117ee4241" ] ] ], [ - "versions.yml:md5,e644cbe263d4560298438a24f268eb6f" + "versions.yml:md5,c62b08152082097334109fe08ec6333a" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-09T10:01:48.894044" + "timestamp": "2025-01-20T14:12:10.986433" } } \ No newline at end of file diff --git a/modules/nf-core/mmseqs/createdb/tests/tags.yml b/modules/nf-core/mmseqs/createdb/tests/tags.yml deleted file mode 100644 index 1f511ab0..00000000 --- a/modules/nf-core/mmseqs/createdb/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -mmseqs/createdb: - - modules/nf-core/mmseqs/createdb/** diff --git a/modules/nf-core/mmseqs/createtsv/environment.yml b/modules/nf-core/mmseqs/createtsv/environment.yml index 18547591..d3561349 100644 --- a/modules/nf-core/mmseqs/createtsv/environment.yml +++ b/modules/nf-core/mmseqs/createtsv/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::mmseqs2=15.6f452 + - bioconda::mmseqs2=17.b804f diff --git a/modules/nf-core/mmseqs/createtsv/main.nf b/modules/nf-core/mmseqs/createtsv/main.nf index dcd4c13d..3ab0159a 100644 --- a/modules/nf-core/mmseqs/createtsv/main.nf +++ b/modules/nf-core/mmseqs/createtsv/main.nf @@ -5,8 +5,8 @@ process MMSEQS_CREATETSV { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mmseqs2:15.6f452--pl5321h6a68c12_0': - 'biocontainers/mmseqs2:15.6f452--pl5321h6a68c12_0' }" + 'https://depot.galaxyproject.org/singularity/mmseqs2:17.b804f--hd6d6fdc_1': + 'biocontainers/mmseqs2:17.b804f--hd6d6fdc_1' }" input: tuple val(meta), path(db_result) @@ -22,9 +22,9 @@ process MMSEQS_CREATETSV { script: def args = task.ext.args ?: '' - def args2 = task.ext.args ?: "*.dbtype" // database generated by mmyseqs cluster | search | taxonomy | ... - def args3 = task.ext.args ?: "*.dbtype" // database generated by mmyseqs/createdb - def args4 = task.ext.args ?: "*.dbtype" // database generated by mmyseqs/createdb + def args2 = task.ext.args2 ?: "*.dbtype" // database generated by mmyseqs cluster | search | taxonomy | ... + def args3 = task.ext.args3 ?: "*.dbtype" // database generated by mmyseqs/createdb + def args4 = task.ext.args4 ?: "*.dbtype" // database generated by mmyseqs/createdb def prefix = task.ext.prefix ?: "${meta.id}" """ @@ -40,8 +40,7 @@ process MMSEQS_CREATETSV { \$DB_RESULT_PATH_NAME \\ ${prefix}.tsv \\ $args \\ - --threads ${task.cpus} \\ - --compressed 1 + --threads ${task.cpus} cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/mmseqs/createtsv/tests/main.nf.test.snap b/modules/nf-core/mmseqs/createtsv/tests/main.nf.test.snap index 1087de88..a70f839f 100644 --- a/modules/nf-core/mmseqs/createtsv/tests/main.nf.test.snap +++ b/modules/nf-core/mmseqs/createtsv/tests/main.nf.test.snap @@ -12,7 +12,7 @@ ] ], "1": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ], "tsv": [ [ @@ -24,15 +24,15 @@ ] ], "versions": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-07-12T13:55:17.642787" + "timestamp": "2025-01-20T17:29:15.220926" }, "mmseqs/createtsv - sarscov2 - cluster - stub": { "content": [ @@ -47,7 +47,7 @@ ] ], "1": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ], "tsv": [ [ @@ -59,15 +59,15 @@ ] ], "versions": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-07-12T13:55:33.645454" + "timestamp": "2025-01-20T17:29:32.089204" }, "mmseqs/createtsv - bacteroides_fragilis - taxonomy": { "content": [ @@ -82,7 +82,7 @@ ] ], "1": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ], "tsv": [ [ @@ -94,15 +94,15 @@ ] ], "versions": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-07-12T13:54:45.718678" + "timestamp": "2025-01-20T17:28:41.472818" }, "mmseqs/createtsv - sarscov2 - cluster": { "content": [ @@ -113,11 +113,11 @@ "id": "test_result", "single_end": true }, - "test_result.tsv:md5,4e7ba50ce2879660dc6595286bf0d097" + "test_result.tsv:md5,c81449fb936b76aad6f925b965e84bc5" ] ], "1": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ], "tsv": [ [ @@ -125,18 +125,18 @@ "id": "test_result", "single_end": true }, - "test_result.tsv:md5,4e7ba50ce2879660dc6595286bf0d097" + "test_result.tsv:md5,c81449fb936b76aad6f925b965e84bc5" ] ], "versions": [ - "versions.yml:md5,20a853f50c920d431e5ab7593ca79e6f" + "versions.yml:md5,ce808eb9a57e201a48afec56168f9e77" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-07-12T13:55:02.731974" + "timestamp": "2025-01-20T17:28:58.633976" } } \ No newline at end of file diff --git a/modules/nf-core/mmseqs/createtsv/tests/tags.yml b/modules/nf-core/mmseqs/createtsv/tests/tags.yml deleted file mode 100644 index e27827f5..00000000 --- a/modules/nf-core/mmseqs/createtsv/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -mmseqs/createtsv: - - "modules/nf-core/mmseqs/createtsv/**" diff --git a/modules/nf-core/mmseqs/databases/environment.yml b/modules/nf-core/mmseqs/databases/environment.yml index 18547591..d3561349 100644 --- a/modules/nf-core/mmseqs/databases/environment.yml +++ b/modules/nf-core/mmseqs/databases/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::mmseqs2=15.6f452 + - bioconda::mmseqs2=17.b804f diff --git a/modules/nf-core/mmseqs/databases/main.nf b/modules/nf-core/mmseqs/databases/main.nf index d43681ce..51d54ab7 100644 --- a/modules/nf-core/mmseqs/databases/main.nf +++ b/modules/nf-core/mmseqs/databases/main.nf @@ -4,8 +4,8 @@ process MMSEQS_DATABASES { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mmseqs2:15.6f452--pl5321h6a68c12_0': - 'biocontainers/mmseqs2:15.6f452--pl5321h6a68c12_0' }" + 'https://depot.galaxyproject.org/singularity/mmseqs2:17.b804f--hd6d6fdc_1': + 'biocontainers/mmseqs2:17.b804f--hd6d6fdc_1' }" input: val database @@ -28,7 +28,6 @@ process MMSEQS_DATABASES { ${prefix}/database \\ tmp/ \\ --threads ${task.cpus} \\ - --compressed 1 \\ ${args} cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap index 00d3003e..2805e1c0 100644 --- a/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap +++ b/modules/nf-core/mmseqs/databases/tests/main.nf.test.snap @@ -15,14 +15,14 @@ "database_taxonomy" ], [ - "versions.yml:md5,b038db45e5934b8f0f743449bbac01b4" + "versions.yml:md5,387bbb2d1d6bac273e8158743af4c856" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-09-06T15:43:58.454012" + "timestamp": "2025-01-20T15:32:42.284982" }, "test-mmseqs-databases-stub": { "content": [ diff --git a/modules/nf-core/mmseqs/taxonomy/environment.yml b/modules/nf-core/mmseqs/taxonomy/environment.yml index 65f1e5cd..69afa609 100644 --- a/modules/nf-core/mmseqs/taxonomy/environment.yml +++ b/modules/nf-core/mmseqs/taxonomy/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::mmseqs2=15.6f452" + - bioconda::mmseqs2=17.b804f diff --git a/modules/nf-core/mmseqs/taxonomy/main.nf b/modules/nf-core/mmseqs/taxonomy/main.nf index 54849885..d73bf03f 100644 --- a/modules/nf-core/mmseqs/taxonomy/main.nf +++ b/modules/nf-core/mmseqs/taxonomy/main.nf @@ -4,8 +4,8 @@ process MMSEQS_TAXONOMY { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mmseqs2:15.6f452--pl5321h6a68c12_0': - 'biocontainers/mmseqs2:15.6f452--pl5321h6a68c12_0' }" + 'https://depot.galaxyproject.org/singularity/mmseqs2:17.b804f--hd6d6fdc_1': + 'biocontainers/mmseqs2:17.b804f--hd6d6fdc_1' }" input: tuple val(meta), path(db_query) @@ -38,8 +38,7 @@ process MMSEQS_TAXONOMY { ${prefix}_taxonomy/${prefix} \\ tmp1 \\ $args \\ - --threads ${task.cpus} \\ - --compressed 1 + --threads ${task.cpus} cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/mmseqs/taxonomy/tests/main.nf.test.snap b/modules/nf-core/mmseqs/taxonomy/tests/main.nf.test.snap index 225680ac..4402c731 100644 --- a/modules/nf-core/mmseqs/taxonomy/tests/main.nf.test.snap +++ b/modules/nf-core/mmseqs/taxonomy/tests/main.nf.test.snap @@ -8,14 +8,14 @@ "test_query.index" ], [ - "versions.yml:md5,a8f24dca956a1c84099ff129f826c63f" + "versions.yml:md5,d86f3223ff4a4d664228707b581dca8a" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-09T10:11:53.632751" + "timestamp": "2025-01-20T16:28:40.091017" }, "mmseqs/taxonomy - bacteroides_fragilis - genome_nt - stub": { "content": [ @@ -59,7 +59,7 @@ ] ], "1": [ - "versions.yml:md5,a8f24dca956a1c84099ff129f826c63f" + "versions.yml:md5,d86f3223ff4a4d664228707b581dca8a" ], "db_taxonomy": [ [ @@ -100,14 +100,14 @@ ] ], "versions": [ - "versions.yml:md5,a8f24dca956a1c84099ff129f826c63f" + "versions.yml:md5,d86f3223ff4a4d664228707b581dca8a" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-09T10:12:00.148815" + "timestamp": "2025-01-20T16:48:57.634552" } } \ No newline at end of file diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml index 6f5b867b..439a7c22 100644 --- a/modules/nf-core/multiqc/environment.yml +++ b/modules/nf-core/multiqc/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::multiqc=1.25.1 + - bioconda::multiqc=1.26 diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf index cc0643e1..775b3ffd 100644 --- a/modules/nf-core/multiqc/main.nf +++ b/modules/nf-core/multiqc/main.nf @@ -3,8 +3,8 @@ process MULTIQC { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.25.1--pyhdfd78af_0' : - 'biocontainers/multiqc:1.25.1--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/multiqc:1.26--pyhdfd78af_0' : + 'biocontainers/multiqc:1.26--pyhdfd78af_0' }" input: path multiqc_files, stageAs: "?/*" diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap index 2fcbb5ff..ee01208e 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "multiqc_versions_single": { "content": [ [ - "versions.yml:md5,41f391dcedce7f93ca188f3a3ffa0916" + "versions.yml:md5,4cab99fb04e679fd2d72e29eda1b9646" ] ], "meta": { @@ -17,7 +17,7 @@ "multiqc_report.html", "multiqc_data", "multiqc_plots", - "versions.yml:md5,41f391dcedce7f93ca188f3a3ffa0916" + "versions.yml:md5,4cab99fb04e679fd2d72e29eda1b9646" ] ], "meta": { @@ -29,7 +29,7 @@ "multiqc_versions_config": { "content": [ [ - "versions.yml:md5,41f391dcedce7f93ca188f3a3ffa0916" + "versions.yml:md5,4cab99fb04e679fd2d72e29eda1b9646" ] ], "meta": { diff --git a/modules/nf-core/prokka/environment.yml b/modules/nf-core/prokka/environment.yml index 7c9753fc..1d1a019f 100644 --- a/modules/nf-core/prokka/environment.yml +++ b/modules/nf-core/prokka/environment.yml @@ -3,3 +3,4 @@ channels: - bioconda dependencies: - bioconda::prokka=1.14.6 + - conda-forge::openjdk=8.0.412 diff --git a/modules/nf-core/prokka/main.nf b/modules/nf-core/prokka/main.nf index adfda037..bf5e64fc 100644 --- a/modules/nf-core/prokka/main.nf +++ b/modules/nf-core/prokka/main.nf @@ -1,11 +1,11 @@ process PROKKA { - tag "$meta.id" + tag "${meta.id}" label 'process_low' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/prokka:1.14.6--pl5321hdfd78af_4' : - 'biocontainers/prokka:1.14.6--pl5321hdfd78af_4' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/3a/3af46b047c8fe84112adeaecf300878217c629b97f111f923ecf327656ddd141/data' : + 'community.wave.seqera.io/library/prokka_openjdk:10546cadeef11472' }" input: tuple val(meta), path(fasta) @@ -31,18 +31,49 @@ process PROKKA { task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - prefix = task.ext.prefix ?: "${meta.id}" - def proteins_opt = proteins ? "--proteins ${proteins[0]}" : "" - def prodigal_tf = prodigal_tf ? "--prodigaltf ${prodigal_tf[0]}" : "" + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def input = fasta.toString() - ~/\.gz$/ + def decompress = fasta.getExtension() == "gz" ? "gunzip -c ${fasta} > ${input}" : "" + def cleanup = fasta.getExtension() == "gz" ? "rm ${input}" : "" + def proteins_opt = proteins ? "--proteins ${proteins}" : "" + def prodigal_tf_in = prodigal_tf ? "--prodigaltf ${prodigal_tf}" : "" """ + ${decompress} + prokka \\ - $args \\ - --cpus $task.cpus \\ - --prefix $prefix \\ - $proteins_opt \\ - $prodigal_tf \\ - $fasta + ${args} \\ + --cpus ${task.cpus} \\ + --prefix ${prefix} \\ + ${proteins_opt} \\ + ${prodigal_tf_in} \\ + ${input} + + ${cleanup} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + prokka: \$(echo \$(prokka --version 2>&1) | sed 's/^.*prokka //') + END_VERSIONS + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + mkdir ${prefix} + touch ${prefix}/${prefix}.gff + touch ${prefix}/${prefix}.gbk + touch ${prefix}/${prefix}.fna + touch ${prefix}/${prefix}.faa + touch ${prefix}/${prefix}.ffn + touch ${prefix}/${prefix}.sqn + touch ${prefix}/${prefix}.fsa + touch ${prefix}/${prefix}.tbl + touch ${prefix}/${prefix}.err + touch ${prefix}/${prefix}.log + touch ${prefix}/${prefix}.txt + touch ${prefix}/${prefix}.tsv + touch ${prefix}/${prefix}.gff cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/prokka/tests/main.nf.test b/modules/nf-core/prokka/tests/main.nf.test index dca19bba..68150b33 100644 --- a/modules/nf-core/prokka/tests/main.nf.test +++ b/modules/nf-core/prokka/tests/main.nf.test @@ -47,4 +47,69 @@ nextflow_process { } + test("Prokka - sarscov2 - genome.fasta.gz") { + + when { + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true)) + ]) + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.gbk.get(0).get(1)).exists() }, + { assert path(process.out.log.get(0).get(1)).exists() }, + { assert path(process.out.sqn.get(0).get(1)).exists() }, + { assert snapshot( + process.out.gff, + process.out.fna, + process.out.faa, + process.out.ffn, + process.out.fsa, + process.out.tbl, + process.out.err, + process.out.txt, + process.out.tsv, + process.out.versions + ).match() + } + ) + } + + } + + test("Prokka - sarscov2 - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true)) + ]) + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + } diff --git a/modules/nf-core/prokka/tests/main.nf.test.snap b/modules/nf-core/prokka/tests/main.nf.test.snap index 874c989d..35713a8f 100644 --- a/modules/nf-core/prokka/tests/main.nf.test.snap +++ b/modules/nf-core/prokka/tests/main.nf.test.snap @@ -91,5 +91,331 @@ "nextflow": "24.04.3" }, "timestamp": "2024-07-30T12:34:20.447734" + }, + "Prokka - sarscov2 - genome.fasta.gz": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.gff:md5,5dbfb8fcf2db020564c16045976a0933" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fna:md5,787307f29a263e5657cc276ebbf7e2b3" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.faa:md5,a4ceda83262b3c222a6b1f508fb9e24b" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.ffn:md5,80f474b5367b7ea5ed23791935f65e34" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fsa:md5,71bbefcb7f12046bcd3263f58cfd5404" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.tbl:md5,d8f816a066ced94b62d9618b13fb8add" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.err:md5,b3daedc646fddd422824e2b3e5e9229d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt:md5,b40e485ffc8eaf1feacf8d79d9751a33" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.tsv:md5,da7c720c3018c5081d6a70b517b7d450" + ] + ], + [ + "versions.yml:md5,e83a22fe02167e290d90853b45650db9" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-19T09:48:05.110188714" + }, + "Prokka - sarscov2 - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gff:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "12": [ + "versions.yml:md5,e83a22fe02167e290d90853b45650db9" + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fna:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.faa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ffn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sqn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tbl:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test.err:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "err": [ + [ + { + "id": "test", + "single_end": false + }, + "test.err:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "faa": [ + [ + { + "id": "test", + "single_end": false + }, + "test.faa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ffn": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ffn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fna": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fna:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fsa": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gbk": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gff": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gff:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sqn": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sqn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tbl": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tbl:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tsv": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "txt": [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,e83a22fe02167e290d90853b45650db9" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-06T10:51:57.362187225" } } \ No newline at end of file diff --git a/modules/nf-core/pyrodigal/environment.yml b/modules/nf-core/pyrodigal/environment.yml index b0bbc515..26be9f32 100644 --- a/modules/nf-core/pyrodigal/environment.yml +++ b/modules/nf-core/pyrodigal/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::pyrodigal=3.3.0 + - bioconda::pyrodigal=3.6.3 - conda-forge::pigz=2.8 diff --git a/modules/nf-core/pyrodigal/main.nf b/modules/nf-core/pyrodigal/main.nf index 7cb97594..9cbe8fcc 100644 --- a/modules/nf-core/pyrodigal/main.nf +++ b/modules/nf-core/pyrodigal/main.nf @@ -1,11 +1,11 @@ process PYRODIGAL { tag "$meta.id" - label 'process_single' + label 'process_medium' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-2fe9a8ce513c91df34b43a6610df94c3a2eb3bd0:47e7d40834619419f202394563267d74cef857be-0': - 'biocontainers/mulled-v2-2fe9a8ce513c91df34b43a6610df94c3a2eb3bd0:47e7d40834619419f202394563267d74cef857be-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-2fe9a8ce513c91df34b43a6610df94c3a2eb3bd0:da1134ad604a59a6f439bdcc3f6df690eba47e9a-0': + 'biocontainers/mulled-v2-2fe9a8ce513c91df34b43a6610df94c3a2eb3bd0:da1134ad604a59a6f439bdcc3f6df690eba47e9a-0' }" input: tuple val(meta), path(fasta) @@ -28,6 +28,7 @@ process PYRODIGAL { pigz -cdf ${fasta} > pigz_fasta.fna pyrodigal \\ + -j ${task.cpus} \\ $args \\ -i pigz_fasta.fna \\ -f $output_format \\ diff --git a/modules/nf-core/pyrodigal/tests/main.nf.test.snap b/modules/nf-core/pyrodigal/tests/main.nf.test.snap index 827fdaaa..3d56b9f1 100644 --- a/modules/nf-core/pyrodigal/tests/main.nf.test.snap +++ b/modules/nf-core/pyrodigal/tests/main.nf.test.snap @@ -5,21 +5,21 @@ "test.fna.gz", "test.faa.gz", "test.score.gz", - "versions.yml:md5,4aab54554829148e01cc0dc7bf6cb5d3" + "versions.yml:md5,296cc4ed71c8eb16bbc6978fe6299b77" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-03-18T15:42:12.012112014" + "timestamp": "2024-12-02T15:17:12.218638993" }, "pyrodigal - sarscov2 - gbk": { "content": [ [ " CDS 310..13476", " /codon_start=1", - " /inference=\"ab initio prediction:pyrodigal:3.3.0\"", + " /inference=\"ab initio prediction:pyrodigal:3.6.3\"", " /locus_tag=\"MT192765.1_1\"", " /transl_table=11", " /translation=\"MPVLQVRDVLVRGFGDSVEEVLSEARQHLKDGTCGLVEVEKGVLP", @@ -51,18 +51,18 @@ "id": "test", "single_end": false }, - "test.score.gz:md5,c0703a9e662ae0b21c7bbb082ef3fb5f" + "test.score.gz:md5,63e6975e705be1fe749eb54bd4ea478e" ] ], [ - "versions.yml:md5,4aab54554829148e01cc0dc7bf6cb5d3" + "versions.yml:md5,296cc4ed71c8eb16bbc6978fe6299b77" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-07-30T06:09:40.289778252" + "timestamp": "2024-12-02T15:17:01.228814939" }, "pyrodigal - sarscov2 - gff": { "content": [ @@ -73,7 +73,7 @@ "id": "test", "single_end": false }, - "test.gff.gz:md5,8fcd2d93131cf9fb0c82b81db059ad27" + "test.gff.gz:md5,898c1e24e71fa108981597b8bb32110f" ] ], "1": [ @@ -100,11 +100,11 @@ "id": "test", "single_end": false }, - "test.score.gz:md5,c0703a9e662ae0b21c7bbb082ef3fb5f" + "test.score.gz:md5,63e6975e705be1fe749eb54bd4ea478e" ] ], "4": [ - "versions.yml:md5,4aab54554829148e01cc0dc7bf6cb5d3" + "versions.yml:md5,296cc4ed71c8eb16bbc6978fe6299b77" ], "annotations": [ [ @@ -112,7 +112,7 @@ "id": "test", "single_end": false }, - "test.gff.gz:md5,8fcd2d93131cf9fb0c82b81db059ad27" + "test.gff.gz:md5,898c1e24e71fa108981597b8bb32110f" ] ], "faa": [ @@ -139,19 +139,19 @@ "id": "test", "single_end": false }, - "test.score.gz:md5,c0703a9e662ae0b21c7bbb082ef3fb5f" + "test.score.gz:md5,63e6975e705be1fe749eb54bd4ea478e" ] ], "versions": [ - "versions.yml:md5,4aab54554829148e01cc0dc7bf6cb5d3" + "versions.yml:md5,296cc4ed71c8eb16bbc6978fe6299b77" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-03-18T15:41:55.822235843" + "timestamp": "2024-12-02T15:16:49.907998584" }, "pyrodigal - sarscov2 - gbk - stub": { "content": [ @@ -159,13 +159,13 @@ "test.fna.gz", "test.faa.gz", "test.score.gz", - "versions.yml:md5,4aab54554829148e01cc0dc7bf6cb5d3" + "versions.yml:md5,296cc4ed71c8eb16bbc6978fe6299b77" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-03-18T15:42:19.81157751" + "timestamp": "2024-12-02T15:17:22.681680508" } } \ No newline at end of file diff --git a/modules/nf-core/rgi/cardannotation/tests/main.nf.test.snap b/modules/nf-core/rgi/cardannotation/tests/main.nf.test.snap index 5d58124d..74a2f428 100644 --- a/modules/nf-core/rgi/cardannotation/tests/main.nf.test.snap +++ b/modules/nf-core/rgi/cardannotation/tests/main.nf.test.snap @@ -46,73 +46,73 @@ "0": [ [ "CARD-Download-README.txt:md5,ca330e1d89e3a97ac6f50c86a8ca5c34", - "aro_categories.tsv:md5,ba2f33c43b199cd62ae5663125ce316e", - "aro_categories_index.tsv:md5,39f995f2356b6a0cb5fd34e3c6ffc8e1", - "aro_index.tsv:md5,b7250ed3208c8497ec2371527a689eeb", - "card.json:md5,e2cb53b1706a602d5265d2284a1fcdd5", - "card_database_v3.2.9.fasta:md5,0839d4447860694782a5db5cd6eae085", - "card_database_v3.2.9_all.fasta:md5,5295875faf06bef62ea954fef40958c3", - "nucleotide_fasta_protein_homolog_model.fasta:md5,ebcd48a6c9e14f339ffd9d2673eed803", + "aro_categories.tsv:md5,cdefc6d0169bc7a077020022be68e38b", + "aro_categories_index.tsv:md5,f99f2fed0cf357c7c3e7e39e4b880ca2", + "aro_index.tsv:md5,3052f507daff81356f4e985025928217", + "card.json:md5,c9550768ded14c01a56c98e3c4931176", + "card_database_v3.3.0.fasta:md5,b3fd50f7946aed8009c131a3c1454728", + "card_database_v3.3.0_all.fasta:md5,81ffb872759695abd1023c0b5f8fe0d5", + "nucleotide_fasta_protein_homolog_model.fasta:md5,93fcfd413dda3056612f725d5bc06356", "nucleotide_fasta_protein_knockout_model.fasta:md5,ff476b358ef70da53acf4602568a9b9b", "nucleotide_fasta_protein_overexpression_model.fasta:md5,68937e587c880153400fa8203f6a90d5", - "nucleotide_fasta_protein_variant_model.fasta:md5,1ff9cbaf0d640e2084f13751309f8176", - "nucleotide_fasta_rRNA_gene_variant_model.fasta:md5,b88fbe1d6de44b2ff2819ee63d001d75", - "protein_fasta_protein_homolog_model.fasta:md5,130a0947c60d18ef2e7d0ab886f80af3", + "nucleotide_fasta_protein_variant_model.fasta:md5,58a4644e05df59af7a918f25b61e5a22", + "nucleotide_fasta_rRNA_gene_variant_model.fasta:md5,bd53f46d630f652c9f6b7584c2126e1f", + "protein_fasta_protein_homolog_model.fasta:md5,63a89932339a665c390cebd50627f19b", "protein_fasta_protein_knockout_model.fasta:md5,6b259399e3eae3f23eaa421bbba6ba25", "protein_fasta_protein_overexpression_model.fasta:md5,758b753b821789147cdd795c654940ad", - "protein_fasta_protein_variant_model.fasta:md5,ec46ea3d9dc7ab01ec22cf265e410c88", - "shortname_antibiotics.tsv:md5,9d20abb9f6d37ed0cecc1573867ca49a", - "shortname_pathogens.tsv:md5,ae267113de686bc8f58eab5845cc343b", - "snps.txt:md5,ee6dfbe7a65f3ffdb6968822c47e4550" + "protein_fasta_protein_variant_model.fasta:md5,7fb7bbf0001837a59504d406ece90807", + "shortname_antibiotics.tsv:md5,86eaefabf930b91bf08d3630abdd0a3b", + "shortname_pathogens.tsv:md5,4a69150eeec95693727f0cc178c0770a", + "snps.txt:md5,2f7a6bea480a7e3a6fc7f7f763c4b3fe" ] ], "1": [ "6.0.3" ], "2": [ - "3.2.9" + "3.3.0" ], "3": [ - "versions.yml:md5,43f331ec71ec01a1bae10e30f4ce4f26" + "versions.yml:md5,51bd8e4be5e532c5bdcfbb67c06dd808" ], "db": [ [ "CARD-Download-README.txt:md5,ca330e1d89e3a97ac6f50c86a8ca5c34", - "aro_categories.tsv:md5,ba2f33c43b199cd62ae5663125ce316e", - "aro_categories_index.tsv:md5,39f995f2356b6a0cb5fd34e3c6ffc8e1", - "aro_index.tsv:md5,b7250ed3208c8497ec2371527a689eeb", - "card.json:md5,e2cb53b1706a602d5265d2284a1fcdd5", - "card_database_v3.2.9.fasta:md5,0839d4447860694782a5db5cd6eae085", - "card_database_v3.2.9_all.fasta:md5,5295875faf06bef62ea954fef40958c3", - "nucleotide_fasta_protein_homolog_model.fasta:md5,ebcd48a6c9e14f339ffd9d2673eed803", + "aro_categories.tsv:md5,cdefc6d0169bc7a077020022be68e38b", + "aro_categories_index.tsv:md5,f99f2fed0cf357c7c3e7e39e4b880ca2", + "aro_index.tsv:md5,3052f507daff81356f4e985025928217", + "card.json:md5,c9550768ded14c01a56c98e3c4931176", + "card_database_v3.3.0.fasta:md5,b3fd50f7946aed8009c131a3c1454728", + "card_database_v3.3.0_all.fasta:md5,81ffb872759695abd1023c0b5f8fe0d5", + "nucleotide_fasta_protein_homolog_model.fasta:md5,93fcfd413dda3056612f725d5bc06356", "nucleotide_fasta_protein_knockout_model.fasta:md5,ff476b358ef70da53acf4602568a9b9b", "nucleotide_fasta_protein_overexpression_model.fasta:md5,68937e587c880153400fa8203f6a90d5", - "nucleotide_fasta_protein_variant_model.fasta:md5,1ff9cbaf0d640e2084f13751309f8176", - "nucleotide_fasta_rRNA_gene_variant_model.fasta:md5,b88fbe1d6de44b2ff2819ee63d001d75", - "protein_fasta_protein_homolog_model.fasta:md5,130a0947c60d18ef2e7d0ab886f80af3", + "nucleotide_fasta_protein_variant_model.fasta:md5,58a4644e05df59af7a918f25b61e5a22", + "nucleotide_fasta_rRNA_gene_variant_model.fasta:md5,bd53f46d630f652c9f6b7584c2126e1f", + "protein_fasta_protein_homolog_model.fasta:md5,63a89932339a665c390cebd50627f19b", "protein_fasta_protein_knockout_model.fasta:md5,6b259399e3eae3f23eaa421bbba6ba25", "protein_fasta_protein_overexpression_model.fasta:md5,758b753b821789147cdd795c654940ad", - "protein_fasta_protein_variant_model.fasta:md5,ec46ea3d9dc7ab01ec22cf265e410c88", - "shortname_antibiotics.tsv:md5,9d20abb9f6d37ed0cecc1573867ca49a", - "shortname_pathogens.tsv:md5,ae267113de686bc8f58eab5845cc343b", - "snps.txt:md5,ee6dfbe7a65f3ffdb6968822c47e4550" + "protein_fasta_protein_variant_model.fasta:md5,7fb7bbf0001837a59504d406ece90807", + "shortname_antibiotics.tsv:md5,86eaefabf930b91bf08d3630abdd0a3b", + "shortname_pathogens.tsv:md5,4a69150eeec95693727f0cc178c0770a", + "snps.txt:md5,2f7a6bea480a7e3a6fc7f7f763c4b3fe" ] ], "db_version": [ - "3.2.9" + "3.3.0" ], "tool_version": [ "6.0.3" ], "versions": [ - "versions.yml:md5,43f331ec71ec01a1bae10e30f4ce4f26" + "versions.yml:md5,51bd8e4be5e532c5bdcfbb67c06dd808" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-02-19T23:33:06.962413561" + "timestamp": "2024-12-17T19:00:14.248138522" } } \ No newline at end of file diff --git a/modules/nf-core/seqkit/seq/environment.yml b/modules/nf-core/seqkit/seq/environment.yml index 4f8058a9..160a67c0 100644 --- a/modules/nf-core/seqkit/seq/environment.yml +++ b/modules/nf-core/seqkit/seq/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::seqkit=2.8.1" + - "bioconda::seqkit=2.9.0" diff --git a/modules/nf-core/seqkit/seq/main.nf b/modules/nf-core/seqkit/seq/main.nf index d7d38fc8..9d76da21 100644 --- a/modules/nf-core/seqkit/seq/main.nf +++ b/modules/nf-core/seqkit/seq/main.nf @@ -5,8 +5,8 @@ process SEQKIT_SEQ { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/seqkit:2.8.1--h9ee0642_0': - 'biocontainers/seqkit:2.8.1--h9ee0642_0' }" + 'https://depot.galaxyproject.org/singularity/seqkit:2.9.0--h9ee0642_0': + 'biocontainers/seqkit:2.9.0--h9ee0642_0' }" input: tuple val(meta), path(fastx) diff --git a/modules/nf-core/seqkit/seq/tests/main.nf.test.snap b/modules/nf-core/seqkit/seq/tests/main.nf.test.snap index e6910966..68171935 100644 --- a/modules/nf-core/seqkit/seq/tests/main.nf.test.snap +++ b/modules/nf-core/seqkit/seq/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ], "fastx": [ [ @@ -22,15 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-08T08:52:18.220051903" + "timestamp": "2025-01-15T15:13:34.513457" }, "sarscov2-test_1_fastq_gz": { "content": [ @@ -44,7 +44,7 @@ ] ], "1": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ], "fastx": [ [ @@ -55,15 +55,15 @@ ] ], "versions": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-08T08:51:55.607826581" + "timestamp": "2025-01-15T15:13:27.316329" }, "sarscov2-genome_fasta": { "content": [ @@ -77,7 +77,7 @@ ] ], "1": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ], "fastx": [ [ @@ -88,15 +88,15 @@ ] ], "versions": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-08T08:51:27.717072933" + "timestamp": "2025-01-15T15:13:18.463038" }, "sarscov2-genome_fasta_gz": { "content": [ @@ -110,7 +110,7 @@ ] ], "1": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ], "fastx": [ [ @@ -121,14 +121,14 @@ ] ], "versions": [ - "versions.yml:md5,34894c4efa5e10a923e78975a3d260dd" + "versions.yml:md5,eeb475e557ef671d4b58e11f82d2448e" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-08T08:51:37.917560104" + "timestamp": "2025-01-15T15:13:22.960973" } } \ No newline at end of file diff --git a/modules/nf-core/untar/environment.yml b/modules/nf-core/untar/environment.yml index c7794856..ae4fa457 100644 --- a/modules/nf-core/untar/environment.yml +++ b/modules/nf-core/untar/environment.yml @@ -2,6 +2,9 @@ channels: - conda-forge - bioconda dependencies: + - conda-forge::coreutils=9.5 - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 - conda-forge::sed=4.8 - conda-forge::tar=1.34 diff --git a/modules/nf-core/untar/main.nf b/modules/nf-core/untar/main.nf index c651bdad..e712ebe6 100644 --- a/modules/nf-core/untar/main.nf +++ b/modules/nf-core/untar/main.nf @@ -1,46 +1,46 @@ process UNTAR { - tag "$archive" + tag "${archive}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : - 'nf-core/ubuntu:20.04' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" input: tuple val(meta), path(archive) output: - tuple val(meta), path("$prefix"), emit: untar - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}"), emit: untar + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' + def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' - prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, "")) + prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, "")) """ - mkdir $prefix + mkdir ${prefix} ## Ensures --strip-components only applied when top level of tar contents is a directory ## If just files or multiple directories, place all in prefix if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then tar \\ - -C $prefix --strip-components 1 \\ + -C ${prefix} --strip-components 1 \\ -xavf \\ - $args \\ - $archive \\ - $args2 + ${args} \\ + ${archive} \\ + ${args2} else tar \\ - -C $prefix \\ + -C ${prefix} \\ -xavf \\ - $args \\ - $archive \\ - $args2 + ${args} \\ + ${archive} \\ + ${args2} fi cat <<-END_VERSIONS > versions.yml @@ -50,7 +50,7 @@ process UNTAR { """ stub: - prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, "")) + prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, "")) """ mkdir ${prefix} ## Dry-run untaring the archive to get the files and place all in prefix diff --git a/modules/nf-core/untar/meta.yml b/modules/nf-core/untar/meta.yml index 290346b3..3a37bb35 100644 --- a/modules/nf-core/untar/meta.yml +++ b/modules/nf-core/untar/meta.yml @@ -28,9 +28,12 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - $prefix: - type: directory - description: Directory containing contents of archive + pattern: "*/" + - ${prefix}: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] pattern: "*/" - versions: - versions.yml: diff --git a/modules/nf-core/untar/untar.diff b/modules/nf-core/untar/untar.diff deleted file mode 100644 index d020ffeb..00000000 --- a/modules/nf-core/untar/untar.diff +++ /dev/null @@ -1,22 +0,0 @@ -Changes in module 'nf-core/untar' -'modules/nf-core/untar/environment.yml' is unchanged -'modules/nf-core/untar/meta.yml' is unchanged -Changes in 'untar/main.nf': ---- modules/nf-core/untar/main.nf -+++ modules/nf-core/untar/main.nf -@@ -4,8 +4,8 @@ - - conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? -- 'https://depot.galaxyproject.org/singularity/ubuntu:22.04' : -- 'nf-core/ubuntu:22.04' }" -+ 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : -+ 'nf-core/ubuntu:20.04' }" - - input: - tuple val(meta), path(archive) - -'modules/nf-core/untar/tests/main.nf.test' is unchanged -'modules/nf-core/untar/tests/tags.yml' is unchanged -'modules/nf-core/untar/tests/main.nf.test.snap' is unchanged -************************************************************ diff --git a/nextflow.config b/nextflow.config index 8a700a13..85914230 100644 --- a/nextflow.config +++ b/nextflow.config @@ -38,6 +38,7 @@ params { // Taxonomy classification options run_taxa_classification = false taxa_classification_tool = 'mmseqs2' + taxa_classification_mmseqs_compressed = 0 taxa_classification_mmseqs_db = null taxa_classification_mmseqs_db_id = 'Kalamari' @@ -174,12 +175,11 @@ params { arg_skip_deeparg = false arg_deeparg_db = null - arg_deeparg_db_version = 2 - // Make sure to update on module version bump! + arg_deeparg_db_version = 2 // Make sure to update on module version bump! arg_deeparg_model = 'LS' arg_deeparg_minprob = 0.8 arg_deeparg_alignmentidentity = 50 - arg_deeparg_alignmentevalue = 1E-10 + arg_deeparg_alignmentevalue = 1e-10 arg_deeparg_alignmentoverlap = 0.8 arg_deeparg_numalignmentsperentry = 1000 @@ -229,7 +229,7 @@ params { bgc_skip_gecco = false bgc_gecco_cds = 3 bgc_gecco_threshold = 0.8 - bgc_gecco_pfilter = 1E-9 + bgc_gecco_pfilter = 0.000000001 bgc_gecco_edgedistance = 0 bgc_gecco_mask = false diff --git a/nextflow_schema.json b/nextflow_schema.json index 4ba539bd..c19b4ae2 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -86,6 +86,14 @@ "help_text": "This flag specifies which tool for taxonomic classification should be activated. At the moment only 'MMseqs2' is incorporated in the pipeline.", "description": "Specifies the tool used for taxonomic classification.", "fa_icon": "fas fa-tools" + }, + "taxa_classification_mmseqs_compressed": { + "type": "integer", + "default": 0, + "enum": [0, 1], + "help_text": "To compress MMseqs2 output files, choose 1, otherwise leave to 0. Compressing output files can lead to errors when the output is actually empty. In that case, just leave this parameter to default. More details can be found in the [documentation (GitHub)](https://github.com/soedinglab/MMseqs2?tab=readme-ov-file#memory-requirements).\n\n> Modifies tool parameter(s):\n> - mmseqs createdb --compressed <0|1>\n> - mmseqs createtsv --compressed <0|1>\n> - mmseqs databases --compressed <0|1>\n> - mmseqs taxonomy --compressed <0|1>", + "description": "If MMseqs2 is chosen as taxonomic classification tool: Specifies if the output of all MMseqs2 subcommands shall be compressed.", + "fa_icon": "fas fa-file-archive" } }, "fa_icon": "fas fa-tag" diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index f13676b8..144916c8 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -27,7 +27,7 @@ nextflow_pipeline { path("$outputDir/amp/ampir/sample_2/sample_2.ampir.tsv").text.contains("MRWGYPLSLVLMALSVAAPMIYFRRKGWLR"), path("$outputDir/amp/ampir/sample_2/sample_2.ampir.faa"), path("$outputDir/amp/ampir/sample_3/sample_3.ampir.tsv").text.contains("IPELEMRWGYPLSLVLMALSVAAPMIYFRRKGWLR"), - path("$outputDir/amp/ampir/sample_3/sample_3.ampir.faa") + path("$outputDir/amp/ampir/sample_3/sample_3.ampir.faa").text.contains(">NODE_882919_length_258_cov_0.935961_1 # 149 # 256 # -1 # ID=") ).match("ampir") }, // AMPlify diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index e1acd0ba..107b6e1c 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -21,13 +21,13 @@ true, "sample_2.ampir.faa:md5,12826875bd18623da78770187a7bbd2c", true, - "sample_3.ampir.faa:md5,0a36691485930a1b77c4b68a738fd98d" + true ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-07-27T08:11:24.436374797" + "timestamp": "2024-12-20T11:01:38.808336691" }, "argnorm_amrfinderplus": { "content": [ diff --git a/tests/test_preannotated_bgc.nf.test.snap b/tests/test_preannotated_bgc.nf.test.snap index b05b7921..e4967fc0 100644 --- a/tests/test_preannotated_bgc.nf.test.snap +++ b/tests/test_preannotated_bgc.nf.test.snap @@ -21,7 +21,7 @@ "content": [ "sample_1.bgc.gbk:md5,e50e429959e9c4bf0c4b97d9dcd54a08", "sample_2.bgc.gbk:md5,effe3cfc91772eb4e4b50ac46f13a941", - "sample_3.bgc.gbk:md5,c9028aca1282b314d296091e1f0b8e52" + "sample_3.bgc.gbk:md5,41920a93524a1bb32ae1003d69327642" ], "meta": { "nf-test": "0.9.0", diff --git a/tests/test_prokka.nf.test b/tests/test_prokka.nf.test index d332362e..df5a33a8 100644 --- a/tests/test_prokka.nf.test +++ b/tests/test_prokka.nf.test @@ -53,7 +53,7 @@ nextflow_pipeline { ).match("macrel") }, // AMPcombi - { assert path("$outputDir/reports/ampcombi2/Ampcombi_summary.tsv").text.contains("PROKKA_00019") }, + { assert path("$outputDir/reports/ampcombi2/Ampcombi_summary.tsv").text.contains("PROKKA_377") }, { assert snapshot( path("$outputDir/reports/ampcombi2/Ampcombi_cluster.log"), path("$outputDir/reports/ampcombi2/Ampcombi_complete.log"), diff --git a/tests/test_prokka.nf.test.snap b/tests/test_prokka.nf.test.snap index 1ac682b3..27e713c6 100644 --- a/tests/test_prokka.nf.test.snap +++ b/tests/test_prokka.nf.test.snap @@ -47,7 +47,7 @@ "deeparg_tsv_ARG": { "content": [ "sample_1.align.daa.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", - "sample_2.align.daa.tsv:md5,06648de08caca0b7f42eab9576615226", + "sample_2.align.daa.tsv:md5,7802fb45d7343e492d3677fec67e6d0c", "sample_1.mapping.ARG:md5,0e049e99eab4c55666062df21707d5b9", "sample_2.mapping.ARG:md5,0e049e99eab4c55666062df21707d5b9" ], diff --git a/tests/test_taxonomy_prokka.nf.test b/tests/test_taxonomy_prokka.nf.test index 64c67b4a..d1b86fdd 100644 --- a/tests/test_taxonomy_prokka.nf.test +++ b/tests/test_taxonomy_prokka.nf.test @@ -55,7 +55,7 @@ nextflow_pipeline { // AMPcombi { assert snapshot ( - file("$outputDir/reports/ampcombi2/sample_2/sample_2_ampcombi.tsv").text.contains("PROKKA_00109"), + file("$outputDir/reports/ampcombi2/sample_2/sample_2_ampcombi.tsv").text.contains("PROKKA_00119"), ).match("ampcombi") }, { assert new File("$outputDir/reports/ampcombi2/ampcombi_complete_summary_taxonomy.tsv.gz").exists() },