diff --git a/modules/nf-core/rundbcan/cazymeannotation/environment.yml b/modules/nf-core/rundbcan/cazymeannotation/environment.yml index d7941afd8855..da2844c4fbb4 100644 --- a/modules/nf-core/rundbcan/cazymeannotation/environment.yml +++ b/modules/nf-core/rundbcan/cazymeannotation/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - conda-forge dependencies: - - bioconda::dbcan=5.2.6 + - bioconda::dbcan=5.2.8 diff --git a/modules/nf-core/rundbcan/cazymeannotation/main.nf b/modules/nf-core/rundbcan/cazymeannotation/main.nf index 2f9849a16ae5..466739e6f0fe 100644 --- a/modules/nf-core/rundbcan/cazymeannotation/main.nf +++ b/modules/nf-core/rundbcan/cazymeannotation/main.nf @@ -1,22 +1,22 @@ process RUNDBCAN_CAZYMEANNOTATION { - tag "$meta.id" + tag "${meta.id}" label 'process_medium' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/dbcan:5.2.6--pyhdfd78af_0' : - 'quay.io/biocontainers/dbcan:5.2.6--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/dbcan:5.2.8--pyhdfd78af_0' : + 'quay.io/biocontainers/dbcan:5.2.8--pyhdfd78af_0' }" input: tuple val(meta), path(input_raw_data) path dbcan_db output: - tuple val(meta), path("${prefix}_overview.tsv") , emit: cazyme_annotation - tuple val(meta), path("${prefix}_dbCAN_hmm_results.tsv") , emit: dbcanhmm_results + tuple val(meta), path("${prefix}_overview.tsv"), emit: cazyme_annotation + tuple val(meta), path("${prefix}_dbCAN_hmm_results.tsv"), emit: dbcanhmm_results tuple val(meta), path("${prefix}_dbCANsub_hmm_results.tsv"), emit: dbcansub_results - tuple val(meta), path("${prefix}_diamond.out") , emit: dbcandiamond_results - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}_diamond.out"), emit: dbcandiamond_results + tuple val("${task.process}"), val('rundbcan'), eval("run_dbcan version | sed 's/dbCAN version: //g'"), emit: versions_rundbcan, topic: versions when: task.ext.when == null || task.ext.when @@ -36,11 +36,6 @@ process RUNDBCAN_CAZYMEANNOTATION { mv dbCAN_hmm_results.tsv ${prefix}_dbCAN_hmm_results.tsv mv dbCANsub_hmm_results.tsv ${prefix}_dbCANsub_hmm_results.tsv mv diamond.out ${prefix}_diamond.out - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ stub: @@ -50,10 +45,5 @@ process RUNDBCAN_CAZYMEANNOTATION { touch ${prefix}_dbCAN_hmm_results.tsv touch ${prefix}_dbCANsub_hmm_results.tsv touch ${prefix}_diamond.out - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ } diff --git a/modules/nf-core/rundbcan/cazymeannotation/meta.yml b/modules/nf-core/rundbcan/cazymeannotation/meta.yml index 88675bdfcca8..83a525e2b7b3 100644 --- a/modules/nf-core/rundbcan/cazymeannotation/meta.yml +++ b/modules/nf-core/rundbcan/cazymeannotation/meta.yml @@ -1,8 +1,7 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "rundbcan_cazymeannotation" -description: CAZyme annotation module for the dbcan pipeline. This module is used - to annotate carbohydrate-active enzymes (CAZymes) from genomic data using the dbCAN - annotation tool. +description: CAZyme annotation module for the dbcan pipeline. This module is + used to annotate carbohydrate-active enzymes (CAZymes) from genomic data using + the dbCAN annotation tool. keywords: - dbCAN - download @@ -17,9 +16,9 @@ tools: documentation: "https://run-dbcan.readthedocs.io/en/latest/" tool_dev_url: "https://github.com/bcb-unl/run_dbcan" doi: "10.1093/nar/gkad328" - licence: ["GPL v3-or-later"] + licence: + - "GPL v3-or-later" identifier: biotools:dbcan - input: - - meta: type: map @@ -31,8 +30,8 @@ input: description: FASTA file for protein sequences. pattern: "*.{fasta,fa,faa}" ontologies: - - edam: "http://edamontology.org/data_2044" # Sequence - - edam: "http://edamontology.org/format_1929" # FASTA + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1929" - dbcan_db: type: directory description: Path to the dbCAN database directory. @@ -81,13 +80,27 @@ output: description: | TSV file containing the detailed dbCAN diamond results for CAZyme annotation. ontologies: [] + versions_rundbcan: + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool authors: - "@Xinpeng021001" maintainers: diff --git a/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test b/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test index d3ff75788186..714927a65eea 100644 --- a/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test +++ b/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test @@ -37,10 +37,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() + { assert snapshot(process.out).match() } ) } @@ -61,10 +58,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() + { assert snapshot(process.out).match() } ) } diff --git a/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test.snap b/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test.snap index f984379d81bf..82dd7dc59d3d 100644 --- a/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test.snap +++ b/modules/nf-core/rundbcan/cazymeannotation/tests/main.nf.test.snap @@ -35,7 +35,11 @@ ] ], "4": [ - "versions.yml:md5,51c852df9519c8781977cf96a01dfc6a" + [ + "RUNDBCAN_CAZYMEANNOTATION", + "rundbcan", + "5.2.8" + ] ], "cazyme_annotation": [ [ @@ -69,21 +73,20 @@ "stub_dbCANsub_hmm_results.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,51c852df9519c8781977cf96a01dfc6a" + "versions_rundbcan": [ + [ + "RUNDBCAN_CAZYMEANNOTATION", + "rundbcan", + "5.2.8" + ] ] - }, - { - "RUNDBCAN_CAZYMEANNOTATION": { - "dbcan": "5.2.6" - } } ], + "timestamp": "2026-04-20T12:23:30.010346172", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T13:06:18.515911731" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } }, "dbcancazyme - simplified": { "content": [ @@ -121,7 +124,11 @@ ] ], "4": [ - "versions.yml:md5,51c852df9519c8781977cf96a01dfc6a" + [ + "RUNDBCAN_CAZYMEANNOTATION", + "rundbcan", + "5.2.8" + ] ], "cazyme_annotation": [ [ @@ -155,20 +162,19 @@ "test_dbCANsub_hmm_results.tsv:md5,d771df5ab5b2967ced24c04fe54abf17" ] ], - "versions": [ - "versions.yml:md5,51c852df9519c8781977cf96a01dfc6a" + "versions_rundbcan": [ + [ + "RUNDBCAN_CAZYMEANNOTATION", + "rundbcan", + "5.2.8" + ] ] - }, - { - "RUNDBCAN_CAZYMEANNOTATION": { - "dbcan": "5.2.6" - } } ], + "timestamp": "2026-04-20T12:23:24.276249869", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T13:06:15.732926016" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } } } \ No newline at end of file diff --git a/modules/nf-core/rundbcan/database/environment.yml b/modules/nf-core/rundbcan/database/environment.yml index d7941afd8855..da2844c4fbb4 100644 --- a/modules/nf-core/rundbcan/database/environment.yml +++ b/modules/nf-core/rundbcan/database/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - conda-forge dependencies: - - bioconda::dbcan=5.2.6 + - bioconda::dbcan=5.2.8 diff --git a/modules/nf-core/rundbcan/database/main.nf b/modules/nf-core/rundbcan/database/main.nf index c046fb461c07..4055edbc2730 100644 --- a/modules/nf-core/rundbcan/database/main.nf +++ b/modules/nf-core/rundbcan/database/main.nf @@ -3,12 +3,12 @@ process RUNDBCAN_DATABASE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/dbcan:5.2.6--pyhdfd78af_0' : - 'quay.io/biocontainers/dbcan:5.2.6--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/dbcan:5.2.8--pyhdfd78af_0' : + 'quay.io/biocontainers/dbcan:5.2.8--pyhdfd78af_0' }" output: - path "dbcan_db" , emit: dbcan_db - path "versions.yml", emit: versions + path "dbcan_db", emit: dbcan_db + tuple val("${task.process}"), val('rundbcan'), eval("run_dbcan version | sed 's/dbCAN version: //g'"), emit: versions_rundbcan, topic: versions when: task.ext.when == null || task.ext.when @@ -18,20 +18,10 @@ process RUNDBCAN_DATABASE { run_dbcan database \\ --db_dir dbcan_db \\ --aws_s3 - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ stub: """ mkdir -p dbcan_db - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ } diff --git a/modules/nf-core/rundbcan/database/meta.yml b/modules/nf-core/rundbcan/database/meta.yml index 001a06fa80c5..5c0b0267f945 100644 --- a/modules/nf-core/rundbcan/database/meta.yml +++ b/modules/nf-core/rundbcan/database/meta.yml @@ -1,6 +1,6 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "rundbcan_database" -description: command from run_dbcan to prepare the database for dbCAN annotation. +description: command from run_dbcan to prepare the database for dbCAN + annotation. keywords: - dbCAN - download @@ -15,23 +15,37 @@ tools: documentation: "https://run-dbcan.readthedocs.io/en/latest/" tool_dev_url: "https://github.com/bcb-unl/run_dbcan" doi: "10.1093/nar/gkad328" - licence: ["GPL v3-or-later"] + licence: + - "GPL v3-or-later" identifier: biotools:dbcan - +input: [] output: dbcan_db: - dbcan_db: type: directory description: Download directory for dbCAN databases pattern: "dbcan_db" + versions_rundbcan: + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool authors: - "@Xinpeng021001" maintainers: diff --git a/modules/nf-core/rundbcan/database/tests/main.nf.test b/modules/nf-core/rundbcan/database/tests/main.nf.test index d81a33197532..561f73899370 100644 --- a/modules/nf-core/rundbcan/database/tests/main.nf.test +++ b/modules/nf-core/rundbcan/database/tests/main.nf.test @@ -21,11 +21,9 @@ nextflow_process { then { assert process.success assert path(process.out.dbcan_db.get(0)).exists() - assert path(process.out.versions[0]).exists() assertAll( { assert snapshot( - process.out.versions, - path(process.out.versions[0]).yaml + process.out.findAll { key, val -> key.startsWith('versions') } ).match() } ) } @@ -47,8 +45,7 @@ nextflow_process { assertAll( { assert snapshot( file(process.out.dbcan_db.get(0)).name, - process.out.versions, - path(process.out.versions[0]).yaml + process.out.findAll { key, val -> key.startsWith('versions') } ).match() } ) } diff --git a/modules/nf-core/rundbcan/database/tests/main.nf.test.snap b/modules/nf-core/rundbcan/database/tests/main.nf.test.snap index ccf533f96b91..7fd3e2348dba 100644 --- a/modules/nf-core/rundbcan/database/tests/main.nf.test.snap +++ b/modules/nf-core/rundbcan/database/tests/main.nf.test.snap @@ -1,37 +1,39 @@ { "rundbcan - database - basic": { "content": [ - [ - "versions.yml:md5,1cb5864f97367a12e59f0ca7dabfece2" - ], { - "RUNDBCAN_DATABASE": { - "dbcan": "5.2.6" - } + "versions_rundbcan": [ + [ + "RUNDBCAN_DATABASE", + "rundbcan", + "5.2.8" + ] + ] } ], + "timestamp": "2026-04-20T12:35:23.340092811", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T13:11:26.280576128" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } }, "rundbcan - database - stub": { "content": [ "dbcan_db", - [ - "versions.yml:md5,1cb5864f97367a12e59f0ca7dabfece2" - ], { - "RUNDBCAN_DATABASE": { - "dbcan": "5.2.6" - } + "versions_rundbcan": [ + [ + "RUNDBCAN_DATABASE", + "rundbcan", + "5.2.8" + ] + ] } ], + "timestamp": "2026-04-20T12:35:29.047040575", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T13:11:28.96590784" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } } } \ No newline at end of file diff --git a/modules/nf-core/rundbcan/easycgc/environment.yml b/modules/nf-core/rundbcan/easycgc/environment.yml index d7941afd8855..da2844c4fbb4 100644 --- a/modules/nf-core/rundbcan/easycgc/environment.yml +++ b/modules/nf-core/rundbcan/easycgc/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - conda-forge dependencies: - - bioconda::dbcan=5.2.6 + - bioconda::dbcan=5.2.8 diff --git a/modules/nf-core/rundbcan/easycgc/main.nf b/modules/nf-core/rundbcan/easycgc/main.nf index 4f82efcf4d82..c177d0b0161d 100644 --- a/modules/nf-core/rundbcan/easycgc/main.nf +++ b/modules/nf-core/rundbcan/easycgc/main.nf @@ -1,28 +1,28 @@ process RUNDBCAN_EASYCGC { - tag "$meta.id" + tag "${meta.id}" label 'process_medium' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/dbcan:5.2.6--pyhdfd78af_0' : - 'quay.io/biocontainers/dbcan:5.2.6--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/dbcan:5.2.8--pyhdfd78af_0' : + 'quay.io/biocontainers/dbcan:5.2.8--pyhdfd78af_0' }" input: - tuple val(meta), path(input_raw_data) + tuple val(meta), path(input_raw_data) tuple val(meta2), path(input_gff), val(gff_type) - path dbcan_db + path dbcan_db output: - tuple val(meta), path("${prefix}_overview.tsv") , emit: cazyme_annotation - tuple val(meta), path("${prefix}_dbCAN_hmm_results.tsv") , emit: dbcanhmm_results + tuple val(meta), path("${prefix}_overview.tsv"), emit: cazyme_annotation + tuple val(meta), path("${prefix}_dbCAN_hmm_results.tsv"), emit: dbcanhmm_results tuple val(meta), path("${prefix}_dbCANsub_hmm_results.tsv"), emit: dbcansub_results - tuple val(meta), path("${prefix}_diamond.out") , emit: dbcandiamond_results - tuple val(meta), path("${prefix}_cgc.gff") , emit: cgc_gff - tuple val(meta), path("${prefix}_cgc_standard_out.tsv") , emit: cgc_standard_out - tuple val(meta), path("${prefix}_diamond.out.tc") , emit: diamond_out_tc - tuple val(meta), path("${prefix}_TF_hmm_results.tsv") , emit: tf_hmm_results, optional: true - tuple val(meta), path("${prefix}_STP_hmm_results.tsv") , emit: stp_hmm_results - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}_diamond.out"), emit: dbcandiamond_results + tuple val(meta), path("${prefix}_cgc.gff"), emit: cgc_gff + tuple val(meta), path("${prefix}_cgc_standard_out.tsv"), emit: cgc_standard_out + tuple val(meta), path("${prefix}_diamond.out.tc"), emit: diamond_out_tc + tuple val(meta), path("${prefix}_TF_hmm_results.tsv"), emit: tf_hmm_results, optional: true + tuple val(meta), path("${prefix}_STP_hmm_results.tsv"), emit: stp_hmm_results + tuple val("${task.process}"), val('rundbcan'), eval("run_dbcan version | sed 's/dbCAN version: //g'"), emit: versions_rundbcan, topic: versions when: task.ext.when == null || task.ext.when @@ -52,11 +52,6 @@ process RUNDBCAN_EASYCGC { if [ -f TF_hmm_results.tsv ]; then mv TF_hmm_results.tsv ${prefix}_TF_hmm_results.tsv fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ stub: @@ -72,10 +67,5 @@ process RUNDBCAN_EASYCGC { touch ${prefix}_TF_hmm_results.tsv touch ${prefix}_STP_hmm_results.tsv touch ${prefix}_total_cgc_info.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ } diff --git a/modules/nf-core/rundbcan/easycgc/meta.yml b/modules/nf-core/rundbcan/easycgc/meta.yml index 9428944b30a7..f3668881e372 100644 --- a/modules/nf-core/rundbcan/easycgc/meta.yml +++ b/modules/nf-core/rundbcan/easycgc/meta.yml @@ -1,8 +1,7 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "rundbcan_easycgc" -description: CGC annotation module for the dbcan pipeline. This module is used to - annotate carbohydrate-active enzymes (CAZymes) from genomic data using the dbCAN - annotation tool. +description: CGC annotation module for the dbcan pipeline. This module is used + to annotate carbohydrate-active enzymes (CAZymes) from genomic data using the + dbCAN annotation tool. keywords: - dbCAN - download @@ -17,9 +16,9 @@ tools: documentation: "https://run-dbcan.readthedocs.io/en/latest/" tool_dev_url: "https://github.com/bcb-unl/run_dbcan" doi: "10.1093/nar/gkad328" - licence: ["GPL v3-or-later"] + licence: + - "GPL v3-or-later" identifier: biotools:dbcan - input: - - meta: type: map @@ -31,8 +30,8 @@ input: description: FASTA file for protein sequences. pattern: "*.{fasta,fa,faa}" ontologies: - - edam: "http://edamontology.org/data_2044" # Sequence - - edam: "http://edamontology.org/format_1929" # FASTA + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1929" - - meta2: type: map description: | @@ -49,7 +48,6 @@ input: - dbcan_db: type: directory description: Path to the dbCAN database directory. - output: cazyme_annotation: - - meta: @@ -150,13 +148,27 @@ output: description: | TSV file containing the results of signaling transduction proteins (STP) annotation. ontologies: [] + versions_rundbcan: + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool authors: - "@Xinpeng021001" maintainers: diff --git a/modules/nf-core/rundbcan/easycgc/tests/main.nf.test b/modules/nf-core/rundbcan/easycgc/tests/main.nf.test index a3cf6ec22cf7..c50c365df543 100644 --- a/modules/nf-core/rundbcan/easycgc/tests/main.nf.test +++ b/modules/nf-core/rundbcan/easycgc/tests/main.nf.test @@ -43,10 +43,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() + { assert snapshot(process.out).match() } ) } @@ -68,10 +65,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() + { assert snapshot(process.out).match() } ) } diff --git a/modules/nf-core/rundbcan/easycgc/tests/main.nf.test.snap b/modules/nf-core/rundbcan/easycgc/tests/main.nf.test.snap index 671982307ea9..997de21fbd36 100644 --- a/modules/nf-core/rundbcan/easycgc/tests/main.nf.test.snap +++ b/modules/nf-core/rundbcan/easycgc/tests/main.nf.test.snap @@ -70,7 +70,11 @@ ] ], "9": [ - "versions.yml:md5,c60e758c5cd075dc308ba30508b11b27" + [ + "RUNDBCAN_EASYCGC", + "rundbcan", + "5.2.8" + ] ], "cazyme_annotation": [ [ @@ -139,21 +143,20 @@ "tf_hmm_results": [ ], - "versions": [ - "versions.yml:md5,c60e758c5cd075dc308ba30508b11b27" + "versions_rundbcan": [ + [ + "RUNDBCAN_EASYCGC", + "rundbcan", + "5.2.8" + ] ] - }, - { - "RUNDBCAN_EASYCGC": { - "dbcan": "5.2.6" - } } ], + "timestamp": "2026-04-20T12:45:57.450276128", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T14:37:07.440132787" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } }, "easycgc - stub": { "content": [ @@ -231,7 +234,11 @@ ] ], "9": [ - "versions.yml:md5,c60e758c5cd075dc308ba30508b11b27" + [ + "RUNDBCAN_EASYCGC", + "rundbcan", + "5.2.8" + ] ], "cazyme_annotation": [ [ @@ -305,20 +312,19 @@ "stub_TF_hmm_results.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,c60e758c5cd075dc308ba30508b11b27" + "versions_rundbcan": [ + [ + "RUNDBCAN_EASYCGC", + "rundbcan", + "5.2.8" + ] ] - }, - { - "RUNDBCAN_EASYCGC": { - "dbcan": "5.2.6" - } } ], + "timestamp": "2026-04-20T12:46:03.050032568", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T13:16:26.988658038" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } } } \ No newline at end of file diff --git a/modules/nf-core/rundbcan/easysubstrate/environment.yml b/modules/nf-core/rundbcan/easysubstrate/environment.yml index d7941afd8855..da2844c4fbb4 100644 --- a/modules/nf-core/rundbcan/easysubstrate/environment.yml +++ b/modules/nf-core/rundbcan/easysubstrate/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - conda-forge dependencies: - - bioconda::dbcan=5.2.6 + - bioconda::dbcan=5.2.8 diff --git a/modules/nf-core/rundbcan/easysubstrate/main.nf b/modules/nf-core/rundbcan/easysubstrate/main.nf index 3c16f052985d..1e6dd502e6f3 100644 --- a/modules/nf-core/rundbcan/easysubstrate/main.nf +++ b/modules/nf-core/rundbcan/easysubstrate/main.nf @@ -1,31 +1,31 @@ process RUNDBCAN_EASYSUBSTRATE { - tag "$meta.id" + tag "${meta.id}" label 'process_medium' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/dbcan:5.2.6--pyhdfd78af_0' : - 'quay.io/biocontainers/dbcan:5.2.6--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/dbcan:5.2.8--pyhdfd78af_0' : + 'quay.io/biocontainers/dbcan:5.2.8--pyhdfd78af_0' }" input: - tuple val(meta), path(input_raw_data) + tuple val(meta), path(input_raw_data) tuple val(meta2), path(input_gff), val(gff_type) - path dbcan_db + path dbcan_db output: - tuple val(meta), path("${prefix}_overview.tsv") , emit: cazyme_annotation - tuple val(meta), path("${prefix}_dbCAN_hmm_results.tsv") , emit: dbcanhmm_results + tuple val(meta), path("${prefix}_overview.tsv"), emit: cazyme_annotation + tuple val(meta), path("${prefix}_dbCAN_hmm_results.tsv"), emit: dbcanhmm_results tuple val(meta), path("${prefix}_dbCANsub_hmm_results.tsv"), emit: dbcansub_results - tuple val(meta), path("${prefix}_diamond.out") , emit: dbcandiamond_results - tuple val(meta), path("${prefix}_cgc.gff") , emit: cgc_gff - tuple val(meta), path("${prefix}_cgc_standard_out.tsv") , emit: cgc_standard_out - tuple val(meta), path("${prefix}_diamond.out.tc") , emit: diamond_out_tc - tuple val(meta), path("${prefix}_TF_hmm_results.tsv") , emit: tf_hmm_results, optional: true - tuple val(meta), path("${prefix}_STP_hmm_results.tsv") , emit: stp_hmm_results - tuple val(meta), path("${prefix}_total_cgc_info.tsv") , emit: total_cgc_info + tuple val(meta), path("${prefix}_diamond.out"), emit: dbcandiamond_results + tuple val(meta), path("${prefix}_cgc.gff"), emit: cgc_gff + tuple val(meta), path("${prefix}_cgc_standard_out.tsv"), emit: cgc_standard_out + tuple val(meta), path("${prefix}_diamond.out.tc"), emit: diamond_out_tc + tuple val(meta), path("${prefix}_TF_hmm_results.tsv"), emit: tf_hmm_results, optional: true + tuple val(meta), path("${prefix}_STP_hmm_results.tsv"), emit: stp_hmm_results + tuple val(meta), path("${prefix}_total_cgc_info.tsv"), emit: total_cgc_info tuple val(meta), path("${prefix}_substrate_prediction.tsv"), emit: substrate_prediction - tuple val(meta), path("${prefix}_synteny_pdf/") , emit: synteny_pdf - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}_synteny_pdf/"), optional: true, emit: synteny_pdf + tuple val("${task.process}"), val('rundbcan'), eval("run_dbcan version | sed 's/dbCAN version: //g'"), emit: versions_rundbcan, topic: versions when: task.ext.when == null || task.ext.when @@ -60,11 +60,6 @@ process RUNDBCAN_EASYSUBSTRATE { if [ -f TF_hmm_results.tsv ]; then mv TF_hmm_results.tsv ${prefix}_TF_hmm_results.tsv fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ stub: @@ -84,10 +79,5 @@ process RUNDBCAN_EASYSUBSTRATE { touch ${prefix}_PUL_blast.out touch ${prefix}_substrate_prediction.tsv mkdir -p ${prefix}_synteny_pdf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dbcan: \$(echo \$(run_dbcan version) | cut -f2 -d':' | cut -f2 -d' ') - END_VERSIONS """ } diff --git a/modules/nf-core/rundbcan/easysubstrate/meta.yml b/modules/nf-core/rundbcan/easysubstrate/meta.yml index a6ace2b89ec0..f8350bb7e453 100644 --- a/modules/nf-core/rundbcan/easysubstrate/meta.yml +++ b/modules/nf-core/rundbcan/easysubstrate/meta.yml @@ -1,8 +1,7 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "rundbcan_easysubstrate" -description: Substrate annotation module for the dbcan pipeline. This module is used - to annotate carbohydrate-active enzymes (CAZymes) from genomic data using the dbCAN - annotation tool. +description: Substrate annotation module for the dbcan pipeline. This module is + used to annotate carbohydrate-active enzymes (CAZymes) from genomic data using + the dbCAN annotation tool. keywords: - dbCAN - download @@ -17,9 +16,9 @@ tools: documentation: "https://run-dbcan.readthedocs.io/en/latest/" tool_dev_url: "https://github.com/bcb-unl/run_dbcan" doi: "10.1093/nar/gkad328" - licence: ["GPL v3-or-later"] + licence: + - "GPL v3-or-later" identifier: biotools:dbcan - input: - - meta: type: map @@ -31,8 +30,8 @@ input: description: FASTA file for protein sequences. pattern: "*.{fasta,fa,faa}" ontologies: - - edam: "http://edamontology.org/data_2044" # Sequence - - edam: "http://edamontology.org/format_1929" # FASTA + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1929" - - meta2: type: map description: | @@ -49,7 +48,6 @@ input: - dbcan_db: type: directory description: Path to the dbCAN database directory. - output: cazyme_annotation: - - meta: @@ -182,13 +180,27 @@ output: type: directory description: | Directory containing the synteny plots in PDF format for the CAZyme gene clusters (CGC) identified by dbCAN. This directory will contain one or more PDF files showing the syntenic regions of the CGC in the genome. + versions_rundbcan: + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - rundbcan: + type: string + description: The name of the tool + - "run_dbcan version | sed 's/dbCAN version: //g'": + type: eval + description: The expression to obtain the version of the tool authors: - "@Xinpeng021001" maintainers: diff --git a/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test b/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test index b6c016a1d32a..43ba39cc4311 100644 --- a/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test +++ b/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test @@ -44,18 +44,17 @@ nextflow_process { assert process.success assertAll( { assert snapshot( - process.out.cazyme_annotation, + path(process.out.cazyme_annotation[0][1]).text.contains('QYO62262.1|GH13'), process.out.dbcanhmm_results, process.out.dbcansub_results, - process.out.dbcandiamond_results, + path(process.out.dbcandiamond_results[0][1]).text.contains('GH13'), process.out.cgc_gff, process.out.cgc_standard_out, process.out.diamond_out_tc, process.out.tf_hmm_results, process.out.stp_hmm_results, process.out.total_cgc_info, - process.out.versions, - path(process.out.versions[0]).yaml + process.out.findAll { key, val -> key.startsWith('versions') } ).match() } ) @@ -79,10 +78,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() + { assert snapshot(process.out).match() } ) } diff --git a/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test.snap b/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test.snap index 37d779b4550b..0d4a45b4b52f 100644 --- a/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test.snap +++ b/modules/nf-core/rundbcan/easysubstrate/tests/main.nf.test.snap @@ -37,7 +37,11 @@ ] ], "12": [ - "versions.yml:md5,b3b2fdbf18a2af95cc972c93ae3d9b86" + [ + "RUNDBCAN_EASYSUBSTRATE", + "rundbcan", + "5.2.8" + ] ], "2": [ [ @@ -201,32 +205,24 @@ "stub_total_cgc_info.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,b3b2fdbf18a2af95cc972c93ae3d9b86" + "versions_rundbcan": [ + [ + "RUNDBCAN_EASYSUBSTRATE", + "rundbcan", + "5.2.8" + ] ] - }, - { - "RUNDBCAN_EASYSUBSTRATE": { - "dbcan": "5.2.6" - } } ], + "timestamp": "2026-04-20T12:56:22.019632962", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T13:21:03.654343854" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } }, "easysubstrate - simplified": { "content": [ - [ - [ - { - "id": "test" - }, - "test_overview.tsv:md5,946555b9669d8e0b1705ca512ad3c60d" - ] - ], + false, [ [ { @@ -243,14 +239,7 @@ "test_dbCANsub_hmm_results.tsv:md5,d771df5ab5b2967ced24c04fe54abf17" ] ], - [ - [ - { - "id": "test" - }, - "test_diamond.out:md5,f6d902c0af43d8b33a41d647327c673e" - ] - ], + true, [ [ { @@ -294,19 +283,20 @@ "test_total_cgc_info.tsv:md5,86b551fe09a76b253b6c955363255af9" ] ], - [ - "versions.yml:md5,b3b2fdbf18a2af95cc972c93ae3d9b86" - ], { - "RUNDBCAN_EASYSUBSTRATE": { - "dbcan": "5.2.6" - } + "versions_rundbcan": [ + [ + "RUNDBCAN_EASYSUBSTRATE", + "rundbcan", + "5.2.8" + ] + ] } ], + "timestamp": "2026-04-20T15:59:57.278107864", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2026-02-02T15:25:26.403675169" + "nf-test": "0.9.5", + "nextflow": "24.10.3" + } } } \ No newline at end of file