From 6eb849a287e46634dba5509dd555514d06eed2ef Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Mon, 3 Aug 2026 14:32:09 +0000 Subject: [PATCH] Swap repeatmodeler to topics --- .../repeatmodeler/builddatabase/main.nf | 16 +--- .../repeatmodeler/builddatabase/meta.yml | 35 +++++--- .../builddatabase/tests/main.nf.test | 13 +-- .../builddatabase/tests/main.nf.test.snap | 88 ++++++++----------- .../repeatmodeler/repeatmodeler/main.nf | 18 +--- .../repeatmodeler/repeatmodeler/meta.yml | 38 +++++--- .../repeatmodeler/tests/main.nf.test | 12 ++- .../repeatmodeler/tests/main.nf.test.snap | 63 ++++++++----- 8 files changed, 149 insertions(+), 134 deletions(-) diff --git a/modules/nf-core/repeatmodeler/builddatabase/main.nf b/modules/nf-core/repeatmodeler/builddatabase/main.nf index a88ffceb54f7..577f6cf96a37 100644 --- a/modules/nf-core/repeatmodeler/builddatabase/main.nf +++ b/modules/nf-core/repeatmodeler/builddatabase/main.nf @@ -12,7 +12,7 @@ process REPEATMODELER_BUILDDATABASE { output: tuple val(meta), path("${prefix}.*") , emit: db - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('repeatmodeler'), eval("RepeatModeler --version 2>&1 | sed 's/RepeatModeler version //'") , emit: versions_repeatmodeler, topic: versions when: task.ext.when == null || task.ext.when @@ -21,13 +21,8 @@ process REPEATMODELER_BUILDDATABASE { prefix = task.ext.prefix ?: "${meta.id}" """ BuildDatabase \\ - -name $prefix \\ - $fasta - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - repeatmodeler: \$(RepeatModeler --version | sed 's/RepeatModeler version //') - END_VERSIONS + -name ${prefix} \\ + ${fasta} """ stub: @@ -41,10 +36,5 @@ process REPEATMODELER_BUILDDATABASE { touch ${prefix}.nog touch ${prefix}.nsq touch ${prefix}.translation - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - repeatmodeler: \$(RepeatModeler --version | sed 's/RepeatModeler version //') - END_VERSIONS """ } diff --git a/modules/nf-core/repeatmodeler/builddatabase/meta.yml b/modules/nf-core/repeatmodeler/builddatabase/meta.yml index 7387c26d222c..d1d0ec7eb587 100644 --- a/modules/nf-core/repeatmodeler/builddatabase/meta.yml +++ b/modules/nf-core/repeatmodeler/builddatabase/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "repeatmodeler_builddatabase" description: Create a database for RepeatModeler keywords: @@ -7,12 +6,12 @@ keywords: - repeat tools: - "repeatmodeler": - description: "RepeatModeler is a de-novo repeat family identification and modeling - package." + description: "RepeatModeler is a de-novo repeat family identification and modeling package." homepage: "https://github.com/Dfam-consortium/RepeatModeler" documentation: "https://github.com/Dfam-consortium/RepeatModeler" tool_dev_url: "https://github.com/Dfam-consortium/RepeatModeler" - licence: ["Open Software License v2.1"] + licence: + - "Open Software License v2.1" identifier: biotools:repeatmodeler input: @@ -38,13 +37,29 @@ output: description: Database files for repeatmodeler pattern: "`${prefix}.*`" ontologies: [] + versions_repeatmodeler: + - - ${task.process}: + type: string + description: The name of the process + - repeatmodeler: + type: string + description: The name of the tool + - RepeatModeler --version 2>&1 | sed 's/RepeatModeler version //': + 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 + - repeatmodeler: + type: string + description: The name of the tool + - RepeatModeler --version 2>&1 | sed 's/RepeatModeler version //': + type: eval + description: The expression to obtain the version of the tool + authors: - "@GallVp" maintainers: diff --git a/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test b/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test index 78b78a684142..3d31f63f41d6 100644 --- a/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test +++ b/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test @@ -23,11 +23,12 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out.versions).match("versions") }, - { assert snapshot(process.out.db[0][1].collect { file(it).name }.sort().toString()).match("db") }, - { assert snapshot(process.out.db[0][1].findAll { ! ( "$it"[-3..-1] in [ 'nin', 'njs' ] ) } ).match("stable_md5") } + { assert snapshot( + sanitizeOutput(process.out, unstableKeys: ['db']), + process.out.db[0][1].findAll { ! ( "$it"[-3..-1] in [ 'nin', 'njs' ] ) } + ).match() } ) } @@ -49,9 +50,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } diff --git a/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test.snap b/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test.snap index 1f1a55187179..f0d97d6699c0 100644 --- a/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test.snap +++ b/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "sarscov2-genome_fasta-stub": { "content": [ { - "0": [ + "db": [ [ { "id": "test" @@ -19,51 +19,49 @@ ] ] ], - "1": [ - "versions.yml:md5,7944637266bc3e2726899eaad5e46c87" - ], + "versions_repeatmodeler": [ + [ + "REPEATMODELER_BUILDDATABASE", + "repeatmodeler", + "2.0.5" + ] + ] + } + ], + "timestamp": "2026-08-03T13:44:38.119214327", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } + }, + "sarscov2-genome_fasta": { + "content": [ + { "db": [ [ { "id": "test" }, [ - "test.nhr:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.nin:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.njs:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.nnd:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.nni:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.nog:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.nsq:md5,d41d8cd98f00b204e9800998ecf8427e", - "test.translation:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.nhr", + "test.nin", + "test.njs", + "test.nnd", + "test.nni", + "test.nog", + "test.nsq", + "test.translation" ] ] ], - "versions": [ - "versions.yml:md5,7944637266bc3e2726899eaad5e46c87" + "versions_repeatmodeler": [ + [ + "REPEATMODELER_BUILDDATABASE", + "repeatmodeler", + "2.0.5" + ] ] - } - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-04-02T12:06:44.261566" - }, - "versions": { - "content": [ - [ - "versions.yml:md5,7944637266bc3e2726899eaad5e46c87" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-01-09T15:14:48.807063" - }, - "stable_md5": { - "content": [ + }, [ "test.nhr:md5,1a41cb6d0b00c28f62ad60e75ae2f6fc", "test.nnd:md5,2002e13acf59079a1a5782c918894579", @@ -73,20 +71,10 @@ "test.translation:md5,ccbb119522c09daa976a9015ba999329" ] ], + "timestamp": "2026-08-03T13:44:32.313232604", "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-04-23T10:03:41.669433" - }, - "db": { - "content": [ - "[test.nhr, test.nin, test.njs, test.nnd, test.nni, test.nog, test.nsq, test.translation]" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-04-02T12:08:36.94713" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } } } \ No newline at end of file diff --git a/modules/nf-core/repeatmodeler/repeatmodeler/main.nf b/modules/nf-core/repeatmodeler/repeatmodeler/main.nf index 5ecaa78fe690..cbdfd694b573 100644 --- a/modules/nf-core/repeatmodeler/repeatmodeler/main.nf +++ b/modules/nf-core/repeatmodeler/repeatmodeler/main.nf @@ -14,7 +14,7 @@ process REPEATMODELER_REPEATMODELER { tuple val(meta), path("*.fa") , emit: fasta tuple val(meta), path("*.stk"), emit: stk tuple val(meta), path("*.log"), emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('repeatmodeler'), eval("RepeatModeler --version 2>&1 | sed 's/RepeatModeler version //'") , emit: versions_repeatmodeler, topic: versions when: task.ext.when == null || task.ext.when @@ -25,18 +25,13 @@ process REPEATMODELER_REPEATMODELER { def db_name = file(db[0]).getBaseName() """ RepeatModeler \\ - -database $db_name \\ - $args \\ - -threads $task.cpus + -database ${db_name} \\ + ${args} \\ + -threads ${task.cpus} mv ${db_name}-families.fa ${prefix}.fa mv ${db_name}-families.stk ${prefix}.stk mv ${db_name}-rmod.log ${prefix}.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - repeatmodeler: \$(RepeatModeler --version | sed 's/RepeatModeler version //') - END_VERSIONS """ stub: @@ -45,10 +40,5 @@ process REPEATMODELER_REPEATMODELER { touch ${prefix}.fa touch ${prefix}.stk touch ${prefix}.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - repeatmodeler: \$(RepeatModeler --version | sed 's/RepeatModeler version //') - END_VERSIONS """ } diff --git a/modules/nf-core/repeatmodeler/repeatmodeler/meta.yml b/modules/nf-core/repeatmodeler/repeatmodeler/meta.yml index a3e1c5636c8a..a6a73a3c8286 100644 --- a/modules/nf-core/repeatmodeler/repeatmodeler/meta.yml +++ b/modules/nf-core/repeatmodeler/repeatmodeler/meta.yml @@ -1,7 +1,5 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "repeatmodeler_repeatmodeler" -description: Performs de novo transposable element (TE) family identification with - RepeatModeler +description: Performs de novo transposable element (TE) family identification with RepeatModeler keywords: - genomics - fasta @@ -9,12 +7,12 @@ keywords: - transposable element tools: - "repeatmodeler": - description: "RepeatModeler is a de-novo repeat family identification and modeling - package." + description: "RepeatModeler is a de-novo repeat family identification and modeling package." homepage: "https://github.com/Dfam-consortium/RepeatModeler" documentation: "https://github.com/Dfam-consortium/RepeatModeler" tool_dev_url: "https://github.com/Dfam-consortium/RepeatModeler" - licence: ["Open Software License v2.1"] + licence: + - "Open Software License v2.1" identifier: biotools:repeatmodeler input: - - meta: @@ -61,13 +59,29 @@ output: description: A summarized log of the run pattern: "*.log" ontologies: [] + versions_repeatmodeler: + - - ${task.process}: + type: string + description: The name of the process + - repeatmodeler: + type: string + description: The name of the tool + - RepeatModeler --version 2>&1 | sed 's/RepeatModeler version //': + 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 + - repeatmodeler: + type: string + description: The name of the tool + - RepeatModeler --version 2>&1 | sed 's/RepeatModeler version //': + type: eval + description: The expression to obtain the version of the tool + authors: - "@GallVp" maintainers: diff --git a/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test b/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test index 3fb1809de14a..dd91c9d3f0d3 100644 --- a/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test +++ b/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test @@ -36,12 +36,10 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out.fasta).match("fasta") }, - { assert snapshot(process.out.stk).match("stk") }, - { assert file(process.out.log[0][1]).text.contains('1 families discovered.') }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["log"])).match() }, + { assert file(process.out.log[0][1]).text.contains('1 families discovered.') } ) } @@ -63,9 +61,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } diff --git a/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test.snap b/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test.snap index e92395228ce6..441e7810baff 100644 --- a/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test.snap +++ b/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test.snap @@ -5,42 +5,57 @@ "versions.yml:md5,1bb6846ecf1304c262eaef4d3de60cf9" ] ], + "timestamp": "2024-01-09T15:06:55.753492", "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" - }, - "timestamp": "2024-01-09T15:06:55.753492" + } }, - "homo_sapiens-genome_fasta-stub": { + "homo_sapiens-genome_fasta": { "content": [ { - "0": [ + "fasta": [ [ { "id": "test" }, - "test.fa:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.fa:md5,e25326771341204e1f8054d9529411e5" ] ], - "1": [ + "log": [ [ { "id": "test" }, - "test.stk:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.log" ] ], - "2": [ + "stk": [ [ { "id": "test" }, - "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.stk:md5,acd01ad35763c11315e2297a4f051d57" ] ], - "3": [ - "versions.yml:md5,1bb6846ecf1304c262eaef4d3de60cf9" - ], + "versions_repeatmodeler": [ + [ + "REPEATMODELER_REPEATMODELER", + "repeatmodeler", + "2.0.5" + ] + ] + } + ], + "timestamp": "2026-08-03T13:45:46.862782207", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } + }, + "homo_sapiens-genome_fasta-stub": { + "content": [ + { "fasta": [ [ { @@ -65,16 +80,20 @@ "test.stk:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,1bb6846ecf1304c262eaef4d3de60cf9" + "versions_repeatmodeler": [ + [ + "REPEATMODELER_REPEATMODELER", + "repeatmodeler", + "2.0.5" + ] ] } ], + "timestamp": "2026-08-03T13:45:52.489929233", "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-04-29T13:16:41.45166" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "stk": { "content": [ @@ -87,11 +106,11 @@ ] ] ], + "timestamp": "2024-01-09T15:06:55.740963", "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" - }, - "timestamp": "2024-01-09T15:06:55.740963" + } }, "fasta": { "content": [ @@ -104,10 +123,10 @@ ] ] ], + "timestamp": "2024-01-09T15:06:55.737658", "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" - }, - "timestamp": "2024-01-09T15:06:55.737658" + } } } \ No newline at end of file