Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [PR #1844](https://github.com/nf-core/rnaseq/pull/1844) - Bump version to 3.27.0dev after release 3.26.0; flip the MultiQC report links and RO-Crate URL/version back to dev
- [PR #1848](https://github.com/nf-core/rnaseq/pull/1848) - Align `actions/checkout` SHA in `nf-test-arm.yml` and `nf-test-gpu.yml` with the template-derived `nf-test.yml` (`v6`) ([#1847](https://github.com/nf-core/rnaseq/issues/1847))
- [PR #1849](https://github.com/nf-core/rnaseq/pull/1849) - Tidy-up batch addressing [#1845](https://github.com/nf-core/rnaseq/issues/1845): README/schema clarifications, `&` → `&&` in three guards, deduplicated `withName` blocks, and removal of the unmaintained `bin/fastq_dir_to_samplesheet.py` (use [nf-core/fetchngs](https://nf-co.re/fetchngs) for samplesheet generation)
- [PR #1850](https://github.com/nf-core/rnaseq/pull/1850) - Use the active aligner's display name in the MultiQC `fail_mapped` per-sample status row, and drop the hardcoded "STAR" reference from the pipeline-completion `min_mapped_reads` warning, so Bowtie2 reports no longer mislabel the metric as STAR ([#1846](https://github.com/nf-core/rnaseq/issues/1846))

## [[3.26.0](https://github.com/nf-core/rnaseq/releases/tag/3.26.0)] - 2026-05-07

Expand Down
3 changes: 2 additions & 1 deletion subworkflows/local/multiqc_rnaseq/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ workflow MULTIQC_RNASEQ {
ch_strand_data // channel: [ val(meta), provided, status, salmon, rseqc ] - per-sample strand classification, used for the Strandedness checks section
ch_trim_read_count // channel: [ val(meta), val(num_reads) ] - for fail_trimmed section
ch_percent_mapped_pass // channel: [ id, percent_mapped, pass ] - for fail_mapped section
aligner_display_name // string: display name of the aligner used for the percent_mapped metric, e.g. 'STAR uniquely mapped reads' or 'Bowtie2 overall alignment rate'
ch_fastq // channel: [ val(meta), [ reads ] ]
ch_collated_versions // channel: path(versions yaml)
samplesheet_path // path: pipeline input samplesheet
Expand Down Expand Up @@ -73,7 +74,7 @@ workflow MULTIQC_RNASEQ {
.collectFile { id, percent_mapped, _pass ->
[
"${id}_fail_mapped_samples_mqc.tsv",
sample_status_header.text + "Sample\tSTAR uniquely mapped reads (%)\n${id}\t${percent_mapped}\n",
sample_status_header.text + "Sample\t${aligner_display_name} (%)\n${id}\t${percent_mapped}\n",
]
}
.map { f -> [f.baseName.replace('_fail_mapped_samples_mqc', ''), f] }
Expand Down
2 changes: 1 addition & 1 deletion subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -878,7 +878,7 @@ def rnaseqSummary(monochrome_logs=true, pass_mapped_reads=[:], pass_trimmed_read
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Please check MultiQC report: ${fail_trimmed_count}/${pass_trimmed_reads.size()} samples skipped since they failed ${params.min_trimmed_reads} trimmed read threshold.${colors.reset}-"
}
if (fail_mapped_count > 0) {
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Please check MultiQC report: ${fail_mapped_count}/${pass_mapped_reads.size()} samples skipped since they failed STAR ${params.min_mapped_reads}% mapped threshold.${colors.reset}-"
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Please check MultiQC report: ${fail_mapped_count}/${pass_mapped_reads.size()} samples skipped since they failed the ${params.min_mapped_reads}% mapped threshold.${colors.reset}-"
}
if (fail_strand_count > 0) {
log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Please check MultiQC report: ${fail_strand_count}/${pass_strand_check.size()} samples failed strandedness check.${colors.reset}-"
Expand Down
10 changes: 10 additions & 0 deletions workflows/rnaseq/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,15 @@ workflow RNASEQ {
def ch_biotypes_header_multiqc = file("$projectDir/workflows/rnaseq/assets/multiqc/biotypes_header.txt", checkIfExists: true)
def ch_transcript_fasta_placeholder = ch_pca_header_multiqc

// Match the General Statistics column the active aligner emits so the
// MultiQC fail_mapped row reads consistently with the rest of the report.
def aligner_display_name = [
'star_salmon' : 'STAR uniquely mapped reads',
'star_rsem' : 'STAR uniquely mapped reads',
'hisat2' : 'HISAT2 overall alignment rate',
'bowtie2_salmon' : 'Bowtie2 overall alignment rate',
].get(params.aligner, 'Aligned reads')

// Pre-build fasta_fai value channels for subworkflows that need [meta, fasta, fai]
// .first() converts the queue channel to a value channel so it can be consumed multiple times
ch_fasta_fai = ch_fasta.combine(ch_fai).map { fasta, fai -> [ [:], fasta, fai ] }.first()
Expand Down Expand Up @@ -809,6 +818,7 @@ workflow RNASEQ {
ch_strand_data,
ch_trim_read_count,
ch_genome_bam_bai_mapping.percent_mapped_pass,
aligner_display_name,
ch_fastq,
ch_collated_versions,
params.input,
Expand Down
Loading