Jonathan Manning
04/24/2026, 4:10 PM--stringtie_ignore_gtf now runs through the nf-core bam_stringtie_merge subworkflow as assemble → merge → quantify, publishing stringtie_merge.gtf and per-sample <sample>.denovo.transcripts.gtf. Much more useful for de-novo transcript discovery than the previous single-shot setup.
🚀 GPU-accelerated rRNA removal
New --use_gpu_ribodetector parameter enables GPU-accelerated rRNA removal with ribodetector. The GPU CI skip was generalized from SKIP_PARABRICKS to SKIP_GPU so all GPU tooling shares one gate.
🦠 Prokaryotic profile improvements
- Skip StringTie by default (reference-guided assembly isn't informative for bacterial/archaeal annotations)
- Derive the gene BED via gffread --bed so RSeQC infer_experiment gets a usable reference (ea-utils/gtf2bed produced an empty BED from CDS-only annotations)
- Drop RSeQC infer_experiment for bowtie2_salmon (transcriptome-aligned BAMs can't be inferred against a genomic BED; Salmon's own inference is surfaced instead)
- Bowtie2 -k default raised 1 → 200 for bowtie2_salmon, so Salmon's EM has enough multi-mapping evidence to quantify small transcriptomes correctly
📊 SortMeRNA default DB bumped to SILVA 138
Updated to smr_v4.3_default_db — addresses #1354, bringing the shipped rRNA DB up to a much more current reference.
⚠️ Breaking: per-strand bigWigs no longer emitted for unstranded libraries
A strand-agnostic <sample>.bigWig is always emitted, but for unstranded libraries a -strand +/- split carries no biological meaning and has been dropped (#1275).
🔧 Other notable changes:
- Fix per-sample MultiQC hanging under --skip_quantification_merge — each sample's report now fires as soon as its own contributors arrive
- custom/multiqccustombiotype fails loudly when featureCounts exceeds --max_biotypes (default 100), catching misconfigured --featurecounts_group_type values that used to hang MultiQC
- Scope MultiQC's table_sample_merge to samplesheet paired-end IDs so samples like `foo_1`/`foo_2` are no longer collapsed into a single foo row in General Statistics
- Centralize pipeline-specific module configs in conf/modules/ (sarek-style layout)
- Skip sentieon tests on the conda profile (license-server-driven output drifts across conda solves)
- Sync all nf-core components to latest; retire ch_versions plumbing (everything now emits via the versions topic)
🙏 Thanks to everyone who contributed — bug reports, feature requests, reviews and code all very appreciated.
📋 Full changelog and release: https://github.com/nf-core/rnaseq/releases/tag/3.25.0
🐛 Bugs and feature requests to https://github.com/nf-core/rnaseq/issues!