Skip to content

Add SAV (Sequencing Analysis Viewer) module#3425

Draft
pinin4fjords wants to merge 1 commit into
MultiQC:mainfrom
pinin4fjords:feature/sav-module
Draft

Add SAV (Sequencing Analysis Viewer) module#3425
pinin4fjords wants to merge 1 commit into
MultiQC:mainfrom
pinin4fjords:feature/sav-module

Conversation

@pinin4fjords
Copy link
Copy Markdown
Contributor

@pinin4fjords pinin4fjords commented Dec 8, 2025

Summary

  • Adds new SAV module for parsing Illumina RunInfo.xml and RunParameters.xml files
  • Provides basic run information display (run ID, flowcell, instrument, cycles, dates, etc.)
  • Adds general stats columns for key run metrics
  • Includes sav_extra plugin hook to allow external plugins to add InterOp-based visualizations

Architecture

Following the pattern established in #3376, this module keeps heavy dependencies external:

The sav_extra hook allows the external plugin to inject additional sections when installed:

if "sav_extra" in plugin_hooks.hook_functions:
    for hook_fn in plugin_hooks.hook_functions["sav_extra"]:
        hook_fn(self)

Features

  • Parses RunInfo.xml for run structure (reads, lanes, cycles, flowcell info)
  • Parses RunParameters.xml for additional metadata (application version, RTA version, chemistry)
  • Shows run information section with key details
  • Adds general stats for quick overview

Test plan

  • Tested with NextSeq 500 run data
  • Verified file pattern matching with shared: true for RunInfo.xml (shared with bclconvert)
  • Run pytest test suite
  • Test with various Illumina platforms (MiSeq, HiSeq, NovaSeq)

Related: MultiQC/MultiQC_SAV#7 (plugin providing InterOp visualizations)

Resolves #1431

🤖 Generated with Claude Code

Implements basic Illumina SAV support via XML parsing of RunInfo.xml and
RunParameters.xml files. Provides run information display and general stats.

Includes a `sav_extra` plugin hook that allows external plugins (like
multiqc_sav) to add InterOp-based visualizations without requiring heavy
dependencies in the core module.

Resolves MultiQC#1431

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

Co-Authored-By: matthdsm <matthdsm@users.noreply.github.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@pinin4fjords
Copy link
Copy Markdown
Contributor Author

Example: multiqc_sav_report.html

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.

New plugin: SAV

1 participant