From 1bc90484eab3d0d933dba926bbd5d1b9cf076caa Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Thu, 13 Aug 2026 11:59:50 +0200 Subject: [PATCH 1/7] fix: wire NanoPlot pre/post stats into MultiQC ch_nanoplot_pre_txt and ch_nanoplot_post_txt were declared as empty channels and mixed into ch_multiqc_files, but never assigned from NANOPLOT_PRE.out.txt / NANOPLOT_POST.out.txt. The .ifEmpty([]) on the mix swallowed the empty channels, so the pipeline succeeded while the NanoStat section was silently absent from every MultiQC report. Assign both channels inside the existing `if (!params.skip_nanoplot)` blocks, matching the idiom already used for the samtools, mosdepth and whatshap QC channels. Also add the replicate to NANOPLOT_PRE's output prefix. NANOPLOT_PRE runs once per replicate, so without it every replicate of a sample produced an identically named NanoStats.txt and MultiQC kept only one of them -- its publishDir already separated replicates, only the filename did not. Verified against MultiQC 1.34 with real NanoStats.txt files from both the cramino --arrow ubam and aligned paths: the nanostat module parses them and reports sample1_tumor_aln, sample1_tumor_rep1_ubam and sample1_tumor_rep2_ubam as three distinct samples. Fixes #180 Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 7 +++++++ CITATIONS.md | 4 ++++ conf/modules.config | 5 ++++- docs/output.md | 38 ++++++++++++++++++++------------------ workflows/lrsomatic.nf | 8 ++++++-- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6e62e36..ed21ddfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### `Fixed` + +- [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - NanoPlot pre- and post-alignment statistics now reach MultiQC. `ch_nanoplot_pre_txt` and `ch_nanoplot_post_txt` were declared empty and mixed into the MultiQC inputs, but never assigned from `NANOPLOT_PRE.out.txt` / `NANOPLOT_POST.out.txt`, so the NanoStat section was silently missing from every report (@ljwharbers). +- [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - `NANOPLOT_PRE` now includes the replicate in its output prefix, so samples with more than one replicate no longer collapse into a single MultiQC sample (@ljwharbers). + ## v1.1.0 - [2026-04-28] ### `Added` diff --git a/CITATIONS.md b/CITATIONS.md index e13600d0..951e0a68 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -66,6 +66,10 @@ > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. +- [NanoPlot](https://pubmed.ncbi.nlm.nih.gov/37171891/) + + > De Coster W, Rademakers R. NanoPack2: population-scale evaluation of long-read sequencing data. Bioinformatics. 2023 May 4;39(5):btad311. doi: 10.1093/bioinformatics/btad311. PubMed PMID: 37171891; PubMed Central PMCID: PMC10196664. + - [SAMtools](https://pubmed.ncbi.nlm.nih.gov/19505943/) > Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, Abecasis G, Durbin R; 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics. 2009 Aug 15;25(16):2078-9. doi: 10.1093/bioinformatics/btp352. Epub 2009 Jun 8. PubMed PMID: 19505943; PubMed Central PMCID: PMC2723002. diff --git a/conf/modules.config b/conf/modules.config index 9f7d3c34..f6d70903 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -61,7 +61,10 @@ process { } withName: '.*:NANOPLOT_PRE' { - ext.prefix = { "${meta.id}_${meta.type}_ubam" } + // NANOPLOT_PRE runs once per replicate, so the replicate has to be part of the + // prefix -- otherwise every replicate produces an identically named NanoStats.txt + // and MultiQC keeps only one of them. + ext.prefix = { "${meta.id}_${meta.type}_rep${meta.replicate}_ubam" } publishDir = [ path: { "${params.outdir}/${meta.id}/qc/${meta.type}/nanoplot_ubam_rep${meta.replicate}" }, mode: params.publish_dir_mode, diff --git a/docs/output.md b/docs/output.md index 61d82b28..bd810916 100644 --- a/docs/output.md +++ b/docs/output.md @@ -182,8 +182,8 @@ QC outputs are placed under `tumor/` for all samples, and additionally under `no │ │ │ ├── sample_tumor_aln_NanoStats.txt │ │ │ ├── sample_tumor_aln_NanoPlot-report.html │ │ ├── nanoplot_ubam_rep1 -│ │ │ ├── sample_tumor_ubam_NanoStats.txt -│ │ │ ├── sample_tumor_ubam_NanoPlot-report.html +│ │ │ ├── sample_tumor_rep1_ubam_NanoStats.txt +│ │ │ ├── sample_tumor_rep1_ubam_NanoPlot-report.html │ │ ├── samtools │ │ │ ├── sample.flagstat │ │ │ ├── sample.idxstats @@ -195,22 +195,22 @@ QC outputs are placed under `tumor/` for all samples, and additionally under `no │ │ ├── sample.blocklist.tsv ``` -| File | Description | -| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `cramino_aln/sample_{type}_cramino.txt` | cramino QC summary statistics for the aligned bam file | -| `cramino_ubam_rep1/sample_{type}_cramino.txt` | cramino QC summary statistics for the unaligned bam files | -| `fibertoolsrs/sample_qc.txt` | fibertools QC summary for the bam file | -| `mosdepth/sample.mosdepth.global.dist.txt` | a cumulative distribution indicating the proportion of total bases that were covered for at least a given coverage value | -| `mosdepth/sample.mosdepth.summary.txt` | overall summary file from mosdepth tool | -| `nanoplot_aln/sample_{type}_aln_NanoStats.txt` | NanoPlot summary statistics for the aligned BAM file | -| `nanoplot_aln/sample_{type}_aln_NanoPlot-report.html` | NanoPlot interactive HTML report for the aligned BAM file | -| `nanoplot_ubam_rep1/sample_{type}_ubam_NanoStats.txt` | NanoPlot summary statistics for the unaligned BAM file | -| `nanoplot_ubam_rep1/sample_{type}_ubam_NanoPlot-report.html` | NanoPlot interactive HTML report for the unaligned BAM file | -| `samtools/sample.flagstat` | a summary of the counts of different samtools flags | -| `samtools/sample.idxstats` | a summary of the number of mapped and unmapped reads | -| `samtools/sample.stats` | summary statistics from the bamfile | -| `whatshap_stats/sample.stats.tsv` | WhatsHap phasing statistics per chromosome including phase block N50 and switch error rates | -| `whatshap_stats/sample.blocklist.tsv` | list of all phase blocks with their genomic coordinates | +| File | Description | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | +| `cramino_aln/sample_{type}_cramino.txt` | cramino QC summary statistics for the aligned bam file | +| `cramino_ubam_rep1/sample_{type}_cramino.txt` | cramino QC summary statistics for the unaligned bam files | +| `fibertoolsrs/sample_qc.txt` | fibertools QC summary for the bam file | +| `mosdepth/sample.mosdepth.global.dist.txt` | a cumulative distribution indicating the proportion of total bases that were covered for at least a given coverage value | +| `mosdepth/sample.mosdepth.summary.txt` | overall summary file from mosdepth tool | +| `nanoplot_aln/sample_{type}_aln_NanoStats.txt` | NanoPlot summary statistics for the aligned BAM file | +| `nanoplot_aln/sample_{type}_aln_NanoPlot-report.html` | NanoPlot interactive HTML report for the aligned BAM file | +| `nanoplot_ubam_rep1/sample_{type}_rep1_ubam_NanoStats.txt` | NanoPlot summary statistics for the unaligned BAM file | +| `nanoplot_ubam_rep1/sample_{type}_rep1_ubam_NanoPlot-report.html` | NanoPlot interactive HTML report for the unaligned BAM file | +| `samtools/sample.flagstat` | a summary of the counts of different samtools flags | +| `samtools/sample.idxstats` | a summary of the number of mapped and unmapped reads | +| `samtools/sample.stats` | summary statistics from the bamfile | +| `whatshap_stats/sample.stats.tsv` | WhatsHap phasing statistics per chromosome including phase block N50 and switch error rates | +| `whatshap_stats/sample.blocklist.tsv` | list of all phase blocks with their genomic coordinates | @@ -536,8 +536,10 @@ Phased variant calls produced by Longphase. Present in all samples. │ │ ├── multiqc_data.json │ │ ├── multiqc_general_stats.txt │ │ ├── multiqc_software_versions.txt +│ │ ├── multiqc_nanostat.txt │ │ ├── multiqc_sources.txt │ │ ├── multiqc.log +│ │ ├── nanostat_fasta_stats_table.txt │ ├── multiqc_plots │ │ ├── pdf │ │ │ ├── mosdepth-coverage-per-contig-multi-cnt.pdf diff --git a/workflows/lrsomatic.nf b/workflows/lrsomatic.nf index 211552df..abc7c5b5 100644 --- a/workflows/lrsomatic.nf +++ b/workflows/lrsomatic.nf @@ -261,13 +261,15 @@ workflow LRSOMATIC { if (!params.skip_nanoplot) { // - // MODULE: NANOPLOT_PRE (label: process_medium) + // MODULE: NANOPLOT_PRE (label: process_low) // Input: CRAMINO_PRE.out.arrow -- [meta, arrow_file] // Output: nanoplot HTML/txt reports // NANOPLOT_PRE(CRAMINO_PRE.out.arrow) + ch_nanoplot_pre_txt = NANOPLOT_PRE.out.txt + } } @@ -844,13 +846,15 @@ workflow LRSOMATIC { if (!params.skip_nanoplot) { // - // MODULE: NANOPLOT_POST (label: process_medium) + // MODULE: NANOPLOT_POST (label: process_low) // Input: CRAMINO_POST.out.arrow -- [meta, arrow_file] // Output: HTML/txt QC reports (post-alignment) // NANOPLOT_POST(CRAMINO_POST.out.arrow) + ch_nanoplot_post_txt = NANOPLOT_POST.out.txt + } From f23b9b5d2010ccf477e104c753232bc6c9dc07e4 Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Thu, 13 Aug 2026 13:15:05 +0200 Subject: [PATCH 2/7] test: update default snapshot for NanoPlot MultiQC entries Regenerated from the CI run on PR #181, which completed the pipeline successfully and failed only the snapshot assertion (1 of 3). stable_name gains five MultiQC entries now that NanoStats reaches MultiQC -- multiqc_nanostat.txt, nanostat_fasta_stats_table.txt and its pdf/png/svg exports -- and 35 nanoplot_ubam_rep1 filenames pick up the replicate from the new NANOPLOT_PRE prefix. stable_path is unchanged; tests/.nftignore already excludes the nanoplot and multiqc_data text files from content hashing. The four extended-tagged snapshots (clair_only, consensus, deep_only, union) drift the same way but are not run on pull requests, so they still need regenerating before the next release. Co-Authored-By: Claude Opus 5 --- tests/default.nf.test.snap | 75 ++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index c3ba2e30..b5795d36 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -122,6 +122,7 @@ "multiqc/multiqc_data/multiqc_citations.txt", "multiqc/multiqc_data/multiqc_data.json", "multiqc/multiqc_data/multiqc_general_stats.txt", + "multiqc/multiqc_data/multiqc_nanostat.txt", "multiqc/multiqc_data/multiqc_samtools_flagstat.txt", "multiqc/multiqc_data/multiqc_samtools_idxstats.txt", "multiqc/multiqc_data/multiqc_samtools_stats.txt", @@ -129,6 +130,7 @@ "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_data/multiqc_whatshap_phased_bp_plot.txt", "multiqc/multiqc_data/multiqc_whatshap_stats.txt", + "multiqc/multiqc_data/nanostat_fasta_stats_table.txt", "multiqc/multiqc_data/samtools-flagstat-pct-table.txt", "multiqc/multiqc_data/samtools-flagstat-table.txt", "multiqc/multiqc_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", @@ -143,6 +145,7 @@ "multiqc/multiqc_plots/pdf/mosdepth-coverage-per-contig-single-pct.pdf", "multiqc/multiqc_plots/pdf/mosdepth-cumcoverage-dist-id.pdf", "multiqc/multiqc_plots/pdf/multiqc_whatshap_phased_bp_plot.pdf", + "multiqc/multiqc_plots/pdf/nanostat_fasta_stats_table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-pct-table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-table.pdf", "multiqc/multiqc_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", @@ -160,6 +163,7 @@ "multiqc/multiqc_plots/png/mosdepth-coverage-per-contig-single-pct.png", "multiqc/multiqc_plots/png/mosdepth-cumcoverage-dist-id.png", "multiqc/multiqc_plots/png/multiqc_whatshap_phased_bp_plot.png", + "multiqc/multiqc_plots/png/nanostat_fasta_stats_table.png", "multiqc/multiqc_plots/png/samtools-flagstat-pct-table.png", "multiqc/multiqc_plots/png/samtools-flagstat-table.png", "multiqc/multiqc_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", @@ -177,6 +181,7 @@ "multiqc/multiqc_plots/svg/mosdepth-coverage-per-contig-single-pct.svg", "multiqc/multiqc_plots/svg/mosdepth-cumcoverage-dist-id.svg", "multiqc/multiqc_plots/svg/multiqc_whatshap_phased_bp_plot.svg", + "multiqc/multiqc_plots/svg/nanostat_fasta_stats_table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-pct-table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-table.svg", "multiqc/multiqc_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", @@ -219,13 +224,13 @@ "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_Yield_By_Length.html", "sample1/qc/normal/nanoplot_ubam_rep1", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoPlot-report.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoStats.txt", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Yield_By_Length.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoPlot-report.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoStats.txt", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", "sample1/qc/normal/samtools/sample1.flagstat", "sample1/qc/normal/samtools/sample1.idxstats", @@ -250,13 +255,13 @@ "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_Yield_By_Length.html", "sample1/qc/tumor/nanoplot_ubam_rep1", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoPlot-report.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoStats.txt", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Yield_By_Length.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoPlot-report.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoStats.txt", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", "sample1/qc/tumor/samtools/sample1.flagstat", "sample1/qc/tumor/samtools/sample1.idxstats", @@ -334,13 +339,13 @@ "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_Yield_By_Length.html", "sample2/qc/normal/nanoplot_ubam_rep1", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoPlot-report.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoStats.txt", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Yield_By_Length.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoPlot-report.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoStats.txt", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", "sample2/qc/normal/samtools/sample2.flagstat", "sample2/qc/normal/samtools/sample2.idxstats", @@ -365,13 +370,13 @@ "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_Yield_By_Length.html", "sample2/qc/tumor/nanoplot_ubam_rep1", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoPlot-report.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoStats.txt", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Yield_By_Length.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoPlot-report.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoStats.txt", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", "sample2/qc/tumor/samtools/sample2.flagstat", "sample2/qc/tumor/samtools/sample2.idxstats", @@ -447,13 +452,13 @@ "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_Yield_By_Length.html", "sample3/qc/tumor/nanoplot_ubam_rep1", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoPlot-report.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoStats.txt", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Yield_By_Length.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoPlot-report.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoStats.txt", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", "sample3/qc/tumor/samtools/sample3.flagstat", "sample3/qc/tumor/samtools/sample3.idxstats", From edf169d365bad28a144ab3bb09263d0331c0a454 Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Thu, 3 Sep 2026 14:53:59 +0200 Subject: [PATCH 3/7] style: shorten NANOPLOT_PRE prefix comment Co-Authored-By: Claude Fable 5.1 --- conf/modules.config | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index f6d70903..27c4e7cd 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -61,9 +61,7 @@ process { } withName: '.*:NANOPLOT_PRE' { - // NANOPLOT_PRE runs once per replicate, so the replicate has to be part of the - // prefix -- otherwise every replicate produces an identically named NanoStats.txt - // and MultiQC keeps only one of them. + // Replicate in the prefix, otherwise MultiQC keeps only one identically named NanoStats.txt ext.prefix = { "${meta.id}_${meta.type}_rep${meta.replicate}_ubam" } publishDir = [ path: { "${params.outdir}/${meta.id}/qc/${meta.type}/nanoplot_ubam_rep${meta.replicate}" }, From 0ca9302ffa93c724e6d82591f6a65b63ad95479c Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Wed, 9 Sep 2026 13:27:30 +0200 Subject: [PATCH 4/7] Update extended nf-test snapshots for NanoPlot MultiQC wiring The four `extended`-tagged tests (clair_only, consensus, deep_only, union) snapshot the same output listing as tests/default.nf.test and drift in the same way: five new MultiQC files (multiqc_nanostat.txt and the nanostat_fasta_stats_table txt/pdf/png/svg) and the NANOPLOT_PRE filenames picking up the replicate. These tests do not run on pull requests, so the drift did not show in CI here, but it would fail the full suite on dev. Co-Authored-By: Claude Fable 5.1 --- tests/clair_only.nf.test.snap | 117 ++++++++++++++++++---------------- tests/consensus.nf.test.snap | 75 ++++++++++++---------- tests/deep_only.nf.test.snap | 75 ++++++++++++---------- tests/union.nf.test.snap | 75 ++++++++++++---------- 4 files changed, 181 insertions(+), 161 deletions(-) diff --git a/tests/clair_only.nf.test.snap b/tests/clair_only.nf.test.snap index 6ad17ecd..f45cdf09 100644 --- a/tests/clair_only.nf.test.snap +++ b/tests/clair_only.nf.test.snap @@ -141,6 +141,7 @@ "multiqc/multiqc_data/multiqc_citations.txt", "multiqc/multiqc_data/multiqc_data.json", "multiqc/multiqc_data/multiqc_general_stats.txt", + "multiqc/multiqc_data/multiqc_nanostat.txt", "multiqc/multiqc_data/multiqc_samtools_flagstat.txt", "multiqc/multiqc_data/multiqc_samtools_idxstats.txt", "multiqc/multiqc_data/multiqc_samtools_stats.txt", @@ -148,6 +149,7 @@ "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_data/multiqc_whatshap_phased_bp_plot.txt", "multiqc/multiqc_data/multiqc_whatshap_stats.txt", + "multiqc/multiqc_data/nanostat_fasta_stats_table.txt", "multiqc/multiqc_data/samtools-flagstat-pct-table.txt", "multiqc/multiqc_data/samtools-flagstat-table.txt", "multiqc/multiqc_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", @@ -162,6 +164,7 @@ "multiqc/multiqc_plots/pdf/mosdepth-coverage-per-contig-single-pct.pdf", "multiqc/multiqc_plots/pdf/mosdepth-cumcoverage-dist-id.pdf", "multiqc/multiqc_plots/pdf/multiqc_whatshap_phased_bp_plot.pdf", + "multiqc/multiqc_plots/pdf/nanostat_fasta_stats_table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-pct-table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-table.pdf", "multiqc/multiqc_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", @@ -179,6 +182,7 @@ "multiqc/multiqc_plots/png/mosdepth-coverage-per-contig-single-pct.png", "multiqc/multiqc_plots/png/mosdepth-cumcoverage-dist-id.png", "multiqc/multiqc_plots/png/multiqc_whatshap_phased_bp_plot.png", + "multiqc/multiqc_plots/png/nanostat_fasta_stats_table.png", "multiqc/multiqc_plots/png/samtools-flagstat-pct-table.png", "multiqc/multiqc_plots/png/samtools-flagstat-table.png", "multiqc/multiqc_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", @@ -196,6 +200,7 @@ "multiqc/multiqc_plots/svg/mosdepth-coverage-per-contig-single-pct.svg", "multiqc/multiqc_plots/svg/mosdepth-cumcoverage-dist-id.svg", "multiqc/multiqc_plots/svg/multiqc_whatshap_phased_bp_plot.svg", + "multiqc/multiqc_plots/svg/nanostat_fasta_stats_table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-pct-table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-table.svg", "multiqc/multiqc_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", @@ -238,13 +243,13 @@ "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_Yield_By_Length.html", "sample1/qc/normal/nanoplot_ubam_rep1", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoPlot-report.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoStats.txt", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Yield_By_Length.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoPlot-report.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoStats.txt", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", "sample1/qc/normal/samtools/sample1.flagstat", "sample1/qc/normal/samtools/sample1.idxstats", @@ -269,13 +274,13 @@ "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_Yield_By_Length.html", "sample1/qc/tumor/nanoplot_ubam_rep1", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoPlot-report.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoStats.txt", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Yield_By_Length.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoPlot-report.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoStats.txt", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", "sample1/qc/tumor/samtools/sample1.flagstat", "sample1/qc/tumor/samtools/sample1.idxstats", @@ -355,13 +360,13 @@ "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_Yield_By_Length.html", "sample2/qc/normal/nanoplot_ubam_rep1", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoPlot-report.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoStats.txt", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Yield_By_Length.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoPlot-report.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoStats.txt", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", "sample2/qc/normal/samtools/sample2.flagstat", "sample2/qc/normal/samtools/sample2.idxstats", @@ -386,13 +391,13 @@ "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_Yield_By_Length.html", "sample2/qc/tumor/nanoplot_ubam_rep1", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoPlot-report.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoStats.txt", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Yield_By_Length.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoPlot-report.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoStats.txt", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", "sample2/qc/tumor/samtools/sample2.flagstat", "sample2/qc/tumor/samtools/sample2.idxstats", @@ -470,13 +475,13 @@ "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_Yield_By_Length.html", "sample3/qc/tumor/nanoplot_ubam_rep1", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoPlot-report.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoStats.txt", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Yield_By_Length.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoPlot-report.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoStats.txt", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", "sample3/qc/tumor/samtools/sample3.flagstat", "sample3/qc/tumor/samtools/sample3.idxstats", @@ -557,21 +562,21 @@ "sample4/qc/tumor/nanoplot_aln/sample4_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample4/qc/tumor/nanoplot_aln/sample4_tumor_aln_Yield_By_Length.html", "sample4/qc/tumor/nanoplot_ubam_rep1", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_NanoPlot-report.html", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_NanoStats.txt", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_WeightedHistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_ubam_Yield_By_Length.html", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_NanoPlot-report.html", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_NanoStats.txt", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep1/sample4_tumor_rep1_ubam_Yield_By_Length.html", "sample4/qc/tumor/nanoplot_ubam_rep2", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_NanoPlot-report.html", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_NanoStats.txt", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_WeightedHistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_ubam_Yield_By_Length.html", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_NanoPlot-report.html", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_NanoStats.txt", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_Non_weightedHistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_WeightedHistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_Yield_By_Length.html", "sample4/qc/tumor/samtools", "sample4/qc/tumor/samtools/sample4.flagstat", "sample4/qc/tumor/samtools/sample4.idxstats", @@ -650,13 +655,13 @@ "sample5/qc/tumor/nanoplot_aln/sample5_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample5/qc/tumor/nanoplot_aln/sample5_tumor_aln_Yield_By_Length.html", "sample5/qc/tumor/nanoplot_ubam_rep1", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_NanoPlot-report.html", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_NanoStats.txt", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_WeightedHistogramReadlength.html", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_ubam_Yield_By_Length.html", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_NanoPlot-report.html", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_NanoStats.txt", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_Yield_By_Length.html", "sample5/qc/tumor/samtools", "sample5/qc/tumor/samtools/sample5.flagstat", "sample5/qc/tumor/samtools/sample5.idxstats", diff --git a/tests/consensus.nf.test.snap b/tests/consensus.nf.test.snap index 2a50355a..76331d57 100644 --- a/tests/consensus.nf.test.snap +++ b/tests/consensus.nf.test.snap @@ -161,6 +161,7 @@ "multiqc/multiqc_data/multiqc_citations.txt", "multiqc/multiqc_data/multiqc_data.json", "multiqc/multiqc_data/multiqc_general_stats.txt", + "multiqc/multiqc_data/multiqc_nanostat.txt", "multiqc/multiqc_data/multiqc_samtools_flagstat.txt", "multiqc/multiqc_data/multiqc_samtools_idxstats.txt", "multiqc/multiqc_data/multiqc_samtools_stats.txt", @@ -168,6 +169,7 @@ "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_data/multiqc_whatshap_phased_bp_plot.txt", "multiqc/multiqc_data/multiqc_whatshap_stats.txt", + "multiqc/multiqc_data/nanostat_fasta_stats_table.txt", "multiqc/multiqc_data/samtools-flagstat-pct-table.txt", "multiqc/multiqc_data/samtools-flagstat-table.txt", "multiqc/multiqc_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", @@ -182,6 +184,7 @@ "multiqc/multiqc_plots/pdf/mosdepth-coverage-per-contig-single-pct.pdf", "multiqc/multiqc_plots/pdf/mosdepth-cumcoverage-dist-id.pdf", "multiqc/multiqc_plots/pdf/multiqc_whatshap_phased_bp_plot.pdf", + "multiqc/multiqc_plots/pdf/nanostat_fasta_stats_table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-pct-table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-table.pdf", "multiqc/multiqc_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", @@ -199,6 +202,7 @@ "multiqc/multiqc_plots/png/mosdepth-coverage-per-contig-single-pct.png", "multiqc/multiqc_plots/png/mosdepth-cumcoverage-dist-id.png", "multiqc/multiqc_plots/png/multiqc_whatshap_phased_bp_plot.png", + "multiqc/multiqc_plots/png/nanostat_fasta_stats_table.png", "multiqc/multiqc_plots/png/samtools-flagstat-pct-table.png", "multiqc/multiqc_plots/png/samtools-flagstat-table.png", "multiqc/multiqc_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", @@ -216,6 +220,7 @@ "multiqc/multiqc_plots/svg/mosdepth-coverage-per-contig-single-pct.svg", "multiqc/multiqc_plots/svg/mosdepth-cumcoverage-dist-id.svg", "multiqc/multiqc_plots/svg/multiqc_whatshap_phased_bp_plot.svg", + "multiqc/multiqc_plots/svg/nanostat_fasta_stats_table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-pct-table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-table.svg", "multiqc/multiqc_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", @@ -258,13 +263,13 @@ "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_Yield_By_Length.html", "sample1/qc/normal/nanoplot_ubam_rep1", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoPlot-report.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoStats.txt", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Yield_By_Length.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoPlot-report.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoStats.txt", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", "sample1/qc/normal/samtools/sample1.flagstat", "sample1/qc/normal/samtools/sample1.idxstats", @@ -289,13 +294,13 @@ "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_Yield_By_Length.html", "sample1/qc/tumor/nanoplot_ubam_rep1", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoPlot-report.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoStats.txt", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Yield_By_Length.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoPlot-report.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoStats.txt", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", "sample1/qc/tumor/samtools/sample1.flagstat", "sample1/qc/tumor/samtools/sample1.idxstats", @@ -381,13 +386,13 @@ "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_Yield_By_Length.html", "sample2/qc/normal/nanoplot_ubam_rep1", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoPlot-report.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoStats.txt", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Yield_By_Length.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoPlot-report.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoStats.txt", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", "sample2/qc/normal/samtools/sample2.flagstat", "sample2/qc/normal/samtools/sample2.idxstats", @@ -412,13 +417,13 @@ "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_Yield_By_Length.html", "sample2/qc/tumor/nanoplot_ubam_rep1", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoPlot-report.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoStats.txt", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Yield_By_Length.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoPlot-report.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoStats.txt", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", "sample2/qc/tumor/samtools/sample2.flagstat", "sample2/qc/tumor/samtools/sample2.idxstats", @@ -502,13 +507,13 @@ "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_Yield_By_Length.html", "sample3/qc/tumor/nanoplot_ubam_rep1", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoPlot-report.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoStats.txt", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Yield_By_Length.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoPlot-report.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoStats.txt", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", "sample3/qc/tumor/samtools/sample3.flagstat", "sample3/qc/tumor/samtools/sample3.idxstats", diff --git a/tests/deep_only.nf.test.snap b/tests/deep_only.nf.test.snap index 8acb6d4f..504d394e 100644 --- a/tests/deep_only.nf.test.snap +++ b/tests/deep_only.nf.test.snap @@ -131,6 +131,7 @@ "multiqc/multiqc_data/multiqc_citations.txt", "multiqc/multiqc_data/multiqc_data.json", "multiqc/multiqc_data/multiqc_general_stats.txt", + "multiqc/multiqc_data/multiqc_nanostat.txt", "multiqc/multiqc_data/multiqc_samtools_flagstat.txt", "multiqc/multiqc_data/multiqc_samtools_idxstats.txt", "multiqc/multiqc_data/multiqc_samtools_stats.txt", @@ -138,6 +139,7 @@ "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_data/multiqc_whatshap_phased_bp_plot.txt", "multiqc/multiqc_data/multiqc_whatshap_stats.txt", + "multiqc/multiqc_data/nanostat_fasta_stats_table.txt", "multiqc/multiqc_data/samtools-flagstat-pct-table.txt", "multiqc/multiqc_data/samtools-flagstat-table.txt", "multiqc/multiqc_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", @@ -152,6 +154,7 @@ "multiqc/multiqc_plots/pdf/mosdepth-coverage-per-contig-single-pct.pdf", "multiqc/multiqc_plots/pdf/mosdepth-cumcoverage-dist-id.pdf", "multiqc/multiqc_plots/pdf/multiqc_whatshap_phased_bp_plot.pdf", + "multiqc/multiqc_plots/pdf/nanostat_fasta_stats_table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-pct-table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-table.pdf", "multiqc/multiqc_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", @@ -169,6 +172,7 @@ "multiqc/multiqc_plots/png/mosdepth-coverage-per-contig-single-pct.png", "multiqc/multiqc_plots/png/mosdepth-cumcoverage-dist-id.png", "multiqc/multiqc_plots/png/multiqc_whatshap_phased_bp_plot.png", + "multiqc/multiqc_plots/png/nanostat_fasta_stats_table.png", "multiqc/multiqc_plots/png/samtools-flagstat-pct-table.png", "multiqc/multiqc_plots/png/samtools-flagstat-table.png", "multiqc/multiqc_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", @@ -186,6 +190,7 @@ "multiqc/multiqc_plots/svg/mosdepth-coverage-per-contig-single-pct.svg", "multiqc/multiqc_plots/svg/mosdepth-cumcoverage-dist-id.svg", "multiqc/multiqc_plots/svg/multiqc_whatshap_phased_bp_plot.svg", + "multiqc/multiqc_plots/svg/nanostat_fasta_stats_table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-pct-table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-table.svg", "multiqc/multiqc_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", @@ -228,13 +233,13 @@ "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_Yield_By_Length.html", "sample1/qc/normal/nanoplot_ubam_rep1", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoPlot-report.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoStats.txt", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Yield_By_Length.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoPlot-report.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoStats.txt", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", "sample1/qc/normal/samtools/sample1.flagstat", "sample1/qc/normal/samtools/sample1.idxstats", @@ -259,13 +264,13 @@ "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_Yield_By_Length.html", "sample1/qc/tumor/nanoplot_ubam_rep1", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoPlot-report.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoStats.txt", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Yield_By_Length.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoPlot-report.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoStats.txt", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", "sample1/qc/tumor/samtools/sample1.flagstat", "sample1/qc/tumor/samtools/sample1.idxstats", @@ -343,13 +348,13 @@ "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_Yield_By_Length.html", "sample2/qc/normal/nanoplot_ubam_rep1", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoPlot-report.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoStats.txt", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Yield_By_Length.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoPlot-report.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoStats.txt", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", "sample2/qc/normal/samtools/sample2.flagstat", "sample2/qc/normal/samtools/sample2.idxstats", @@ -374,13 +379,13 @@ "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_Yield_By_Length.html", "sample2/qc/tumor/nanoplot_ubam_rep1", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoPlot-report.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoStats.txt", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Yield_By_Length.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoPlot-report.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoStats.txt", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", "sample2/qc/tumor/samtools/sample2.flagstat", "sample2/qc/tumor/samtools/sample2.idxstats", @@ -456,13 +461,13 @@ "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_Yield_By_Length.html", "sample3/qc/tumor/nanoplot_ubam_rep1", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoPlot-report.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoStats.txt", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Yield_By_Length.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoPlot-report.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoStats.txt", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", "sample3/qc/tumor/samtools/sample3.flagstat", "sample3/qc/tumor/samtools/sample3.idxstats", diff --git a/tests/union.nf.test.snap b/tests/union.nf.test.snap index d7753bf9..dc769f62 100644 --- a/tests/union.nf.test.snap +++ b/tests/union.nf.test.snap @@ -161,6 +161,7 @@ "multiqc/multiqc_data/multiqc_citations.txt", "multiqc/multiqc_data/multiqc_data.json", "multiqc/multiqc_data/multiqc_general_stats.txt", + "multiqc/multiqc_data/multiqc_nanostat.txt", "multiqc/multiqc_data/multiqc_samtools_flagstat.txt", "multiqc/multiqc_data/multiqc_samtools_idxstats.txt", "multiqc/multiqc_data/multiqc_samtools_stats.txt", @@ -168,6 +169,7 @@ "multiqc/multiqc_data/multiqc_sources.txt", "multiqc/multiqc_data/multiqc_whatshap_phased_bp_plot.txt", "multiqc/multiqc_data/multiqc_whatshap_stats.txt", + "multiqc/multiqc_data/nanostat_fasta_stats_table.txt", "multiqc/multiqc_data/samtools-flagstat-pct-table.txt", "multiqc/multiqc_data/samtools-flagstat-table.txt", "multiqc/multiqc_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", @@ -182,6 +184,7 @@ "multiqc/multiqc_plots/pdf/mosdepth-coverage-per-contig-single-pct.pdf", "multiqc/multiqc_plots/pdf/mosdepth-cumcoverage-dist-id.pdf", "multiqc/multiqc_plots/pdf/multiqc_whatshap_phased_bp_plot.pdf", + "multiqc/multiqc_plots/pdf/nanostat_fasta_stats_table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-pct-table.pdf", "multiqc/multiqc_plots/pdf/samtools-flagstat-table.pdf", "multiqc/multiqc_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", @@ -199,6 +202,7 @@ "multiqc/multiqc_plots/png/mosdepth-coverage-per-contig-single-pct.png", "multiqc/multiqc_plots/png/mosdepth-cumcoverage-dist-id.png", "multiqc/multiqc_plots/png/multiqc_whatshap_phased_bp_plot.png", + "multiqc/multiqc_plots/png/nanostat_fasta_stats_table.png", "multiqc/multiqc_plots/png/samtools-flagstat-pct-table.png", "multiqc/multiqc_plots/png/samtools-flagstat-table.png", "multiqc/multiqc_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", @@ -216,6 +220,7 @@ "multiqc/multiqc_plots/svg/mosdepth-coverage-per-contig-single-pct.svg", "multiqc/multiqc_plots/svg/mosdepth-cumcoverage-dist-id.svg", "multiqc/multiqc_plots/svg/multiqc_whatshap_phased_bp_plot.svg", + "multiqc/multiqc_plots/svg/nanostat_fasta_stats_table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-pct-table.svg", "multiqc/multiqc_plots/svg/samtools-flagstat-table.svg", "multiqc/multiqc_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", @@ -258,13 +263,13 @@ "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_Yield_By_Length.html", "sample1/qc/normal/nanoplot_ubam_rep1", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoPlot-report.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_NanoStats.txt", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedHistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_ubam_Yield_By_Length.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoPlot-report.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_NanoStats.txt", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", "sample1/qc/normal/samtools/sample1.flagstat", "sample1/qc/normal/samtools/sample1.idxstats", @@ -289,13 +294,13 @@ "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_Yield_By_Length.html", "sample1/qc/tumor/nanoplot_ubam_rep1", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoPlot-report.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_NanoStats.txt", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedHistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_ubam_Yield_By_Length.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoPlot-report.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_NanoStats.txt", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", "sample1/qc/tumor/samtools/sample1.flagstat", "sample1/qc/tumor/samtools/sample1.idxstats", @@ -381,13 +386,13 @@ "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_Yield_By_Length.html", "sample2/qc/normal/nanoplot_ubam_rep1", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoPlot-report.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_NanoStats.txt", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedHistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_ubam_Yield_By_Length.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoPlot-report.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_NanoStats.txt", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", "sample2/qc/normal/samtools/sample2.flagstat", "sample2/qc/normal/samtools/sample2.idxstats", @@ -412,13 +417,13 @@ "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_Yield_By_Length.html", "sample2/qc/tumor/nanoplot_ubam_rep1", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoPlot-report.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_NanoStats.txt", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedHistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_ubam_Yield_By_Length.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoPlot-report.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_NanoStats.txt", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", "sample2/qc/tumor/samtools/sample2.flagstat", "sample2/qc/tumor/samtools/sample2.idxstats", @@ -502,13 +507,13 @@ "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_Yield_By_Length.html", "sample3/qc/tumor/nanoplot_ubam_rep1", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoPlot-report.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_NanoStats.txt", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Non_weightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedHistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_WeightedLogTransformed_HistogramReadlength.html", - "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_ubam_Yield_By_Length.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoPlot-report.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_NanoStats.txt", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Non_weightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedHistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", + "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", "sample3/qc/tumor/samtools/sample3.flagstat", "sample3/qc/tumor/samtools/sample3.idxstats", From 2b51e0f7f39de7c97f813c695c850bac4f65b157 Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Wed, 9 Sep 2026 13:42:22 +0200 Subject: [PATCH 5/7] Name samtools and mosdepth QC outputs per BAM so MultiQC keeps tumor and normal BAM_STATS_SAMTOOLS and MOSDEPTH run once per [sample, type] but were prefixed with the bare sample id, so the tumor and normal files of a matched pair had identical basenames. MultiQC keys samples on the cleaned filename and logged "Duplicate sample name found! Overwriting" for samtools stats, flagstat and idxstats, and mosdepth reported 3 samples for 5 BAMs; which side survived was arbitrary. Prefix both with `_`, matching CRAMINO_POST and SAMTOOLS_MERGE. Post-alignment NanoPlot files keep their `__aln` prefix; MultiQC now strips `_aln` (extra_fn_clean_exts) so the NanoStat row joins the samtools/mosdepth row of the same BAM instead of sitting on its own sparse row. The report module locates these files by suffix regex under qc_tumor/ and qc_normal/, so it is unaffected by the rename. Co-Authored-By: Claude Fable 5.1 --- CHANGELOG.md | 1 + assets/multiqc_config.yml | 5 +++++ conf/modules.config | 5 ++++- docs/output.md | 22 ++++++++++++---------- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7526f517..ae58f51c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - NanoPlot pre- and post-alignment statistics now reach MultiQC. `ch_nanoplot_pre_txt` and `ch_nanoplot_post_txt` were declared empty and mixed into the MultiQC inputs, but never assigned from `NANOPLOT_PRE.out.txt` / `NANOPLOT_POST.out.txt`, so the NanoStat section was silently missing from every report (@ljwharbers). - [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - `NANOPLOT_PRE` now includes the replicate in its output prefix, so samples with more than one replicate no longer collapse into a single MultiQC sample (@ljwharbers). +- [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - samtools stats/flagstat/idxstats and mosdepth outputs are now prefixed `_` instead of ``. The tumor and normal files of a matched pair shared a basename, so MultiQC logged `Duplicate sample name found! Overwriting` and reported only one of the two; the general statistics table now has one row per BAM (`_tumor`, `_normal`), which the post-alignment NanoStat row joins (@ljwharbers). - [#186](https://github.com/IntGenomicsLab/lrsomatic/pull/186) - Stopped snapshotting the md5 of sample4's merged tumour BAM and its index in the `clair_only` nf-test: `samtools merge` gives the colliding `@PG` IDs of the two replicates a random hex suffix, so neither digest is reproducible. The alignment records are, and are now asserted with `bam().getReadsMD5()` instead (@ljwharbers). - [#182](https://github.com/IntGenomicsLab/lrsomatic/pull/182) - Added `--vcf` to the default `vep_args` so VEP writes VCF output rather than its default tab-delimited format (@AmberVerhasselt). - [#183](https://github.com/IntGenomicsLab/lrsomatic/pull/183) - Corrected the `github` URL for Laurens Lambrechts in `manifest.contributors`, which was a copy of @MariosEft97's, to @laulambr. RO-Crate metadata updated to match (@ljwharbers). diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index 95c83b7c..d92ac164 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -10,4 +10,9 @@ report_section_order: export_plots: true +# Post-alignment NanoPlot files are named __aln_NanoStats.txt. Dropping "_aln" +# puts their NanoStat row on the same _ row as samtools and mosdepth for that BAM. +extra_fn_clean_exts: + - "_aln" + disable_version_detection: true diff --git a/conf/modules.config b/conf/modules.config index 4685fcc2..7c9f98f3 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -32,7 +32,8 @@ process { } withName: '.*:BAM_STATS_SAMTOOLS:.*' { - ext.prefix = { "${meta.id}" } + // Type in the prefix, otherwise the tumor and normal files of a pair share a basename and MultiQC keeps only one + ext.prefix = { "${meta.id}_${meta.type}" } publishDir = [ path: { "${params.outdir}/${meta.id}/qc/${meta.type}/samtools/" }, mode: params.publish_dir_mode, @@ -89,6 +90,8 @@ process { withName: '.*:MOSDEPTH' { ext.args = { '-n -x' } + // Type in the prefix, otherwise the tumor and normal files of a pair share a basename and MultiQC keeps only one + ext.prefix = { "${meta.id}_${meta.type}" } publishDir = [ path: { "${params.outdir}/${meta.id}/qc/${meta.type}/mosdepth" }, mode: params.publish_dir_mode, diff --git a/docs/output.md b/docs/output.md index d55b5374..bb3485ce 100644 --- a/docs/output.md +++ b/docs/output.md @@ -178,8 +178,8 @@ QC outputs are placed under `tumor/` for all samples, and additionally under `no │ │ ├── fibertoolsrs │ │ │ ├── sample_qc.txt │ │ ├── mosdepth -│ │ │ ├── sample.mosdepth.global.dist.txt -│ │ │ ├── sample.mosdepth.summary.txt +│ │ │ ├── sample_tumor.mosdepth.global.dist.txt +│ │ │ ├── sample_tumor.mosdepth.summary.txt │ │ ├── nanoplot_aln │ │ │ ├── sample_tumor_aln_NanoStats.txt │ │ │ ├── sample_tumor_aln_NanoPlot-report.html @@ -187,9 +187,9 @@ QC outputs are placed under `tumor/` for all samples, and additionally under `no │ │ │ ├── sample_tumor_rep1_ubam_NanoStats.txt │ │ │ ├── sample_tumor_rep1_ubam_NanoPlot-report.html │ │ ├── samtools -│ │ │ ├── sample.flagstat -│ │ │ ├── sample.idxstats -│ │ │ ├── sample.stats +│ │ │ ├── sample_tumor.flagstat +│ │ │ ├── sample_tumor.idxstats +│ │ │ ├── sample_tumor.stats │ ├── normal # paired samples only │ │ └── [same subdirectories as tumor] │ ├── whatshap_stats @@ -202,15 +202,15 @@ QC outputs are placed under `tumor/` for all samples, and additionally under `no | `cramino_aln/sample_{type}_cramino.txt` | cramino QC summary statistics for the aligned bam file | | `cramino_ubam_rep1/sample_{type}_cramino.txt` | cramino QC summary statistics for the unaligned bam files | | `fibertoolsrs/sample_qc.txt` | fibertools QC summary for the bam file | -| `mosdepth/sample.mosdepth.global.dist.txt` | a cumulative distribution indicating the proportion of total bases that were covered for at least a given coverage value | -| `mosdepth/sample.mosdepth.summary.txt` | overall summary file from mosdepth tool | +| `mosdepth/sample_{type}.mosdepth.global.dist.txt` | a cumulative distribution indicating the proportion of total bases that were covered for at least a given coverage value | +| `mosdepth/sample_{type}.mosdepth.summary.txt` | overall summary file from mosdepth tool | | `nanoplot_aln/sample_{type}_aln_NanoStats.txt` | NanoPlot summary statistics for the aligned BAM file | | `nanoplot_aln/sample_{type}_aln_NanoPlot-report.html` | NanoPlot interactive HTML report for the aligned BAM file | | `nanoplot_ubam_rep1/sample_{type}_rep1_ubam_NanoStats.txt` | NanoPlot summary statistics for the unaligned BAM file | | `nanoplot_ubam_rep1/sample_{type}_rep1_ubam_NanoPlot-report.html` | NanoPlot interactive HTML report for the unaligned BAM file | -| `samtools/sample.flagstat` | a summary of the counts of different samtools flags | -| `samtools/sample.idxstats` | a summary of the number of mapped and unmapped reads | -| `samtools/sample.stats` | summary statistics from the bamfile | +| `samtools/sample_{type}.flagstat` | a summary of the counts of different samtools flags | +| `samtools/sample_{type}.idxstats` | a summary of the number of mapped and unmapped reads | +| `samtools/sample_{type}.stats` | summary statistics from the bamfile | | `whatshap_stats/sample.stats.tsv` | WhatsHap phasing statistics per chromosome including phase block N50 and switch error rates | | `whatshap_stats/sample.blocklist.tsv` | list of all phase blocks with their genomic coordinates | @@ -552,6 +552,8 @@ The report is one self-contained file — plots and tables are embedded, so it c ### `multiqc` +Sample rows are named per BAM: `{sample}_tumor` and `{sample}_normal` carry the samtools, mosdepth and post-alignment NanoPlot statistics of that BAM, `{sample}_{type}_rep{N}_ubam` rows carry the pre-alignment NanoPlot statistics of each unaligned replicate, and WhatsHap phasing statistics sit on a plain `{sample}` row because phasing is done once per sample. +
Output files From 5372cd121b901b327f5b6f7e9ee0acfb39eecb26 Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Wed, 9 Sep 2026 14:03:29 +0200 Subject: [PATCH 6/7] Regenerate all five nf-test snapshots for the samtools/mosdepth prefix change Every snapshot lists the renamed samtools stats/flagstat/idxstats and mosdepth files (`_.*`) and the samtools files' md5 keys; contents are unchanged. Regenerated by running each test with --update-snapshot on Mindwell (apptainer, Slurm array 11564524); all five passed. The MultiQC log of every run has no "Duplicate sample name" line any more and mosdepth reports one sample per BAM (5, or 7 for clair_only). consensus/deep_only/union also pick up the nf-test 0.9.4 / Nextflow 26.04.3 version metadata. clair_only: the md5 of sample1's haplotagged BAMs and WhatsHap stats came out different in this run because Clair3 ran twice on sample1's normal BAM with two different model directories that share one name, and the join downstream takes whichever finishes first (pre-existing, unrelated to this change). The committed values, which the previous run reproduced, are kept for those seven entries. Co-Authored-By: Claude Fable 5.1 --- tests/clair_only.nf.test.snap | 114 +++++++++++++++++----------------- tests/consensus.nf.test.snap | 88 +++++++++++++------------- tests/deep_only.nf.test.snap | 88 +++++++++++++------------- tests/default.nf.test.snap | 82 ++++++++++++------------ tests/union.nf.test.snap | 88 +++++++++++++------------- 5 files changed, 230 insertions(+), 230 deletions(-) diff --git a/tests/clair_only.nf.test.snap b/tests/clair_only.nf.test.snap index f45cdf09..e3db716b 100644 --- a/tests/clair_only.nf.test.snap +++ b/tests/clair_only.nf.test.snap @@ -229,8 +229,8 @@ "sample1/qc/normal/cramino_ubam_rep1", "sample1/qc/normal/cramino_ubam_rep1/sample1_normal_cramino.txt", "sample1/qc/normal/mosdepth", - "sample1/qc/normal/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/normal/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.global.dist.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.summary.txt", "sample1/qc/normal/nanoplot_aln", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoPlot-report.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoStats.txt", @@ -251,17 +251,17 @@ "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", - "sample1/qc/normal/samtools/sample1.flagstat", - "sample1/qc/normal/samtools/sample1.idxstats", - "sample1/qc/normal/samtools/sample1.stats", + "sample1/qc/normal/samtools/sample1_normal.flagstat", + "sample1/qc/normal/samtools/sample1_normal.idxstats", + "sample1/qc/normal/samtools/sample1_normal.stats", "sample1/qc/tumor", "sample1/qc/tumor/cramino_aln", "sample1/qc/tumor/cramino_aln/sample1_tumor_cramino.txt", "sample1/qc/tumor/cramino_ubam_rep1", "sample1/qc/tumor/cramino_ubam_rep1/sample1_tumor_cramino.txt", "sample1/qc/tumor/mosdepth", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.global.dist.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.summary.txt", "sample1/qc/tumor/nanoplot_aln", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoPlot-report.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoStats.txt", @@ -282,9 +282,9 @@ "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", - "sample1/qc/tumor/samtools/sample1.flagstat", - "sample1/qc/tumor/samtools/sample1.idxstats", - "sample1/qc/tumor/samtools/sample1.stats", + "sample1/qc/tumor/samtools/sample1_tumor.flagstat", + "sample1/qc/tumor/samtools/sample1_tumor.idxstats", + "sample1/qc/tumor/samtools/sample1_tumor.stats", "sample1/qc/whatshap_stats", "sample1/qc/whatshap_stats/sample1_whatshap_stats.gtf", "sample1/qc/whatshap_stats/sample1_whatshap_stats.log", @@ -346,8 +346,8 @@ "sample2/qc/normal/cramino_ubam_rep1", "sample2/qc/normal/cramino_ubam_rep1/sample2_normal_cramino.txt", "sample2/qc/normal/mosdepth", - "sample2/qc/normal/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/normal/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.global.dist.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.summary.txt", "sample2/qc/normal/nanoplot_aln", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoPlot-report.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoStats.txt", @@ -368,17 +368,17 @@ "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", - "sample2/qc/normal/samtools/sample2.flagstat", - "sample2/qc/normal/samtools/sample2.idxstats", - "sample2/qc/normal/samtools/sample2.stats", + "sample2/qc/normal/samtools/sample2_normal.flagstat", + "sample2/qc/normal/samtools/sample2_normal.idxstats", + "sample2/qc/normal/samtools/sample2_normal.stats", "sample2/qc/tumor", "sample2/qc/tumor/cramino_aln", "sample2/qc/tumor/cramino_aln/sample2_tumor_cramino.txt", "sample2/qc/tumor/cramino_ubam_rep1", "sample2/qc/tumor/cramino_ubam_rep1/sample2_tumor_cramino.txt", "sample2/qc/tumor/mosdepth", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.global.dist.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.summary.txt", "sample2/qc/tumor/nanoplot_aln", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoPlot-report.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoStats.txt", @@ -399,9 +399,9 @@ "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", - "sample2/qc/tumor/samtools/sample2.flagstat", - "sample2/qc/tumor/samtools/sample2.idxstats", - "sample2/qc/tumor/samtools/sample2.stats", + "sample2/qc/tumor/samtools/sample2_tumor.flagstat", + "sample2/qc/tumor/samtools/sample2_tumor.idxstats", + "sample2/qc/tumor/samtools/sample2_tumor.stats", "sample2/qc/whatshap_stats", "sample2/qc/whatshap_stats/sample2_whatshap_stats.gtf", "sample2/qc/whatshap_stats/sample2_whatshap_stats.log", @@ -461,8 +461,8 @@ "sample3/qc/tumor/cramino_ubam_rep1", "sample3/qc/tumor/cramino_ubam_rep1/sample3_tumor_cramino.txt", "sample3/qc/tumor/mosdepth", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.global.dist.txt", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.summary.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.global.dist.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.summary.txt", "sample3/qc/tumor/nanoplot_aln", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoPlot-report.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoStats.txt", @@ -483,9 +483,9 @@ "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", - "sample3/qc/tumor/samtools/sample3.flagstat", - "sample3/qc/tumor/samtools/sample3.idxstats", - "sample3/qc/tumor/samtools/sample3.stats", + "sample3/qc/tumor/samtools/sample3_tumor.flagstat", + "sample3/qc/tumor/samtools/sample3_tumor.idxstats", + "sample3/qc/tumor/samtools/sample3_tumor.stats", "sample3/qc/whatshap_stats", "sample3/qc/whatshap_stats/sample3_whatshap_stats.gtf", "sample3/qc/whatshap_stats/sample3_whatshap_stats.log", @@ -548,8 +548,8 @@ "sample4/qc/tumor/cramino_ubam_rep2", "sample4/qc/tumor/cramino_ubam_rep2/sample4_tumor_cramino.txt", "sample4/qc/tumor/mosdepth", - "sample4/qc/tumor/mosdepth/sample4.mosdepth.global.dist.txt", - "sample4/qc/tumor/mosdepth/sample4.mosdepth.summary.txt", + "sample4/qc/tumor/mosdepth/sample4_tumor.mosdepth.global.dist.txt", + "sample4/qc/tumor/mosdepth/sample4_tumor.mosdepth.summary.txt", "sample4/qc/tumor/nanoplot_aln", "sample4/qc/tumor/nanoplot_aln/sample4_tumor_aln_NanoPlot-report.html", "sample4/qc/tumor/nanoplot_aln/sample4_tumor_aln_NanoStats.txt", @@ -578,9 +578,9 @@ "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample4/qc/tumor/nanoplot_ubam_rep2/sample4_tumor_rep2_ubam_Yield_By_Length.html", "sample4/qc/tumor/samtools", - "sample4/qc/tumor/samtools/sample4.flagstat", - "sample4/qc/tumor/samtools/sample4.idxstats", - "sample4/qc/tumor/samtools/sample4.stats", + "sample4/qc/tumor/samtools/sample4_tumor.flagstat", + "sample4/qc/tumor/samtools/sample4_tumor.idxstats", + "sample4/qc/tumor/samtools/sample4_tumor.stats", "sample4/qc/whatshap_stats", "sample4/qc/whatshap_stats/sample4_whatshap_stats.gtf", "sample4/qc/whatshap_stats/sample4_whatshap_stats.log", @@ -641,8 +641,8 @@ "sample5/qc/tumor/cramino_ubam_rep1", "sample5/qc/tumor/cramino_ubam_rep1/sample5_tumor_cramino.txt", "sample5/qc/tumor/mosdepth", - "sample5/qc/tumor/mosdepth/sample5.mosdepth.global.dist.txt", - "sample5/qc/tumor/mosdepth/sample5.mosdepth.summary.txt", + "sample5/qc/tumor/mosdepth/sample5_tumor.mosdepth.global.dist.txt", + "sample5/qc/tumor/mosdepth/sample5_tumor.mosdepth.summary.txt", "sample5/qc/tumor/nanoplot_aln", "sample5/qc/tumor/nanoplot_aln/sample5_tumor_aln_NanoPlot-report.html", "sample5/qc/tumor/nanoplot_aln/sample5_tumor_aln_NanoStats.txt", @@ -663,9 +663,9 @@ "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample5/qc/tumor/nanoplot_ubam_rep1/sample5_tumor_rep1_ubam_Yield_By_Length.html", "sample5/qc/tumor/samtools", - "sample5/qc/tumor/samtools/sample5.flagstat", - "sample5/qc/tumor/samtools/sample5.idxstats", - "sample5/qc/tumor/samtools/sample5.stats", + "sample5/qc/tumor/samtools/sample5_tumor.flagstat", + "sample5/qc/tumor/samtools/sample5_tumor.idxstats", + "sample5/qc/tumor/samtools/sample5_tumor.stats", "sample5/qc/whatshap_stats", "sample5/qc/whatshap_stats/sample5_whatshap_stats.gtf", "sample5/qc/whatshap_stats/sample5_whatshap_stats.log", @@ -721,12 +721,12 @@ "sample1_normal.bam.bai:md5,1b501f6a11efe5d2e6f47b7f1523220b", "sample1_tumor.bam:md5,c8315c80dc92dfb5d874aef3f5dd46fb", "sample1_tumor.bam.bai:md5,bc35f807be4b93fc795a14d701469367", - "sample1.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", - "sample1.idxstats:md5,902e503387799123ea59255e3fca172c", - "sample1.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", - "sample1.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample1.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample1.stats:md5,1c60a1d249d2e503b0678c72e851ea93", + "sample1_normal.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", + "sample1_normal.idxstats:md5,902e503387799123ea59255e3fca172c", + "sample1_normal.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", + "sample1_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample1_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample1_tumor.stats:md5,1c60a1d249d2e503b0678c72e851ea93", "sample1_whatshap_stats.gtf:md5,eff050a68e36e778b06e0ec19435c569", "sample1_whatshap_stats.log:md5,76b73731f74fe32ef2d11f6bb0a0f71a", "sample1_whatshap_stats.tsv:md5,f566ae25b3c5a8f7e94b3d6c1b0417f8", @@ -740,12 +740,12 @@ "sample2_normal.bam.bai:md5,edebda44c4383173caea728acde4ac43", "sample2_tumor.bam:md5,47b2c5f86e0493ba94ff72cea77eeae3", "sample2_tumor.bam.bai:md5,abf2c290c815f54c2b3f8179f717d9bd", - "sample2.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", - "sample2.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", - "sample2.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", - "sample2.flagstat:md5,4344a8745efef9cc2a017024218d61c6", - "sample2.idxstats:md5,69467fc02c83a30084736aeea8b785fb", - "sample2.stats:md5,8635df10132c85a13f2d9878b7cf90a2", + "sample2_normal.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", + "sample2_normal.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", + "sample2_normal.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", + "sample2_tumor.flagstat:md5,4344a8745efef9cc2a017024218d61c6", + "sample2_tumor.idxstats:md5,69467fc02c83a30084736aeea8b785fb", + "sample2_tumor.stats:md5,8635df10132c85a13f2d9878b7cf90a2", "sample2_whatshap_stats.gtf:md5,4d8f4393e3aebe4e945c0b8236cf3b3e", "sample2_whatshap_stats.log:md5,10bba7bae6dd99b989ece5e5dac7a8f9", "sample2_whatshap_stats.tsv:md5,bb46226e486af9026ab76e014624e903", @@ -757,9 +757,9 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", "sample3_tumor.bam:md5,3c995151bdd974df5bf61d08606d54d3", "sample3_tumor.bam.bai:md5,9d5964ef8f44127a7d9162d628e2407d", - "sample3.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample3.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample3.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", + "sample3_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample3_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample3_tumor.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", "sample3_whatshap_stats.gtf:md5,46a97067376b06b476d180709bc9e3d8", "sample3_whatshap_stats.log:md5,376254ec9c98f9ba204895e7085516ed", "sample3_whatshap_stats.tsv:md5,f7cc79156f23e884ead18e50b8434dbf", @@ -769,9 +769,9 @@ "read_qual.txt:md5,b918430d35354dad1d7f02f21e4cd4ed", "breakpoint_clusters.tsv:md5,d36a70de292ee130ef30da4a58bced18", "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", - "sample4.flagstat:md5,5710382ba31b23172ca19f9407f689b4", - "sample4.idxstats:md5,3bf4793a1667f41f0b31d578f99e3955", - "sample4.stats:md5,b998982ea897721c529959e39b693ec6", + "sample4_tumor.flagstat:md5,5710382ba31b23172ca19f9407f689b4", + "sample4_tumor.idxstats:md5,3bf4793a1667f41f0b31d578f99e3955", + "sample4_tumor.stats:md5,b998982ea897721c529959e39b693ec6", "sample4_whatshap_stats.gtf:md5,9ca85642243042d3580d14a1d54b3d6a", "sample4_whatshap_stats.log:md5,b453653f5d83c4aa408862e7141f0965", "sample4_whatshap_stats.tsv:md5,8830262298440c4bd8675d1ff3f601e8", @@ -783,9 +783,9 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", "sample5_tumor.bam:md5,e3b7a4c9d391e9ddda187d7d6bcd1403", "sample5_tumor.bam.bai:md5,d3ba11453e0eefda8d602e7b4883e82c", - "sample5.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample5.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample5.stats:md5,3f1429e9b2379bf282299d71a8c5d22c", + "sample5_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample5_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample5_tumor.stats:md5,3f1429e9b2379bf282299d71a8c5d22c", "sample5_whatshap_stats.gtf:md5,d02a3be9b50b953b32b42e2fedabc0e5", "sample5_whatshap_stats.log:md5,a2e4ed9edca8609fc947041a9fead794", "sample5_whatshap_stats.tsv:md5,860ad30057b783e24dcb41ec581c8b68", @@ -797,7 +797,7 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50" ] ], - "timestamp": "2026-09-02T10:24:40.426465897", + "timestamp": "2026-09-09T13:54:42.01587726", "meta": { "nf-test": "0.9.4", "nextflow": "26.04.3" diff --git a/tests/consensus.nf.test.snap b/tests/consensus.nf.test.snap index 76331d57..5123680d 100644 --- a/tests/consensus.nf.test.snap +++ b/tests/consensus.nf.test.snap @@ -249,8 +249,8 @@ "sample1/qc/normal/cramino_ubam_rep1", "sample1/qc/normal/cramino_ubam_rep1/sample1_normal_cramino.txt", "sample1/qc/normal/mosdepth", - "sample1/qc/normal/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/normal/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.global.dist.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.summary.txt", "sample1/qc/normal/nanoplot_aln", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoPlot-report.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoStats.txt", @@ -271,17 +271,17 @@ "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", - "sample1/qc/normal/samtools/sample1.flagstat", - "sample1/qc/normal/samtools/sample1.idxstats", - "sample1/qc/normal/samtools/sample1.stats", + "sample1/qc/normal/samtools/sample1_normal.flagstat", + "sample1/qc/normal/samtools/sample1_normal.idxstats", + "sample1/qc/normal/samtools/sample1_normal.stats", "sample1/qc/tumor", "sample1/qc/tumor/cramino_aln", "sample1/qc/tumor/cramino_aln/sample1_tumor_cramino.txt", "sample1/qc/tumor/cramino_ubam_rep1", "sample1/qc/tumor/cramino_ubam_rep1/sample1_tumor_cramino.txt", "sample1/qc/tumor/mosdepth", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.global.dist.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.summary.txt", "sample1/qc/tumor/nanoplot_aln", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoPlot-report.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoStats.txt", @@ -302,9 +302,9 @@ "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", - "sample1/qc/tumor/samtools/sample1.flagstat", - "sample1/qc/tumor/samtools/sample1.idxstats", - "sample1/qc/tumor/samtools/sample1.stats", + "sample1/qc/tumor/samtools/sample1_tumor.flagstat", + "sample1/qc/tumor/samtools/sample1_tumor.idxstats", + "sample1/qc/tumor/samtools/sample1_tumor.stats", "sample1/qc/whatshap_stats", "sample1/qc/whatshap_stats/sample1_whatshap_stats.gtf", "sample1/qc/whatshap_stats/sample1_whatshap_stats.log", @@ -372,8 +372,8 @@ "sample2/qc/normal/cramino_ubam_rep1", "sample2/qc/normal/cramino_ubam_rep1/sample2_normal_cramino.txt", "sample2/qc/normal/mosdepth", - "sample2/qc/normal/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/normal/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.global.dist.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.summary.txt", "sample2/qc/normal/nanoplot_aln", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoPlot-report.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoStats.txt", @@ -394,17 +394,17 @@ "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", - "sample2/qc/normal/samtools/sample2.flagstat", - "sample2/qc/normal/samtools/sample2.idxstats", - "sample2/qc/normal/samtools/sample2.stats", + "sample2/qc/normal/samtools/sample2_normal.flagstat", + "sample2/qc/normal/samtools/sample2_normal.idxstats", + "sample2/qc/normal/samtools/sample2_normal.stats", "sample2/qc/tumor", "sample2/qc/tumor/cramino_aln", "sample2/qc/tumor/cramino_aln/sample2_tumor_cramino.txt", "sample2/qc/tumor/cramino_ubam_rep1", "sample2/qc/tumor/cramino_ubam_rep1/sample2_tumor_cramino.txt", "sample2/qc/tumor/mosdepth", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.global.dist.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.summary.txt", "sample2/qc/tumor/nanoplot_aln", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoPlot-report.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoStats.txt", @@ -425,9 +425,9 @@ "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", - "sample2/qc/tumor/samtools/sample2.flagstat", - "sample2/qc/tumor/samtools/sample2.idxstats", - "sample2/qc/tumor/samtools/sample2.stats", + "sample2/qc/tumor/samtools/sample2_tumor.flagstat", + "sample2/qc/tumor/samtools/sample2_tumor.idxstats", + "sample2/qc/tumor/samtools/sample2_tumor.stats", "sample2/qc/whatshap_stats", "sample2/qc/whatshap_stats/sample2_whatshap_stats.gtf", "sample2/qc/whatshap_stats/sample2_whatshap_stats.log", @@ -493,8 +493,8 @@ "sample3/qc/tumor/cramino_ubam_rep1", "sample3/qc/tumor/cramino_ubam_rep1/sample3_tumor_cramino.txt", "sample3/qc/tumor/mosdepth", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.global.dist.txt", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.summary.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.global.dist.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.summary.txt", "sample3/qc/tumor/nanoplot_aln", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoPlot-report.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoStats.txt", @@ -515,9 +515,9 @@ "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", - "sample3/qc/tumor/samtools/sample3.flagstat", - "sample3/qc/tumor/samtools/sample3.idxstats", - "sample3/qc/tumor/samtools/sample3.stats", + "sample3/qc/tumor/samtools/sample3_tumor.flagstat", + "sample3/qc/tumor/samtools/sample3_tumor.idxstats", + "sample3/qc/tumor/samtools/sample3_tumor.stats", "sample3/qc/whatshap_stats", "sample3/qc/whatshap_stats/sample3_whatshap_stats.gtf", "sample3/qc/whatshap_stats/sample3_whatshap_stats.log", @@ -579,12 +579,12 @@ "sample1_normal.bam.bai:md5,75402ef1cc35229cc131155d9ec973e0", "sample1_tumor.bam:md5,69cba03cad51bcc1d1ee8c48da042527", "sample1_tumor.bam.bai:md5,5d633ed05021ad81ce24b1f18cbf38b4", - "sample1.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", - "sample1.idxstats:md5,902e503387799123ea59255e3fca172c", - "sample1.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", - "sample1.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample1.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample1.stats:md5,1c60a1d249d2e503b0678c72e851ea93", + "sample1_normal.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", + "sample1_normal.idxstats:md5,902e503387799123ea59255e3fca172c", + "sample1_normal.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", + "sample1_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample1_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample1_tumor.stats:md5,1c60a1d249d2e503b0678c72e851ea93", "sample1_whatshap_stats.gtf:md5,9f09f9ad1a788384cb8e46a933f77b3b", "sample1_whatshap_stats.log:md5,20135b4e9965a31d3f9bb0df7d2cec90", "sample1_whatshap_stats.tsv:md5,264d2d76a9b8d34ea4933aee325ce36e", @@ -598,12 +598,12 @@ "sample2_normal.bam.bai:md5,c3096f52115ec1e24c46fedc41f1f3d3", "sample2_tumor.bam:md5,1c0287d24fa5b25b86e48024f2f55031", "sample2_tumor.bam.bai:md5,62849cea5a005e3d8dbe8f9edcefaf60", - "sample2.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", - "sample2.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", - "sample2.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", - "sample2.flagstat:md5,4344a8745efef9cc2a017024218d61c6", - "sample2.idxstats:md5,69467fc02c83a30084736aeea8b785fb", - "sample2.stats:md5,8635df10132c85a13f2d9878b7cf90a2", + "sample2_normal.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", + "sample2_normal.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", + "sample2_normal.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", + "sample2_tumor.flagstat:md5,4344a8745efef9cc2a017024218d61c6", + "sample2_tumor.idxstats:md5,69467fc02c83a30084736aeea8b785fb", + "sample2_tumor.stats:md5,8635df10132c85a13f2d9878b7cf90a2", "sample2_whatshap_stats.gtf:md5,f15fb43f0af73d02fc73b66fdc12d5d8", "sample2_whatshap_stats.log:md5,ca87088fc2f11665eca3fb9c80489085", "sample2_whatshap_stats.tsv:md5,ca53f81e39bf5d46aa4f604216add1f6", @@ -615,9 +615,9 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", "sample3_tumor.bam:md5,3c995151bdd974df5bf61d08606d54d3", "sample3_tumor.bam.bai:md5,9d5964ef8f44127a7d9162d628e2407d", - "sample3.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample3.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample3.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", + "sample3_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample3_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample3_tumor.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", "sample3_whatshap_stats.gtf:md5,46a97067376b06b476d180709bc9e3d8", "sample3_whatshap_stats.log:md5,376254ec9c98f9ba204895e7085516ed", "sample3_whatshap_stats.tsv:md5,f7cc79156f23e884ead18e50b8434dbf", @@ -629,10 +629,10 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50" ] ], + "timestamp": "2026-09-09T13:55:50.117252839", "meta": { - "nf-test": "0.9.3", - "nextflow": "26.04.1" - }, - "timestamp": "2026-06-03T11:11:45.624725561" + "nf-test": "0.9.4", + "nextflow": "26.04.3" + } } } \ No newline at end of file diff --git a/tests/deep_only.nf.test.snap b/tests/deep_only.nf.test.snap index 504d394e..6a48eeaa 100644 --- a/tests/deep_only.nf.test.snap +++ b/tests/deep_only.nf.test.snap @@ -219,8 +219,8 @@ "sample1/qc/normal/cramino_ubam_rep1", "sample1/qc/normal/cramino_ubam_rep1/sample1_normal_cramino.txt", "sample1/qc/normal/mosdepth", - "sample1/qc/normal/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/normal/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.global.dist.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.summary.txt", "sample1/qc/normal/nanoplot_aln", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoPlot-report.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoStats.txt", @@ -241,17 +241,17 @@ "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", - "sample1/qc/normal/samtools/sample1.flagstat", - "sample1/qc/normal/samtools/sample1.idxstats", - "sample1/qc/normal/samtools/sample1.stats", + "sample1/qc/normal/samtools/sample1_normal.flagstat", + "sample1/qc/normal/samtools/sample1_normal.idxstats", + "sample1/qc/normal/samtools/sample1_normal.stats", "sample1/qc/tumor", "sample1/qc/tumor/cramino_aln", "sample1/qc/tumor/cramino_aln/sample1_tumor_cramino.txt", "sample1/qc/tumor/cramino_ubam_rep1", "sample1/qc/tumor/cramino_ubam_rep1/sample1_tumor_cramino.txt", "sample1/qc/tumor/mosdepth", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.global.dist.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.summary.txt", "sample1/qc/tumor/nanoplot_aln", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoPlot-report.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoStats.txt", @@ -272,9 +272,9 @@ "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", - "sample1/qc/tumor/samtools/sample1.flagstat", - "sample1/qc/tumor/samtools/sample1.idxstats", - "sample1/qc/tumor/samtools/sample1.stats", + "sample1/qc/tumor/samtools/sample1_tumor.flagstat", + "sample1/qc/tumor/samtools/sample1_tumor.idxstats", + "sample1/qc/tumor/samtools/sample1_tumor.stats", "sample1/qc/whatshap_stats", "sample1/qc/whatshap_stats/sample1_whatshap_stats.gtf", "sample1/qc/whatshap_stats/sample1_whatshap_stats.log", @@ -334,8 +334,8 @@ "sample2/qc/normal/cramino_ubam_rep1", "sample2/qc/normal/cramino_ubam_rep1/sample2_normal_cramino.txt", "sample2/qc/normal/mosdepth", - "sample2/qc/normal/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/normal/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.global.dist.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.summary.txt", "sample2/qc/normal/nanoplot_aln", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoPlot-report.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoStats.txt", @@ -356,17 +356,17 @@ "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", - "sample2/qc/normal/samtools/sample2.flagstat", - "sample2/qc/normal/samtools/sample2.idxstats", - "sample2/qc/normal/samtools/sample2.stats", + "sample2/qc/normal/samtools/sample2_normal.flagstat", + "sample2/qc/normal/samtools/sample2_normal.idxstats", + "sample2/qc/normal/samtools/sample2_normal.stats", "sample2/qc/tumor", "sample2/qc/tumor/cramino_aln", "sample2/qc/tumor/cramino_aln/sample2_tumor_cramino.txt", "sample2/qc/tumor/cramino_ubam_rep1", "sample2/qc/tumor/cramino_ubam_rep1/sample2_tumor_cramino.txt", "sample2/qc/tumor/mosdepth", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.global.dist.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.summary.txt", "sample2/qc/tumor/nanoplot_aln", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoPlot-report.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoStats.txt", @@ -387,9 +387,9 @@ "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", - "sample2/qc/tumor/samtools/sample2.flagstat", - "sample2/qc/tumor/samtools/sample2.idxstats", - "sample2/qc/tumor/samtools/sample2.stats", + "sample2/qc/tumor/samtools/sample2_tumor.flagstat", + "sample2/qc/tumor/samtools/sample2_tumor.idxstats", + "sample2/qc/tumor/samtools/sample2_tumor.stats", "sample2/qc/whatshap_stats", "sample2/qc/whatshap_stats/sample2_whatshap_stats.gtf", "sample2/qc/whatshap_stats/sample2_whatshap_stats.log", @@ -447,8 +447,8 @@ "sample3/qc/tumor/cramino_ubam_rep1", "sample3/qc/tumor/cramino_ubam_rep1/sample3_tumor_cramino.txt", "sample3/qc/tumor/mosdepth", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.global.dist.txt", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.summary.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.global.dist.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.summary.txt", "sample3/qc/tumor/nanoplot_aln", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoPlot-report.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoStats.txt", @@ -469,9 +469,9 @@ "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", - "sample3/qc/tumor/samtools/sample3.flagstat", - "sample3/qc/tumor/samtools/sample3.idxstats", - "sample3/qc/tumor/samtools/sample3.stats", + "sample3/qc/tumor/samtools/sample3_tumor.flagstat", + "sample3/qc/tumor/samtools/sample3_tumor.idxstats", + "sample3/qc/tumor/samtools/sample3_tumor.stats", "sample3/qc/whatshap_stats", "sample3/qc/whatshap_stats/sample3_whatshap_stats.gtf", "sample3/qc/whatshap_stats/sample3_whatshap_stats.log", @@ -524,12 +524,12 @@ "sample1_normal.bam.bai:md5,ddb44b5bfb0f798950d8872e9d60d784", "sample1_tumor.bam:md5,8173a435625724d6192ff6a0e9e737bb", "sample1_tumor.bam.bai:md5,1de9940795d293f650a22c6983b2a072", - "sample1.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", - "sample1.idxstats:md5,902e503387799123ea59255e3fca172c", - "sample1.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", - "sample1.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample1.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample1.stats:md5,1c60a1d249d2e503b0678c72e851ea93", + "sample1_normal.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", + "sample1_normal.idxstats:md5,902e503387799123ea59255e3fca172c", + "sample1_normal.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", + "sample1_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample1_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample1_tumor.stats:md5,1c60a1d249d2e503b0678c72e851ea93", "sample1_whatshap_stats.gtf:md5,e1d0e87353a5f9aed8a9ac4bf7973427", "sample1_whatshap_stats.log:md5,bd6b83a062e22cd3201523dc4c2c13e7", "sample1_whatshap_stats.tsv:md5,7a1508751cb1daa841a577ae25f55586", @@ -543,12 +543,12 @@ "sample2_normal.bam.bai:md5,02a12e347af31e04ffa589935f89e5ed", "sample2_tumor.bam:md5,7380c09f2ee3ebe328f1a50671408209", "sample2_tumor.bam.bai:md5,644083528fd153b24d97ef687417e089", - "sample2.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", - "sample2.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", - "sample2.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", - "sample2.flagstat:md5,4344a8745efef9cc2a017024218d61c6", - "sample2.idxstats:md5,69467fc02c83a30084736aeea8b785fb", - "sample2.stats:md5,8635df10132c85a13f2d9878b7cf90a2", + "sample2_normal.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", + "sample2_normal.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", + "sample2_normal.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", + "sample2_tumor.flagstat:md5,4344a8745efef9cc2a017024218d61c6", + "sample2_tumor.idxstats:md5,69467fc02c83a30084736aeea8b785fb", + "sample2_tumor.stats:md5,8635df10132c85a13f2d9878b7cf90a2", "sample2_whatshap_stats.gtf:md5,af33281699a1d0da83fbe7eaff198d03", "sample2_whatshap_stats.log:md5,bbd9ab2ce07a009d9348a1d78bc6fc70", "sample2_whatshap_stats.tsv:md5,c65436f930c23ddbfd568532d07dce70", @@ -560,9 +560,9 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", "sample3_tumor.bam:md5,965264ef8436cb887ad02c92d40fb50e", "sample3_tumor.bam.bai:md5,cfc6329667a3c6c66e3c0ca0ace4c6e9", - "sample3.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample3.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample3.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", + "sample3_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample3_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample3_tumor.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", "sample3_whatshap_stats.gtf:md5,f47156e18c490ff9a4e6efd04d43acc5", "sample3_whatshap_stats.log:md5,4f7648e763004ab764143cb4f8b6499e", "sample3_whatshap_stats.tsv:md5,4cb58bb3b663aaba23da004d69adab3e", @@ -574,10 +574,10 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50" ] ], + "timestamp": "2026-09-09T13:51:30.278291697", "meta": { - "nf-test": "0.9.3", - "nextflow": "26.04.1" - }, - "timestamp": "2026-06-03T11:16:31.519039247" + "nf-test": "0.9.4", + "nextflow": "26.04.3" + } } } \ No newline at end of file diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 8a9050f8..47b61a3f 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -213,8 +213,8 @@ "sample1/qc/normal/cramino_ubam_rep1", "sample1/qc/normal/cramino_ubam_rep1/sample1_normal_cramino.txt", "sample1/qc/normal/mosdepth", - "sample1/qc/normal/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/normal/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.global.dist.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.summary.txt", "sample1/qc/normal/nanoplot_aln", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoPlot-report.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoStats.txt", @@ -235,17 +235,17 @@ "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", - "sample1/qc/normal/samtools/sample1.flagstat", - "sample1/qc/normal/samtools/sample1.idxstats", - "sample1/qc/normal/samtools/sample1.stats", + "sample1/qc/normal/samtools/sample1_normal.flagstat", + "sample1/qc/normal/samtools/sample1_normal.idxstats", + "sample1/qc/normal/samtools/sample1_normal.stats", "sample1/qc/tumor", "sample1/qc/tumor/cramino_aln", "sample1/qc/tumor/cramino_aln/sample1_tumor_cramino.txt", "sample1/qc/tumor/cramino_ubam_rep1", "sample1/qc/tumor/cramino_ubam_rep1/sample1_tumor_cramino.txt", "sample1/qc/tumor/mosdepth", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.global.dist.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.summary.txt", "sample1/qc/tumor/nanoplot_aln", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoPlot-report.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoStats.txt", @@ -266,9 +266,9 @@ "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", - "sample1/qc/tumor/samtools/sample1.flagstat", - "sample1/qc/tumor/samtools/sample1.idxstats", - "sample1/qc/tumor/samtools/sample1.stats", + "sample1/qc/tumor/samtools/sample1_tumor.flagstat", + "sample1/qc/tumor/samtools/sample1_tumor.idxstats", + "sample1/qc/tumor/samtools/sample1_tumor.stats", "sample1/qc/whatshap_stats", "sample1/qc/whatshap_stats/sample1_whatshap_stats.gtf", "sample1/qc/whatshap_stats/sample1_whatshap_stats.log", @@ -330,8 +330,8 @@ "sample2/qc/normal/cramino_ubam_rep1", "sample2/qc/normal/cramino_ubam_rep1/sample2_normal_cramino.txt", "sample2/qc/normal/mosdepth", - "sample2/qc/normal/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/normal/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.global.dist.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.summary.txt", "sample2/qc/normal/nanoplot_aln", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoPlot-report.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoStats.txt", @@ -352,17 +352,17 @@ "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", - "sample2/qc/normal/samtools/sample2.flagstat", - "sample2/qc/normal/samtools/sample2.idxstats", - "sample2/qc/normal/samtools/sample2.stats", + "sample2/qc/normal/samtools/sample2_normal.flagstat", + "sample2/qc/normal/samtools/sample2_normal.idxstats", + "sample2/qc/normal/samtools/sample2_normal.stats", "sample2/qc/tumor", "sample2/qc/tumor/cramino_aln", "sample2/qc/tumor/cramino_aln/sample2_tumor_cramino.txt", "sample2/qc/tumor/cramino_ubam_rep1", "sample2/qc/tumor/cramino_ubam_rep1/sample2_tumor_cramino.txt", "sample2/qc/tumor/mosdepth", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.global.dist.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.summary.txt", "sample2/qc/tumor/nanoplot_aln", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoPlot-report.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoStats.txt", @@ -383,9 +383,9 @@ "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", - "sample2/qc/tumor/samtools/sample2.flagstat", - "sample2/qc/tumor/samtools/sample2.idxstats", - "sample2/qc/tumor/samtools/sample2.stats", + "sample2/qc/tumor/samtools/sample2_tumor.flagstat", + "sample2/qc/tumor/samtools/sample2_tumor.idxstats", + "sample2/qc/tumor/samtools/sample2_tumor.stats", "sample2/qc/whatshap_stats", "sample2/qc/whatshap_stats/sample2_whatshap_stats.gtf", "sample2/qc/whatshap_stats/sample2_whatshap_stats.log", @@ -445,8 +445,8 @@ "sample3/qc/tumor/cramino_ubam_rep1", "sample3/qc/tumor/cramino_ubam_rep1/sample3_tumor_cramino.txt", "sample3/qc/tumor/mosdepth", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.global.dist.txt", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.summary.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.global.dist.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.summary.txt", "sample3/qc/tumor/nanoplot_aln", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoPlot-report.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoStats.txt", @@ -467,9 +467,9 @@ "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", - "sample3/qc/tumor/samtools/sample3.flagstat", - "sample3/qc/tumor/samtools/sample3.idxstats", - "sample3/qc/tumor/samtools/sample3.stats", + "sample3/qc/tumor/samtools/sample3_tumor.flagstat", + "sample3/qc/tumor/samtools/sample3_tumor.idxstats", + "sample3/qc/tumor/samtools/sample3_tumor.stats", "sample3/qc/whatshap_stats", "sample3/qc/whatshap_stats/sample3_whatshap_stats.gtf", "sample3/qc/whatshap_stats/sample3_whatshap_stats.log", @@ -525,12 +525,12 @@ "sample1_normal.bam.bai:md5,1b501f6a11efe5d2e6f47b7f1523220b", "sample1_tumor.bam:md5,c8315c80dc92dfb5d874aef3f5dd46fb", "sample1_tumor.bam.bai:md5,bc35f807be4b93fc795a14d701469367", - "sample1.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", - "sample1.idxstats:md5,902e503387799123ea59255e3fca172c", - "sample1.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", - "sample1.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample1.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample1.stats:md5,1c60a1d249d2e503b0678c72e851ea93", + "sample1_normal.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", + "sample1_normal.idxstats:md5,902e503387799123ea59255e3fca172c", + "sample1_normal.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", + "sample1_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample1_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample1_tumor.stats:md5,1c60a1d249d2e503b0678c72e851ea93", "sample1_whatshap_stats.gtf:md5,eff050a68e36e778b06e0ec19435c569", "sample1_whatshap_stats.log:md5,76b73731f74fe32ef2d11f6bb0a0f71a", "sample1_whatshap_stats.tsv:md5,f566ae25b3c5a8f7e94b3d6c1b0417f8", @@ -544,12 +544,12 @@ "sample2_normal.bam.bai:md5,edebda44c4383173caea728acde4ac43", "sample2_tumor.bam:md5,47b2c5f86e0493ba94ff72cea77eeae3", "sample2_tumor.bam.bai:md5,abf2c290c815f54c2b3f8179f717d9bd", - "sample2.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", - "sample2.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", - "sample2.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", - "sample2.flagstat:md5,4344a8745efef9cc2a017024218d61c6", - "sample2.idxstats:md5,69467fc02c83a30084736aeea8b785fb", - "sample2.stats:md5,8635df10132c85a13f2d9878b7cf90a2", + "sample2_normal.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", + "sample2_normal.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", + "sample2_normal.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", + "sample2_tumor.flagstat:md5,4344a8745efef9cc2a017024218d61c6", + "sample2_tumor.idxstats:md5,69467fc02c83a30084736aeea8b785fb", + "sample2_tumor.stats:md5,8635df10132c85a13f2d9878b7cf90a2", "sample2_whatshap_stats.gtf:md5,4d8f4393e3aebe4e945c0b8236cf3b3e", "sample2_whatshap_stats.log:md5,10bba7bae6dd99b989ece5e5dac7a8f9", "sample2_whatshap_stats.tsv:md5,bb46226e486af9026ab76e014624e903", @@ -561,9 +561,9 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", "sample3_tumor.bam:md5,3c995151bdd974df5bf61d08606d54d3", "sample3_tumor.bam.bai:md5,9d5964ef8f44127a7d9162d628e2407d", - "sample3.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample3.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample3.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", + "sample3_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample3_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample3_tumor.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", "sample3_whatshap_stats.gtf:md5,46a97067376b06b476d180709bc9e3d8", "sample3_whatshap_stats.log:md5,376254ec9c98f9ba204895e7085516ed", "sample3_whatshap_stats.tsv:md5,f7cc79156f23e884ead18e50b8434dbf", @@ -575,7 +575,7 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50" ] ], - "timestamp": "2026-07-16T19:16:20.692019944", + "timestamp": "2026-09-09T13:50:22.195327407", "meta": { "nf-test": "0.9.4", "nextflow": "26.04.3" diff --git a/tests/union.nf.test.snap b/tests/union.nf.test.snap index dc769f62..08d81773 100644 --- a/tests/union.nf.test.snap +++ b/tests/union.nf.test.snap @@ -249,8 +249,8 @@ "sample1/qc/normal/cramino_ubam_rep1", "sample1/qc/normal/cramino_ubam_rep1/sample1_normal_cramino.txt", "sample1/qc/normal/mosdepth", - "sample1/qc/normal/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/normal/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.global.dist.txt", + "sample1/qc/normal/mosdepth/sample1_normal.mosdepth.summary.txt", "sample1/qc/normal/nanoplot_aln", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoPlot-report.html", "sample1/qc/normal/nanoplot_aln/sample1_normal_aln_NanoStats.txt", @@ -271,17 +271,17 @@ "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/normal/nanoplot_ubam_rep1/sample1_normal_rep1_ubam_Yield_By_Length.html", "sample1/qc/normal/samtools", - "sample1/qc/normal/samtools/sample1.flagstat", - "sample1/qc/normal/samtools/sample1.idxstats", - "sample1/qc/normal/samtools/sample1.stats", + "sample1/qc/normal/samtools/sample1_normal.flagstat", + "sample1/qc/normal/samtools/sample1_normal.idxstats", + "sample1/qc/normal/samtools/sample1_normal.stats", "sample1/qc/tumor", "sample1/qc/tumor/cramino_aln", "sample1/qc/tumor/cramino_aln/sample1_tumor_cramino.txt", "sample1/qc/tumor/cramino_ubam_rep1", "sample1/qc/tumor/cramino_ubam_rep1/sample1_tumor_cramino.txt", "sample1/qc/tumor/mosdepth", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.global.dist.txt", - "sample1/qc/tumor/mosdepth/sample1.mosdepth.summary.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.global.dist.txt", + "sample1/qc/tumor/mosdepth/sample1_tumor.mosdepth.summary.txt", "sample1/qc/tumor/nanoplot_aln", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoPlot-report.html", "sample1/qc/tumor/nanoplot_aln/sample1_tumor_aln_NanoStats.txt", @@ -302,9 +302,9 @@ "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample1/qc/tumor/nanoplot_ubam_rep1/sample1_tumor_rep1_ubam_Yield_By_Length.html", "sample1/qc/tumor/samtools", - "sample1/qc/tumor/samtools/sample1.flagstat", - "sample1/qc/tumor/samtools/sample1.idxstats", - "sample1/qc/tumor/samtools/sample1.stats", + "sample1/qc/tumor/samtools/sample1_tumor.flagstat", + "sample1/qc/tumor/samtools/sample1_tumor.idxstats", + "sample1/qc/tumor/samtools/sample1_tumor.stats", "sample1/qc/whatshap_stats", "sample1/qc/whatshap_stats/sample1_whatshap_stats.gtf", "sample1/qc/whatshap_stats/sample1_whatshap_stats.log", @@ -372,8 +372,8 @@ "sample2/qc/normal/cramino_ubam_rep1", "sample2/qc/normal/cramino_ubam_rep1/sample2_normal_cramino.txt", "sample2/qc/normal/mosdepth", - "sample2/qc/normal/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/normal/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.global.dist.txt", + "sample2/qc/normal/mosdepth/sample2_normal.mosdepth.summary.txt", "sample2/qc/normal/nanoplot_aln", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoPlot-report.html", "sample2/qc/normal/nanoplot_aln/sample2_normal_aln_NanoStats.txt", @@ -394,17 +394,17 @@ "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/normal/nanoplot_ubam_rep1/sample2_normal_rep1_ubam_Yield_By_Length.html", "sample2/qc/normal/samtools", - "sample2/qc/normal/samtools/sample2.flagstat", - "sample2/qc/normal/samtools/sample2.idxstats", - "sample2/qc/normal/samtools/sample2.stats", + "sample2/qc/normal/samtools/sample2_normal.flagstat", + "sample2/qc/normal/samtools/sample2_normal.idxstats", + "sample2/qc/normal/samtools/sample2_normal.stats", "sample2/qc/tumor", "sample2/qc/tumor/cramino_aln", "sample2/qc/tumor/cramino_aln/sample2_tumor_cramino.txt", "sample2/qc/tumor/cramino_ubam_rep1", "sample2/qc/tumor/cramino_ubam_rep1/sample2_tumor_cramino.txt", "sample2/qc/tumor/mosdepth", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.global.dist.txt", - "sample2/qc/tumor/mosdepth/sample2.mosdepth.summary.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.global.dist.txt", + "sample2/qc/tumor/mosdepth/sample2_tumor.mosdepth.summary.txt", "sample2/qc/tumor/nanoplot_aln", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoPlot-report.html", "sample2/qc/tumor/nanoplot_aln/sample2_tumor_aln_NanoStats.txt", @@ -425,9 +425,9 @@ "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample2/qc/tumor/nanoplot_ubam_rep1/sample2_tumor_rep1_ubam_Yield_By_Length.html", "sample2/qc/tumor/samtools", - "sample2/qc/tumor/samtools/sample2.flagstat", - "sample2/qc/tumor/samtools/sample2.idxstats", - "sample2/qc/tumor/samtools/sample2.stats", + "sample2/qc/tumor/samtools/sample2_tumor.flagstat", + "sample2/qc/tumor/samtools/sample2_tumor.idxstats", + "sample2/qc/tumor/samtools/sample2_tumor.stats", "sample2/qc/whatshap_stats", "sample2/qc/whatshap_stats/sample2_whatshap_stats.gtf", "sample2/qc/whatshap_stats/sample2_whatshap_stats.log", @@ -493,8 +493,8 @@ "sample3/qc/tumor/cramino_ubam_rep1", "sample3/qc/tumor/cramino_ubam_rep1/sample3_tumor_cramino.txt", "sample3/qc/tumor/mosdepth", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.global.dist.txt", - "sample3/qc/tumor/mosdepth/sample3.mosdepth.summary.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.global.dist.txt", + "sample3/qc/tumor/mosdepth/sample3_tumor.mosdepth.summary.txt", "sample3/qc/tumor/nanoplot_aln", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoPlot-report.html", "sample3/qc/tumor/nanoplot_aln/sample3_tumor_aln_NanoStats.txt", @@ -515,9 +515,9 @@ "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_WeightedLogTransformed_HistogramReadlength.html", "sample3/qc/tumor/nanoplot_ubam_rep1/sample3_tumor_rep1_ubam_Yield_By_Length.html", "sample3/qc/tumor/samtools", - "sample3/qc/tumor/samtools/sample3.flagstat", - "sample3/qc/tumor/samtools/sample3.idxstats", - "sample3/qc/tumor/samtools/sample3.stats", + "sample3/qc/tumor/samtools/sample3_tumor.flagstat", + "sample3/qc/tumor/samtools/sample3_tumor.idxstats", + "sample3/qc/tumor/samtools/sample3_tumor.stats", "sample3/qc/whatshap_stats", "sample3/qc/whatshap_stats/sample3_whatshap_stats.gtf", "sample3/qc/whatshap_stats/sample3_whatshap_stats.log", @@ -579,12 +579,12 @@ "sample1_normal.bam.bai:md5,c1498328929d45b2898fa2265b0d617c", "sample1_tumor.bam:md5,b78866edf991393806d37505d16f7e3d", "sample1_tumor.bam.bai:md5,f613de14ab19fc3a85403661a4f6188c", - "sample1.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", - "sample1.idxstats:md5,902e503387799123ea59255e3fca172c", - "sample1.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", - "sample1.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample1.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample1.stats:md5,1c60a1d249d2e503b0678c72e851ea93", + "sample1_normal.flagstat:md5,1c41ea9923945501eb7e41f83a90502d", + "sample1_normal.idxstats:md5,902e503387799123ea59255e3fca172c", + "sample1_normal.stats:md5,a8b3fba9c54efbc0934d6eacc1807140", + "sample1_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample1_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample1_tumor.stats:md5,1c60a1d249d2e503b0678c72e851ea93", "sample1_whatshap_stats.gtf:md5,9ae556e13516dd47d4108acf2104bddb", "sample1_whatshap_stats.log:md5,eaddcf6a1666d4a3c1ad3316dac24139", "sample1_whatshap_stats.tsv:md5,c2773e011c2781160fd9a7741b10546b", @@ -598,12 +598,12 @@ "sample2_normal.bam.bai:md5,c3096f52115ec1e24c46fedc41f1f3d3", "sample2_tumor.bam:md5,1c0287d24fa5b25b86e48024f2f55031", "sample2_tumor.bam.bai:md5,62849cea5a005e3d8dbe8f9edcefaf60", - "sample2.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", - "sample2.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", - "sample2.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", - "sample2.flagstat:md5,4344a8745efef9cc2a017024218d61c6", - "sample2.idxstats:md5,69467fc02c83a30084736aeea8b785fb", - "sample2.stats:md5,8635df10132c85a13f2d9878b7cf90a2", + "sample2_normal.flagstat:md5,714d0cc0c213e2640e54a16f3d0e6e7e", + "sample2_normal.idxstats:md5,72eb83bb11748dc863fef1a0a5497e4b", + "sample2_normal.stats:md5,20c47cb94f9ac739d69c57be6daf82c5", + "sample2_tumor.flagstat:md5,4344a8745efef9cc2a017024218d61c6", + "sample2_tumor.idxstats:md5,69467fc02c83a30084736aeea8b785fb", + "sample2_tumor.stats:md5,8635df10132c85a13f2d9878b7cf90a2", "sample2_whatshap_stats.gtf:md5,f15fb43f0af73d02fc73b66fdc12d5d8", "sample2_whatshap_stats.log:md5,a6767b3490cafdcbaf3b7114644028de", "sample2_whatshap_stats.tsv:md5,570796e5e291229e8872733425e0b133", @@ -615,9 +615,9 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50", "sample3_tumor.bam:md5,116b6944da4aa833a8d21c46b5f5ecfe", "sample3_tumor.bam.bai:md5,ea9eca53bbaba26d40b791a2ea1aadf6", - "sample3.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", - "sample3.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", - "sample3.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", + "sample3_tumor.flagstat:md5,8ff32d733c62c4910bf185ef24bf27cf", + "sample3_tumor.idxstats:md5,2de140e61f9e86c9c10af20dd565cc93", + "sample3_tumor.stats:md5,ecd5ea4fee37379dd5c5ae3e89dfddda", "sample3_whatshap_stats.gtf:md5,f47156e18c490ff9a4e6efd04d43acc5", "sample3_whatshap_stats.log:md5,679dcfa209888a9e69a07e4c4e4b049e", "sample3_whatshap_stats.tsv:md5,035d5aa0425ba3fc32d65268b793b424", @@ -629,10 +629,10 @@ "breakpoint_clusters_list.tsv:md5,0c0ce62e329f8de492487e8414c30a50" ] ], + "timestamp": "2026-09-09T13:55:27.445799687", "meta": { - "nf-test": "0.9.3", - "nextflow": "26.04.1" - }, - "timestamp": "2026-06-03T11:29:23.997023567" + "nf-test": "0.9.4", + "nextflow": "26.04.3" + } } } \ No newline at end of file From 85d2edbea37ff4295c861a989892fa23bbd1495d Mon Sep 17 00:00:00 2001 From: ljwharbers Date: Wed, 9 Sep 2026 14:11:49 +0200 Subject: [PATCH 7/7] Raise MultiQC log_filesize_limit so long-read samtools stats are parsed samtools stats output for long reads is 70-76 MB even for the chr19 test BAMs: its read-length and coverage histograms run to the longest read and deepest base. MultiQC silently skips any file above log_filesize_limit (default 50 MB), so the samtools stats section covered only the small PacBio files ("Found 2 stats reports" of 5). 500 MB leaves headroom for whole-genome ultra-long runs. Co-Authored-By: Claude Fable 5.1 --- CHANGELOG.md | 1 + assets/multiqc_config.yml | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae58f51c..57ea5c53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - NanoPlot pre- and post-alignment statistics now reach MultiQC. `ch_nanoplot_pre_txt` and `ch_nanoplot_post_txt` were declared empty and mixed into the MultiQC inputs, but never assigned from `NANOPLOT_PRE.out.txt` / `NANOPLOT_POST.out.txt`, so the NanoStat section was silently missing from every report (@ljwharbers). - [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - `NANOPLOT_PRE` now includes the replicate in its output prefix, so samples with more than one replicate no longer collapse into a single MultiQC sample (@ljwharbers). - [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - samtools stats/flagstat/idxstats and mosdepth outputs are now prefixed `_` instead of ``. The tumor and normal files of a matched pair shared a basename, so MultiQC logged `Duplicate sample name found! Overwriting` and reported only one of the two; the general statistics table now has one row per BAM (`_tumor`, `_normal`), which the post-alignment NanoStat row joins (@ljwharbers). +- [#181](https://github.com/IntGenomicsLab/lrsomatic/pull/181) - Raised MultiQC's `log_filesize_limit` to 500 MB. `samtools stats` output for long reads is 70 MB and more, above the 50 MB default, so MultiQC silently skipped it and the samtools stats section covered only small files (@ljwharbers). - [#186](https://github.com/IntGenomicsLab/lrsomatic/pull/186) - Stopped snapshotting the md5 of sample4's merged tumour BAM and its index in the `clair_only` nf-test: `samtools merge` gives the colliding `@PG` IDs of the two replicates a random hex suffix, so neither digest is reproducible. The alignment records are, and are now asserted with `bam().getReadsMD5()` instead (@ljwharbers). - [#182](https://github.com/IntGenomicsLab/lrsomatic/pull/182) - Added `--vcf` to the default `vep_args` so VEP writes VCF output rather than its default tab-delimited format (@AmberVerhasselt). - [#183](https://github.com/IntGenomicsLab/lrsomatic/pull/183) - Corrected the `github` URL for Laurens Lambrechts in `manifest.contributors`, which was a copy of @MariosEft97's, to @laulambr. RO-Crate metadata updated to match (@ljwharbers). diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index d92ac164..2a5e14c2 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -15,4 +15,9 @@ export_plots: true extra_fn_clean_exts: - "_aln" +# samtools stats on long reads writes 70+ MB files (its read-length and coverage histograms run to +# the longest read and deepest base). MultiQC silently skips any file above log_filesize_limit, +# whose default is 50 MB, so the samtools stats section would only ever cover small files. +log_filesize_limit: 500000000 + disable_version_detection: true