Skip to main content

MultiQC v1.35

This release has a very nice shiny new feature for you: the MultiQC Configuration Wizard! 👨🏻‍🎨 🎨

This has an interactive form where you can browse all MultiQC config attributes (there are quite a lot). See them organised with help text and examples. Enter values into the form and have them validated in real time. 📋 ✅

Then see your generated YAML config in a code editor (where you can paste existing configs if you wish). See the config file explained, validated and suggestions for fixes. 📚

The config wizard is a static HTML file that is bundled with the MultiQC repo, but it's easiest to try out online: https://seqera.io/multiqc_config_wizard

CleanShot 2026-05-13 at 02 56 00@2x

New modules

  • CheckAtlas (#3545)
    • A one-liner tool for quality control of single-cell atlases.
  • Deacon (#3564)
    • Search and depletion of FASTA/FASTQ files and streams using accelerated minimizer matching.
  • FastQE (#3490)
    • Uses emoji to represent FASTQ sequence quality scores.
  • hicstuff (#3541)
    • Hi-C pipeline that generates contact maps from sequencing reads.
  • HiFi-Trimmer (#3513)
    • Filters and trims adapter sequences from HiFi reads using BLAST.
  • Riker (#3540)
    • Fast Rust toolkit that ports key sequencing QC tools from Picard.
  • sincei (#1946)
    • Toolkit for processing and analysing single-cell (epi)genomics data.
  • Trim Galore (#3538)
    • Native v2.x support: quality and adapter trimming for next-generation sequencing data, with special handling for RRBS libraries.

Module updates

  • Bases2Fastq: Major upgrade to the module, now shows a lot more information (#3460)
  • Falco: Add native recognition for Falco output (#3497)
  • Fastp: Add % surviving bases (#3472)
  • Sequali: Expand general statistics, add normalised plots (#3530)

Module fixes

  • Bcftools: Fix stats zero-depth plot crash (#3556)
  • Cell Ranger ARC: Fix key collisions between ATAC and GEX metrics (#3480)
  • Dragen: Fix incorrect average GC% in FastQC for all samples except the first in batch (#3505)
  • Haplocheck: Don't overwrite prior results, allow multiple samples (#3512)

Feature updates and improvements

  • Config: Major new automations using config schema (#3183, #3558, #3561)
    • Automated markdown reference documentation of all config attributes for the docs
    • New interactive tool for building, editing and validating MultiQC config files: https://seqera.io/multiqc_config_wizard
  • AI: Catch unexpected AWS Bedrock response shapes (#3440)
  • custom_plot_config: Fix deprecated camelCase aliases (e.g. yPlotBands) (#3547)
  • custom_plot_config: Per-tab targeting for multi-data_labels plots (#3548)
  • Custom content: Fix crash on data type conflict between files (#3560)
  • Custom images: Support more MIME types, add custom favicon (#3469)
  • Plots: Add section alerts for filtered samples (#3549)
  • Plots: Fix barplot ValueError when all categories are zero (#3563)
  • Report: Add spacing between AI summary and general stats (#3470)
  • Run merging: Fix grouped sample totals and hierarchy being lost during parquet merging (#3559)
  • Tables: Allow defaultsort to include the first column header (#3519)
  • Tests: Fix pytest warning sources (#3551)

Fixes

  • Config: Fix env var overwrite where booleans/ints/floats were stored as strings (#3557)
  • Core: Fix rich.panel import in module-failure exception handler (#3537)
  • custom_plot_config: Fix parsing of y_bands/x_bands/x_lines/y_lines (#3459)
  • Report: Fix race causing empty zip files when exporting plots (#3555)

Infrastructure and packaging

  • Claude Code: Update agent instructions (#3552)
  • Frontend: Update npm packages (#3562)
  • Packaging: Bump minimum Python to 3.9 (#3542)
  • Polars: Replace deprecated polars-lts-cpu dependency (#3553)
  • Polars: Use Pyodide-compatible dependency on Emscripten (#3554)

Optimization, refactoring and typing

  • Linting: Drop Python 2-era idioms (#3546)

New Contributors

Full Changelog: https://github.com/MultiQC/MultiQC/compare/v1.34...v1.35