diff --git a/modules/nf-core/repeatmodeler/builddatabase/environment.yml b/modules/nf-core/repeatmodeler/builddatabase/environment.yml index 3f04be8dff4a..68d7bdc20dad 100644 --- a/modules/nf-core/repeatmodeler/builddatabase/environment.yml +++ b/modules/nf-core/repeatmodeler/builddatabase/environment.yml @@ -4,4 +4,5 @@ channels: - conda-forge - bioconda dependencies: + - bioconda::repeatmasker=4.1.5 - bioconda::repeatmodeler=2.0.5 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..34cba6a5e6bf 100644 --- a/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test +++ b/modules/nf-core/repeatmodeler/builddatabase/tests/main.nf.test @@ -23,11 +23,9 @@ 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, unstablePatterns:["**/*.nin", "**/*.njs"])).match() } ) } @@ -49,9 +47,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..9bce4e57debb 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,74 +19,54 @@ ] ] ], - "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:md5,1a41cb6d0b00c28f62ad60e75ae2f6fc", + "test.nin", + "test.njs", + "test.nnd:md5,2002e13acf59079a1a5782c918894579", + "test.nni:md5,26a954ba0fd80983b550d8f6b8b35ff8", + "test.nog:md5,30896f123998e926ea2237b89091e7fe", + "test.nsq:md5,982cbc7d9e38743b9b1037588862b9da", + "test.translation:md5,ccbb119522c09daa976a9015ba999329" ] ] ], - "versions": [ - "versions.yml:md5,7944637266bc3e2726899eaad5e46c87" + "versions_repeatmodeler": [ + [ + "REPEATMODELER_BUILDDATABASE", + "repeatmodeler", + "2.0.5" + ] ] } ], + "timestamp": "2026-09-21T10:40:48.117593565", "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", - "test.nni:md5,26a954ba0fd80983b550d8f6b8b35ff8", - "test.nog:md5,30896f123998e926ea2237b89091e7fe", - "test.nsq:md5,982cbc7d9e38743b9b1037588862b9da", - "test.translation:md5,ccbb119522c09daa976a9015ba999329" - ] - ], - "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/environment.yml b/modules/nf-core/repeatmodeler/repeatmodeler/environment.yml index 3f04be8dff4a..68d7bdc20dad 100644 --- a/modules/nf-core/repeatmodeler/repeatmodeler/environment.yml +++ b/modules/nf-core/repeatmodeler/repeatmodeler/environment.yml @@ -4,4 +4,5 @@ channels: - conda-forge - bioconda dependencies: + - bioconda::repeatmasker=4.1.5 - bioconda::repeatmodeler=2.0.5 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..40604c8df5d2 100644 --- a/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test.snap +++ b/modules/nf-core/repeatmodeler/repeatmodeler/tests/main.nf.test.snap @@ -1,46 +1,49 @@ { - "versions": { - "content": [ - [ - "versions.yml:md5,1bb6846ecf1304c262eaef4d3de60cf9" - ] - ], - "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-09-21T08:59:13.756338942", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } + }, + "homo_sapiens-genome_fasta-stub": { + "content": [ + { "fasta": [ [ { @@ -65,49 +68,19 @@ "test.stk:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,1bb6846ecf1304c262eaef4d3de60cf9" + "versions_repeatmodeler": [ + [ + "REPEATMODELER_REPEATMODELER", + "repeatmodeler", + "2.0.5" + ] ] } ], + "timestamp": "2026-09-21T08:59:19.196300088", "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-04-29T13:16:41.45166" - }, - "stk": { - "content": [ - [ - [ - { - "id": "test" - }, - "test.stk:md5,acd01ad35763c11315e2297a4f051d57" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-01-09T15:06:55.740963" - }, - "fasta": { - "content": [ - [ - [ - { - "id": "test" - }, - "test.fa:md5,e25326771341204e1f8054d9529411e5" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-01-09T15:06:55.737658" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } } } \ No newline at end of file diff --git a/nf-test.config b/nf-test.config index 3890988df50d..6b5f0a24a1a7 100644 --- a/nf-test.config +++ b/nf-test.config @@ -18,7 +18,7 @@ config { load "nft-csv@0.1.0" load "nft-compress@0.1.0" load "nft-fastq@0.1.0" - load "nft-utils@0.0.9" + load "nft-utils@1.2.0" load "nft-vcf@1.0.7" } }