Skip to content

Conversation

@pinin4fjords
Copy link
Member

nf-core/rnaseq 3.22.2 Release

This is a patch release with bug fixes and improvements.


Bug Fixes

tximport Extra Columns Fix (#1654)

  • Fixed tximport to handle tx2gene files with extra columns from --gtf_extra_attributes
  • Fixed sample name mangling in DESeq2 QC

Duplicate Flagstat Files (#1655)

MultiQC Sample Name Collisions (#1659)


Improvements

MultiQC Update (#1658, #1660)

  • Bumped nf-core/multiqc module to 1.33
  • Updated MultiQC ARM container to 1.33

CI Optimizations (#1648)

  • Reduced duplicate coverage in pipeline tests by adding skip options

Contributors

Special thanks to: @ahwanpandey, @ggrimes, @pontushojer


Full Changelog

See CHANGELOG.md for complete details.

pinin4fjords and others added 30 commits December 4, 2025 14:54
Skip processes that are already covered by default.nf.test to reduce
redundant test execution while maintaining meaningful integration testing.

Changes by test file:
- sentieon_default: skip QC, StringTie, bigwig (Sentieon STAR ≈ STAR BAMs)
- remove_ribo_rna: skip QC, StringTie, bigwig (rRNA removal doesn't change BAM structure)
- min_mapped_reads: skip QC, StringTie, bigwig (sample filtering doesn't change BAMs)
- featurecounts_group_type: skip QC, StringTie, bigwig (only counting differs)
- hisat2: skip bigwig only (keep QC/StringTie for different BAM characteristics)
- umi: skip StringTie, bigwig (keep QC for deduplicated BAM testing)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
When mark duplicates is enabled (skip_markduplicates=false) and UMI
deduplication is disabled (with_umi=false), both the aligner's flagstat
files (showing 0 duplicates) and the markduplicates flagstat files
(showing actual duplicate counts) were being passed to MultiQC.

This caused MultiQC to randomly select one of the flagstat files per
sample, sometimes showing incorrect zero duplicate counts.

The fix ensures that when markduplicates will run, only its stats are
passed to MultiQC. The aligner stats are only added when both with_umi
is false AND skip_markduplicates is true.

Co-authored-by: GitHub Copilot <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
R's data.frame(..., row.names=1) fails to use column 1 as rownames
when there is only one row. Explicitly pass row.names=samples.vec
to ensure correct behavior regardless of sample count.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
When multiple samples share the same FASTQ filename (in different
directories), the MultiQC name replacement file would contain duplicate
search patterns with different replacement values, causing sample names
to be corrupted in the report.

This fix only adds FASTQ filename-based mappings when the FASTQ
simpleName differs from the sample ID, preventing duplicate entries
while still supporting renaming when FASTQ names differ from sample IDs.

Fixes #1657

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
The ARM config was using MultiQC 1.31 while the main module uses 1.33,
causing CI test failures due to missing plot outputs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Update MultiQC ARM container to 1.33
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Fix duplicate flagstat files in MultiQC report
pinin4fjords and others added 19 commits December 11, 2025 11:40
Plot export can be slower on ARM architecture, causing timeouts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Plot export can be slower on ARM architecture, causing timeouts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
fix(tximport): handle tx2gene files with extra columns
Use tuple-based mappings and loop over suffixes to reduce code duplication.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Use extra_fn_clean_exts with type: remove to strip _raw/_trimmed
suffixes in MultiQC config instead of generating explicit mappings.
This simplifies the name replacement logic in main.nf.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Reduce duplicate coverage in pipeline tests
…sion

Fix MultiQC sample name collisions with shared FASTQ filenames
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Bump version to 3.22.2 ahead of release
@github-actions
Copy link

github-actions bot commented Dec 11, 2025

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit a32de4e

+| ✅ 287 tests passed       |+
#| ❔   8 tests were ignored |#
!| ❗   9 tests had warnings |!

❗ Test warnings:

  • files_exist - File not found: assets/multiqc_config.yml
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/rnaseq/rnaseq/subworkflows/local/prepare_genome/main.nf: _ versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ]
    _

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 3.5.1
  • Run at 2025-12-11 17:47:34

@FriederikeHanssen
Copy link
Contributor

Multiqc 1.33 allows the plotting and summary of BBSplit stats.txt files to have an overview over the number of reads removed. Might be worth adding here or latest in the next release

@pinin4fjords
Copy link
Member Author

pinin4fjords commented Dec 11, 2025

Multiqc 1.33 allows the plotting and summary of BBSplit stats.txt files to have an overview over the number of reads removed. Might be worth adding here or latest in the next release

Thanks, yep, mostly trying to hit bugs here- that can go in the next minor (needs a modules PR first to update a subworkflow)

Copy link
Contributor

@d4straub d4straub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, didnt find anything to complain about.

@pinin4fjords pinin4fjords merged commit 3816d48 into master Dec 12, 2025
235 of 245 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants