Skip to content

Conversation

@pinin4fjords
Copy link
Member

@pinin4fjords pinin4fjords commented Dec 2, 2025

Summary

  • Fix BAM CSI index access error when using --with_umi and --bam_csi_index true with HISAT2 (and STAR) aligners
  • The BAM_DEDUP_UMI subworkflow already handles CSI/BAI logic internally and emits through its bai output channel
  • The main workflow was incorrectly trying to access a non-existent .out.csi channel
  • Update hisat2/align module to include support for large genome indices (.ht2l extension)

Related

Changes

CSI index fix

# Before (broken)
ch_genome_bam_index = params.bam_csi_index ? BAM_DEDUP_UMI_HISAT2.out.csi : BAM_DEDUP_UMI_HISAT2.out.bai

# After (fixed)
ch_genome_bam_index = BAM_DEDUP_UMI_HISAT2.out.bai

Same fix applied for both STAR and HISAT2 aligners.

HISAT2 large genome index support

Updated hisat2/align module to detect both .ht2 and .ht2l index files.

Test plan

  • Test with --aligner hisat2 --with_umi --bam_csi_index true
  • Test with --aligner star_salmon --with_umi --bam_csi_index true
  • Test HISAT2 with large genome index (.ht2l)

🤖 Generated with Claude Code

@github-actions
Copy link

github-actions bot commented Dec 2, 2025

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

Posted for pipeline commit b09e3e4

+| ✅ 285 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-03 17:48:42

The BAM_DEDUP_UMI subworkflow handles CSI/BAI index logic internally
and emits the appropriate index through its `bai` output channel.
The main workflow was incorrectly trying to access a non-existent
`csi` output channel when `bam_csi_index` was true.

Fixes the error: "No such property: csi for class:
groovyx.gpars.dataflow.DataflowBroadcast"

This fix applies to both STAR and HISAT2 aligners when used with
--with_umi and --bam_csi_index options.

Fixes #1643

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

Co-Authored-By: Claude <[email protected]>
@pinin4fjords pinin4fjords force-pushed the fix/bam-csi-index-umi-dedup branch from 6a5bdda to 6fa24cf Compare December 2, 2025 12:21
pinin4fjords and others added 3 commits December 2, 2025 12:46
- Update to latest upstream hisat2/align module which includes support
  for large genome indices (.ht2l extension) via nf-core/modules#9493
- Regenerate patch file for rnaseq-specific changes (contaminant_screening)

🤖 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]>
@pinin4fjords pinin4fjords linked an issue Dec 2, 2025 that may be closed by this pull request
Add rsem.merged.genes_long.tsv and rsem.merged.isoforms_long.tsv
to bam_input and star_rsem test snapshots to match new RSEM output.

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

Co-Authored-By: Claude <[email protected]>
@pinin4fjords
Copy link
Member Author

ARM CI Failures

The ARM test failures are caused by missing MultiQC plot files due to kaleido issues with the current v1.31.

We tested upgrading to MultiQC v1.32, but that introduces a different issue - the FastQC status check heatmaps fail to export due to a hex code bug (MultiQC/MultiQC#3402).

Both issues should be resolved in MultiQC v1.33, so we'll update the module once that's released.

Since ARM tests are non-blocking and these failures are unrelated to the changes in this PR, merging now.

🤖 Generated with Claude Code

@pinin4fjords pinin4fjords merged commit 0d59624 into dev Dec 4, 2025
114 of 123 checks passed
@pinin4fjords pinin4fjords deleted the fix/bam-csi-index-umi-dedup branch December 4, 2025 13:23
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.

possible tiny bug with bam_csi_index & hisat2 aligner & umi

3 participants