From e7643ae603f4e2f0583b83dc5655d63a6e2ffec5 Mon Sep 17 00:00:00 2001 From: louis Date: Tue, 12 May 2026 20:37:01 +0200 Subject: [PATCH 1/4] Update to topics --- .../nf-core/hmmer/eslalimask/environment.yml | 2 +- modules/nf-core/hmmer/eslalimask/main.nf | 17 +- modules/nf-core/hmmer/eslalimask/meta.yml | 65 +++++-- .../hmmer/eslalimask/tests/main.nf.test | 13 +- .../hmmer/eslalimask/tests/main.nf.test.snap | 161 ++++++----------- .../nf-core/hmmer/eslreformat/environment.yml | 2 +- modules/nf-core/hmmer/eslreformat/main.nf | 17 +- modules/nf-core/hmmer/eslreformat/meta.yml | 51 +++++- .../hmmer/eslreformat/tests/main.nf.test | 15 +- .../hmmer/eslreformat/tests/main.nf.test.snap | 125 +++++++------ modules/nf-core/hmmer/hmmalign/meta.yml | 8 +- modules/nf-core/hmmer/hmmbuild/meta.yml | 12 +- .../nf-core/hmmer/hmmfetch/environment.yml | 2 +- modules/nf-core/hmmer/hmmfetch/main.nf | 16 +- modules/nf-core/hmmer/hmmfetch/meta.yml | 42 +++-- .../nf-core/hmmer/hmmfetch/tests/main.nf.test | 8 +- .../hmmer/hmmfetch/tests/main.nf.test.snap | 128 +++++--------- modules/nf-core/hmmer/hmmpress/main.nf | 12 +- modules/nf-core/hmmer/hmmpress/meta.yml | 29 ++- .../nf-core/hmmer/hmmpress/tests/main.nf.test | 24 +-- .../hmmer/hmmpress/tests/main.nf.test.snap | 60 ++----- modules/nf-core/hmmer/hmmrank/main.nf | 18 +- modules/nf-core/hmmer/hmmrank/meta.yml | 58 ++++-- .../nf-core/hmmer/hmmrank/tests/main.nf.test | 4 +- modules/nf-core/hmmer/hmmsearch/meta.yml | 1 - .../hmmer/hmmsearch/tests/main.nf.test | 16 +- .../nf-core/hmmer/jackhmmer/environment.yml | 2 +- modules/nf-core/hmmer/jackhmmer/main.nf | 12 +- modules/nf-core/hmmer/jackhmmer/meta.yml | 59 ++++--- .../hmmer/jackhmmer/tests/main.nf.test | 27 ++- .../hmmer/jackhmmer/tests/main.nf.test.snap | 165 +++++++++--------- 31 files changed, 560 insertions(+), 611 deletions(-) diff --git a/modules/nf-core/hmmer/eslalimask/environment.yml b/modules/nf-core/hmmer/eslalimask/environment.yml index 83d20a9294cb..1967d405f554 100644 --- a/modules/nf-core/hmmer/eslalimask/environment.yml +++ b/modules/nf-core/hmmer/eslalimask/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::hmmer=3.3.2 + - bioconda::hmmer=3.4 diff --git a/modules/nf-core/hmmer/eslalimask/main.nf b/modules/nf-core/hmmer/eslalimask/main.nf index c44f66e00596..9f9bcd375c81 100644 --- a/modules/nf-core/hmmer/eslalimask/main.nf +++ b/modules/nf-core/hmmer/eslalimask/main.nf @@ -4,8 +4,8 @@ process HMMER_ESLALIMASK { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/hmmer:3.3.2--h1b792b2_1': - 'quay.io/biocontainers/hmmer:3.3.2--h1b792b2_1' }" + 'https://depot.galaxyproject.org/singularity/hmmer:3.4--hb6cb901_4' : + 'quay.io/biocontainers/hmmer:3.4--hb6cb901_4' }" input: tuple val(meta), path(unmaskedaln), val(fmask_rf), val(fmask_all), val(gmask_rf), val(gmask_all), val(pmask_rf), val(pmask_all) @@ -19,7 +19,8 @@ process HMMER_ESLALIMASK { path "*.gmask-all.gz" , emit: gmask_all, optional: true path "*.pmask-rf.gz" , emit: pmask_rf , optional: true path "*.pmask-all.gz" , emit: pmask_all, optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hmmer'), eval("hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//'"), emit: versions_hmmer, topic: versions + tuple val("${task.process}"), val('easel'), eval("esl-alimask -h | sed '2!d;s/^# Easel *//;s/ .*//'"), emit: versions_easel, topic: versions when: task.ext.when == null || task.ext.when @@ -45,11 +46,6 @@ process HMMER_ESLALIMASK { $args $unmaskedaln $maskfile gzip ${prefix}.*mask* - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer/easel: \$(esl-alimask -h | grep -o '^# Easel [0-9.]*' | sed 's/^# Easel *//') - END_VERSIONS """ stub: @@ -72,10 +68,5 @@ process HMMER_ESLALIMASK { ${pmask_allarg} gzip ${prefix}.*mask* - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer/easel: \$(esl-alimask -h | grep -o '^# Easel [0-9.]*' | sed 's/^# Easel *//') - END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/eslalimask/meta.yml b/modules/nf-core/hmmer/eslalimask/meta.yml index 9c319f150652..f717b3ef5ee1 100644 --- a/modules/nf-core/hmmer/eslalimask/meta.yml +++ b/modules/nf-core/hmmer/eslalimask/meta.yml @@ -10,7 +10,8 @@ tools: homepage: http://hmmer.org/ documentation: http://hmmer.org/documentation.html doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD-3-Clause"] + licence: + - "BSD-3-Clause" identifier: "" input: - - meta: @@ -25,24 +26,27 @@ input: ontologies: [] - fmask_rf: type: boolean - description: Flag to output optional file with final mask of non-gap RF len + description: Flag to output optional file with final mask of non-gap RF + len - fmask_all: type: boolean description: Flag to output optional file with final mask of full aln len - gmask_rf: type: boolean - description: Flag to output optional file gap-based 0/1 mask of non-gap RF len + description: Flag to output optional file gap-based 0/1 mask of non-gap RF + len - gmask_all: type: boolean - description: Flag to output optional file gap-based 0/1 mask of full aln len + description: Flag to output optional file gap-based 0/1 mask of full aln + len - pmask_rf: type: boolean - description: Flag to output optional file with PP-based 0/1 mask of non-gap - RF len + description: Flag to output optional file with PP-based 0/1 mask of + non-gap RF len - pmask_all: type: boolean - description: Flag to output optional file with PP-based 0/1 mask of full aln - len + description: Flag to output optional file with PP-based 0/1 mask of full + aln len - maskfile: type: file description: mask file, see program documentation @@ -103,13 +107,46 @@ output: pattern: "*.pmask-all.gz" ontologies: - edam: http://edamontology.org/format_3989 # GZIP format + versions_hmmer: + - - ${task.process}: + type: string + description: The name of the process + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool + versions_easel: + - - ${task.process}: + type: string + description: The name of the process + - easel: + type: string + description: The name of the tool + - esl-alimask -h | sed '2!d;s/^# Easel *//;s/ .*//': + 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 + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - easel: + type: string + description: The name of the tool + - esl-alimask -h | sed '2!d;s/^# Easel *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool authors: - "@erikrikarddaniel" maintainers: diff --git a/modules/nf-core/hmmer/eslalimask/tests/main.nf.test b/modules/nf-core/hmmer/eslalimask/tests/main.nf.test index 9a188366a376..adc765d19ecf 100644 --- a/modules/nf-core/hmmer/eslalimask/tests/main.nf.test +++ b/modules/nf-core/hmmer/eslalimask/tests/main.nf.test @@ -19,9 +19,9 @@ nextflow_process { """ input[0] = [ [id:'test'], - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/e_coli_k12_16s.fna.gz') + file(params.modules_testdata_base_path + 'delete_me/hmmer/e_coli_k12_16s.fna.gz') ] - input[1] = file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/bac.16S_rRNA.hmm.gz') + input[1] = file(params.modules_testdata_base_path + 'delete_me/hmmer/bac.16S_rRNA.hmm.gz') """ } } @@ -43,7 +43,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -64,7 +64,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -86,10 +86,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/hmmer/eslalimask/tests/main.nf.test.snap b/modules/nf-core/hmmer/eslalimask/tests/main.nf.test.snap index 5f885e0510d6..7fc4ff489ca7 100644 --- a/modules/nf-core/hmmer/eslalimask/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/eslalimask/tests/main.nf.test.snap @@ -2,35 +2,6 @@ "ecoli - hmm no optional output files - []": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.masked.sthlm.gz:md5,9e2d2c1f4dbe2851457b478fd75e7f69" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - - ], - "7": [ - "versions.yml:md5,499a23c59008702b0bfda72cdce1116a" - ], "fmask_all": [ ], @@ -57,49 +28,31 @@ "pmask_rf": [ ], - "versions": [ - "versions.yml:md5,499a23c59008702b0bfda72cdce1116a" + "versions_easel": [ + [ + "HMMER_ESLALIMASK", + "easel", + "0.49" + ] + ], + "versions_hmmer": [ + [ + "HMMER_ESLALIMASK", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:15:39.895105995", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T11:34:10.295624757" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "ecoli - hmm with optional output files - []": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.masked.sthlm.gz:md5,5313874ae46c8a913f507c507321a3d9" - ] - ], - "1": [ - "test.fmask-rf.gz:md5,9ec8400b91b0ad4b69f91888f6762caf" - ], - "2": [ - "test.fmask-all.gz:md5,7da678b3d106269ef4675b575e313244" - ], - "3": [ - "test.gmask-rf.gz:md5,5e028068b40861990b5e8c18cb4fbb75" - ], - "4": [ - "test.gmask-all.gz:md5,e1a8c3410bd77bb4c27410c8ec5f35ea" - ], - "5": [ - "test.pmask-rf.gz:md5,9ec8400b91b0ad4b69f91888f6762caf" - ], - "6": [ - "test.pmask-all.gz:md5,7da678b3d106269ef4675b575e313244" - ], - "7": [ - "versions.yml:md5,499a23c59008702b0bfda72cdce1116a" - ], "fmask_all": [ "test.fmask-all.gz:md5,7da678b3d106269ef4675b575e313244" ], @@ -126,49 +79,31 @@ "pmask_rf": [ "test.pmask-rf.gz:md5,9ec8400b91b0ad4b69f91888f6762caf" ], - "versions": [ - "versions.yml:md5,499a23c59008702b0bfda72cdce1116a" + "versions_easel": [ + [ + "HMMER_ESLALIMASK", + "easel", + "0.49" + ] + ], + "versions_hmmer": [ + [ + "HMMER_ESLALIMASK", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:15:46.701235748", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T11:36:02.56290786" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "ecoli - hmm with optional output files - [] -- stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.masked.sthlm.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - "test.fmask-rf.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "2": [ - "test.fmask-all.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "3": [ - "test.gmask-rf.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "4": [ - "test.gmask-all.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "5": [ - "test.pmask-rf.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "6": [ - "test.pmask-all.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "7": [ - "versions.yml:md5,499a23c59008702b0bfda72cdce1116a" - ], "fmask_all": [ "test.fmask-all.gz:md5,d41d8cd98f00b204e9800998ecf8427e" ], @@ -195,20 +130,26 @@ "pmask_rf": [ "test.pmask-rf.gz:md5,d41d8cd98f00b204e9800998ecf8427e" ], - "versions": [ - "versions.yml:md5,499a23c59008702b0bfda72cdce1116a" + "versions_easel": [ + [ + "HMMER_ESLALIMASK", + "easel", + "0.49" + ] + ], + "versions_hmmer": [ + [ + "HMMER_ESLALIMASK", + "hmmer", + "3.4" + ] ] - }, - { - "HMMER_ESLALIMASK": { - "hmmer/easel": 0.48 - } } ], + "timestamp": "2026-05-12T20:15:53.604659572", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T11:41:05.2704503" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } } } \ No newline at end of file diff --git a/modules/nf-core/hmmer/eslreformat/environment.yml b/modules/nf-core/hmmer/eslreformat/environment.yml index 83d20a9294cb..1967d405f554 100644 --- a/modules/nf-core/hmmer/eslreformat/environment.yml +++ b/modules/nf-core/hmmer/eslreformat/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::hmmer=3.3.2 + - bioconda::hmmer=3.4 diff --git a/modules/nf-core/hmmer/eslreformat/main.nf b/modules/nf-core/hmmer/eslreformat/main.nf index 4d221b734b22..2d0d5ce1abd9 100644 --- a/modules/nf-core/hmmer/eslreformat/main.nf +++ b/modules/nf-core/hmmer/eslreformat/main.nf @@ -4,8 +4,8 @@ process HMMER_ESLREFORMAT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/hmmer:3.3.2--h1b792b2_1': - 'quay.io/biocontainers/hmmer:3.3.2--h1b792b2_1' }" + 'https://depot.galaxyproject.org/singularity/hmmer:3.4--hb6cb901_4' : + 'quay.io/biocontainers/hmmer:3.4--hb6cb901_4' }" input: tuple val(meta), path(seqfile) @@ -13,7 +13,8 @@ process HMMER_ESLREFORMAT { output: tuple val(meta), path("*.*.gz"), emit: seqreformated - path "versions.yml", emit: versions + tuple val("${task.process}"), val('hmmer'), eval("hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//'"), emit: versions_hmmer, topic: versions + tuple val("${task.process}"), val('easel'), eval("esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//'"), emit: versions_easel, topic: versions when: task.ext.when == null || task.ext.when @@ -28,11 +29,6 @@ process HMMER_ESLREFORMAT { $seqfile \\ $postprocessing_script \\ | gzip -c > ${prefix}.${suffix}.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer/easel: \$(esl-reformat -h | grep -o '^# Easel [0-9.]*' | sed 's/^# Easel *//') - END_VERSIONS """ stub: @@ -42,10 +38,5 @@ process HMMER_ESLREFORMAT { """ echo "" | gzip > ${prefix}.${suffix}.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer/easel: \$(esl-reformat -h | grep -o '^# Easel [0-9.]*' | sed 's/^# Easel *//') - END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/eslreformat/meta.yml b/modules/nf-core/hmmer/eslreformat/meta.yml index f15344451650..f737ada00fc2 100644 --- a/modules/nf-core/hmmer/eslreformat/meta.yml +++ b/modules/nf-core/hmmer/eslreformat/meta.yml @@ -1,7 +1,7 @@ name: "hmmer_eslreformat" -description: reformats sequence files, see HMMER documentation for details. The module - requires that the format is specified in ext.args in a config file, and that this - comes last. See the tools help for possible values. +description: reformats sequence files, see HMMER documentation for details. The + module requires that the format is specified in ext.args in a config file, and + that this comes last. See the tools help for possible values. keywords: - sort - hmmer @@ -43,13 +43,46 @@ output: pattern: "*.*.gz" ontologies: - edam: http://edamontology.org/format_3989 + versions_easel: + - - ${task.process}: + type: string + description: The name of the process + - easel: + type: string + description: The name of the tool + - esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool + versions_hmmer: + - - ${task.process}: + type: string + description: The name of the process + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + 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 + - - ${task.process}: + type: string + description: The name of the process + - easel: + type: string + description: The name of the tool + - esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool authors: - "@erikrikarddaniel" maintainers: diff --git a/modules/nf-core/hmmer/eslreformat/tests/main.nf.test b/modules/nf-core/hmmer/eslreformat/tests/main.nf.test index ec40994f3437..3d6ec261b3b5 100644 --- a/modules/nf-core/hmmer/eslreformat/tests/main.nf.test +++ b/modules/nf-core/hmmer/eslreformat/tests/main.nf.test @@ -19,9 +19,9 @@ nextflow_process { """ input[0] = [ [id:'test'], - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true) + file(params.modules_testdata_base_path + 'delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true) ] - input[1] = file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true) + input[1] = file(params.modules_testdata_base_path + 'delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true) """ } } @@ -42,7 +42,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -61,7 +61,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -81,7 +81,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -102,10 +102,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/hmmer/eslreformat/tests/main.nf.test.snap b/modules/nf-core/hmmer/eslreformat/tests/main.nf.test.snap index 253cc67e6e12..2a4c07478493 100644 --- a/modules/nf-core/hmmer/eslreformat/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/eslreformat/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "ecoli - sto unalign": { "content": [ { - "0": [ + "seqreformated": [ [ { "id": "test" @@ -10,32 +10,32 @@ "test.afa.gz:md5,f6e80a6bb1ed8eef4cfba4e1980e649a" ] ], - "1": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" - ], - "seqreformated": [ + "versions_easel": [ [ - { - "id": "test" - }, - "test.afa.gz:md5,f6e80a6bb1ed8eef4cfba4e1980e649a" + "HMMER_ESLREFORMAT", + "easel", + "0.49" ] ], - "versions": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" + "versions_hmmer": [ + [ + "HMMER_ESLREFORMAT", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:18:07.856645262", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T15:14:49.195340217" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "ecoli - sto phylip": { "content": [ { - "0": [ + "seqreformated": [ [ { "id": "test" @@ -43,32 +43,32 @@ "test.phylip.gz:md5,c5122abb9e54b4b6dc8090c05eaaabed" ] ], - "1": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" - ], - "seqreformated": [ + "versions_easel": [ [ - { - "id": "test" - }, - "test.phylip.gz:md5,c5122abb9e54b4b6dc8090c05eaaabed" + "HMMER_ESLREFORMAT", + "easel", + "0.49" ] ], - "versions": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" + "versions_hmmer": [ + [ + "HMMER_ESLREFORMAT", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:18:01.37077495", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T12:04:15.82516821" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "ecoli - sto afa": { "content": [ { - "0": [ + "seqreformated": [ [ { "id": "test" @@ -76,32 +76,32 @@ "test.afa.gz:md5,602548f6a1633eb17a674dfeb43f4724" ] ], - "1": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" - ], - "seqreformated": [ + "versions_easel": [ [ - { - "id": "test" - }, - "test.afa.gz:md5,602548f6a1633eb17a674dfeb43f4724" + "HMMER_ESLREFORMAT", + "easel", + "0.49" ] ], - "versions": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" + "versions_hmmer": [ + [ + "HMMER_ESLREFORMAT", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:17:54.769505978", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T12:04:10.330370561" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "ecoli - sto -- stub": { "content": [ { - "0": [ + "seqreformated": [ [ { "id": "test" @@ -109,31 +109,26 @@ "test.afa.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], - "1": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" - ], - "seqreformated": [ + "versions_easel": [ [ - { - "id": "test" - }, - "test.afa.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "HMMER_ESLREFORMAT", + "easel", + "0.49" ] ], - "versions": [ - "versions.yml:md5,c3b3a665fce0b1fe39ca1d046007e6cf" + "versions_hmmer": [ + [ + "HMMER_ESLREFORMAT", + "hmmer", + "3.4" + ] ] - }, - { - "HMMER_ESLREFORMAT": { - "hmmer/easel": 0.48 - } } ], + "timestamp": "2026-05-12T20:18:14.190890558", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-14T12:04:26.895764342" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } } } \ No newline at end of file diff --git a/modules/nf-core/hmmer/hmmalign/meta.yml b/modules/nf-core/hmmer/hmmalign/meta.yml index ecaa5b12c27a..bbe0b6f4ac02 100644 --- a/modules/nf-core/hmmer/hmmalign/meta.yml +++ b/modules/nf-core/hmmer/hmmalign/meta.yml @@ -1,6 +1,6 @@ name: hmmer_hmmalign -description: hmmalign from the HMMER suite aligns a number of sequences to an HMM - profile +description: hmmalign from the HMMER suite aligns a number of sequences to an + HMM profile keywords: - alignment - HMMER @@ -13,7 +13,8 @@ tools: homepage: http://hmmer.org/ documentation: http://hmmer.org/documentation.html doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD-3-Clause"] + licence: + - "BSD-3-Clause" identifier: "" input: - - meta: @@ -66,7 +67,6 @@ topics: - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': type: eval description: The expression to obtain the version of the tool - authors: - "@erikrikarddaniel" - "@jfy133" diff --git a/modules/nf-core/hmmer/hmmbuild/meta.yml b/modules/nf-core/hmmer/hmmbuild/meta.yml index 48639997e45f..10443d623465 100644 --- a/modules/nf-core/hmmer/hmmbuild/meta.yml +++ b/modules/nf-core/hmmer/hmmbuild/meta.yml @@ -13,7 +13,8 @@ tools: documentation: "http://hmmer.org/documentation.html" tool_dev_url: "https://github.com/EddyRivasLab/hmmer" doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD"] + licence: + - "BSD" identifier: "" input: - - meta: @@ -23,14 +24,14 @@ input: e.g. [ id:'test', single_end:false ] - alignment: type: file - description: multiple sequence alignment in fasta, clustal, stockholm or phylip - format + description: multiple sequence alignment in fasta, clustal, stockholm or + phylip format pattern: "*" ontologies: [] - mxfile: type: file - description: read substitution score matrix, for use when building profiles from - single sequences (--singlemx option) + description: read substitution score matrix, for use when building profiles + from single sequences (--singlemx option) pattern: "*" ontologies: [] output: @@ -71,7 +72,6 @@ topics: - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': type: eval description: The expression to obtain the version of the tool - authors: - "@erikrikarddaniel" maintainers: diff --git a/modules/nf-core/hmmer/hmmfetch/environment.yml b/modules/nf-core/hmmer/hmmfetch/environment.yml index 83d20a9294cb..1967d405f554 100644 --- a/modules/nf-core/hmmer/hmmfetch/environment.yml +++ b/modules/nf-core/hmmer/hmmfetch/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::hmmer=3.3.2 + - bioconda::hmmer=3.4 diff --git a/modules/nf-core/hmmer/hmmfetch/main.nf b/modules/nf-core/hmmer/hmmfetch/main.nf index 2fb3f3c5bbec..5cfca85e7940 100644 --- a/modules/nf-core/hmmer/hmmfetch/main.nf +++ b/modules/nf-core/hmmer/hmmfetch/main.nf @@ -4,8 +4,8 @@ process HMMER_HMMFETCH { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/hmmer:3.3.2--h87f3376_2': - 'quay.io/biocontainers/hmmer:3.3.2--h87f3376_2' }" + 'https://depot.galaxyproject.org/singularity/hmmer:3.4--hb6cb901_4' : + 'quay.io/biocontainers/hmmer:3.4--hb6cb901_4' }" // The module can be called with either a key, a file containing keys or neither. // In the latter case, the hmm database will be indexed and an index but no output @@ -19,7 +19,7 @@ process HMMER_HMMFETCH { output: tuple val(meta), path("*.hmm"), emit: hmm, optional: true tuple val(meta), path("*.ssi"), emit: index, optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hmmer'), eval("hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//'"), emit: versions_hmmer, topic: versions when: task.ext.when == null || task.ext.when @@ -41,11 +41,6 @@ process HMMER_HMMFETCH { $keyarg \\ $keyfile \\ $outfile - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer: \$(hmmsearch -h | grep -o '^# HMMER [0-9.]*' | sed 's/^# HMMER *//') - END_VERSIONS """ stub: @@ -53,10 +48,5 @@ process HMMER_HMMFETCH { """ touch ${prefix}.hmm - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer: \$(hmmsearch -h | grep -o '^# HMMER [0-9.]*' | sed 's/^# HMMER *//') - END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/hmmfetch/meta.yml b/modules/nf-core/hmmer/hmmfetch/meta.yml index e71f6eb194ce..1ec501b218ec 100644 --- a/modules/nf-core/hmmer/hmmfetch/meta.yml +++ b/modules/nf-core/hmmer/hmmfetch/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/yaml-schema.json name: "hmmer_hmmfetch" description: extract hmm from hmm database file or create index for hmm database keywords: @@ -13,7 +12,8 @@ tools: documentation: http://hmmer.org/documentation.html tool_dev_url: https://github.com/EddyRivasLab/hmmer doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD"] + licence: + - "BSD" identifier: "" input: - - meta: @@ -28,12 +28,12 @@ input: ontologies: [] - key: type: string - description: Name of HMM to extract. Specify either this or keyfile. If none is - specified, an index will be built. + description: Name of HMM to extract. Specify either this or keyfile. If none + is specified, an index will be built. - keyfile: type: file - description: File containing list of HMM models to extract. Specify either this - or key. If none is specified, an index will be built. + description: File containing list of HMM models to extract. Specify either + this or key. If none is specified, an index will be built. pattern: "*.txt" ontologies: [] - index: @@ -60,17 +60,31 @@ output: e.g. [ id:'test', single_end:false ] - "*.ssi": type: file - description: Index for HMM database. Created if neither key nor keyfile is - specified. + description: Index for HMM database. Created if neither key nor keyfile + is specified. pattern: "*.ssi" ontologies: [] + versions_hmmer: + - - ${task.process}: + type: string + description: The name of the process + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + 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 + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool authors: - "@erikrikarddaniel" maintainers: diff --git a/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test b/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test index 8f18266ee810..c64b7dbe3902 100644 --- a/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test +++ b/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test @@ -30,7 +30,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -57,7 +57,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -82,7 +82,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -107,7 +107,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test.snap b/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test.snap index d934b779abe6..238b6760bfea 100644 --- a/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/hmmfetch/tests/main.nf.test.snap @@ -2,21 +2,6 @@ "test-hmmer-hmmfetch-index": { "content": [ { - "0": [ - - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "arc.hmm.ssi:md5,17a7bb35662baabb5b1474660d072fb6" - ] - ], - "2": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" - ], "hmm": [ ], @@ -29,35 +14,24 @@ "arc.hmm.ssi:md5,17a7bb35662baabb5b1474660d072fb6" ] ], - "versions": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" + "versions_hmmer": [ + [ + "HMMER_HMMFETCH", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:20:44.711346173", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-05T21:24:45.824243" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "test-hmmer-hmmfetch-index-stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.hmm:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" - ], "hmm": [ [ { @@ -70,97 +44,79 @@ "index": [ ], - "versions": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" + "versions_hmmer": [ + [ + "HMMER_HMMFETCH", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:21:10.343040232", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-05T21:24:50.535566" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "test-hmmer-hmmfetch-keyfile": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.hmm:md5,0e5c7e77342ec91bc6fac2a7a0228d08" - ] - ], - "1": [ - - ], - "2": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" - ], "hmm": [ [ { "id": "test", "single_end": false }, - "test.hmm:md5,0e5c7e77342ec91bc6fac2a7a0228d08" + "test.hmm:md5,f31d001b2ff2c16a7c44af7bcb747bac" ] ], "index": [ ], - "versions": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" + "versions_hmmer": [ + [ + "HMMER_HMMFETCH", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:20:34.167004069", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-05T21:29:44.506723" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "test-hmmer-hmmfetch-key": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.hmm:md5,0328406a7469af6f24e2157b0367705f" - ] - ], - "1": [ - - ], - "2": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" - ], "hmm": [ [ { "id": "test", "single_end": false }, - "test.hmm:md5,0328406a7469af6f24e2157b0367705f" + "test.hmm:md5,3688ae1a1599ec90fa2ea0e0f82ad174" ] ], "index": [ ], - "versions": [ - "versions.yml:md5,ca18131840322abff960ba5c09f91a5a" + "versions_hmmer": [ + [ + "HMMER_HMMFETCH", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:20:25.793682411", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-09-05T21:24:38.347449" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } } } \ No newline at end of file diff --git a/modules/nf-core/hmmer/hmmpress/main.nf b/modules/nf-core/hmmer/hmmpress/main.nf index c1687ce9b66d..9af638654776 100644 --- a/modules/nf-core/hmmer/hmmpress/main.nf +++ b/modules/nf-core/hmmer/hmmpress/main.nf @@ -12,7 +12,7 @@ process HMMER_HMMPRESS { output: tuple val(meta), path("*.h3?"), emit: compressed_db - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hmmer'), eval("hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//'"), emit: versions_hmmer, topic: versions when: task.ext.when == null || task.ext.when @@ -24,11 +24,6 @@ process HMMER_HMMPRESS { hmmpress \\ $args \\ ${hmmfile} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer: \$(echo \$(hmmpress -h | grep HMMER | sed 's/# HMMER //' | sed 's/ .*//' 2>&1)) - END_VERSIONS """ stub: @@ -39,10 +34,5 @@ process HMMER_HMMPRESS { touch ${prefix}.h3i touch ${prefix}.h3f touch ${prefix}.h3p - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer: \$(echo \$(hmmpress -h | grep HMMER | sed 's/# HMMER //' | sed 's/ .*//' 2>&1)) - END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/hmmpress/meta.yml b/modules/nf-core/hmmer/hmmpress/meta.yml index 8ca974a0b838..30eff6a34589 100644 --- a/modules/nf-core/hmmer/hmmpress/meta.yml +++ b/modules/nf-core/hmmer/hmmpress/meta.yml @@ -13,7 +13,8 @@ tools: documentation: "http://hmmer.org/documentation.html" tool_dev_url: "https://github.com/EddyRivasLab/hmmer" doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD"] + licence: + - "BSD" identifier: biotools:hmmer input: - - meta: @@ -37,13 +38,27 @@ output: type: list description: Binary files with compressed profiles and their index pattern: "*.h3?" + versions_hmmer: + - - ${task.process}: + type: string + description: The name of the process + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + 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 + - hmmer: + type: string + description: The name of the tool + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool authors: - "@ochkalova" maintainers: diff --git a/modules/nf-core/hmmer/hmmpress/tests/main.nf.test b/modules/nf-core/hmmer/hmmpress/tests/main.nf.test index 896a9eddbd2c..ac4b77e949aa 100644 --- a/modules/nf-core/hmmer/hmmpress/tests/main.nf.test +++ b/modules/nf-core/hmmer/hmmpress/tests/main.nf.test @@ -12,19 +12,19 @@ nextflow_process { tag "gunzip" setup { - run("GUNZIP") { - script "../../../gunzip" + run("GUNZIP") { + script "../../../gunzip" - process { - """ - input[0] = [ - [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/proteome.hmm.gz', checkIfExists: true) - ] - """ - } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/proteome.hmm.gz', checkIfExists: true) + ] + """ } } + } test("sarscov2 - proteome - hmm - gz") { @@ -39,7 +39,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -58,7 +58,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/hmmer/hmmpress/tests/main.nf.test.snap b/modules/nf-core/hmmer/hmmpress/tests/main.nf.test.snap index 8735e77f2717..c020365eb643 100644 --- a/modules/nf-core/hmmer/hmmpress/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/hmmpress/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "sarscov2 - proteome - hmm - gz": { "content": [ { - "0": [ + "compressed_db": [ [ { "id": "test" @@ -15,37 +15,25 @@ ] ] ], - "1": [ - "versions.yml:md5,f5473ee4ad53142d92c79b5a0fe94bf6" - ], - "compressed_db": [ + "versions_hmmer": [ [ - { - "id": "test" - }, - [ - "proteome.hmm.h3f:md5,d0640e710a5eec56aa95a64e6dcb9971", - "proteome.hmm.h3i:md5,1e68ee61bfe47697e3df24b5551dbb82", - "proteome.hmm.h3m:md5,9fa27bd2fda0e8c037852301245dcbfb", - "proteome.hmm.h3p:md5,e73ab76f194340b797e8485464caa369" - ] + "HMMER_HMMPRESS", + "hmmer", + "3.4" ] - ], - "versions": [ - "versions.yml:md5,f5473ee4ad53142d92c79b5a0fe94bf6" ] } ], + "timestamp": "2026-05-12T20:23:27.250209204", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" - }, - "timestamp": "2025-02-25T14:43:13.712539" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, "sarscov2 - proteome - hmm - gz - stub": { "content": [ { - "0": [ + "compressed_db": [ [ { "id": "test" @@ -58,31 +46,19 @@ ] ] ], - "1": [ - "versions.yml:md5,f5473ee4ad53142d92c79b5a0fe94bf6" - ], - "compressed_db": [ + "versions_hmmer": [ [ - { - "id": "test" - }, - [ - "stub.h3f:md5,d41d8cd98f00b204e9800998ecf8427e", - "stub.h3i:md5,d41d8cd98f00b204e9800998ecf8427e", - "stub.h3m:md5,d41d8cd98f00b204e9800998ecf8427e", - "stub.h3p:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "HMMER_HMMPRESS", + "hmmer", + "3.4" ] - ], - "versions": [ - "versions.yml:md5,f5473ee4ad53142d92c79b5a0fe94bf6" ] } ], + "timestamp": "2026-05-12T20:23:34.497474869", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" - }, - "timestamp": "2025-02-25T14:43:19.740161" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } } } \ No newline at end of file diff --git a/modules/nf-core/hmmer/hmmrank/main.nf b/modules/nf-core/hmmer/hmmrank/main.nf index c860d82b2f5c..199af7e137a7 100644 --- a/modules/nf-core/hmmer/hmmrank/main.nf +++ b/modules/nf-core/hmmer/hmmrank/main.nf @@ -12,7 +12,8 @@ process HMMER_HMMRANK { output: tuple val(meta), path("*.hmmrank.tsv.gz"), emit: hmmrank - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('r-base'), eval("R --version | sed '1!d; s/.*version //; s/ .*//'"), emit: versions_r, topic: versions + tuple val("${task.process}"), val('r-tidyverse'), eval('Rscript -e "cat(as.character(packageVersion(\'tidyverse\')))"'), emit: versions_r_tidyverse, topic: versions when: task.ext.when == null || task.ext.when @@ -43,26 +44,11 @@ process HMMER_HMMRANK { mutate(rank = row_number()) %>% ungroup() %>% write_tsv('${prefix}.hmmrank.tsv.gz') - - writeLines( - c( - "\\"${task.process}\\":", - paste0(" R: ", paste0(R.Version()[c("major","minor")], collapse = ".")), - paste0(" tidyverse: ", packageVersion('tidyverse')) - ), - "versions.yml" - ) """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ echo \"profile\taccno\tprofile_desc\tevalue\tscore\trank\" | gzip -c > ${prefix}.hmmrank.tsv.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - R: 4.0 - tidyverse: 2.0 - END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/hmmrank/meta.yml b/modules/nf-core/hmmer/hmmrank/meta.yml index f744e4564606..d8a540986516 100644 --- a/modules/nf-core/hmmer/hmmrank/meta.yml +++ b/modules/nf-core/hmmer/hmmrank/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "hmmer_hmmrank" description: R script that scores output from multiple runs of hmmer/hmmsearch keywords: @@ -12,13 +11,15 @@ tools: documentation: http://hmmer.org/documentation.html tool_dev_url: https://github.com/EddyRivasLab/hmmer doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD"] + licence: + - "BSD" identifier: "" - "R": description: "A Language and Environment for Statistical Computing" homepage: https://www.r-project.org/ documentation: https://www.r-project.org/ - licence: ["GPL v2"] + licence: + - "GPL v2" identifier: "" - "Tidyverse": description: "Tidyverse: R packages for data science" @@ -26,11 +27,10 @@ tools: documentation: https://www.tidyverse.org/ tool_dev_url: https://github.com/tidyverse doi: "10.21105/joss.01686" - licence: ["MIT"] + licence: + - "MIT" identifier: "" - input: - # Only when we have meta - - meta: type: map description: | @@ -43,7 +43,6 @@ input: ontologies: - edam: http://edamontology.org/format_3989 # GZIP format output: - #Only when we have meta hmmrank: - - meta: type: map @@ -56,13 +55,46 @@ output: pattern: "*.hmmrank.tsv.gz" ontologies: - edam: http://edamontology.org/format_3989 # GZIP format + versions_r: + - - ${task.process}: + type: string + description: The name of the process + - r-base: + type: string + description: The name of the tool + - R --version | sed '1!d; s/.*version //; s/ .*//': + type: eval + description: The expression to obtain the version of the tool + versions_r_tidyverse: + - - ${task.process}: + type: string + description: The name of the process + - r-tidyverse: + type: string + description: The name of the tool + - Rscript -e "cat(as.character(packageVersion('tidyverse')))": + 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 + - r-base: + type: string + description: The name of the tool + - R --version | sed '1!d; s/.*version //; s/ .*//': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - r-tidyverse: + type: string + description: The name of the tool + - Rscript -e "cat(as.character(packageVersion('tidyverse')))": + type: eval + description: The expression to obtain the version of the tool authors: - "@erikrikarddaniel" maintainers: diff --git a/modules/nf-core/hmmer/hmmrank/tests/main.nf.test b/modules/nf-core/hmmer/hmmrank/tests/main.nf.test index b44225d7d691..589f17d9df97 100644 --- a/modules/nf-core/hmmer/hmmrank/tests/main.nf.test +++ b/modules/nf-core/hmmer/hmmrank/tests/main.nf.test @@ -54,9 +54,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match('16s_out') }, - { assert snapshot(process.out.hmmrank).match('16s_hmmrank') }, - { assert snapshot(process.out.versions).match('16s_versions') } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/hmmer/hmmsearch/meta.yml b/modules/nf-core/hmmer/hmmsearch/meta.yml index 0bfc5ca471d0..5b02f56b6b56 100644 --- a/modules/nf-core/hmmer/hmmsearch/meta.yml +++ b/modules/nf-core/hmmer/hmmsearch/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: hmmer_hmmsearch description: search profile(s) against a sequence database keywords: diff --git a/modules/nf-core/hmmer/hmmsearch/tests/main.nf.test b/modules/nf-core/hmmer/hmmsearch/tests/main.nf.test index 536b608bd2e8..158a7718474c 100644 --- a/modules/nf-core/hmmer/hmmsearch/tests/main.nf.test +++ b/modules/nf-core/hmmer/hmmsearch/tests/main.nf.test @@ -16,8 +16,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), false, false, false @@ -46,8 +46,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), true, true, true @@ -82,8 +82,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), false, false, false @@ -110,8 +110,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), - file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/bac.16S_rRNA.hmm.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'delete_me/hmmer/e_coli_k12_16s.fna.gz', checkIfExists: true), true, true, true diff --git a/modules/nf-core/hmmer/jackhmmer/environment.yml b/modules/nf-core/hmmer/jackhmmer/environment.yml index f1aae746e774..1967d405f554 100644 --- a/modules/nf-core/hmmer/jackhmmer/environment.yml +++ b/modules/nf-core/hmmer/jackhmmer/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::hmmer=3.4" + - bioconda::hmmer=3.4 diff --git a/modules/nf-core/hmmer/jackhmmer/main.nf b/modules/nf-core/hmmer/jackhmmer/main.nf index 3cab940ca5cf..6770bce2bf94 100644 --- a/modules/nf-core/hmmer/jackhmmer/main.nf +++ b/modules/nf-core/hmmer/jackhmmer/main.nf @@ -15,7 +15,7 @@ process HMMER_JACKHMMER { tuple val(meta), path('*.sto.gz') , emit: alignments , optional: true tuple val(meta), path('*.tbl.gz') , emit: target_summary, optional: true tuple val(meta), path('*.domtbl.gz'), emit: domain_summary, optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hmmer'), eval("jackhmmer -h | sed '2!d;s/^# HMMER *//;s/ .*//'"), emit: versions_hmmer, topic: versions when: task.ext.when == null || task.ext.when @@ -41,11 +41,6 @@ process HMMER_JACKHMMER { ${write_align ? '*.sto' : ''} \\ ${write_target ? '*.tbl' : ''} \\ ${write_domain ? '*.domtbl' : ''} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer: \$(jackhmmer -h | grep -o '^# HMMER [0-9.]*' | sed 's/^# HMMER *//') - END_VERSIONS """ stub: @@ -60,10 +55,5 @@ process HMMER_JACKHMMER { ${write_align ? '*.sto' : ''} \\ ${write_target ? '*.tbl' : ''} \\ ${write_domain ? '*.domtbl' : ''} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hmmer: \$(jackhmmer -h | grep -o '^# HMMER [0-9.]*' | sed 's/^# HMMER *//') - END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/jackhmmer/meta.yml b/modules/nf-core/hmmer/jackhmmer/meta.yml index 1d5e8f0d4411..6f928c1d5222 100644 --- a/modules/nf-core/hmmer/jackhmmer/meta.yml +++ b/modules/nf-core/hmmer/jackhmmer/meta.yml @@ -1,7 +1,6 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "hmmer_jackhmmer" -description: iterative searches to detect distant homologs by refining an HMM profile - from hits +description: iterative searches to detect distant homologs by refining an HMM + profile from hits keywords: - HMM - homologs @@ -13,7 +12,8 @@ tools: documentation: http://hmmer.org/documentation.html tool_dev_url: https://github.com/EddyRivasLab/hmmer doi: "10.1371/journal.pcbi.1002195" - licence: ["BSD"] + licence: + - "BSD" identifier: biotools:hmmer3 input: - - meta: @@ -23,8 +23,8 @@ input: e.g. [ id:'test', single_end:false ] - fasta: type: file - description: One or multiple amino acid sequences from which to start building - a model iteratively (one model per input sequence) + description: One or multiple amino acid sequences from which to start + building a model iteratively (one model per input sequence) pattern: "*.{fasta,fna,faa,fa,fasta.gz,fna.gz,faa.gz,fa.gz}" ontologies: [] - seqdb: @@ -34,16 +34,16 @@ input: ontologies: [] - write_align: type: boolean - description: Flag to save optional alignment output. Specify with 'true' to - save. + description: Flag to save optional alignment output. Specify with 'true' + to save. - write_target: type: boolean - description: Flag to save optional per target summary. Specify with 'true' to - save. + description: Flag to save optional per target summary. Specify with 'true' + to save. - write_domain: type: boolean - description: Flag to save optional per domain summary. Specify with 'true' to - save. + description: Flag to save optional per domain summary. Specify with 'true' + to save. output: output: - - meta: @@ -64,7 +64,8 @@ output: e.g. [ id:'test', single_end:false ] - "*.sto.gz": type: file - description: Optional multiple sequence alignment (MSA) in Stockholm format + description: Optional multiple sequence alignment (MSA) in Stockholm + format pattern: "*.{sto.gz}" ontologies: [] target_summary: @@ -75,7 +76,8 @@ output: e.g. [ id:'test', single_end:false ] - "*.tbl.gz": type: file - description: Optional tabular (space-delimited) summary of per-target output + description: Optional tabular (space-delimited) summary of per-target + output pattern: "*.{tbl.gz}" ontologies: [] domain_summary: @@ -86,16 +88,31 @@ output: e.g. [ id:'test', single_end:false ] - "*.domtbl.gz": type: file - description: Optional tabular (space-delimited) summary of per-domain output + description: Optional tabular (space-delimited) summary of per-domain + output pattern: "*.{domtbl.gz}" ontologies: [] + versions_hmmer: + - - ${task.process}: + type: string + description: The name of the process + - hmmer: + type: string + description: The name of the tool + - jackhmmer -h | sed '2!d;s/^# HMMER *//;s/ .*//': + 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 + - hmmer: + type: string + description: The name of the tool + - jackhmmer -h | sed '2!d;s/^# HMMER *//;s/ .*//': + type: eval + description: The expression to obtain the version of the tool authors: - "@vagkaratzas" maintainers: diff --git a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test index 9f3e0c3bf714..d184f7e526a1 100644 --- a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test +++ b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test @@ -16,8 +16,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.fasta", checkIfExists: true), - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.fa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.faa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.faa", checkIfExists: true), false, false, false @@ -30,7 +30,7 @@ nextflow_process { assertAll( { assert process.success }, { assert path(process.out.output[0][1]).linesGzip.toString().contains('[ok]') }, // CPU execution time in result - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["output"])).match() } ) } @@ -43,8 +43,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.fasta", checkIfExists: true), - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.fa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.faa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.faa", checkIfExists: true), true, true, true @@ -59,10 +59,7 @@ nextflow_process { { assert path(process.out.output.get(0).get(1)).linesGzip.toString().contains('[ok]') }, // CPU execution time in result { assert path(process.out.target_summary.get(0).get(1)).linesGzip.toString().contains('[ok]') }, // Timestamp in result { assert path(process.out.target_summary.get(0).get(1)).linesGzip.toString().contains('[ok]') }, // Timestamp in result - { assert snapshot( - process.out.alignments + - process.out.versions - ).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["output", "target_summary"])).match() } ) } @@ -77,8 +74,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.fasta", checkIfExists: true), - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.fa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.faa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.faa", checkIfExists: true), false, false, false @@ -90,7 +87,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } @@ -105,8 +102,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.fasta", checkIfExists: true), - file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.fa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/subworkflows/chunk_1.faa", checkIfExists: true), + file(params.modules_testdata_base_path + "../../proteinfamilies/test_data/mgnifams_input_small.faa", checkIfExists: true), true, true, true @@ -118,7 +115,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } diff --git a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap index baf71f6f719d..d5e6b0d86a63 100644 --- a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap @@ -2,25 +2,34 @@ "mgnifams - fasta - optional - stub": { "content": [ { - "0": [ + "alignments": [ [ { "id": "test", "single_end": false }, - "test.txt.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.sto.gz:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "1": [ + "domain_summary": [ [ { "id": "test", "single_end": false }, - "test.sto.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.domtbl.gz:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "2": [ + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "target_summary": [ [ { "id": "test", @@ -29,25 +38,67 @@ "test.tbl.gz:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "3": [ + "versions_hmmer": [ + [ + "HMMER_JACKHMMER", + "hmmer", + "3.4" + ] + ] + } + ], + "timestamp": "2026-05-12T20:36:01.795946109", + "meta": { + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } + }, + "mgnifams - fasta - stub": { + "content": [ + { + "alignments": [ + + ], + "domain_summary": [ + + ], + "output": [ [ { "id": "test", "single_end": false }, - "test.domtbl.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.txt.gz:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "4": [ - "versions.yml:md5,f8019ab3fdfb88e9c6753038efcef5e8" + "target_summary": [ + ], + "versions_hmmer": [ + [ + "HMMER_JACKHMMER", + "hmmer", + "3.4" + ] + ] + } + ], + "timestamp": "2026-05-12T20:35:52.499681297", + "meta": { + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } + }, + "mgnifams - fasta - optional": { + "content": [ + { "alignments": [ [ { "id": "test", "single_end": false }, - "test.sto.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.sto.gz:md5,62cc42b9e6235c5bc1aa163889c3b193" ] ], "domain_summary": [ @@ -56,7 +107,7 @@ "id": "test", "single_end": false }, - "test.domtbl.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.domtbl.gz:md5,229261182c58bbe1f42ab252f1609f49" ] ], "output": [ @@ -65,7 +116,7 @@ "id": "test", "single_end": false }, - "test.txt.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.txt.gz" ] ], "target_summary": [ @@ -74,44 +125,27 @@ "id": "test", "single_end": false }, - "test.tbl.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.tbl.gz" ] ], - "versions": [ - "versions.yml:md5,f8019ab3fdfb88e9c6753038efcef5e8" + "versions_hmmer": [ + [ + "HMMER_JACKHMMER", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:35:43.115103068", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-12T08:44:38.989563526" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } }, - "mgnifams - fasta - stub": { + "mgnifams - fasta": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.txt.gz:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - "versions.yml:md5,f8019ab3fdfb88e9c6753038efcef5e8" - ], "alignments": [ ], @@ -124,52 +158,25 @@ "id": "test", "single_end": false }, - "test.txt.gz:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.txt.gz" ] ], "target_summary": [ ], - "versions": [ - "versions.yml:md5,f8019ab3fdfb88e9c6753038efcef5e8" + "versions_hmmer": [ + [ + "HMMER_JACKHMMER", + "hmmer", + "3.4" + ] ] } ], + "timestamp": "2026-05-12T20:35:32.141047412", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-12T08:44:30.335477831" - }, - "mgnifams - fasta - optional": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sto.gz:md5,62cc42b9e6235c5bc1aa163889c3b193" - ], - "versions.yml:md5,f8019ab3fdfb88e9c6753038efcef5e8" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-12T08:44:21.231473427" - }, - "mgnifams - fasta": { - "content": [ - [ - "versions.yml:md5,f8019ab3fdfb88e9c6753038efcef5e8" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-04-12T08:44:10.566675697" + "nf-test": "0.9.4", + "nextflow": "26.03.0" + } } } \ No newline at end of file From c8e561e0a41b92518a032ebfe475b718f16f03e2 Mon Sep 17 00:00:00 2001 From: louislenezet Date: Tue, 12 May 2026 19:17:13 +0000 Subject: [PATCH 2/4] Update tests --- modules/nf-core/hmmer/eslreformat/meta.yml | 20 ++--- modules/nf-core/hmmer/hmmrank/main.nf | 21 ++++- .../nf-core/hmmer/hmmrank/tests/main.nf.test | 76 +++++++++++++------ .../hmmer/hmmrank/tests/main.nf.test.snap | 74 +++++++++--------- .../hmmer/jackhmmer/tests/main.nf.test | 4 +- .../hmmer/jackhmmer/tests/main.nf.test.snap | 8 +- .../fasta_hmmsearch_rank_fastas/main.nf | 5 -- .../fasta_hmmsearch_rank_fastas/meta.yml | 6 -- .../tests/main.nf.test | 4 +- .../tests/main.nf.test.snap | 59 +------------- .../nf-core/fasta_newick_epang_gappa/main.nf | 8 -- .../nf-core/fasta_newick_epang_gappa/meta.yml | 4 - 12 files changed, 125 insertions(+), 164 deletions(-) diff --git a/modules/nf-core/hmmer/eslreformat/meta.yml b/modules/nf-core/hmmer/eslreformat/meta.yml index f737ada00fc2..40a2618fbfe1 100644 --- a/modules/nf-core/hmmer/eslreformat/meta.yml +++ b/modules/nf-core/hmmer/eslreformat/meta.yml @@ -43,24 +43,24 @@ output: pattern: "*.*.gz" ontologies: - edam: http://edamontology.org/format_3989 - versions_easel: + versions_hmmer: - - ${task.process}: type: string description: The name of the process - - easel: + - hmmer: type: string description: The name of the tool - - esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//': + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': type: eval description: The expression to obtain the version of the tool - versions_hmmer: + versions_easel: - - ${task.process}: type: string description: The name of the process - - hmmer: + - easel: type: string description: The name of the tool - - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + - esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//': type: eval description: The expression to obtain the version of the tool topics: @@ -68,19 +68,19 @@ topics: - - ${task.process}: type: string description: The name of the process - - easel: + - hmmer: type: string description: The name of the tool - - esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//': + - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': type: eval description: The expression to obtain the version of the tool - - ${task.process}: type: string description: The name of the process - - hmmer: + - easel: type: string description: The name of the tool - - hmmsearch -h | sed '2!d;s/^# HMMER *//;s/ .*//': + - esl-reformat -h | sed '2!d;s/^# Easel *//;s/ .*//': type: eval description: The expression to obtain the version of the tool authors: diff --git a/modules/nf-core/hmmer/hmmrank/main.nf b/modules/nf-core/hmmer/hmmrank/main.nf index 199af7e137a7..9ee47bd272c6 100644 --- a/modules/nf-core/hmmer/hmmrank/main.nf +++ b/modules/nf-core/hmmer/hmmrank/main.nf @@ -12,8 +12,7 @@ process HMMER_HMMRANK { output: tuple val(meta), path("*.hmmrank.tsv.gz"), emit: hmmrank - tuple val("${task.process}"), val('r-base'), eval("R --version | sed '1!d; s/.*version //; s/ .*//'"), emit: versions_r, topic: versions - tuple val("${task.process}"), val('r-tidyverse'), eval('Rscript -e "cat(as.character(packageVersion(\'tidyverse\')))"'), emit: versions_r_tidyverse, topic: versions + path "versions.yml", emit: versions, topic: versions when: task.ext.when == null || task.ext.when @@ -44,11 +43,27 @@ process HMMER_HMMRANK { mutate(rank = row_number()) %>% ungroup() %>% write_tsv('${prefix}.hmmrank.tsv.gz') + + writeLines( + c( + "\\"${task.process}\\":", + paste0(" r-base: ", paste0(R.Version()[c("major","minor")], collapse = ".")), + paste0(" r-tidyverse: ", packageVersion('tidyverse')) + ), + "versions.yml" + ) """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ - echo \"profile\taccno\tprofile_desc\tevalue\tscore\trank\" | gzip -c > ${prefix}.hmmrank.tsv.gz + echo 'profile\taccno\tprofile_desc\tevalue\tscore\trank' > ${prefix}.hmmrank.tsv + gzip ${prefix}.hmmrank.tsv + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + r-base: \$(Rscript -e "cat(strsplit(R.version[['version.string']], ' ')[[1]][3])") + r-tidyverse: \$(Rscript -e "cat(as.character(packageVersion('tidyverse')))") + END_VERSIONS """ } diff --git a/modules/nf-core/hmmer/hmmrank/tests/main.nf.test b/modules/nf-core/hmmer/hmmrank/tests/main.nf.test index 589f17d9df97..9f90196d3f05 100644 --- a/modules/nf-core/hmmer/hmmrank/tests/main.nf.test +++ b/modules/nf-core/hmmer/hmmrank/tests/main.nf.test @@ -12,35 +12,58 @@ nextflow_process { tag "hmmer/hmmsearch" tag "hmmer/hmmrank" - test("hmmrank - 16S") { - - setup { - run("HMMER_HMMFETCH") { - script "../../hmmfetch/main.nf" - process { - """ - input[0] = Channel.fromList([ - tuple([ id: 'arc16s' ], file("https://raw.githubusercontent.com/tseemann/barrnap/0.9/db/arc.hmm", checkIfExists: true)), - tuple([ id: 'bac16s' ], file("https://raw.githubusercontent.com/tseemann/barrnap/0.9/db/bac.hmm", checkIfExists: true)) - ]) - input[1] = Channel.of('16S_rRNA').first() - input[2] = [] - input[3] = [] - """ - } + setup { + run("HMMER_HMMFETCH") { + script "../../hmmfetch/main.nf" + process { + """ + input[0] = Channel.fromList([ + tuple([ id: 'arc16s' ], file("https://raw.githubusercontent.com/tseemann/barrnap/0.9/db/arc.hmm", checkIfExists: true)), + tuple([ id: 'bac16s' ], file("https://raw.githubusercontent.com/tseemann/barrnap/0.9/db/bac.hmm", checkIfExists: true)) + ]) + input[1] = Channel.of('16S_rRNA').first() + input[2] = [] + input[3] = [] + """ } - run("HMMER_HMMSEARCH") { - script "../../hmmsearch/main.nf" - process { - """ - input[0] = HMMER_HMMFETCH.out.hmm.map { - [ it[0], it[1], file("https://raw.githubusercontent.com/nf-core/test-datasets/phyloplace/testdata/domain_16s.fna"), false, true, false ] - } - """ + } + run("HMMER_HMMSEARCH") { + script "../../hmmsearch/main.nf" + process { + """ + input[0] = HMMER_HMMFETCH.out.hmm.map { + [ it[0], it[1], file("https://raw.githubusercontent.com/nf-core/test-datasets/phyloplace/testdata/domain_16s.fna"), false, true, false ] } + """ + } + } + } + + test("hmmrank - 16S") { + when { + process { + """ + input[0] = HMMER_HMMSEARCH.out.target_summary + .collect { it[1] } + .map { [ [ id: '16S-test' ], it ] } + """ } } + then { + assertAll( + { assert process.success }, + { assert snapshot( + sanitizeOutput(process.out), + path(process.out.versions[0]).yaml + ).match() } + ) + } + } + + test("hmmrank - 16S -- stub") { + options "-stub" + when { process { """ @@ -54,7 +77,10 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(sanitizeOutput(process.out)).match() } + { assert snapshot( + sanitizeOutput(process.out), + path(process.out.versions[0]).yaml + ).match() } ) } } diff --git a/modules/nf-core/hmmer/hmmrank/tests/main.nf.test.snap b/modules/nf-core/hmmer/hmmrank/tests/main.nf.test.snap index 23ea5c261014..f96beb02bce8 100644 --- a/modules/nf-core/hmmer/hmmrank/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/hmmrank/tests/main.nf.test.snap @@ -1,30 +1,35 @@ { - "16s_versions": { - "content": [ - [ - "versions.yml:md5,32da212c74db43f1e08eccfe23f71b21" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-08-07T12:43:53.980488506" - }, - "16s_out": { + "hmmrank - 16S -- stub": { "content": [ { - "0": [ + "hmmrank": [ [ { "id": "16S-test" }, - "16S-test.hmmrank.tsv.gz:md5,ee4e777c815c37727358ab4ebda276b3" + "16S-test.hmmrank.tsv.gz:md5,d07a8a166c4795c2c375435bc30336cd" ] ], - "1": [ - "versions.yml:md5,32da212c74db43f1e08eccfe23f71b21" - ], + "versions": [ + "versions.yml:md5,fb0420306768e2aedcaa534a3ff2c829" + ] + }, + { + "HMMER_HMMRANK": { + "r-base": "4.2.3", + "r-tidyverse": "2.0.0" + } + } + ], + "timestamp": "2026-05-12T19:16:49.769860989", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "hmmrank - 16S": { + "content": [ + { "hmmrank": [ [ { @@ -34,31 +39,20 @@ ] ], "versions": [ - "versions.yml:md5,32da212c74db43f1e08eccfe23f71b21" + "versions.yml:md5,fb0420306768e2aedcaa534a3ff2c829" ] + }, + { + "HMMER_HMMRANK": { + "r-base": "4.2.3", + "r-tidyverse": "2.0.0" + } } ], + "timestamp": "2026-05-12T19:05:39.80170586", "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-08-07T12:43:53.95117124" - }, - "16s_hmmrank": { - "content": [ - [ - [ - { - "id": "16S-test" - }, - "16S-test.hmmrank.tsv.gz:md5,ee4e777c815c37727358ab4ebda276b3" - ] - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-08-07T12:43:53.970807435" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } } } \ No newline at end of file diff --git a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test index d184f7e526a1..90577fcf8d34 100644 --- a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test +++ b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test @@ -30,7 +30,7 @@ nextflow_process { assertAll( { assert process.success }, { assert path(process.out.output[0][1]).linesGzip.toString().contains('[ok]') }, // CPU execution time in result - { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["output"])).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["output", "domain_summary"])).match() } ) } @@ -59,7 +59,7 @@ nextflow_process { { assert path(process.out.output.get(0).get(1)).linesGzip.toString().contains('[ok]') }, // CPU execution time in result { assert path(process.out.target_summary.get(0).get(1)).linesGzip.toString().contains('[ok]') }, // Timestamp in result { assert path(process.out.target_summary.get(0).get(1)).linesGzip.toString().contains('[ok]') }, // Timestamp in result - { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["output", "target_summary"])).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["output", "target_summary", "domain_summary"])).match() } ) } diff --git a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap index d5e6b0d86a63..924ef3bec460 100644 --- a/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap +++ b/modules/nf-core/hmmer/jackhmmer/tests/main.nf.test.snap @@ -107,7 +107,7 @@ "id": "test", "single_end": false }, - "test.domtbl.gz:md5,229261182c58bbe1f42ab252f1609f49" + "test.domtbl.gz" ] ], "output": [ @@ -137,10 +137,10 @@ ] } ], - "timestamp": "2026-05-12T20:35:43.115103068", + "timestamp": "2026-05-12T19:07:52.42659414", "meta": { - "nf-test": "0.9.4", - "nextflow": "26.03.0" + "nf-test": "0.9.5", + "nextflow": "26.04.0" } }, "mgnifams - fasta": { diff --git a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/main.nf b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/main.nf index 40cf73ef725f..a9d60f94eed3 100644 --- a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/main.nf +++ b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/main.nf @@ -10,8 +10,6 @@ workflow FASTA_HMMSEARCH_RANK_FASTAS { main: - ch_versions = channel.empty() - ch_hmms .combine(ch_fasta) .map { index -> [ index[0], index[1], index[2], false, true, false ] } @@ -25,7 +23,6 @@ workflow FASTA_HMMSEARCH_RANK_FASTAS { .set { ch_hmmrank } HMMER_HMMRANK ( ch_hmmrank ) - ch_versions = ch_versions.mix(HMMER_HMMRANK.out.versions.first()) HMMER_HMMRANK.out.hmmrank .map { index -> index[1] } @@ -48,6 +45,4 @@ workflow FASTA_HMMSEARCH_RANK_FASTAS { emit: hmmrank = HMMER_HMMRANK.out.hmmrank // channel: [ [ id: 'rank' ], hmmrank_tsv ] seqfastas = SEQTK_SUBSEQ.out.sequences // channel: [ meta, fasta ] - - versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/meta.yml b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/meta.yml index 6584ff527215..76ea2eeae1f5 100644 --- a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/meta.yml +++ b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/meta.yml @@ -34,12 +34,6 @@ output: Channel containing subsets of sequences Structure: [ val(meta), path(fasta) ] pattern: "*.fa.gz" - - versions: - type: file - description: | - File containing software versions - Structure: [ path(versions.yml) ] - pattern: "versions.yml" authors: - "@erikrikarddaniel" maintainers: diff --git a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test index 630ba6aee6b6..d2b54d04a9fc 100644 --- a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test +++ b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test @@ -47,7 +47,7 @@ nextflow_workflow { then { assertAll( { assert workflow.success}, - { assert snapshot(workflow.out).match('16s_out') } + { assert snapshot(sanitizeOutput(workflow.out)).match() } ) } } @@ -83,7 +83,7 @@ nextflow_workflow { then { assertAll( { assert workflow.success}, - { assert snapshot(workflow.out).match('28s_out') } + { assert snapshot(sanitizeOutput(workflow.out)).match() } ) } } diff --git a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test.snap b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test.snap index 6020e49e55d4..97a7c8460b0a 100644 --- a/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fasta_hmmsearch_rank_fastas/tests/main.nf.test.snap @@ -1,21 +1,7 @@ { - "28s_out": { + "LSU rRNA - hmm/fasta": { "content": [ { - "0": [ - [ - { - "id": "rank" - }, - "rank.hmmrank.tsv.gz:md5,d07a8a166c4795c2c375435bc30336cd" - ] - ], - "1": [ - - ], - "2": [ - "versions.yml:md5,afe27ad9b11150e9c2ff77ff1d63e587" - ], "hmmrank": [ [ { @@ -26,52 +12,18 @@ ], "seqfastas": [ - ], - "versions": [ - "versions.yml:md5,afe27ad9b11150e9c2ff77ff1d63e587" ] } ], - "timestamp": "2026-05-02T09:19:34.182240068", + "timestamp": "2026-05-12T19:10:08.534716007", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" } }, - "16s_out": { + "SSU rRNA - hmm/fasta": { "content": [ { - "0": [ - [ - { - "id": "rank" - }, - "rank.hmmrank.tsv.gz:md5,c9839df4d2ddbef1686ab52ed354ab87" - ] - ], - "1": [ - [ - { - "id": "arc16s" - }, - "domain_16s.fnaarc16s.fa.gz:md5,8c00033483c62c0e64b8fc4f958eb117" - ], - [ - { - "id": "bac16s" - }, - "domain_16s.fnabac16s.fa.gz:md5,3e2e39f8d78a5e3965f0c4dc804dd977" - ], - [ - { - "id": "euk18s" - }, - "domain_16s.fnaeuk18s.fa.gz:md5,c0117af2379df85b13890efde1bcdda4" - ] - ], - "2": [ - "versions.yml:md5,afe27ad9b11150e9c2ff77ff1d63e587" - ], "hmmrank": [ [ { @@ -99,13 +51,10 @@ }, "domain_16s.fnaeuk18s.fa.gz:md5,c0117af2379df85b13890efde1bcdda4" ] - ], - "versions": [ - "versions.yml:md5,afe27ad9b11150e9c2ff77ff1d63e587" ] } ], - "timestamp": "2026-05-02T09:19:27.347377293", + "timestamp": "2026-05-12T19:09:52.39032913", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" diff --git a/subworkflows/nf-core/fasta_newick_epang_gappa/main.nf b/subworkflows/nf-core/fasta_newick_epang_gappa/main.nf index 9ce260d65751..72613e87ee83 100644 --- a/subworkflows/nf-core/fasta_newick_epang_gappa/main.nf +++ b/subworkflows/nf-core/fasta_newick_epang_gappa/main.nf @@ -21,7 +21,6 @@ workflow FASTA_NEWICK_EPANG_GAPPA { ch_pp_data // channel: [ meta: val(meta), data: [ alignmethod: val(alignmethod), queryseqfile: file(queryseqfile), refseqfile: file(refseqfile), refphylogeny: file(refphylogeny), hmmfile: file(hmmfile), model: val(model) ] ] main: - ch_versions = channel.empty() // Divide the input channel into three: One each for hmmer, clustalo and mafft alignment ch_hmmer_data = ch_pp_data.filter { it -> it.data.alignmethod == 'hmmer' } @@ -59,8 +58,6 @@ workflow FASTA_NEWICK_EPANG_GAPPA { .map { it -> [ it.meta, it.data.refseqfile ] } ) - ch_versions = ch_versions.mix(HMMER_UNALIGNREF.out.versions) - // 1.c Align the reference and query sequences to the profile ch_hmmer_alignref = ch_hmm .mix(ch_hmmer_unaligned) @@ -83,17 +80,13 @@ workflow FASTA_NEWICK_EPANG_GAPPA { // 1.d Mask the alignments (Add '--rf-is-mask' ext.args in config for the process.) HMMER_MASKREF ( HMMER_HMMALIGNREF.out.sto.map { it -> [ it[0], it[1], [], [], [], [], [], [] ] }, [] ) - ch_versions = ch_versions.mix(HMMER_MASKREF.out.versions) HMMER_MASKQUERY ( HMMER_HMMALIGNQUERY.out.sto.map { it -> [ it[0], it[1], [], [], [], [], [], [] ] }, [] ) - ch_versions = ch_versions.mix(HMMER_MASKQUERY.out.versions) // 1.e Reformat alignments to "afa" (aligned fasta) HMMER_AFAFORMATREF ( HMMER_MASKREF.out.maskedaln, '' ) - ch_versions = ch_versions.mix(HMMER_AFAFORMATREF.out.versions) HMMER_AFAFORMATQUERY ( HMMER_MASKQUERY.out.maskedaln, '' ) - ch_versions = ch_versions.mix(HMMER_AFAFORMATQUERY.out.versions) // 2.a CLUSTALO_ALIGN profile alignment of query sequences to reference alignment CLUSTALO_ALIGN ( @@ -176,5 +169,4 @@ workflow FASTA_NEWICK_EPANG_GAPPA { taxonomy_profile = GAPPA_ASSIGN.out.profile taxonomy_per_query = GAPPA_ASSIGN.out.per_query heattree = GAPPA_HEATTREE.out.svg - versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fasta_newick_epang_gappa/meta.yml b/subworkflows/nf-core/fasta_newick_epang_gappa/meta.yml index fcf07b2aa76e..0bb6d344c30b 100644 --- a/subworkflows/nf-core/fasta_newick_epang_gappa/meta.yml +++ b/subworkflows/nf-core/fasta_newick_epang_gappa/meta.yml @@ -91,10 +91,6 @@ output: type: file description: Heattree in SVG format pattern: "*.svg" - - versions: - type: file - description: File containing software versions - pattern: "versions.yml" authors: - "@erikrikarddaniel" maintainers: From f865100f3f1fd46b0131fe9f9b3d2be2b0fcc27c Mon Sep 17 00:00:00 2001 From: louislenezet Date: Tue, 12 May 2026 19:30:09 +0000 Subject: [PATCH 3/4] Fix meta --- modules/nf-core/hmmer/hmmrank/meta.yml | 51 +++++++------------------- 1 file changed, 13 insertions(+), 38 deletions(-) diff --git a/modules/nf-core/hmmer/hmmrank/meta.yml b/modules/nf-core/hmmer/hmmrank/meta.yml index d8a540986516..d81bd904162c 100644 --- a/modules/nf-core/hmmer/hmmrank/meta.yml +++ b/modules/nf-core/hmmer/hmmrank/meta.yml @@ -55,46 +55,21 @@ output: pattern: "*.hmmrank.tsv.gz" ontologies: - edam: http://edamontology.org/format_3989 # GZIP format - versions_r: - - - ${task.process}: - type: string - description: The name of the process - - r-base: - type: string - description: The name of the tool - - R --version | sed '1!d; s/.*version //; s/ .*//': - type: eval - description: The expression to obtain the version of the tool - versions_r_tidyverse: - - - ${task.process}: - type: string - description: The name of the process - - r-tidyverse: - type: string - description: The name of the tool - - Rscript -e "cat(as.character(packageVersion('tidyverse')))": - type: eval - description: The expression to obtain the version of the tool + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML topics: versions: - - - ${task.process}: - type: string - description: The name of the process - - r-base: - type: string - description: The name of the tool - - R --version | sed '1!d; s/.*version //; s/ .*//': - type: eval - description: The expression to obtain the version of the tool - - - ${task.process}: - type: string - description: The name of the process - - r-tidyverse: - type: string - description: The name of the tool - - Rscript -e "cat(as.character(packageVersion('tidyverse')))": - type: eval - description: The expression to obtain the version of the tool + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML authors: - "@erikrikarddaniel" maintainers: From 851ed1c4b32a3d82178cf522ff3c363b787a0fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20Le=20N=C3=A9zet?= <58640615+LouisLeNezet@users.noreply.github.com> Date: Wed, 13 May 2026 12:30:51 +0200 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/hmmer/hmmbuild/meta.yml | 6 +++++- modules/nf-core/hmmer/hmmfetch/meta.yml | 3 ++- modules/nf-core/hmmer/jackhmmer/meta.yml | 13 +++++++++---- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/modules/nf-core/hmmer/hmmbuild/meta.yml b/modules/nf-core/hmmer/hmmbuild/meta.yml index 10443d623465..24b967435e62 100644 --- a/modules/nf-core/hmmer/hmmbuild/meta.yml +++ b/modules/nf-core/hmmer/hmmbuild/meta.yml @@ -27,7 +27,11 @@ input: description: multiple sequence alignment in fasta, clustal, stockholm or phylip format pattern: "*" - ontologies: [] + ontologies: + - edam: http://edamontology.org/data_0863 # Sequence alignment + - edam: http://edamontology.org/format_1929 # FASTA + - edam: http://edamontology.org/format_1997 # PHYLIP format + - edam: http://edamontology.org/format_1961 # Stockholm format - mxfile: type: file description: read substitution score matrix, for use when building profiles diff --git a/modules/nf-core/hmmer/hmmfetch/meta.yml b/modules/nf-core/hmmer/hmmfetch/meta.yml index 1ec501b218ec..e113658257c3 100644 --- a/modules/nf-core/hmmer/hmmfetch/meta.yml +++ b/modules/nf-core/hmmer/hmmfetch/meta.yml @@ -35,7 +35,8 @@ input: description: File containing list of HMM models to extract. Specify either this or key. If none is specified, an index will be built. pattern: "*.txt" - ontologies: [] + ontologies: + - edam: http://edamontology.org/format_2330 # Textual format - index: type: file description: Index file from another run. diff --git a/modules/nf-core/hmmer/jackhmmer/meta.yml b/modules/nf-core/hmmer/jackhmmer/meta.yml index 6f928c1d5222..55ae3322420c 100644 --- a/modules/nf-core/hmmer/jackhmmer/meta.yml +++ b/modules/nf-core/hmmer/jackhmmer/meta.yml @@ -26,7 +26,9 @@ input: description: One or multiple amino acid sequences from which to start building a model iteratively (one model per input sequence) pattern: "*.{fasta,fna,faa,fa,fasta.gz,fna.gz,faa.gz,fa.gz}" - ontologies: [] + ontologies: + - edam: http://edamontology.org/format_1929 # FASTA + - edam: http://edamontology.org/format_3989 # GZIP format - seqdb: type: file description: Database of sequences in FASTA format @@ -67,7 +69,8 @@ output: description: Optional multiple sequence alignment (MSA) in Stockholm format pattern: "*.{sto.gz}" - ontologies: [] + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format target_summary: - - meta: type: map @@ -79,7 +82,8 @@ output: description: Optional tabular (space-delimited) summary of per-target output pattern: "*.{tbl.gz}" - ontologies: [] + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format domain_summary: - - meta: type: map @@ -91,7 +95,8 @@ output: description: Optional tabular (space-delimited) summary of per-domain output pattern: "*.{domtbl.gz}" - ontologies: [] + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format versions_hmmer: - - ${task.process}: type: string