diff --git a/modules/nf-core/rseqc/bamstat/environment.yml b/modules/nf-core/rseqc/bamstat/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/bamstat/environment.yml +++ b/modules/nf-core/rseqc/bamstat/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/bamstat/main.nf b/modules/nf-core/rseqc/bamstat/main.nf index 167240c46a7e..e004ea4304f6 100644 --- a/modules/nf-core/rseqc/bamstat/main.nf +++ b/modules/nf-core/rseqc/bamstat/main.nf @@ -4,15 +4,15 @@ process RSEQC_BAMSTAT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) output: tuple val(meta), path("*.bam_stat.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('bam_stat.py --version | sed "s/bam_stat.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -25,21 +25,11 @@ process RSEQC_BAMSTAT { -i $bam \\ $args \\ > ${prefix}.bam_stat.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(bam_stat.py --version | sed -e "s/bam_stat.py //g") - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.bam_stat.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(bam_stat.py --version | sed -e "s/bam_stat.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/bamstat/meta.yml b/modules/nf-core/rseqc/bamstat/meta.yml index f7b693e09eb2..7fd9b44a002c 100644 --- a/modules/nf-core/rseqc/bamstat/meta.yml +++ b/modules/nf-core/rseqc/bamstat/meta.yml @@ -25,6 +25,11 @@ input: description: the bam file to calculate statistics of pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] output: txt: - - meta: @@ -37,16 +42,32 @@ output: description: bam statistics report pattern: "*.bam_stat.txt" ontologies: [] + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - bam_stat.py --version | sed "s/bam_stat.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - bam_stat.py --version | sed "s/bam_stat.py //": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/bamstat/tests/main.nf.test b/modules/nf-core/rseqc/bamstat/tests/main.nf.test index 86f4301e9835..9401646dfbe9 100644 --- a/modules/nf-core/rseqc/bamstat/tests/main.nf.test +++ b/modules/nf-core/rseqc/bamstat/tests/main.nf.test @@ -16,38 +16,44 @@ nextflow_process { when { process { """ - input[0] = [ + input[0] = channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam') - ] + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) """ } } then { - assert process.success - assert snapshot(process.out).match() + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) } } test("sarscov2 - [meta] - bam - stub") { - options "-stub" + options "-stub" when { process { """ - input[0] = [ + input[0] = channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam') - ] + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) """ } } then { - assert process.success - assert snapshot(process.out).match() + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) } } } diff --git a/modules/nf-core/rseqc/bamstat/tests/main.nf.test.snap b/modules/nf-core/rseqc/bamstat/tests/main.nf.test.snap index deae0e80dc76..96f3f5fe8036 100644 --- a/modules/nf-core/rseqc/bamstat/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/bamstat/tests/main.nf.test.snap @@ -11,7 +11,11 @@ ] ], "1": [ - "versions.yml:md5,58f74a7ff9d2966142c81a4a4735dbf3" + [ + "RSEQC_BAMSTAT", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -21,16 +25,20 @@ "test.bam_stat.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,58f74a7ff9d2966142c81a4a4735dbf3" + "versions_rseqc": [ + [ + "RSEQC_BAMSTAT", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:16:13.970299" + "timestamp": "2025-12-10T12:09:27.652778872" }, "sarscov2 - [meta] - bam": { "content": [ @@ -44,7 +52,11 @@ ] ], "1": [ - "versions.yml:md5,58f74a7ff9d2966142c81a4a4735dbf3" + [ + "RSEQC_BAMSTAT", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -54,15 +66,19 @@ "test.bam_stat.txt:md5,2675857864c1d1139b2a19d25dc36b09" ] ], - "versions": [ - "versions.yml:md5,58f74a7ff9d2966142c81a4a4735dbf3" + "versions_rseqc": [ + [ + "RSEQC_BAMSTAT", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2023-12-14T17:00:23.830276754" + "timestamp": "2025-12-10T12:09:21.393873778" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/inferexperiment/environment.yml b/modules/nf-core/rseqc/inferexperiment/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/inferexperiment/environment.yml +++ b/modules/nf-core/rseqc/inferexperiment/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/inferexperiment/main.nf b/modules/nf-core/rseqc/inferexperiment/main.nf index 87c676ada3c2..99eac18c1cec 100644 --- a/modules/nf-core/rseqc/inferexperiment/main.nf +++ b/modules/nf-core/rseqc/inferexperiment/main.nf @@ -4,16 +4,16 @@ process RSEQC_INFEREXPERIMENT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) path bed output: tuple val(meta), path("*.infer_experiment.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('infer_experiment.py --version | sed "s/infer_experiment.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -27,21 +27,11 @@ process RSEQC_INFEREXPERIMENT { -r $bed \\ $args \\ > ${prefix}.infer_experiment.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(infer_experiment.py --version | sed -e "s/infer_experiment.py //g") - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.infer_experiment.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(infer_experiment.py --version | sed -e "s/infer_experiment.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/inferexperiment/meta.yml b/modules/nf-core/rseqc/inferexperiment/meta.yml index dfaca40d1d3a..72e516ec3070 100644 --- a/modules/nf-core/rseqc/inferexperiment/meta.yml +++ b/modules/nf-core/rseqc/inferexperiment/meta.yml @@ -25,6 +25,11 @@ input: description: the bam file to calculate statistics of pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] - bed: type: file description: a bed file for the reference gene model @@ -42,16 +47,34 @@ output: description: infer_experiment results report pattern: "*.infer_experiment.txt" ontologies: [] + versions_rseqc: + - - ${task.process}: + type: string + description: The name of the process + - rseqc: + type: string + description: The name of the tool + - infer_experiment.py --version | sed "s/infer_experiment.py //": + 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 + - rseqc: + type: string + description: The name of the tool + - infer_experiment.py --version | sed "s/infer_experiment.py //": + type: eval + description: The expression to obtain the version of the tool + authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test b/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test index f07384442c40..d0dce7843a10 100644 --- a/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test +++ b/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test @@ -15,11 +15,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true)) """ } } @@ -37,11 +38,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true)) """ } } diff --git a/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test.snap b/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test.snap index e31c1129f8f3..b1e258514553 100644 --- a/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test.snap @@ -11,7 +11,11 @@ ] ], "1": [ - "versions.yml:md5,f56ba5c6208ae720dd730f3a432e3ba7" + [ + "RSEQC_INFEREXPERIMENT", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -21,16 +25,20 @@ "test.infer_experiment.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,f56ba5c6208ae720dd730f3a432e3ba7" + "versions_rseqc": [ + [ + "RSEQC_INFEREXPERIMENT", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:34:31.050305" + "timestamp": "2025-12-10T13:17:45.425228866" }, "sarscov2 - [[meta] - bam] - bed": { "content": [ @@ -44,7 +52,11 @@ ] ], "1": [ - "versions.yml:md5,f56ba5c6208ae720dd730f3a432e3ba7" + [ + "RSEQC_INFEREXPERIMENT", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -54,15 +66,19 @@ "test.infer_experiment.txt:md5,f9d0bfc239df637cd8aeda40ade3c59a" ] ], - "versions": [ - "versions.yml:md5,f56ba5c6208ae720dd730f3a432e3ba7" + "versions_rseqc": [ + [ + "RSEQC_INFEREXPERIMENT", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:33:19.853327" + "timestamp": "2025-12-10T13:15:34.201975881" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/innerdistance/environment.yml b/modules/nf-core/rseqc/innerdistance/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/innerdistance/environment.yml +++ b/modules/nf-core/rseqc/innerdistance/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/innerdistance/main.nf b/modules/nf-core/rseqc/innerdistance/main.nf index 207f5fb4d0a0..1256f1dd8cd8 100644 --- a/modules/nf-core/rseqc/innerdistance/main.nf +++ b/modules/nf-core/rseqc/innerdistance/main.nf @@ -4,11 +4,11 @@ process RSEQC_INNERDISTANCE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) path bed output: @@ -17,7 +17,7 @@ process RSEQC_INNERDISTANCE { tuple val(meta), path("*mean.txt") , optional:true, emit: mean tuple val(meta), path("*.pdf") , optional:true, emit: pdf tuple val(meta), path("*.r") , optional:true, emit: rscript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('inner_distance.py --version | sed "s/inner_distance.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -34,18 +34,10 @@ process RSEQC_INNERDISTANCE { $args \\ > stdout.txt head -n 2 stdout.txt > ${prefix}.inner_distance_mean.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(inner_distance.py --version | sed -e "s/inner_distance.py //g") - END_VERSIONS """ } else { """ - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(inner_distance.py --version | sed -e "s/inner_distance.py //g") - END_VERSIONS + echo "inner_distance.py doesn't support single-end data" > ${prefix}.inner_distance.txt """ } @@ -57,10 +49,5 @@ process RSEQC_INNERDISTANCE { touch ${prefix}.inner_distance_mean.txt touch ${prefix}.inner_distance_plot.pdf touch ${prefix}.inner_distance_plot.r - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(inner_distance.py --version | sed -e "s/inner_distance.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/innerdistance/meta.yml b/modules/nf-core/rseqc/innerdistance/meta.yml index 67b6543cbf56..87e329da0f67 100644 --- a/modules/nf-core/rseqc/innerdistance/meta.yml +++ b/modules/nf-core/rseqc/innerdistance/meta.yml @@ -25,6 +25,11 @@ input: description: the alignment in bam format pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] - bed: type: file description: a bed file for the reference gene model @@ -87,16 +92,32 @@ output: pattern: "*.inner_distance_plot.R" ontologies: - edam: http://edamontology.org/format_3999 # R script + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - inner_distance.py --version | sed "s/inner_distance.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - inner_distance.py --version | sed "s/inner_distance.py //": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/innerdistance/tests/main.nf.test b/modules/nf-core/rseqc/innerdistance/tests/main.nf.test index cb19fe144998..26ad8f36c4b7 100644 --- a/modules/nf-core/rseqc/innerdistance/tests/main.nf.test +++ b/modules/nf-core/rseqc/innerdistance/tests/main.nf.test @@ -3,7 +3,6 @@ nextflow_process { name "Test Process RSEQC_INNERDISTANCE" script "../main.nf" process "RSEQC_INNERDISTANCE" - config "./nextflow.config" tag "modules" tag "modules_nfcore" @@ -15,11 +14,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } @@ -27,12 +27,14 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(file(process.out.pdf[0][1]).name).match("pdf") }, - { assert snapshot(process.out.distance).match("distance") }, - { assert snapshot(process.out.freq).match("freq") }, - { assert snapshot(process.out.freq).match("rscript") }, - { assert snapshot(process.out.mean).match("mean") }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot( + file(process.out.pdf[0][1]).name, + process.out.distance, + process.out.freq, + process.out.mean, + process.out.rscript, + process.out.versions_rseqc + ).match() } ) } } @@ -44,11 +46,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } @@ -56,7 +59,8 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(process.out).match() }, + { assert snapshot(process.out.versions_rseqc).match("versions") } ) } } diff --git a/modules/nf-core/rseqc/innerdistance/tests/main.nf.test.snap b/modules/nf-core/rseqc/innerdistance/tests/main.nf.test.snap index 83f33363ac95..a93f4791855f 100644 --- a/modules/nf-core/rseqc/innerdistance/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/innerdistance/tests/main.nf.test.snap @@ -1,76 +1,19 @@ { - "rscript": { - "content": [ - [ - [ - { - "id": "test" - }, - "test.inner_distance_freq.txt:md5,3fc037501f5899b5da009c8ce02fc25e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:33:42.467401" - }, - "pdf": { - "content": [ - "test.inner_distance_plot.pdf" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:33:42.461959" - }, - "distance": { - "content": [ - [ - [ - { - "id": "test" - }, - "test.inner_distance.txt:md5,a1acc9def0f64a5500d4c4cb47cbe32b" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:33:42.463083" - }, "versions": { - "content": [ - [ - "versions.yml:md5,3ca19644c7f02a53db3ffe50c7706797" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:33:42.474576" - }, - "mean": { "content": [ [ [ - { - "id": "test" - }, - "test.inner_distance_mean.txt:md5,58398b7d5a29a5e564f9e3c50b55996c" + "RSEQC_INNERDISTANCE", + "rseqc", + "5.0.4" ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:33:42.470638" + "timestamp": "2025-12-16T11:17:41.715202246" }, "sarscov2 - [[meta] - bam] - bed - stub": { "content": [ @@ -116,7 +59,11 @@ ] ], "5": [ - "versions.yml:md5,3ca19644c7f02a53db3ffe50c7706797" + [ + "RSEQC_INNERDISTANCE", + "rseqc", + "5.0.4" + ] ], "distance": [ [ @@ -158,19 +105,32 @@ "test.inner_distance_plot.r:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,3ca19644c7f02a53db3ffe50c7706797" + "versions_rseqc": [ + [ + "RSEQC_INNERDISTANCE", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:22:20.844642" + "timestamp": "2025-12-12T12:31:48.540818468" }, - "freq": { + "sarscov2 - [[meta] - bam] - bed": { "content": [ + "test.inner_distance_plot.pdf", + [ + [ + { + "id": "test" + }, + "test.inner_distance.txt:md5,a1acc9def0f64a5500d4c4cb47cbe32b" + ] + ], [ [ { @@ -178,12 +138,35 @@ }, "test.inner_distance_freq.txt:md5,3fc037501f5899b5da009c8ce02fc25e" ] + ], + [ + [ + { + "id": "test" + }, + "test.inner_distance_mean.txt:md5,58398b7d5a29a5e564f9e3c50b55996c" + ] + ], + [ + [ + { + "id": "test" + }, + "test.inner_distance_plot.r:md5,5859fbd5b42046d47e8b9aa85077f4ea" + ] + ], + [ + [ + "RSEQC_INNERDISTANCE", + "rseqc", + "5.0.4" + ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:33:42.464983" + "timestamp": "2025-12-12T11:22:52.085525681" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/innerdistance/tests/nextflow.config b/modules/nf-core/rseqc/innerdistance/tests/nextflow.config deleted file mode 100644 index 8730f1c4b930..000000000000 --- a/modules/nf-core/rseqc/innerdistance/tests/nextflow.config +++ /dev/null @@ -1,5 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - -} diff --git a/modules/nf-core/rseqc/junctionannotation/environment.yml b/modules/nf-core/rseqc/junctionannotation/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/junctionannotation/environment.yml +++ b/modules/nf-core/rseqc/junctionannotation/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/junctionannotation/main.nf b/modules/nf-core/rseqc/junctionannotation/main.nf index 7857b8c2c831..37ed460934c3 100644 --- a/modules/nf-core/rseqc/junctionannotation/main.nf +++ b/modules/nf-core/rseqc/junctionannotation/main.nf @@ -4,11 +4,11 @@ process RSEQC_JUNCTIONANNOTATION { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) path bed output: @@ -19,7 +19,7 @@ process RSEQC_JUNCTIONANNOTATION { tuple val(meta), path("*.Interact.bed"), optional:true, emit: interact_bed tuple val(meta), path("*junction.pdf") , optional:true, emit: pdf tuple val(meta), path("*events.pdf") , optional:true, emit: events_pdf - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('junction_annotation.py --version | sed "s/junction_annotation.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -34,11 +34,6 @@ process RSEQC_JUNCTIONANNOTATION { -o $prefix \\ $args \\ 2>| >(grep -v 'E::idx_find_and_load' | tee ${prefix}.junction_annotation.log >&2) - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(junction_annotation.py --version | sed -e "s/junction_annotation.py //g") - END_VERSIONS """ stub: @@ -51,10 +46,5 @@ process RSEQC_JUNCTIONANNOTATION { touch ${prefix}.Interact.bed touch ${prefix}.junction.pdf touch ${prefix}.events.pdf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(junction_annotation.py --version | sed -e "s/junction_annotation.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/junctionannotation/meta.yml b/modules/nf-core/rseqc/junctionannotation/meta.yml index e9d4a254a181..30d116a20f26 100644 --- a/modules/nf-core/rseqc/junctionannotation/meta.yml +++ b/modules/nf-core/rseqc/junctionannotation/meta.yml @@ -25,6 +25,11 @@ input: description: the alignment in bam format pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] - bed: type: file description: a bed file for the reference gene model @@ -108,16 +113,32 @@ output: description: events plot pattern: "*.events.pdf" ontologies: [] + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - junction_annotation.py --version | sed "s/junction_annotation.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - junction_annotation.py --version | sed "s/junction_annotation.py //": + type: eval + description: The expression to obtain the version of the tool of the tool authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test b/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test index 36d5f6e237d1..f57c4d25c317 100644 --- a/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test +++ b/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test @@ -14,11 +14,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } @@ -26,10 +27,14 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert process.out.rscript.get(0).get(1) ==~ ".*/test.junction_plot.r" }, - { assert process.out.xls.get(0).get(1) ==~ ".*/test.junction.xls" }, - { assert snapshot(process.out.log).match("log") }, - { assert snapshot(process.out.versions).match("versions") } + { assert process.out.pdf.size() == 0 || file(process.out.pdf[0][1]).name.endsWith('.pdf') }, + { assert process.out.events_pdf.size() == 0 || file(process.out.events_pdf[0][1]).name.endsWith('.pdf') }, + { assert process.out.xls.size() == 0 || file(process.out.xls[0][1]).name.endsWith('.xls') }, + { assert process.out.rscript.size() == 0 || file(process.out.rscript[0][1]).name.endsWith('.r') }, + { assert snapshot( + process.out.log, + process.out.versions_rseqc + ).match() } ) } } @@ -41,11 +46,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } @@ -53,7 +59,8 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(process.out).match() }, + { assert snapshot(process.out.versions_rseqc).match("versions") } ) } } diff --git a/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test.snap b/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test.snap index e87594f0b71f..03ab47c1676c 100644 --- a/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test.snap @@ -1,33 +1,19 @@ { - "log": { + "versions": { "content": [ [ [ - { - "id": "test", - "single_end": false - }, - "test.junction_annotation.log:md5,ef37d06d169a1adbeec23fddf82aee2b" + "RSEQC_JUNCTIONANNOTATION", + "rseqc", + "5.0.4" ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:32:52.732937" - }, - "versions": { - "content": [ - [ - "versions.yml:md5,091865c0ebd6de262c9b0968b5771091" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:32:52.734515" + "timestamp": "2025-12-16T11:12:52.934637398" }, "sarscov2 - paired end [bam] - stub": { "content": [ @@ -96,7 +82,11 @@ ] ], "7": [ - "versions.yml:md5,091865c0ebd6de262c9b0968b5771091" + [ + "RSEQC_JUNCTIONANNOTATION", + "rseqc", + "5.0.4" + ] ], "bed": [ [ @@ -152,8 +142,12 @@ "test.junction_plot.r:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,091865c0ebd6de262c9b0968b5771091" + "versions_rseqc": [ + [ + "RSEQC_JUNCTIONANNOTATION", + "rseqc", + "5.0.4" + ] ], "xls": [ [ @@ -167,9 +161,34 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T15:03:34.433311514" + }, + "sarscov2 - paired end [bam]": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.junction_annotation.log:md5,d75e0f5d62fada8aa9449991b209554c" + ] + ], + [ + [ + "RSEQC_JUNCTIONANNOTATION", + "rseqc", + "5.0.4" + ] + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:39:10.213511" + "timestamp": "2025-12-16T11:12:46.525058132" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/junctionsaturation/environment.yml b/modules/nf-core/rseqc/junctionsaturation/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/junctionsaturation/environment.yml +++ b/modules/nf-core/rseqc/junctionsaturation/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/junctionsaturation/main.nf b/modules/nf-core/rseqc/junctionsaturation/main.nf index 18f063f386d7..c4f340715ff8 100644 --- a/modules/nf-core/rseqc/junctionsaturation/main.nf +++ b/modules/nf-core/rseqc/junctionsaturation/main.nf @@ -4,17 +4,17 @@ process RSEQC_JUNCTIONSATURATION { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) path bed output: tuple val(meta), path("*.pdf"), emit: pdf tuple val(meta), path("*.r") , emit: rscript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('junction_saturation.py --version | sed "s/junction_saturation.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -28,11 +28,6 @@ process RSEQC_JUNCTIONSATURATION { -r $bed \\ -o $prefix \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(junction_saturation.py --version | sed -e "s/junction_saturation.py //g") - END_VERSIONS """ stub: @@ -40,10 +35,5 @@ process RSEQC_JUNCTIONSATURATION { """ touch ${prefix}.junctionSaturation_plot.pdf touch ${prefix}.junctionSaturation_plot.r - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(junction_saturation.py --version | sed -e "s/junction_saturation.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/junctionsaturation/meta.yml b/modules/nf-core/rseqc/junctionsaturation/meta.yml index e53091c19894..4f26268287e3 100644 --- a/modules/nf-core/rseqc/junctionsaturation/meta.yml +++ b/modules/nf-core/rseqc/junctionsaturation/meta.yml @@ -25,6 +25,11 @@ input: description: the alignment in bam format pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] - bed: type: file description: a bed file for the reference gene model @@ -53,16 +58,32 @@ output: description: Junction saturation R-script pattern: "*.r" ontologies: [] + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - junction_saturation.py --version | sed "s/junction_saturation.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - junction_saturation.py --version | sed "s/junction_saturation.py //": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test b/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test index 7bd3cfc20a5e..f825f2db7a51 100644 --- a/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test +++ b/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test @@ -14,11 +14,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true) + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true) """ } } @@ -26,9 +27,11 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(file(process.out.pdf[0][1]).name).match("pdf") }, - { assert snapshot(process.out.rscript).match("rscript") }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot( + file(process.out.pdf[0][1]).name, + process.out.rscript, + process.out.versions_rseqc + ).match() } ) } } @@ -40,11 +43,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed", checkIfExists: true) + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true) """ } } diff --git a/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test.snap b/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test.snap index 8d702a4efd4b..956af34fb279 100644 --- a/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test.snap @@ -1,6 +1,7 @@ { - "rscript": { + "sarscov2 paired-end [bam]": { "content": [ + "test.junctionSaturation_plot.pdf", [ [ { @@ -9,35 +10,20 @@ }, "test.junctionSaturation_plot.r:md5,caa6e63dcb477aabb169882b2f30dadd" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:32:24.018924" - }, - "pdf": { - "content": [ - "test.junctionSaturation_plot.pdf" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:32:24.011942" - }, - "versions": { - "content": [ + ], [ - "versions.yml:md5,cd4638541a825dbd44e3cb65d2980aa1" + [ + "RSEQC_JUNCTIONSATURATION", + "rseqc", + "5.0.4" + ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:32:24.021984" + "timestamp": "2025-12-11T14:31:38.120944367" }, "sarscov2 paired-end [bam] - stub": { "content": [ @@ -61,7 +47,11 @@ ] ], "2": [ - "versions.yml:md5,cd4638541a825dbd44e3cb65d2980aa1" + [ + "RSEQC_JUNCTIONSATURATION", + "rseqc", + "5.0.4" + ] ], "pdf": [ [ @@ -81,15 +71,19 @@ "test.junctionSaturation_plot.r:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,cd4638541a825dbd44e3cb65d2980aa1" + "versions_rseqc": [ + [ + "RSEQC_JUNCTIONSATURATION", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:43:55.853893" + "timestamp": "2025-12-10T15:09:58.928551451" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/readdistribution/environment.yml b/modules/nf-core/rseqc/readdistribution/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/readdistribution/environment.yml +++ b/modules/nf-core/rseqc/readdistribution/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/readdistribution/main.nf b/modules/nf-core/rseqc/readdistribution/main.nf index 1d9406491c6b..e70562a1ec54 100644 --- a/modules/nf-core/rseqc/readdistribution/main.nf +++ b/modules/nf-core/rseqc/readdistribution/main.nf @@ -4,16 +4,16 @@ process RSEQC_READDISTRIBUTION { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) path bed output: tuple val(meta), path("*.read_distribution.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('read_distribution.py --version | sed "s/read_distribution.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -26,21 +26,11 @@ process RSEQC_READDISTRIBUTION { -i $bam \\ -r $bed \\ > ${prefix}.read_distribution.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(read_distribution.py --version | sed -e "s/read_distribution.py //g") - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.read_distribution.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(read_distribution.py --version | sed -e "s/read_distribution.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/readdistribution/meta.yml b/modules/nf-core/rseqc/readdistribution/meta.yml index 08894ff640d9..4b46ef30dff7 100644 --- a/modules/nf-core/rseqc/readdistribution/meta.yml +++ b/modules/nf-core/rseqc/readdistribution/meta.yml @@ -25,6 +25,11 @@ input: description: the alignment in bam format pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] - bed: type: file description: a bed file for the reference gene model @@ -42,16 +47,32 @@ output: description: the read distribution report pattern: "*.read_distribution.txt" ontologies: [] + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - read_distribution.py --version | sed "s/read_distribution.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - read_distribution.py --version | sed "s/read_distribution.py //": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/readdistribution/tests/main.nf.test b/modules/nf-core/rseqc/readdistribution/tests/main.nf.test index 5fa76950cb14..5b37cb341402 100644 --- a/modules/nf-core/rseqc/readdistribution/tests/main.nf.test +++ b/modules/nf-core/rseqc/readdistribution/tests/main.nf.test @@ -13,11 +13,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } @@ -37,11 +38,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } diff --git a/modules/nf-core/rseqc/readdistribution/tests/main.nf.test.snap b/modules/nf-core/rseqc/readdistribution/tests/main.nf.test.snap index 02e5e61171d7..25e1829bc5db 100644 --- a/modules/nf-core/rseqc/readdistribution/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/readdistribution/tests/main.nf.test.snap @@ -12,7 +12,11 @@ ] ], "1": [ - "versions.yml:md5,fc68a268ab32a0d72a66f270d6c7925e" + [ + "RSEQC_READDISTRIBUTION", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -23,16 +27,20 @@ "test.read_distribution.txt:md5,56893fdc0809d968629a363551a1655f" ] ], - "versions": [ - "versions.yml:md5,fc68a268ab32a0d72a66f270d6c7925e" + "versions_rseqc": [ + [ + "RSEQC_READDISTRIBUTION", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T15:38:36.441841" + "timestamp": "2025-12-11T14:49:56.413225535" }, "sarscov2 paired-end [bam] - stub": { "content": [ @@ -47,7 +55,11 @@ ] ], "1": [ - "versions.yml:md5,fc68a268ab32a0d72a66f270d6c7925e" + [ + "RSEQC_READDISTRIBUTION", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -58,15 +70,19 @@ "test.read_distribution.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,fc68a268ab32a0d72a66f270d6c7925e" + "versions_rseqc": [ + [ + "RSEQC_READDISTRIBUTION", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:50:29.345905" + "timestamp": "2025-12-11T14:50:02.619740426" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/readduplication/environment.yml b/modules/nf-core/rseqc/readduplication/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/readduplication/environment.yml +++ b/modules/nf-core/rseqc/readduplication/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/readduplication/main.nf b/modules/nf-core/rseqc/readduplication/main.nf index 3543380219fb..30cac2ae5004 100644 --- a/modules/nf-core/rseqc/readduplication/main.nf +++ b/modules/nf-core/rseqc/readduplication/main.nf @@ -4,18 +4,18 @@ process RSEQC_READDUPLICATION { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam), path(bai) output: tuple val(meta), path("*seq.DupRate.xls"), emit: seq_xls tuple val(meta), path("*pos.DupRate.xls"), emit: pos_xls tuple val(meta), path("*.pdf") , emit: pdf tuple val(meta), path("*.r") , emit: rscript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('read_duplication.py --version | sed "s/read_duplication.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -28,11 +28,6 @@ process RSEQC_READDUPLICATION { -i $bam \\ -o $prefix \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(read_duplication.py --version | sed -e "s/read_duplication.py //g") - END_VERSIONS """ stub: @@ -42,10 +37,5 @@ process RSEQC_READDUPLICATION { touch ${prefix}.pos.DupRate.xls touch ${prefix}.DupRate_plot.pdf touch ${prefix}.DupRate_plot.r - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(read_duplication.py --version | sed -e "s/read_duplication.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/readduplication/meta.yml b/modules/nf-core/rseqc/readduplication/meta.yml index 2cea4a9b4aac..8ad367da7ccf 100644 --- a/modules/nf-core/rseqc/readduplication/meta.yml +++ b/modules/nf-core/rseqc/readduplication/meta.yml @@ -26,6 +26,11 @@ input: description: the alignment in bam format pattern: "*.{bam}" ontologies: [] + - bai: + type: file + description: BAM index file + pattern: "*.{bai}" + ontologies: [] output: seq_xls: - - meta: @@ -72,16 +77,32 @@ output: pattern: "*.R" ontologies: - edam: http://edamontology.org/format_3999 # R script + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - read_duplication.py --version | sed "s/read_duplication.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - read_duplication.py --version | sed "s/read_duplication.py //": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" maintainers: - "@drpatelh" - "@kevinmenden" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/readduplication/tests/main.nf.test b/modules/nf-core/rseqc/readduplication/tests/main.nf.test index 334a4e670f2c..693547d1a8b4 100644 --- a/modules/nf-core/rseqc/readduplication/tests/main.nf.test +++ b/modules/nf-core/rseqc/readduplication/tests/main.nf.test @@ -13,9 +13,10 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) """ } @@ -24,11 +25,13 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(file(process.out.pdf[0][1]).name).match("pdf") }, - { assert snapshot(process.out.pos_xls).match("pos_xls") }, - { assert snapshot(process.out.rscript).match("rscript") }, - { assert snapshot(process.out.seq_xls).match("seq_xls") }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot( + file(process.out.pdf[0][1]).name, + process.out.pos_xls, + process.out.rscript, + process.out.seq_xls, + process.out.versions_rseqc + ).match() } ) } } @@ -40,9 +43,10 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end: false ], // meta map - file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true) + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) """ } diff --git a/modules/nf-core/rseqc/readduplication/tests/main.nf.test.snap b/modules/nf-core/rseqc/readduplication/tests/main.nf.test.snap index 143a29dc6bad..6ca20ad93046 100644 --- a/modules/nf-core/rseqc/readduplication/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/readduplication/tests/main.nf.test.snap @@ -1,6 +1,7 @@ { - "pos_xls": { + "sarscov2 paired-end [bam]": { "content": [ + "test.DupRate_plot.pdf", [ [ { @@ -9,16 +10,7 @@ }, "test.pos.DupRate.xls:md5,a859bc2031d46bf1cc4336205847caa3" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T15:43:14.989834" - }, - "rscript": { - "content": [ + ], [ [ { @@ -27,26 +19,7 @@ }, "test.DupRate_plot.r:md5,3c0325095cee4835b921e57d61c23dca" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T15:43:15.045525" - }, - "pdf": { - "content": [ - "test.DupRate_plot.pdf" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T14:33:06.857254" - }, - "seq_xls": { - "content": [ + ], [ [ { @@ -55,25 +28,20 @@ }, "test.seq.DupRate.xls:md5,ee8783399eec5a18522a6f08bece338b" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" - }, - "timestamp": "2024-02-26T15:43:15.101953" - }, - "versions": { - "content": [ + ], [ - "versions.yml:md5,8a0721f3247f97135eadb8eecbe142a1" + [ + "RSEQC_READDUPLICATION", + "rseqc", + "5.0.4" + ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:33:06.877127" + "timestamp": "2025-12-11T15:22:07.908044925" }, "sarscov2 paired-end [bam] - stub": { "content": [ @@ -115,7 +83,11 @@ ] ], "4": [ - "versions.yml:md5,8a0721f3247f97135eadb8eecbe142a1" + [ + "RSEQC_READDUPLICATION", + "rseqc", + "5.0.4" + ] ], "pdf": [ [ @@ -153,15 +125,19 @@ "test.seq.DupRate.xls:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,8a0721f3247f97135eadb8eecbe142a1" + "versions_rseqc": [ + [ + "RSEQC_READDUPLICATION", + "rseqc", + "5.0.4" + ] ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:53:03.817194" + "timestamp": "2025-12-11T15:22:13.974266658" } } \ No newline at end of file diff --git a/modules/nf-core/rseqc/splitbam/tests/main.nf.test b/modules/nf-core/rseqc/splitbam/tests/main.nf.test index 87b80f2943f6..578e02006d77 100644 --- a/modules/nf-core/rseqc/splitbam/tests/main.nf.test +++ b/modules/nf-core/rseqc/splitbam/tests/main.nf.test @@ -14,12 +14,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test' ], // meta map file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'test_bed' ], // meta2 map file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true) ]) @@ -45,12 +45,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test' ], // meta map file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'test_bed' ], // meta2 map file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true) ]) diff --git a/modules/nf-core/rseqc/tin/environment.yml b/modules/nf-core/rseqc/tin/environment.yml index d6654e23b759..534eb48baafb 100644 --- a/modules/nf-core/rseqc/tin/environment.yml +++ b/modules/nf-core/rseqc/tin/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::rseqc=5.0.3 + - bioconda::rseqc=5.0.4 - conda-forge::r-base=3.5 diff --git a/modules/nf-core/rseqc/tin/main.nf b/modules/nf-core/rseqc/tin/main.nf index 397442f03382..3acde8f5c132 100644 --- a/modules/nf-core/rseqc/tin/main.nf +++ b/modules/nf-core/rseqc/tin/main.nf @@ -4,8 +4,8 @@ process RSEQC_TIN { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/rseqc:5.0.3--py39hf95cd2a_0' : - 'biocontainers/rseqc:5.0.3--py39hf95cd2a_0' }" + 'https://depot.galaxyproject.org/singularity/rseqc:5.0.4--pyhdfd78af_1' : + 'biocontainers/rseqc:5.0.4--pyhdfd78af_1' }" input: tuple val(meta), path(bam), path(bai) @@ -14,7 +14,7 @@ process RSEQC_TIN { output: tuple val(meta), path("*.txt"), emit: txt tuple val(meta), path("*.xls"), emit: xls - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), eval('tin.py --version | sed "s/tin.py //"'), emit: versions_rseqc, topic: versions when: task.ext.when == null || task.ext.when @@ -27,11 +27,6 @@ process RSEQC_TIN { -i $bam \\ -r $bed \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(tin.py --version | sed -e "s/tin.py //g") - END_VERSIONS """ stub: @@ -39,10 +34,5 @@ process RSEQC_TIN { """ touch ${bam.fileName}.summary.txt touch ${bam.fileName}.tin.xls - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(tin.py --version | sed -e "s/tin.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/tin/meta.yml b/modules/nf-core/rseqc/tin/meta.yml index 9745f7943ec4..eeb9c35864f5 100644 --- a/modules/nf-core/rseqc/tin/meta.yml +++ b/modules/nf-core/rseqc/tin/meta.yml @@ -58,14 +58,30 @@ output: description: XLS file containing tin.py results pattern: "*.xls" ontologies: [] + versions_rseqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - rseqc: + type: string + description: The tool name + - tin.py --version | sed "s/tin.py //": + 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 process the versions were collected from + - rseqc: + type: string + description: The tool name + - tin.py --version | sed "s/tin.py //": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" + - "@rhassaine" maintainers: - "@drpatelh" + - "@rhassaine" diff --git a/modules/nf-core/rseqc/tin/tests/main.nf.test b/modules/nf-core/rseqc/tin/tests/main.nf.test index b11eba80bd54..ee506cf0b424 100644 --- a/modules/nf-core/rseqc/tin/tests/main.nf.test +++ b/modules/nf-core/rseqc/tin/tests/main.nf.test @@ -13,12 +13,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } @@ -38,12 +38,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true), file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ]) - input[1] = Channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + "genomics/sarscov2/genome/bed/test.bed12", checkIfExists: true)) """ } } diff --git a/modules/nf-core/rseqc/tin/tests/main.nf.test.snap b/modules/nf-core/rseqc/tin/tests/main.nf.test.snap index caab3a091a81..13e5830cf993 100644 --- a/modules/nf-core/rseqc/tin/tests/main.nf.test.snap +++ b/modules/nf-core/rseqc/tin/tests/main.nf.test.snap @@ -21,7 +21,11 @@ ] ], "2": [ - "versions.yml:md5,79670dedaa11a978951c16ead7f49c24" + [ + "RSEQC_TIN", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -32,8 +36,12 @@ "test.paired_end.sorted.summary.txt:md5,9d98447e178b89a89f6f5aba7a772fe6" ] ], - "versions": [ - "versions.yml:md5,79670dedaa11a978951c16ead7f49c24" + "versions_rseqc": [ + [ + "RSEQC_TIN", + "rseqc", + "5.0.4" + ] ], "xls": [ [ @@ -47,10 +55,10 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.01.0" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-02-26T14:32:42.823857" + "timestamp": "2025-12-10T14:24:58.103086041" }, "sarscov2 paired-end [bam] - stub": { "content": [ @@ -74,7 +82,11 @@ ] ], "2": [ - "versions.yml:md5,79670dedaa11a978951c16ead7f49c24" + [ + "RSEQC_TIN", + "rseqc", + "5.0.4" + ] ], "txt": [ [ @@ -85,8 +97,12 @@ "test.paired_end.sorted.bam.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,79670dedaa11a978951c16ead7f49c24" + "versions_rseqc": [ + [ + "RSEQC_TIN", + "rseqc", + "5.0.4" + ] ], "xls": [ [ @@ -100,9 +116,9 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-06-21T09:55:57.905927" + "timestamp": "2025-12-10T14:25:04.054587066" } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_rseqc/main.nf b/subworkflows/nf-core/bam_rseqc/main.nf index 043321a13c27..bfc93f900a8c 100644 --- a/subworkflows/nf-core/bam_rseqc/main.nf +++ b/subworkflows/nf-core/bam_rseqc/main.nf @@ -19,30 +19,28 @@ workflow BAM_RSEQC { main: - bam = bam_bai.map{ [ it[0], it[1] ] } - - versions = Channel.empty() + // bam = bam_bai.map{ [ it[0], it[1][0], it[1][1] ] } + bam = bam_bai.map{ it -> [ it[0], it[1][0], it[1][1] ] } // // Run RSeQC bam_stat.py // - bamstat_txt = Channel.empty() + bamstat_txt = channel.empty() if ('bam_stat' in rseqc_modules) { RSEQC_BAMSTAT(bam) bamstat_txt = RSEQC_BAMSTAT.out.txt - versions = versions.mix(RSEQC_BAMSTAT.out.versions.first()) } // // Run RSeQC inner_distance.py // - innerdistance_all = Channel.empty() - innerdistance_distance = Channel.empty() - innerdistance_freq = Channel.empty() - innerdistance_mean = Channel.empty() - innerdistance_pdf = Channel.empty() - innerdistance_rscript = Channel.empty() + innerdistance_all = channel.empty() + innerdistance_distance = channel.empty() + innerdistance_freq = channel.empty() + innerdistance_mean = channel.empty() + innerdistance_pdf = channel.empty() + innerdistance_rscript = channel.empty() if ('inner_distance' in rseqc_modules) { RSEQC_INNERDISTANCE(bam, bed) @@ -52,30 +50,28 @@ workflow BAM_RSEQC { innerdistance_pdf = RSEQC_INNERDISTANCE.out.pdf innerdistance_rscript = RSEQC_INNERDISTANCE.out.rscript innerdistance_all = innerdistance_distance.mix(innerdistance_freq, innerdistance_mean, innerdistance_pdf, innerdistance_rscript) - versions = versions.mix(RSEQC_INNERDISTANCE.out.versions.first()) } // // Run RSeQC infer_experiment.py // - inferexperiment_txt = Channel.empty() + inferexperiment_txt = channel.empty() if ('infer_experiment' in rseqc_modules) { RSEQC_INFEREXPERIMENT(bam, bed) inferexperiment_txt = RSEQC_INFEREXPERIMENT.out.txt - versions = versions.mix(RSEQC_INFEREXPERIMENT.out.versions.first()) } // // Run RSeQC junction_annotation.py // - junctionannotation_all = Channel.empty() - junctionannotation_bed = Channel.empty() - junctionannotation_interact_bed = Channel.empty() - junctionannotation_xls = Channel.empty() - junctionannotation_pdf = Channel.empty() - junctionannotation_events_pdf = Channel.empty() - junctionannotation_rscript = Channel.empty() - junctionannotation_log = Channel.empty() + junctionannotation_all = channel.empty() + junctionannotation_bed = channel.empty() + junctionannotation_interact_bed = channel.empty() + junctionannotation_xls = channel.empty() + junctionannotation_pdf = channel.empty() + junctionannotation_events_pdf = channel.empty() + junctionannotation_rscript = channel.empty() + junctionannotation_log = channel.empty() if ('junction_annotation' in rseqc_modules) { RSEQC_JUNCTIONANNOTATION(bam, bed) @@ -87,43 +83,40 @@ workflow BAM_RSEQC { junctionannotation_rscript = RSEQC_JUNCTIONANNOTATION.out.rscript junctionannotation_log = RSEQC_JUNCTIONANNOTATION.out.log junctionannotation_all = junctionannotation_bed.mix(junctionannotation_interact_bed, junctionannotation_xls, junctionannotation_pdf, junctionannotation_events_pdf, junctionannotation_rscript, junctionannotation_log) - versions = versions.mix(RSEQC_JUNCTIONANNOTATION.out.versions.first()) } // // Run RSeQC junction_saturation.py // - junctionsaturation_all = Channel.empty() - junctionsaturation_pdf = Channel.empty() - junctionsaturation_rscript = Channel.empty() + junctionsaturation_all = channel.empty() + junctionsaturation_pdf = channel.empty() + junctionsaturation_rscript = channel.empty() if ('junction_saturation' in rseqc_modules) { RSEQC_JUNCTIONSATURATION(bam, bed) junctionsaturation_pdf = RSEQC_JUNCTIONSATURATION.out.pdf junctionsaturation_rscript = RSEQC_JUNCTIONSATURATION.out.rscript junctionsaturation_all = junctionsaturation_pdf.mix(junctionsaturation_rscript) - versions = versions.mix(RSEQC_JUNCTIONSATURATION.out.versions.first()) } // // Run RSeQC read_distribution.py // - readdistribution_txt = Channel.empty() + readdistribution_txt = channel.empty() if ('read_distribution' in rseqc_modules) { RSEQC_READDISTRIBUTION(bam, bed) readdistribution_txt = RSEQC_READDISTRIBUTION.out.txt - versions = versions.mix(RSEQC_READDISTRIBUTION.out.versions.first()) } // // Run RSeQC read_duplication.py // - readduplication_all = Channel.empty() - readduplication_seq_xls = Channel.empty() - readduplication_pos_xls = Channel.empty() - readduplication_pdf = Channel.empty() - readduplication_rscript = Channel.empty() + readduplication_all = channel.empty() + readduplication_seq_xls = channel.empty() + readduplication_pos_xls = channel.empty() + readduplication_pdf = channel.empty() + readduplication_rscript = channel.empty() if ('read_duplication' in rseqc_modules) { RSEQC_READDUPLICATION(bam ) @@ -132,18 +125,16 @@ workflow BAM_RSEQC { readduplication_pdf = RSEQC_READDUPLICATION.out.pdf readduplication_rscript = RSEQC_READDUPLICATION.out.rscript readduplication_all = readduplication_seq_xls.mix(readduplication_pos_xls, readduplication_pdf, readduplication_rscript) - versions = versions.mix(RSEQC_READDUPLICATION.out.versions.first()) } // // Run RSeQC tin.py // - tin_txt = Channel.empty() + tin_txt = channel.empty() if ('tin' in rseqc_modules) { - RSEQC_TIN(bam_bai, bed) + RSEQC_TIN(bam, bed) tin_txt = RSEQC_TIN.out.txt - versions = versions.mix(RSEQC_TIN.out.versions.first()) } emit: @@ -180,6 +171,4 @@ workflow BAM_RSEQC { readduplication_rscript // channel: [ val(meta), r ] tin_txt // channel: [ val(meta), txt ] - - versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/bam_rseqc/tests/main.nf.test b/subworkflows/nf-core/bam_rseqc/tests/main.nf.test index d228c6b4714e..8e18dd947fab 100644 --- a/subworkflows/nf-core/bam_rseqc/tests/main.nf.test +++ b/subworkflows/nf-core/bam_rseqc/tests/main.nf.test @@ -24,12 +24,14 @@ nextflow_workflow { """ input[0] = Channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ] ]) - input[1] = Channel.of([ + input[1] = Channel.of( file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed12', checkIfExists: true) - ]) + ) input[2] = ['bam_stat', 'inner_distance', 'infer_experiment', 'junction_annotation', 'junction_saturation', 'read_distribution', 'read_duplication', 'tin'] """ } @@ -49,8 +51,7 @@ nextflow_workflow { workflow.out.junctionsaturation_all.findAll { it[1].endsWith('.pdf') == false }, workflow.out.readdistribution_txt, workflow.out.readduplication_all.findAll { it[1].endsWith('.pdf') == false }, - workflow.out.tin_txt, - workflow.out.versions).match()} + workflow.out.tin_txt).match()} ) } } @@ -62,12 +63,14 @@ nextflow_workflow { """ input[0] = Channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ] ]) - input[1] = Channel.of([ + input[1] = Channel.of( file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed12', checkIfExists: true) - ]) + ) input[2] = [] """ } @@ -76,15 +79,14 @@ nextflow_workflow { then { assertAll( { assert workflow.success }, - { assert workflow.out.bamstat_txt.size() == 0 }, - { assert workflow.out.innerdistance_all.size() == 0 }, - { assert workflow.out.inferexperiment_txt.size() == 0 }, - { assert workflow.out.junctionannotation_all.size() == 0 }, - { assert workflow.out.junctionsaturation_all.size() == 0 }, - { assert workflow.out.readdistribution_txt.size() == 0 }, - { assert workflow.out.readduplication_all.size() == 0 }, - { assert workflow.out.tin_txt.size() == 0 }, - { assert workflow.out.versions.size() == 0 } + { assert workflow.out.bamstat_txt == null || workflow.out.bamstat_txt.size() == 0 }, + { assert workflow.out.innerdistance_all == null || workflow.out.innerdistance_all.size() == 0 }, + { assert workflow.out.inferexperiment_txt == null || workflow.out.inferexperiment_txt.size() == 0 }, + { assert workflow.out.junctionannotation_all == null || workflow.out.junctionannotation_all.size() == 0 }, + { assert workflow.out.junctionsaturation_all == null || workflow.out.junctionsaturation_all.size() == 0 }, + { assert workflow.out.readdistribution_txt == null || workflow.out.readdistribution_txt.size() == 0 }, + { assert workflow.out.readduplication_all == null || workflow.out.readduplication_all.size() == 0 }, + { assert workflow.out.tin_txt == null || workflow.out.tin_txt.size() == 0 } ) } } @@ -98,12 +100,14 @@ nextflow_workflow { """ input[0] = Channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ] ]) - input[1] = Channel.of([ + input[1] = Channel.of( file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed12', checkIfExists: true) - ]) + ) input[2] = ['bam_stat', 'inner_distance', 'infer_experiment', 'junction_annotation', 'junction_saturation', 'read_distribution', 'read_duplication', 'tin'] """ } @@ -126,12 +130,14 @@ nextflow_workflow { """ input[0] = Channel.of([ [ id:'test' ], // meta map - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ] ]) - input[1] = Channel.of([ + input[1] = Channel.of( file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed12', checkIfExists: true) - ]) + ) input[2] = [] """ } diff --git a/subworkflows/nf-core/bam_rseqc/tests/main.nf.test.snap b/subworkflows/nf-core/bam_rseqc/tests/main.nf.test.snap index 0040810ccf80..d2c32d2ded06 100644 --- a/subworkflows/nf-core/bam_rseqc/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_rseqc/tests/main.nf.test.snap @@ -94,23 +94,13 @@ }, "test.paired_end.sorted.summary.txt:md5,9d98447e178b89a89f6f5aba7a772fe6" ] - ], - [ - "versions.yml:md5,60dc1afce7fecb7270e998a00ee393e2", - "versions.yml:md5,9bc3caee6aeb54f23f5296b499546515", - "versions.yml:md5,a25161998ca60d5ce4e9a86abbf1bcb8", - "versions.yml:md5,c175b92f50b5be38a8808cbf7ac7452e", - "versions.yml:md5,ca7e95cf7ff7cff5d052b890729f7ead", - "versions.yml:md5,d03beea3c68934c3f3623a005c1424d2", - "versions.yml:md5,f2f3ecd549045f7595245f904f5d9414", - "versions.yml:md5,fd16f1098b9c285f3ea7bd3daf4e8f10" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-07-03T12:07:54.452949" + "timestamp": "2025-12-16T10:27:40.098579318" }, "sarscov2 paired-end [bam] - stub": { "content": [ @@ -315,16 +305,6 @@ "test.paired_end.sorted.bam.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "26": [ - "versions.yml:md5,60dc1afce7fecb7270e998a00ee393e2", - "versions.yml:md5,9bc3caee6aeb54f23f5296b499546515", - "versions.yml:md5,a25161998ca60d5ce4e9a86abbf1bcb8", - "versions.yml:md5,c175b92f50b5be38a8808cbf7ac7452e", - "versions.yml:md5,ca7e95cf7ff7cff5d052b890729f7ead", - "versions.yml:md5,d03beea3c68934c3f3623a005c1424d2", - "versions.yml:md5,f2f3ecd549045f7595245f904f5d9414", - "versions.yml:md5,fd16f1098b9c285f3ea7bd3daf4e8f10" - ], "3": [ [ { @@ -708,24 +688,14 @@ }, "test.paired_end.sorted.bam.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "versions": [ - "versions.yml:md5,60dc1afce7fecb7270e998a00ee393e2", - "versions.yml:md5,9bc3caee6aeb54f23f5296b499546515", - "versions.yml:md5,a25161998ca60d5ce4e9a86abbf1bcb8", - "versions.yml:md5,c175b92f50b5be38a8808cbf7ac7452e", - "versions.yml:md5,ca7e95cf7ff7cff5d052b890729f7ead", - "versions.yml:md5,d03beea3c68934c3f3623a005c1424d2", - "versions.yml:md5,f2f3ecd549045f7595245f904f5d9414", - "versions.yml:md5,fd16f1098b9c285f3ea7bd3daf4e8f10" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-07-03T12:08:17.304769" + "timestamp": "2025-12-16T10:03:03.811447426" }, "sarscov2 paired-end [bam] no modules - stub": { "content": [ @@ -786,9 +756,6 @@ ], "25": [ - ], - "26": [ - ], "3": [ @@ -888,16 +855,13 @@ ], "tin_txt": [ - ], - "versions": [ - ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.10.2" }, - "timestamp": "2024-07-03T12:08:24.443731" + "timestamp": "2025-12-16T10:03:08.860494145" } } \ No newline at end of file