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 ✨
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.panelimport 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-cpudependency (#3553) - Polars: Use Pyodide-compatible dependency on Emscripten (#3554)
Optimization, refactoring and typing
- Linting: Drop Python 2-era idioms (#3546)
New Contributors
- @hemant-goyal made their first contribution in https://github.com/MultiQC/MultiQC/pull/3497
- @FelixKrueger made their first contribution in https://github.com/MultiQC/MultiQC/pull/3538
- @yunhailuo made their first contribution in https://github.com/MultiQC/MultiQC/pull/3480
- @vivekbhr made their first contribution in https://github.com/MultiQC/MultiQC/pull/1946
- @tfenne made their first contribution in https://github.com/MultiQC/MultiQC/pull/3540
- @muffato made their first contribution in https://github.com/MultiQC/MultiQC/pull/3513
- @js2264 made their first contribution in https://github.com/MultiQC/MultiQC/pull/3541
- @chelauk made their first contribution in https://github.com/MultiQC/MultiQC/pull/3492
Full Changelog: https://github.com/MultiQC/MultiQC/compare/v1.34...v1.35