diff --git a/modules/nf-core/mirtop/counts/tests/main.nf.test b/modules/nf-core/mirtop/counts/tests/main.nf.test index 8283d5b489b..52b31db1eb2 100644 --- a/modules/nf-core/mirtop/counts/tests/main.nf.test +++ b/modules/nf-core/mirtop/counts/tests/main.nf.test @@ -38,7 +38,7 @@ nextflow_process { when { process { """ - input[0] = MIRTOP_GFF.out.mirtop_gff + input[0] = MIRTOP_GFF.out.gff input[1] = [ [ id:'hairpin'], // meta map file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/hairpin_mirtop.fa", checkIfExists: true), @@ -72,7 +72,7 @@ nextflow_process { when { process { """ - input[0] = MIRTOP_GFF.out.mirtop_gff + input[0] = MIRTOP_GFF.out.gff input[1] = [ [ id:'hairpin'], // meta map file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/hairpin_mirtop.fa", checkIfExists: true), diff --git a/modules/nf-core/mirtop/export/tests/main.nf.test b/modules/nf-core/mirtop/export/tests/main.nf.test index 0a7f80710b7..234caf57303 100644 --- a/modules/nf-core/mirtop/export/tests/main.nf.test +++ b/modules/nf-core/mirtop/export/tests/main.nf.test @@ -37,7 +37,7 @@ nextflow_process { when { process { """ - input[0] = MIRTOP_GFF.out.mirtop_gff + input[0] = MIRTOP_GFF.out.gff input[1] = [ [ id:'hairpin'], // meta map file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/hairpin_mirtop.fa", checkIfExists: true), @@ -66,7 +66,7 @@ nextflow_process { when { process { """ - input[0] = MIRTOP_GFF.out.mirtop_gff + input[0] = MIRTOP_GFF.out.gff input[1] = [ [ id:'hairpin'], // meta map file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/hairpin_mirtop.fa", checkIfExists: true), diff --git a/modules/nf-core/mirtop/export/tests/main.nf.test.snap b/modules/nf-core/mirtop/export/tests/main.nf.test.snap index 1a7784b08d1..f8c668a62fb 100644 --- a/modules/nf-core/mirtop/export/tests/main.nf.test.snap +++ b/modules/nf-core/mirtop/export/tests/main.nf.test.snap @@ -62,7 +62,7 @@ { "id": "sample_sim_isomir_bam" }, - "mirtop_rawData.tsv:md5,efbcbe67716a4a56f89e538af2251dcc" + "sample_sim_isomir_bam_mirtop_rawData.tsv:md5,efbcbe67716a4a56f89e538af2251dcc" ] ], "1": [ @@ -82,7 +82,7 @@ { "id": "sample_sim_isomir_bam" }, - "mirtop_rawData.tsv:md5,efbcbe67716a4a56f89e538af2251dcc" + "sample_sim_isomir_bam_mirtop_rawData.tsv:md5,efbcbe67716a4a56f89e538af2251dcc" ] ], "vcf": [ @@ -97,6 +97,6 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-03T15:25:24.528528611" + "timestamp": "2024-09-12T23:12:49.612315132" } } \ No newline at end of file diff --git a/modules/nf-core/mirtop/gff/main.nf b/modules/nf-core/mirtop/gff/main.nf index 1f951e2fada..453b624b9f6 100644 --- a/modules/nf-core/mirtop/gff/main.nf +++ b/modules/nf-core/mirtop/gff/main.nf @@ -8,13 +8,12 @@ process MIRTOP_GFF { 'biocontainers/mulled-v2-0c13ef770dd7cc5c76c2ce23ba6669234cf03385:63be019f50581cc5dfe4fc0f73ae50f2d4d661f7-0' }" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam, arity:'1..*') tuple val(meta2), path(hairpin) tuple val(meta3), path(gtf), val(species) output: - tuple val(meta), path("mirtop/${bam.baseName}.gff") , emit: sample_gff - tuple val(meta), path("mirtop/mirtop.gff") , emit: mirtop_gff + tuple val(meta), path("mirtop/*mirtop.gff") , emit: gff path "versions.yml" , emit: versions when: @@ -33,6 +32,8 @@ process MIRTOP_GFF { -o mirtop \\ $bam + mv mirtop/mirtop.gff mirtop/${prefix}_mirtop.gff + cat <<-END_VERSIONS > versions.yml "${task.process}": mirtop: \$(echo \$(mirtop --version 2>&1) | sed 's/^.*mirtop //') @@ -45,7 +46,6 @@ process MIRTOP_GFF { """ mkdir mirtop touch mirtop/mirtop.gff - touch mirtop/sim_isomir_sort.gff cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/mirtop/gff/meta.yml b/modules/nf-core/mirtop/gff/meta.yml index 9d593210d2e..454d5edfe1d 100644 --- a/modules/nf-core/mirtop/gff/meta.yml +++ b/modules/nf-core/mirtop/gff/meta.yml @@ -46,11 +46,7 @@ output: type: file description: File containing software versions pattern: "versions.yml" - - mirtop_gff: - type: file - description: GFF file - pattern: "*.{gff}" - - sample_gff: + - gff: type: file description: GFF file pattern: "*.{gff}" diff --git a/modules/nf-core/mirtop/gff/tests/main.nf.test b/modules/nf-core/mirtop/gff/tests/main.nf.test index 67b7ef3cf86..3ce7ef85523 100644 --- a/modules/nf-core/mirtop/gff/tests/main.nf.test +++ b/modules/nf-core/mirtop/gff/tests/main.nf.test @@ -35,12 +35,11 @@ nextflow_process { { assert process.success }, { assert snapshot( process.out.bam, - file(process.out.sample_gff[0][1]).readLines().findAll { it.contains("hsa-let-7a-2 miRBasev21 isomiR 3 25 0 + . Read TTGAGGTAGTAGGTTGTATAGTT; UID iso-23-Z0S31NSL0E; Name hsa-let-7a-5p;Parent hsa-let-7a-2; Variant iso_5p:-1; Cigar 23M;Expression 0; Filter Pass; Hits 1;") }, process.out.versions, ).match() }, // md5sum is not stable, order of elements in section "variant" may change - { assert file(process.out.mirtop_gff[0][1]).readLines().findAll { it.contains("iso-24-5URPV39QFB") }} + { assert file(process.out.gff[0][1]).readLines().findAll { it.contains("iso-24-5URPV39QFB") }} ) } diff --git a/modules/nf-core/mirtop/gff/tests/main.nf.test.snap b/modules/nf-core/mirtop/gff/tests/main.nf.test.snap index 8283d5ad2ab..a9e6f852e6f 100644 --- a/modules/nf-core/mirtop/gff/tests/main.nf.test.snap +++ b/modules/nf-core/mirtop/gff/tests/main.nf.test.snap @@ -3,14 +3,6 @@ "content": [ { "0": [ - [ - { - "id": "sample_sim_isomir_bam" - }, - "sim_isomir_sort.gff:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ [ { "id": "sample_sim_isomir_bam" @@ -18,10 +10,10 @@ "mirtop.gff:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "2": [ + "1": [ "versions.yml:md5,d16ade25d46f8d12e200e124205afefc" ], - "mirtop_gff": [ + "gff": [ [ { "id": "sample_sim_isomir_bam" @@ -29,14 +21,6 @@ "mirtop.gff:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "sample_gff": [ - [ - { - "id": "sample_sim_isomir_bam" - }, - "sim_isomir_sort.gff:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], "versions": [ "versions.yml:md5,d16ade25d46f8d12e200e124205afefc" ] @@ -46,14 +30,11 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-03T12:47:11.610449763" + "timestamp": "2024-09-12T22:40:30.542921953" }, "isomir - bam": { "content": [ null, - [ - "hsa-let-7a-2\tmiRBasev21\tisomiR\t3\t25\t0\t+\t.\tRead TTGAGGTAGTAGGTTGTATAGTT; UID iso-23-Z0S31NSL0E; Name hsa-let-7a-5p;Parent hsa-let-7a-2; Variant iso_5p:-1; Cigar 23M;Expression 0; Filter Pass; Hits 1;" - ], [ "versions.yml:md5,d16ade25d46f8d12e200e124205afefc" ] @@ -62,6 +43,6 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-06T21:42:47.26306174" + "timestamp": "2024-09-12T22:38:09.903017316" } } \ No newline at end of file diff --git a/modules/nf-core/mirtop/stats/meta.yml b/modules/nf-core/mirtop/stats/meta.yml index 7df0f7bca04..1bcd224832d 100644 --- a/modules/nf-core/mirtop/stats/meta.yml +++ b/modules/nf-core/mirtop/stats/meta.yml @@ -39,6 +39,10 @@ output: type: file description: TXT file with stats pattern: "*.{txt}" + - log: + type: file + description: log file with stats + pattern: "*.{log}" authors: - "@atrigila" diff --git a/modules/nf-core/mirtop/stats/tests/main.nf.test b/modules/nf-core/mirtop/stats/tests/main.nf.test index 0309885fa12..e9d16cdcc2b 100644 --- a/modules/nf-core/mirtop/stats/tests/main.nf.test +++ b/modules/nf-core/mirtop/stats/tests/main.nf.test @@ -8,31 +8,8 @@ nextflow_process { tag "modules" tag "modules_nfcore" tag "mirtop" - tag "mirtop/gff" tag "mirtop/stats" - setup { - run("MIRTOP_GFF") { - script "../../gff/main.nf" - process { - """ - input[0] = [ - [ id:'sample_sim_isomir_bam'], // meta map - file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/sim_isomir_sort.bam", checkIfExists: true), - ] - input[1] = [ - [ id:'hairpin'], // meta map - file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/hairpin_mirtop.fa", checkIfExists: true), - ] - input[2] = [ - [ id:'hsa' ], // meta map - file("https://github.com/nf-core/test-datasets/raw/modules/data/delete_me/mirtop/hsa.gff3", checkIfExists: true), - "hsa"] - """ - } - } - } - test("isomir - bam") { when { diff --git a/subworkflows/nf-core/bam_stats_mirna_mirtop/main.nf b/subworkflows/nf-core/bam_stats_mirna_mirtop/main.nf index 17c2695fa9b..ac9393f40d1 100644 --- a/subworkflows/nf-core/bam_stats_mirna_mirtop/main.nf +++ b/subworkflows/nf-core/bam_stats_mirna_mirtop/main.nf @@ -16,19 +16,20 @@ workflow BAM_STATS_MIRNA_MIRTOP { ch_versions = Channel.empty() MIRTOP_GFF ( ch_bam, ch_hairpin, ch_gtf_species ) - ch_versions = ch_versions.mix(MIRTOP_GFF.out.versions.first()) + ch_versions = ch_versions.mix(MIRTOP_GFF.out.versions) - MIRTOP_COUNTS ( MIRTOP_GFF.out.mirtop_gff, ch_hairpin, ch_gtf_species ) - ch_versions = ch_versions.mix(MIRTOP_COUNTS.out.versions.first()) + MIRTOP_COUNTS ( MIRTOP_GFF.out.gff, ch_hairpin, ch_gtf_species ) + ch_versions = ch_versions.mix(MIRTOP_COUNTS.out.versions) - MIRTOP_EXPORT ( MIRTOP_GFF.out.mirtop_gff, ch_hairpin, ch_gtf_species ) - ch_versions = ch_versions.mix(MIRTOP_EXPORT.out.versions.first()) + MIRTOP_EXPORT ( MIRTOP_GFF.out.gff, ch_hairpin, ch_gtf_species ) + ch_versions = ch_versions.mix(MIRTOP_EXPORT.out.versions) - MIRTOP_STATS ( MIRTOP_GFF.out.mirtop_gff ) - ch_versions = ch_versions.mix(MIRTOP_STATS.out.versions.first()) + MIRTOP_STATS ( MIRTOP_GFF.out.gff ) + ch_versions = ch_versions.mix(MIRTOP_STATS.out.versions) emit: - rawdata_tsv = MIRTOP_EXPORT.out.tsv // channel: [ val(meta), [ tsv ] ] + isomirs = MIRTOP_EXPORT.out.tsv // channel: [ val(meta), [ tsv ] ] + counts = MIRTOP_COUNTS.out.tsv // channel: [ val(meta), [ tsv ] ] stats_txt = MIRTOP_STATS.out.txt // channel: [ val(meta), [ txt ] ] stats_log = MIRTOP_STATS.out.log // channel: [ val(meta), [ log ] ] versions = ch_versions // channel: [ versions.yml ] diff --git a/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test b/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test index 064fd654756..604c747b082 100644 --- a/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test +++ b/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test @@ -39,10 +39,11 @@ nextflow_workflow { assertAll( { assert workflow.success}, { assert snapshot( - workflow.out.rawdata_tsv, + workflow.out.isomirs, workflow.out.stats_txt, workflow.out.stats_log, - workflow.out.versions).match() } + workflow.out.versions).match() }, + { assert path("${workflow.out.counts[0][1]}").exists() } ) } } diff --git a/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test.snap b/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test.snap index 02a07ab1b18..2a0e41a3439 100644 --- a/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_stats_mirna_mirtop/tests/main.nf.test.snap @@ -6,7 +6,7 @@ { "id": "sample_sim_isomir_bam" }, - "mirtop_rawData.tsv:md5,4a065e444c54b0e816352bf1640594dd" + "sample_sim_isomir_bam_mirtop_rawData.tsv:md5,4a065e444c54b0e816352bf1640594dd" ] ], [ @@ -36,6 +36,6 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-09-04T21:31:21.204039357" + "timestamp": "2024-09-12T23:13:48.308574263" } } \ No newline at end of file