diff --git a/subworkflows/nf-core/fasta_index_methylseq/main.nf b/subworkflows/nf-core/fasta_index_methylseq/main.nf index e0a7c5db44c8..4c74bc5555d8 100644 --- a/subworkflows/nf-core/fasta_index_methylseq/main.nf +++ b/subworkflows/nf-core/fasta_index_methylseq/main.nf @@ -1,4 +1,5 @@ -include { UNTAR } from '../../../modules/nf-core/untar/main' +include { UNTAR as UNTAR_BISMARK } from '../../../modules/nf-core/untar/main' +include { UNTAR as UNTAR_BWAMETH } from '../../../modules/nf-core/untar/main' include { GUNZIP } from '../../../modules/nf-core/gunzip/main' include { BISMARK_GENOMEPREPARATION as BISMARK_GENOMEPREPARATION_BOWTIE } from '../../../modules/nf-core/bismark/genomepreparation/main' include { BISMARK_GENOMEPREPARATION as BISMARK_GENOMEPREPARATION_HISAT } from '../../../modules/nf-core/bismark/genomepreparation/main' @@ -14,18 +15,18 @@ workflow FASTA_INDEX_METHYLSEQ { bismark_index // channel: [ val(meta), [ bismark index ] ] bwameth_index // channel: [ val(meta), [ bwameth index ] ] bwamem_index // channel: [ val(meta), [ bwamem index ] ] - aligner // string: bismark, bismark_hisat or bwameth + aligner // string: bismark, bismark_hisat, bwameth or bwamem collecthsmetrics // boolean: whether to run picard collecthsmetrics use_mem2 // boolean: generate mem2 index if no index provided, and bwameth is selected main: - ch_fasta = Channel.empty() - ch_fasta_index = Channel.empty() - ch_bismark_index = Channel.empty() - ch_bwameth_index = Channel.empty() - ch_bwamem_index = Channel.empty() - ch_versions = Channel.empty() + ch_fasta = channel.empty() + ch_fasta_index = channel.empty() + ch_bismark_index = channel.empty() + ch_bwameth_index = channel.empty() + ch_bwamem_index = channel.empty() + ch_versions = channel.empty() // Check if fasta file is gzipped and decompress if needed fasta @@ -56,17 +57,17 @@ workflow FASTA_INDEX_METHYLSEQ { } .set { ch_bismark_index_branched } - UNTAR ( + UNTAR_BISMARK ( ch_bismark_index_branched.gzipped ) - ch_bismark_index = ch_bismark_index_branched.unzipped.mix(UNTAR.out.untar) - ch_versions = ch_versions.mix(UNTAR.out.versions) + ch_bismark_index = ch_bismark_index_branched.unzipped.mix(UNTAR_BISMARK.out.untar) + ch_versions = ch_versions.mix(UNTAR_BISMARK.out.versions) } else { if( aligner == "bismark_hisat") { BISMARK_GENOMEPREPARATION_HISAT ( - ch_fasta + ch_fasta ) ch_bismark_index = BISMARK_GENOMEPREPARATION_HISAT.out.index ch_versions = ch_versions.mix(BISMARK_GENOMEPREPARATION_HISAT.out.versions) @@ -94,24 +95,17 @@ workflow FASTA_INDEX_METHYLSEQ { } .set { ch_bwameth_index_branched } - UNTAR ( + UNTAR_BWAMETH ( ch_bwameth_index_branched.gzipped ) - ch_bwameth_index = ch_bwameth_index_branched.unzipped.mix(UNTAR.out.untar) - ch_versions = ch_versions.mix(UNTAR.out.versions) + ch_bwameth_index = ch_bwameth_index_branched.unzipped.mix(UNTAR_BWAMETH.out.untar) + ch_versions = ch_versions.mix(UNTAR_BWAMETH.out.versions) } else { - if (use_mem2) { - BWAMETH_INDEX ( - ch_fasta, - true - ) - } else { - BWAMETH_INDEX ( - ch_fasta, - false - ) - } + BWAMETH_INDEX ( + ch_fasta, + use_mem2 + ) ch_bwameth_index = BWAMETH_INDEX.out.index ch_versions = ch_versions.mix(BWAMETH_INDEX.out.versions) } @@ -119,14 +113,27 @@ workflow FASTA_INDEX_METHYLSEQ { else if ( aligner == 'bwamem' ){ - log.info "BWA index not provided. Generating BWA index from FASTA file." /* * Generate BWA index from FASTA file */ if (bwamem_index) { - ch_bwamem_index = bwamem_index + // Handle channel-based bwamem index + bwamem_index + .branch { + gzipped: it[1].toString().endsWith('.gz') + unzipped: true + } + .set { ch_bwamem_index_branched } + + UNTAR_BISMARK ( + ch_bwamem_index_branched.gzipped + ) + + ch_bwamem_index = ch_bwamem_index_branched.unzipped.mix(UNTAR_BISMARK.out.untar) + ch_versions = ch_versions.mix(UNTAR_BISMARK.out.versions) } else { - BWA_INDEX( + log.info "BWA index not provided. Generating BWA index from FASTA file." + BWA_INDEX ( ch_fasta ) ch_bwamem_index = BWA_INDEX.out.index @@ -138,11 +145,12 @@ workflow FASTA_INDEX_METHYLSEQ { * Generate fasta index if not supplied for bwameth workflow or picard collecthsmetrics tool */ if (aligner == 'bwameth' || aligner == 'bwamem' || collecthsmetrics) { - // already exising fasta index + // already existing fasta index if (fasta_index) { ch_fasta_index = fasta_index } else { - SAMTOOLS_FAIDX( + log.info "Fasta index not provided. Generating fasta index from FASTA file." + SAMTOOLS_FAIDX ( ch_fasta, [[:], []], false @@ -157,6 +165,6 @@ workflow FASTA_INDEX_METHYLSEQ { fasta_index = ch_fasta_index // channel: [ val(meta), [ fasta index ] ] bismark_index = ch_bismark_index // channel: [ val(meta), [ bismark index ] ] bwameth_index = ch_bwameth_index // channel: [ val(meta), [ bwameth index ] ] - bwamem_index = ch_bwamem_index // channel: [ val(meta), [ bwamem index ] ] + bwamem_index = ch_bwamem_index // channel: [ val(meta), [ bwamem index ] ] versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fasta_index_methylseq/meta.yml b/subworkflows/nf-core/fasta_index_methylseq/meta.yml index cffb6cb3a39f..db17e814870c 100644 --- a/subworkflows/nf-core/fasta_index_methylseq/meta.yml +++ b/subworkflows/nf-core/fasta_index_methylseq/meta.yml @@ -45,7 +45,7 @@ input: - aligner: type: string description: | - Aligner name (bismark, bismark_hisat, or bwameth) + Aligner name (bismark, bismark_hisat, bwameth, or bwamem) - collecthsmetrics: type: boolean description: | diff --git a/subworkflows/nf-core/fasta_index_methylseq/tests/main.nf.test.snap b/subworkflows/nf-core/fasta_index_methylseq/tests/main.nf.test.snap index 96e487025fff..413870ba11ce 100644 --- a/subworkflows/nf-core/fasta_index_methylseq/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fasta_index_methylseq/tests/main.nf.test.snap @@ -90,15 +90,15 @@ ], [ "versions.yml:md5,1a7e59286a0e918ba2400750ddefd444", - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", + "versions.yml:md5,51df3ff0a3067a7a676cdc4e4d237a69", "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:54:41.408759009" + "timestamp": "2025-12-03T12:20:26.495603" }, "Params: bwameth | generate fasta index | download bwameth index | collecthsmetrics": { "content": [ @@ -142,15 +142,15 @@ ], [ "versions.yml:md5,1a7e59286a0e918ba2400750ddefd444", - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", + "versions.yml:md5,51df3ff0a3067a7a676cdc4e4d237a69", "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:55:10.001932564" + "timestamp": "2025-12-03T12:21:13.279634" }, "Params: bwameth | generate fasta index | generate bwameth mem2 index": { "content": [ @@ -253,15 +253,15 @@ ], [ - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", - "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" + "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97", + "versions.yml:md5,d3ed85f31ec769229e17780530e235ee" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:53:57.304989914" + "timestamp": "2025-12-03T12:19:16.006311" }, "Params: bwameth | generate fasta index | download bwameth mem2 index | collecthsmetrics": { "content": [ @@ -304,15 +304,15 @@ ], [ "versions.yml:md5,1a7e59286a0e918ba2400750ddefd444", - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", + "versions.yml:md5,51df3ff0a3067a7a676cdc4e4d237a69", "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:55:16.817726661" + "timestamp": "2025-12-03T12:21:24.368005" }, "Params: bwameth | generate fasta index | download bwameth mem2 index": { "content": [ @@ -355,15 +355,15 @@ ], [ "versions.yml:md5,1a7e59286a0e918ba2400750ddefd444", - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", + "versions.yml:md5,51df3ff0a3067a7a676cdc4e4d237a69", "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:54:48.244071885" + "timestamp": "2025-12-03T12:20:37.640088" }, "Params: bwameth | generate fasta index | generate bwameth index": { "content": [ @@ -470,15 +470,15 @@ ], [ - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", - "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" + "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97", + "versions.yml:md5,d3ed85f31ec769229e17780530e235ee" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:54:21.879254265" + "timestamp": "2025-12-03T12:19:53.905574" }, "Params: bismark_hisat | download bismark index (hisat2)": { "content": [ @@ -534,15 +534,15 @@ ], [ - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", - "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" + "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97", + "versions.yml:md5,d3ed85f31ec769229e17780530e235ee" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:54:15.523551748" + "timestamp": "2025-12-03T12:19:42.978899" }, "Params: bwameth | download fasta index | download bwameth index": { "content": [ @@ -585,15 +585,15 @@ ], [ - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", + "versions.yml:md5,51df3ff0a3067a7a676cdc4e4d237a69", "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:54:28.152242843" + "timestamp": "2025-12-03T12:20:04.798139" }, "Params: bwameth | download fasta index | download bwameth mem2 index": { "content": [ @@ -635,15 +635,15 @@ ], [ - "versions.yml:md5,80527e72159961c33cd9a6d4847e75e3", + "versions.yml:md5,51df3ff0a3067a7a676cdc4e4d237a69", "versions.yml:md5,8afe74b43d9155c93e27ae1b36a7ae97" ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-30T10:54:34.434835743" + "timestamp": "2025-12-03T12:20:15.282566" }, "Params: bwamem | generate fasta index | generate bwamem index": { "content": [ diff --git a/subworkflows/nf-core/fastq_align_dedup_bismark/main.nf b/subworkflows/nf-core/fastq_align_dedup_bismark/main.nf index 03f2ff5a81d6..c08686cb542f 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bismark/main.nf +++ b/subworkflows/nf-core/fastq_align_dedup_bismark/main.nf @@ -17,20 +17,20 @@ workflow FASTQ_ALIGN_DEDUP_BISMARK { cytosine_report // boolean: whether the run coverage2cytosine main: - ch_alignments = Channel.empty() - ch_alignment_reports = Channel.empty() - ch_methylation_bedgraph = Channel.empty() - ch_methylation_calls = Channel.empty() - ch_methylation_coverage = Channel.empty() - ch_methylation_report = Channel.empty() - ch_methylation_mbias = Channel.empty() - ch_coverage2cytosine_coverage = Channel.empty() - ch_coverage2cytosine_report = Channel.empty() - ch_coverage2cytosine_summary = Channel.empty() - ch_bismark_report = Channel.empty() - ch_bismark_summary = Channel.empty() - ch_multiqc_files = Channel.empty() - ch_versions = Channel.empty() + ch_alignments = channel.empty() + ch_alignment_reports = channel.empty() + ch_methylation_bedgraph = channel.empty() + ch_methylation_calls = channel.empty() + ch_methylation_coverage = channel.empty() + ch_methylation_report = channel.empty() + ch_methylation_mbias = channel.empty() + ch_coverage2cytosine_coverage = channel.empty() + ch_coverage2cytosine_report = channel.empty() + ch_coverage2cytosine_summary = channel.empty() + ch_bismark_report = channel.empty() + ch_bismark_summary = channel.empty() + ch_multiqc_files = channel.empty() + ch_versions = channel.empty() /* * Align with bismark @@ -116,11 +116,11 @@ workflow FASTQ_ALIGN_DEDUP_BISMARK { * Generate bismark summary report */ BISMARK_SUMMARY ( - BISMARK_ALIGN.out.bam.collect{ meta, bam -> bam.name }, - ch_alignment_reports.collect{ meta, align_report, dedup_report -> align_report }, - ch_alignment_reports.collect{ meta, align_report, dedup_report -> dedup_report }.ifEmpty([]), - ch_methylation_report.collect{ meta, report -> report }, - ch_methylation_mbias.collect{ meta, mbias -> mbias } + BISMARK_ALIGN.out.bam.collect{ _meta, bam -> bam.name }, + ch_alignment_reports.collect{ _meta, align_report, _dedup_report -> align_report }, + ch_alignment_reports.collect{ _meta, _align_report, dedup_report -> dedup_report }.ifEmpty([]), + ch_methylation_report.collect{ _meta, report -> report }, + ch_methylation_mbias.collect{ _meta, mbias -> mbias } ) ch_bismark_summary = BISMARK_SUMMARY.out.summary ch_versions = ch_versions.mix(BISMARK_SUMMARY.out.versions) @@ -129,11 +129,11 @@ workflow FASTQ_ALIGN_DEDUP_BISMARK { * Collect MultiQC inputs */ ch_multiqc_files = ch_bismark_summary - .mix(ch_alignment_reports.collect{ meta, align_report, dedup_report -> align_report }) - .mix(ch_alignment_reports.collect{ meta, align_report, dedup_report -> dedup_report }) - .mix(ch_methylation_report.collect{ meta, report -> report }) - .mix(ch_methylation_mbias.collect{ meta, mbias -> mbias }) - .mix(ch_bismark_report.collect{ meta, report -> report }) + .mix(ch_alignment_reports.collect{ _meta, align_report, _dedup_report -> align_report }) + .mix(ch_alignment_reports.collect{ _meta, _align_report, dedup_report -> dedup_report }) + .mix(ch_methylation_report.collect{ _meta, report -> report }) + .mix(ch_methylation_mbias.collect{ _meta, mbias -> mbias }) + .mix(ch_bismark_report.collect{ _meta, report -> report }) emit: bam = SAMTOOLS_SORT.out.bam // channel: [ val(meta), [ bam ] ] diff --git a/subworkflows/nf-core/fastq_align_dedup_bismark/meta.yml b/subworkflows/nf-core/fastq_align_dedup_bismark/meta.yml index 7622b98e892e..9c31668b6b32 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bismark/meta.yml +++ b/subworkflows/nf-core/fastq_align_dedup_bismark/meta.yml @@ -121,9 +121,9 @@ output: - multiqc: type: file description: | - Channel containing MultiQC report aggregating results across samples. - Structure: [ val(meta), path(multiqc_report.html) ] - pattern: "*.html" + Channel containing files for MultiQC input (reports, alignment reports, methylation reports). + Structure: [ path(files) ] + pattern: "*.{html,txt}" - versions: type: file description: | diff --git a/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test b/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test index 27bf692afdd7..41a18cd173f3 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test @@ -105,9 +105,11 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + [ id:'test', single_end:false ], + [ + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + ] ]) input[1] = Channel.of([ [:], @@ -154,9 +156,11 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + [ id:'test', single_end:false ], + [ + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + ] ]) input[1] = Channel.of([ [:], @@ -203,9 +207,11 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + [ id:'test', single_end:false ], + [ + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + ] ]) input[1] = Channel.of([ [:], @@ -302,9 +308,11 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + [ id:'test', single_end:false ], + [ + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + ] ]) input[1] = Channel.of([ [:], @@ -351,9 +359,11 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + [ id:'test', single_end:false ], + [ + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + ] ]) input[1] = Channel.of([ [:], @@ -400,9 +410,11 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), - file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + [ id:'test', single_end:false ], + [ + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), + file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) + ] ]) input[1] = Channel.of([ [:], diff --git a/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test.snap index 7210772d9c96..3067314eeae6 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_dedup_bismark/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "Params: bismark_hisat paired-end | default": { "content": [ [ - "4bf31467bec7b5d5669aa4ac16f6f93f" + "37b8bb55cd310598c52a7b1376c538b8" ], [ "test.sorted.bam.bai" @@ -20,24 +20,24 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.bedGraph.gz:md5,036f675959865a43f49899108d53b546" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.bedGraph.gz:md5,bbaf7200b30dd78f578df81c65aa3b12" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, [ - "CHG_OB_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,d01f69d7783908ae35cfb80dba5d7177", - "CHG_OT_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,ce1d1bdf2179a3280f8a2127e6ea6c7f", - "CHH_OB_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,7d094368fc3b95cdbb45e818b7c3119f", - "CHH_OT_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,3b90716df9726fac04f7ab52d0ff4de4", - "CpG_OB_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,6d6e0d34e79e36d205699a3f91316b21", - "CpG_OT_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,b1ba62c4e7fb33fe4e35d203a0814552" + "CHG_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,275586e525fa8026af3945b6fd372807", + "CHG_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,d15db39c712f65679cce464da6152f72", + "CHH_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,c860eff2055ebfa5ab51eaa74c844b1a", + "CHH_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,e216e668a80eb0af621ea28bf30649a4", + "CpG_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,ceed6d29a4364cf820ff8c5e583b207a", + "CpG_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,9c964be8061710e61f9bda2209f725ed" ] ] ], @@ -45,39 +45,39 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.bismark.cov.gz:md5,63511c46275713088957950285acd653" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.bismark.cov.gz:md5,1b7b806b845ac9881c655ea7ab29ef2a" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated_splitting_report.txt:md5,ba02f4b97aa69b1ee1a0df5b06e34472" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated_splitting_report.txt:md5,56456b46726a6c7123ce9b47be410f8e" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.M-bias.txt:md5,857b28589351f2c63f587a2c040db748" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.M-bias.txt:md5,1cdd6bb3f7d6ac41a60a5312245cfb0a" ] ], [ - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.html" + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.html" ], - "bismark_summary_report.txt:md5,9f62c10d005c39d3e5ee7961b6b0bf6b", + "bismark_summary_report.txt:md5,70e16c0041dfbf255b70d1eb60df5c54", [ - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.M-bias.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated_splitting_report.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplication_report.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.html", - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.html", + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.M-bias.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated_splitting_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplication_report.txt", "bismark_summary_report.html", "bismark_summary_report.txt" ], @@ -93,12 +93,12 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-26T16:09:19.968708" + "timestamp": "2025-12-03T12:54:08.096501" }, "Params: bismark paired-end | default": { "content": [ [ - "4bf31467bec7b5d5669aa4ac16f6f93f" + "b49754b06cf7a7fc8d31b973e5ee9cc3" ], [ "test.sorted.bam.bai" @@ -116,24 +116,24 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.bedGraph.gz:md5,036f675959865a43f49899108d53b546" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.bedGraph.gz:md5,7262545b878b2c685d83566d94ab7622" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, [ - "CHG_OB_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,d01f69d7783908ae35cfb80dba5d7177", - "CHG_OT_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,ce1d1bdf2179a3280f8a2127e6ea6c7f", - "CHH_OB_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,7d094368fc3b95cdbb45e818b7c3119f", - "CHH_OT_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,3b90716df9726fac04f7ab52d0ff4de4", - "CpG_OB_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,6d6e0d34e79e36d205699a3f91316b21", - "CpG_OT_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,b1ba62c4e7fb33fe4e35d203a0814552" + "CHG_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,a5315ec249edb9e90d04c8cd79574eb6", + "CHG_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,d15db39c712f65679cce464da6152f72", + "CHH_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,db9ef72b9f85ac7d0a0b70798b6b05a5", + "CHH_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,e216e668a80eb0af621ea28bf30649a4", + "CpG_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,eab3936aeadb93309dc853b911446969", + "CpG_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,9c964be8061710e61f9bda2209f725ed" ] ] ], @@ -141,39 +141,39 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.bismark.cov.gz:md5,63511c46275713088957950285acd653" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.bismark.cov.gz:md5,589bf81db14b3464a7fde598ef8bb3c3" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated_splitting_report.txt:md5,c9a24928450df13dfef288a1397342c7" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated_splitting_report.txt:md5,7b394bfb52ef33e6c342bee0c1e545ea" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.M-bias.txt:md5,857b28589351f2c63f587a2c040db748" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.M-bias.txt:md5,9cb860148c032fe23e520323b3aa6610" ] ], [ - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.html" + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.html" ], - "bismark_summary_report.txt:md5,855dfc95b1dbb0876aff2831380bba99", + "bismark_summary_report.txt:md5,21cfc15e5c27a6d749ce8c8bf1579476", [ - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.M-bias.txt", - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated_splitting_report.txt", - "Ecoli_10K_methylated_R1_bismark_bt2.deduplication_report.txt", - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.html", - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.html", + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.M-bias.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated_splitting_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplication_report.txt", "bismark_summary_report.html", "bismark_summary_report.txt" ], @@ -189,7 +189,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-26T16:06:07.253589" + "timestamp": "2025-12-03T12:51:46.486572" }, "Params: bismark single-end | default": { "content": [ @@ -290,7 +290,7 @@ "Params: bismark paired-end | cytosine_report": { "content": [ [ - "4bf31467bec7b5d5669aa4ac16f6f93f" + "b49754b06cf7a7fc8d31b973e5ee9cc3" ], [ "test.sorted.bam.bai" @@ -302,42 +302,42 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.CpG_report.txt.gz:md5,48cfcbd77d450c55fc64c8e6d939fa03" + "test.CpG_report.txt.gz:md5,42ac73af650ae9beaaa6b824421932e4" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.cytosine_context_summary.txt:md5,d9df9696701e5799a06a18af4e49d648" + "test.cytosine_context_summary.txt:md5,86fb169f88332e8e51606c575bf73ed6" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.bedGraph.gz:md5,036f675959865a43f49899108d53b546" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.bedGraph.gz:md5,7262545b878b2c685d83566d94ab7622" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, [ - "CHG_OB_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,d01f69d7783908ae35cfb80dba5d7177", - "CHG_OT_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,ce1d1bdf2179a3280f8a2127e6ea6c7f", - "CHH_OB_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,7d094368fc3b95cdbb45e818b7c3119f", - "CHH_OT_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,3b90716df9726fac04f7ab52d0ff4de4", - "CpG_OB_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,6d6e0d34e79e36d205699a3f91316b21", - "CpG_OT_Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.txt.gz:md5,b1ba62c4e7fb33fe4e35d203a0814552" + "CHG_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,a5315ec249edb9e90d04c8cd79574eb6", + "CHG_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,d15db39c712f65679cce464da6152f72", + "CHH_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,db9ef72b9f85ac7d0a0b70798b6b05a5", + "CHH_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,e216e668a80eb0af621ea28bf30649a4", + "CpG_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,eab3936aeadb93309dc853b911446969", + "CpG_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.txt.gz:md5,9c964be8061710e61f9bda2209f725ed" ] ] ], @@ -345,39 +345,39 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.bismark.cov.gz:md5,63511c46275713088957950285acd653" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.bismark.cov.gz:md5,589bf81db14b3464a7fde598ef8bb3c3" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated_splitting_report.txt:md5,c9a24928450df13dfef288a1397342c7" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated_splitting_report.txt:md5,7b394bfb52ef33e6c342bee0c1e545ea" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.M-bias.txt:md5,857b28589351f2c63f587a2c040db748" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.M-bias.txt:md5,9cb860148c032fe23e520323b3aa6610" ] ], [ - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.html" + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.html" ], - "bismark_summary_report.txt:md5,855dfc95b1dbb0876aff2831380bba99", + "bismark_summary_report.txt:md5,21cfc15e5c27a6d749ce8c8bf1579476", [ - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated.M-bias.txt", - "Ecoli_10K_methylated_R1_bismark_bt2.deduplicated_splitting_report.txt", - "Ecoli_10K_methylated_R1_bismark_bt2.deduplication_report.txt", - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.html", - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.html", + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.M-bias.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated_splitting_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplication_report.txt", "bismark_summary_report.html", "bismark_summary_report.txt" ], @@ -394,12 +394,12 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-26T16:07:41.229218" + "timestamp": "2025-12-03T12:52:56.128659" }, "Params: bismark_hisat paired-end | cytosine_report": { "content": [ [ - "4bf31467bec7b5d5669aa4ac16f6f93f" + "37b8bb55cd310598c52a7b1376c538b8" ], [ "test.sorted.bam.bai" @@ -411,42 +411,42 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.CpG_report.txt.gz:md5,48cfcbd77d450c55fc64c8e6d939fa03" + "test.CpG_report.txt.gz:md5,fe9669f16e5102b36af1aa23ae539c45" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.cytosine_context_summary.txt:md5,d9df9696701e5799a06a18af4e49d648" + "test.cytosine_context_summary.txt:md5,7fe29e3f72cb9f48ccca26dbc7457971" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.bedGraph.gz:md5,036f675959865a43f49899108d53b546" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.bedGraph.gz:md5,bbaf7200b30dd78f578df81c65aa3b12" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, [ - "CHG_OB_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,d01f69d7783908ae35cfb80dba5d7177", - "CHG_OT_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,ce1d1bdf2179a3280f8a2127e6ea6c7f", - "CHH_OB_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,7d094368fc3b95cdbb45e818b7c3119f", - "CHH_OT_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,3b90716df9726fac04f7ab52d0ff4de4", - "CpG_OB_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,6d6e0d34e79e36d205699a3f91316b21", - "CpG_OT_Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.txt.gz:md5,b1ba62c4e7fb33fe4e35d203a0814552" + "CHG_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,275586e525fa8026af3945b6fd372807", + "CHG_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,d15db39c712f65679cce464da6152f72", + "CHH_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,c860eff2055ebfa5ab51eaa74c844b1a", + "CHH_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,e216e668a80eb0af621ea28bf30649a4", + "CpG_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,ceed6d29a4364cf820ff8c5e583b207a", + "CpG_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.txt.gz:md5,9c964be8061710e61f9bda2209f725ed" ] ] ], @@ -454,39 +454,39 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.bismark.cov.gz:md5,63511c46275713088957950285acd653" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.bismark.cov.gz:md5,1b7b806b845ac9881c655ea7ab29ef2a" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated_splitting_report.txt:md5,ba02f4b97aa69b1ee1a0df5b06e34472" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated_splitting_report.txt:md5,56456b46726a6c7123ce9b47be410f8e" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.M-bias.txt:md5,857b28589351f2c63f587a2c040db748" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.M-bias.txt:md5,1cdd6bb3f7d6ac41a60a5312245cfb0a" ] ], [ - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.html" + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.html" ], - "bismark_summary_report.txt:md5,9f62c10d005c39d3e5ee7961b6b0bf6b", + "bismark_summary_report.txt:md5,70e16c0041dfbf255b70d1eb60df5c54", [ - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated.M-bias.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplicated_splitting_report.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2.deduplication_report.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.html", - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.html", + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated.M-bias.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplicated_splitting_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.deduplication_report.txt", "bismark_summary_report.html", "bismark_summary_report.txt" ], @@ -503,12 +503,12 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-26T16:10:56.996045" + "timestamp": "2025-12-03T12:55:18.043595" }, "Params: bismark_hisat paired-end | skip_deduplication": { "content": [ [ - "4bf31467bec7b5d5669aa4ac16f6f93f" + "37b8bb55cd310598c52a7b1376c538b8" ], [ "test.sorted.bam.bai" @@ -526,24 +526,24 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.bedGraph.gz:md5,036f675959865a43f49899108d53b546" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.bedGraph.gz:md5,bbaf7200b30dd78f578df81c65aa3b12" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, [ - "CHG_OB_Ecoli_10K_methylated_R1_bismark_hisat2.txt.gz:md5,d01f69d7783908ae35cfb80dba5d7177", - "CHG_OT_Ecoli_10K_methylated_R1_bismark_hisat2.txt.gz:md5,ce1d1bdf2179a3280f8a2127e6ea6c7f", - "CHH_OB_Ecoli_10K_methylated_R1_bismark_hisat2.txt.gz:md5,7d094368fc3b95cdbb45e818b7c3119f", - "CHH_OT_Ecoli_10K_methylated_R1_bismark_hisat2.txt.gz:md5,3b90716df9726fac04f7ab52d0ff4de4", - "CpG_OB_Ecoli_10K_methylated_R1_bismark_hisat2.txt.gz:md5,6d6e0d34e79e36d205699a3f91316b21", - "CpG_OT_Ecoli_10K_methylated_R1_bismark_hisat2.txt.gz:md5,b1ba62c4e7fb33fe4e35d203a0814552" + "CHG_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.txt.gz:md5,275586e525fa8026af3945b6fd372807", + "CHG_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.txt.gz:md5,d15db39c712f65679cce464da6152f72", + "CHH_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.txt.gz:md5,c860eff2055ebfa5ab51eaa74c844b1a", + "CHH_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.txt.gz:md5,e216e668a80eb0af621ea28bf30649a4", + "CpG_OB_Ecoli_10K_methylated_R1_bismark_hisat2_pe.txt.gz:md5,ceed6d29a4364cf820ff8c5e583b207a", + "CpG_OT_Ecoli_10K_methylated_R1_bismark_hisat2_pe.txt.gz:md5,9c964be8061710e61f9bda2209f725ed" ] ] ], @@ -551,38 +551,38 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.bismark.cov.gz:md5,63511c46275713088957950285acd653" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.bismark.cov.gz:md5,1b7b806b845ac9881c655ea7ab29ef2a" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2_splitting_report.txt:md5,c31404f4bfc6066ae9ab182a144bc0ee" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe_splitting_report.txt:md5,0b10b254a734cb9e6d995f551c43f3b8" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_hisat2.M-bias.txt:md5,857b28589351f2c63f587a2c040db748" + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.M-bias.txt:md5,1cdd6bb3f7d6ac41a60a5312245cfb0a" ] ], [ - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.html" + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.html" ], - "bismark_summary_report.txt:md5,dd73bb37e3116c25480990bd37f3f99f", + "bismark_summary_report.txt:md5,71a32316dad67c92c874c9e95d6abcaf", [ - "Ecoli_10K_methylated_R1_bismark_hisat2.M-bias.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.html", - "Ecoli_10K_methylated_R1_bismark_hisat2_SE_report.txt", - "Ecoli_10K_methylated_R1_bismark_hisat2_splitting_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.html", + "Ecoli_10K_methylated_R1_bismark_hisat2_PE_report.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe.M-bias.txt", + "Ecoli_10K_methylated_R1_bismark_hisat2_pe_splitting_report.txt", "bismark_summary_report.html", "bismark_summary_report.txt" ], @@ -597,12 +597,12 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-26T16:03:49.322364" + "timestamp": "2025-12-03T12:54:41.001127" }, "Params: bismark paired-end | skip_deduplication": { "content": [ [ - "4bf31467bec7b5d5669aa4ac16f6f93f" + "b49754b06cf7a7fc8d31b973e5ee9cc3" ], [ "test.sorted.bam.bai" @@ -620,24 +620,24 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.bedGraph.gz:md5,036f675959865a43f49899108d53b546" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.bedGraph.gz:md5,7262545b878b2c685d83566d94ab7622" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, [ - "CHG_OB_Ecoli_10K_methylated_R1_bismark_bt2.txt.gz:md5,d01f69d7783908ae35cfb80dba5d7177", - "CHG_OT_Ecoli_10K_methylated_R1_bismark_bt2.txt.gz:md5,ce1d1bdf2179a3280f8a2127e6ea6c7f", - "CHH_OB_Ecoli_10K_methylated_R1_bismark_bt2.txt.gz:md5,7d094368fc3b95cdbb45e818b7c3119f", - "CHH_OT_Ecoli_10K_methylated_R1_bismark_bt2.txt.gz:md5,3b90716df9726fac04f7ab52d0ff4de4", - "CpG_OB_Ecoli_10K_methylated_R1_bismark_bt2.txt.gz:md5,6d6e0d34e79e36d205699a3f91316b21", - "CpG_OT_Ecoli_10K_methylated_R1_bismark_bt2.txt.gz:md5,b1ba62c4e7fb33fe4e35d203a0814552" + "CHG_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.txt.gz:md5,a5315ec249edb9e90d04c8cd79574eb6", + "CHG_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.txt.gz:md5,d15db39c712f65679cce464da6152f72", + "CHH_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.txt.gz:md5,db9ef72b9f85ac7d0a0b70798b6b05a5", + "CHH_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.txt.gz:md5,e216e668a80eb0af621ea28bf30649a4", + "CpG_OB_Ecoli_10K_methylated_R1_bismark_bt2_pe.txt.gz:md5,eab3936aeadb93309dc853b911446969", + "CpG_OT_Ecoli_10K_methylated_R1_bismark_bt2_pe.txt.gz:md5,9c964be8061710e61f9bda2209f725ed" ] ] ], @@ -645,38 +645,38 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.bismark.cov.gz:md5,63511c46275713088957950285acd653" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.bismark.cov.gz:md5,589bf81db14b3464a7fde598ef8bb3c3" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2_splitting_report.txt:md5,7e8d03d9dce62c62a9fe1703e22022e9" + "Ecoli_10K_methylated_R1_bismark_bt2_pe_splitting_report.txt:md5,d827deca8065fce65c814bf09a15ba92" ] ], [ [ { "id": "test", - "single_end": true + "single_end": false }, - "Ecoli_10K_methylated_R1_bismark_bt2.M-bias.txt:md5,857b28589351f2c63f587a2c040db748" + "Ecoli_10K_methylated_R1_bismark_bt2_pe.M-bias.txt:md5,9cb860148c032fe23e520323b3aa6610" ] ], [ - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.html" + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.html" ], - "bismark_summary_report.txt:md5,9f639cca6fe43c0461d2da88d931a036", + "bismark_summary_report.txt:md5,87d0db5195a75381dec2f2809daa0b45", [ - "Ecoli_10K_methylated_R1_bismark_bt2.M-bias.txt", - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.html", - "Ecoli_10K_methylated_R1_bismark_bt2_SE_report.txt", - "Ecoli_10K_methylated_R1_bismark_bt2_splitting_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.html", + "Ecoli_10K_methylated_R1_bismark_bt2_PE_report.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe.M-bias.txt", + "Ecoli_10K_methylated_R1_bismark_bt2_pe_splitting_report.txt", "bismark_summary_report.html", "bismark_summary_report.txt" ], @@ -691,7 +691,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-26T16:06:51.373216" + "timestamp": "2025-12-03T12:52:19.185514" }, "Params: bismark_hisat single-end | default": { "content": [ diff --git a/subworkflows/nf-core/fastq_align_dedup_bwamem/main.nf b/subworkflows/nf-core/fastq_align_dedup_bwamem/main.nf index ef736c841057..026bbf6f7a6a 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwamem/main.nf +++ b/subworkflows/nf-core/fastq_align_dedup_bwamem/main.nf @@ -1,7 +1,7 @@ -include { FASTQ_ALIGN_BWA } from '../fastq_align_bwa/main' -include { PICARD_ADDORREPLACEREADGROUPS } from '../../../modules/nf-core/picard/addorreplacereadgroups/main' -include { PICARD_MARKDUPLICATES } from '../../../modules/nf-core/picard/markduplicates/main' -include { SAMTOOLS_INDEX } from '../../../modules/nf-core/samtools/index/main' +include { FASTQ_ALIGN_BWA } from '../fastq_align_bwa/main' +include { PICARD_ADDORREPLACEREADGROUPS } from '../../../modules/nf-core/picard/addorreplacereadgroups/main' +include { PICARD_MARKDUPLICATES } from '../../../modules/nf-core/picard/markduplicates/main' +include { SAMTOOLS_INDEX } from '../../../modules/nf-core/samtools/index/main' workflow FASTQ_ALIGN_DEDUP_BWAMEM { @@ -9,19 +9,18 @@ workflow FASTQ_ALIGN_DEDUP_BWAMEM { ch_reads // channel: [ val(meta), [ reads ] ] ch_fasta // channel: [ val(meta), [ fasta ] ] ch_fasta_index // channel: [ val(meta), [ fasta index ] ] - ch_bwamem_index // channel: [ val(meta), [ bwam index ] ] + ch_bwamem_index // channel: [ val(meta), [ bwamem index ] ] skip_deduplication // boolean: whether to deduplicate alignments - use_gpu // boolean: whether to use GPU or CPU for bwamem alignment main: - - ch_alignment = Channel.empty() - ch_alignment_index = Channel.empty() - ch_flagstat = Channel.empty() - ch_stats = Channel.empty() - ch_picard_metrics = Channel.empty() - ch_multiqc_files = Channel.empty() - ch_versions = Channel.empty() + ch_alignment = channel.empty() + ch_alignment_index = channel.empty() + ch_flagstat = channel.empty() + ch_stats = channel.empty() + ch_idxstats = channel.empty() + ch_picard_metrics = channel.empty() + ch_multiqc_files = channel.empty() + ch_versions = channel.empty() FASTQ_ALIGN_BWA ( ch_reads, @@ -29,11 +28,11 @@ workflow FASTQ_ALIGN_DEDUP_BWAMEM { true, // val_sort_bam hardcoded to true ch_fasta ) - ch_alignment = ch_alignment.mix(FASTQ_ALIGN_BWA.out.bam) - ch_alignment_index = ch_alignment.mix(FASTQ_ALIGN_BWA.out.bai) - ch_stats = ch_alignment.mix(FASTQ_ALIGN_BWA.out.stats) // channel: [ val(meta), path(stats) ] - ch_flagstat = ch_alignment.mix(FASTQ_ALIGN_BWA.out.flagstat) // channel: [ val(meta), path(flagstat) ] - ch_idxstats = ch_alignment.mix(FASTQ_ALIGN_BWA.out.idxstats) // channel: [ val(meta), path(idxstats) ] + ch_alignment = FASTQ_ALIGN_BWA.out.bam // channel: [ val(meta), [ bam ] ] + ch_alignment_index = FASTQ_ALIGN_BWA.out.bai // channel: [ val(meta), [ bai ] ] + ch_stats = FASTQ_ALIGN_BWA.out.stats // channel: [ val(meta), path(stats) ] + ch_flagstat = FASTQ_ALIGN_BWA.out.flagstat // channel: [ val(meta), path(flagstat) ] + ch_idxstats = FASTQ_ALIGN_BWA.out.idxstats // channel: [ val(meta), path(idxstats) ] ch_versions = ch_versions.mix(FASTQ_ALIGN_BWA.out.versions.first()) if (!skip_deduplication) { @@ -48,9 +47,8 @@ workflow FASTQ_ALIGN_DEDUP_BWAMEM { ch_versions = ch_versions.mix(PICARD_ADDORREPLACEREADGROUPS.out.versions.first()) /* - * Run Picard MarkDuplicates with the --REMOVE_DUPLICATES true flag + * Run Picard MarkDuplicates to mark duplicates */ - PICARD_MARKDUPLICATES ( PICARD_ADDORREPLACEREADGROUPS.out.bam, ch_fasta, @@ -73,18 +71,18 @@ workflow FASTQ_ALIGN_DEDUP_BWAMEM { /* * Collect MultiQC inputs */ - ch_multiqc_files = ch_picard_metrics.collect{ meta, metrics -> metrics } - .mix(ch_flagstat.collect{ meta, flagstat -> flagstat }) - .mix(ch_stats.collect{ meta, stats -> stats }) - .mix(ch_idxstats.collect{ meta, stats -> stats }) + ch_multiqc_files = ch_picard_metrics.collect{ _meta, metrics -> metrics } + .mix(ch_flagstat.collect{ _meta, flagstat -> flagstat }) + .mix(ch_stats.collect{ _meta, stats -> stats }) + .mix(ch_idxstats.collect{ _meta, stats -> stats }) emit: - bam = ch_alignment // channel: [ val(meta), [ bam ] ] - bai = ch_alignment_index // channel: [ val(meta), [ bai ] ] - samtools_flagstat = ch_flagstat // channel: [ val(meta), [ flagstat ] ] - samtools_stats = ch_stats // channel: [ val(meta), [ stats ] ] - samtools_index_stats = ch_idxstats // channel: [ val(meta), [ idxstats ] ] - picard_metrics = ch_picard_metrics // channel: [ val(meta), [ metrics ] ] - multiqc = ch_multiqc_files // channel: [ *{html,txt} ] - versions = ch_versions // channel: [ versions.yml ] + bam = ch_alignment // channel: [ val(meta), [ bam ] ] + bai = ch_alignment_index // channel: [ val(meta), [ bai ] ] + samtools_flagstat = ch_flagstat // channel: [ val(meta), [ flagstat ] ] + samtools_stats = ch_stats // channel: [ val(meta), [ stats ] ] + samtools_idxstats = ch_idxstats // channel: [ val(meta), [ idxstats ] ] + picard_metrics = ch_picard_metrics // channel: [ val(meta), [ metrics ] ] + multiqc = ch_multiqc_files // channel: [ *{html,txt} ] + versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fastq_align_dedup_bwamem/meta.yml b/subworkflows/nf-core/fastq_align_dedup_bwamem/meta.yml index a518a058aa38..fd6670e2af03 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwamem/meta.yml +++ b/subworkflows/nf-core/fastq_align_dedup_bwamem/meta.yml @@ -81,9 +81,9 @@ output: - multiqc: type: file description: | - Channel containing MultiQC report aggregating results across samples. - Structure: [ val(meta), path(multiqc_report.html) ] - pattern: "*.html" + Channel containing files for MultiQC input (metrics, stats, flagstat, idxstats). + Structure: [ path(file) ] + pattern: "*{.txt,.stats,.flagstat,.idxstats}" - versions: type: file description: | diff --git a/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test b/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test index 5b5354f7dc89..56c996c5c586 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test @@ -57,7 +57,6 @@ nextflow_workflow { ]) input[3] = BWA_INDEX.out.index input[4] = false // skip_deduplication - input[5] = false // use_gpu """ } } @@ -70,7 +69,7 @@ nextflow_workflow { workflow.out.bai.collect { meta, bai -> file(bai).name }, workflow.out.samtools_flagstat, workflow.out.samtools_stats, - workflow.out.samtools_index_stats, + workflow.out.samtools_idxstats, workflow.out.picard_metrics.collect { meta, metrics -> file(metrics).name }, workflow.out.multiqc.flatten().collect { path -> file(path).name }, workflow.out.versions @@ -86,7 +85,7 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], + [ id:'test', single_end:false ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]) @@ -100,7 +99,6 @@ nextflow_workflow { ]) input[3] = BWA_INDEX.out.index input[4] = false // skip_deduplication - input[5] = false // use_gpu """ } } @@ -113,7 +111,7 @@ nextflow_workflow { workflow.out.bai.collect { meta, bai -> file(bai).name }, workflow.out.samtools_flagstat, workflow.out.samtools_stats, - workflow.out.samtools_index_stats, + workflow.out.samtools_idxstats, workflow.out.picard_metrics.collect { meta, metrics -> file(metrics).name }, workflow.out.multiqc.flatten().collect { path -> file(path).name }, workflow.out.versions @@ -129,7 +127,7 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], + [ id:'test', single_end:false ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]) @@ -143,7 +141,6 @@ nextflow_workflow { ]) input[3] = BWA_INDEX.out.index input[4] = true // skip_deduplication - input[5] = false // use_gpu """ } } @@ -156,7 +153,7 @@ nextflow_workflow { workflow.out.bai.collect { meta, bai -> file(bai).name }, workflow.out.samtools_flagstat, workflow.out.samtools_stats, - workflow.out.samtools_index_stats, + workflow.out.samtools_idxstats, workflow.out.picard_metrics.collect { meta, metrics -> file(metrics).name }, workflow.out.multiqc.flatten().collect { path -> file(path).name }, workflow.out.versions @@ -185,7 +182,6 @@ nextflow_workflow { ]) input[3] = BWA_INDEX.out.index input[4] = false // skip_deduplication - input[5] = false // use_gpu """ } } diff --git a/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test.snap index 214e37f4d4d3..5ee3a0738c38 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/main.nf.test.snap @@ -14,23 +14,9 @@ "single_end": true }, "test.flagstat:md5,2191911d72575a2358b08b1df64ccb53" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" ] ], [ - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" - ], [ { "id": "test", @@ -46,13 +32,6 @@ "single_end": true }, "test.idxstats:md5,613e048487662c694aa4a2f73ca96a20" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" ] ], [ @@ -60,11 +39,8 @@ ], [ "test.deduped.sorted.MarkDuplicates.metrics.txt", - "test.sorted.bam", "test.flagstat", - "test.sorted.bam", "test.idxstats", - "test.sorted.bam", "test.stats" ], [ @@ -75,10 +51,10 @@ ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-10-24T15:06:49.6951852" + "timestamp": "2025-12-03T12:27:38.204299" }, "Params: bwamem paired-end - skip_deduplication": { "content": [ @@ -86,37 +62,22 @@ "94fcf617f5b994584c4e8d4044e16b4f" ], [ - "test.sorted.bam", "test.sorted.bam.bai" ], [ [ { "id": "test", - "single_end": true + "single_end": false }, "test.flagstat:md5,2191911d72575a2358b08b1df64ccb53" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" ] ], [ [ { "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" - ], - [ - { - "id": "test", - "single_end": true + "single_end": false }, "test.stats:md5,0883b19c92a783883b3e11d5bfcc5d6a" ] @@ -125,27 +86,17 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.idxstats:md5,613e048487662c694aa4a2f73ca96a20" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" ] ], [ ], [ - "test.sorted.bam", "test.flagstat", - "test.sorted.bam", "test.idxstats", - "test.sorted.bam", "test.stats" ], [ @@ -153,10 +104,10 @@ ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-10-24T15:07:14.224268922" + "timestamp": "2025-12-03T12:28:09.085652" }, "Params: bwamem single-end - default - stub": { "content": [ @@ -186,23 +137,9 @@ "single_end": true }, "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "3": [ - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ], [ { "id": "test", @@ -218,13 +155,6 @@ "single_end": true }, "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "5": [ @@ -241,15 +171,12 @@ "test.deduped.sorted.MarkDuplicates.metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], [ - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e", "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" ], [ - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e", "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" ], [ - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e", "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], @@ -282,15 +209,12 @@ "test.deduped.sorted.MarkDuplicates.metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], [ - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e", "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" ], [ - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e", "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" ], [ - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e", "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], @@ -310,39 +234,18 @@ "single_end": true }, "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "samtools_index_stats": [ + "samtools_idxstats": [ [ { "id": "test", "single_end": true }, "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "samtools_stats": [ - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ], [ { "id": "test", @@ -383,10 +286,10 @@ ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-10-24T15:07:27.497220186" + "timestamp": "2025-12-03T12:28:25.358403" }, "Params: bwamem paired-end - default": { "content": [ @@ -400,30 +303,16 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.flagstat:md5,2191911d72575a2358b08b1df64ccb53" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" ] ], [ [ { "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" - ], - [ - { - "id": "test", - "single_end": true + "single_end": false }, "test.stats:md5,0883b19c92a783883b3e11d5bfcc5d6a" ] @@ -432,16 +321,9 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.idxstats:md5,613e048487662c694aa4a2f73ca96a20" - ], - [ - { - "id": "test", - "single_end": true - }, - "test.sorted.bam:md5,969d4fb42ba23bba181aecc1ae89ab4b" ] ], [ @@ -449,11 +331,8 @@ ], [ "test.deduped.sorted.MarkDuplicates.metrics.txt", - "test.sorted.bam", "test.flagstat", - "test.sorted.bam", "test.idxstats", - "test.sorted.bam", "test.stats" ], [ @@ -464,9 +343,9 @@ ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-10-24T15:07:05.175157122" + "timestamp": "2025-12-03T12:27:56.314782" } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_dedup_bwameth/main.nf b/subworkflows/nf-core/fastq_align_dedup_bwameth/main.nf index 1e9c916bcdcc..2ea49653372c 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwameth/main.nf +++ b/subworkflows/nf-core/fastq_align_dedup_bwameth/main.nf @@ -18,14 +18,13 @@ workflow FASTQ_ALIGN_DEDUP_BWAMETH { use_gpu // boolean: whether to use GPU or CPU for bwameth alignment main: - - ch_alignment = Channel.empty() - ch_alignment_index = Channel.empty() - ch_samtools_flagstat = Channel.empty() - ch_samtools_stats = Channel.empty() - ch_picard_metrics = Channel.empty() - ch_multiqc_files = Channel.empty() - ch_versions = Channel.empty() + ch_alignment = channel.empty() + ch_alignment_index = channel.empty() + ch_samtools_flagstat = channel.empty() + ch_samtools_stats = channel.empty() + ch_picard_metrics = channel.empty() + ch_multiqc_files = channel.empty() + ch_versions = channel.empty() /* * Align with bwameth @@ -117,17 +116,17 @@ workflow FASTQ_ALIGN_DEDUP_BWAMETH { /* * Collect MultiQC inputs */ - ch_multiqc_files = ch_picard_metrics.collect{ meta, metrics -> metrics } - .mix(ch_samtools_flagstat.collect{ meta, flagstat -> flagstat }) - .mix(ch_samtools_stats.collect{ meta, stats -> stats }) + ch_multiqc_files = ch_picard_metrics.collect{ _meta, metrics -> metrics } + .mix(ch_samtools_flagstat.collect{ _meta, flagstat -> flagstat }) + .mix(ch_samtools_stats.collect{ _meta, stats -> stats }) emit: - bam = ch_alignment // channel: [ val(meta), [ bam ] ] - bai = ch_alignment_index // channel: [ val(meta), [ bai ] ] - samtools_flagstat = ch_samtools_flagstat // channel: [ val(meta), [ flagstat ] ] - samtools_stats = ch_samtools_stats // channel: [ val(meta), [ stats ] ] - picard_metrics = ch_picard_metrics // channel: [ val(meta), [ metrics ] ] - multiqc = ch_multiqc_files // channel: [ *{html,txt} ] - versions = ch_versions // channel: [ versions.yml ] + bam = ch_alignment // channel: [ val(meta), [ bam ] ] + bai = ch_alignment_index // channel: [ val(meta), [ bai ] ] + samtools_flagstat = ch_samtools_flagstat // channel: [ val(meta), [ flagstat ] ] + samtools_stats = ch_samtools_stats // channel: [ val(meta), [ stats ] ] + picard_metrics = ch_picard_metrics // channel: [ val(meta), [ metrics ] ] + multiqc = ch_multiqc_files // channel: [ *{html,txt} ] + versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fastq_align_dedup_bwameth/meta.yml b/subworkflows/nf-core/fastq_align_dedup_bwameth/meta.yml index c85f88d3521c..338332e5a5d8 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwameth/meta.yml +++ b/subworkflows/nf-core/fastq_align_dedup_bwameth/meta.yml @@ -84,9 +84,9 @@ output: - multiqc: type: file description: | - Channel containing MultiQC report aggregating results across samples. - Structure: [ val(meta), path(multiqc_report.html) ] - pattern: "*.html" + Channel containing files for MultiQC input (metrics, stats, flagstat). + Structure: [ path(files) ] + pattern: "*.{txt,stats,flagstat}" - versions: type: file description: | diff --git a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test index 321d900f5461..e64c44740e48 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test @@ -80,7 +80,7 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], + [ id:'test', single_end:false ], file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) ]) @@ -122,7 +122,7 @@ nextflow_workflow { workflow { """ input[0] = Channel.of([ - [ id:'test', single_end:true ], + [ id:'test', single_end:false ], file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz', checkIfExists: true), file('https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz', checkIfExists: true) ]) diff --git a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap index 61d72a8439fa..885df4ab2064 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap @@ -59,7 +59,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.flagstat:md5,4ff87d121ca174953734723938c99081" ] @@ -68,7 +68,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.stats:md5,8052e9c021ba6ebf5b7aed5538f7008f" ] @@ -90,7 +90,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-01T03:10:41.87614" + "timestamp": "2025-12-03T12:40:33.660146" }, "Params: bwameth paired-end | default": { "content": [ @@ -104,7 +104,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.flagstat:md5,4ff87d121ca174953734723938c99081" ] @@ -113,7 +113,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.stats:md5,8052e9c021ba6ebf5b7aed5538f7008f" ] @@ -138,6 +138,6 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-11-01T03:10:25.929797" + "timestamp": "2025-12-03T12:40:19.798072" } } \ No newline at end of file