MultiQC Version 1.16
Highlight: Reporting software versions
New in v1.16 - software version information can now automatically parsed from log output where available, and added to MultiQC in a standardised manner. It's shown in the MultiQC report next to section headings and in a dedicated report section, as well as being saved to multiqc_data
. Where version information is not available in logs, it can be submitted manually by using a new special file type with filename pattern *_mqc_versions.yml
. There's the option of representing groups of versions, useful for a tool that uses sub-tools, or pipelines that want to report version numbers per analysis step.
There are a handful of new config scopes to control behaviour: software_versions
, skip_versions_section
, disable_version_detection
, versions_table_group_header
.
See the documentation for more (writing modules, supplying stand-alone)
Huge thanks to @pontushojer for the contribution (#1927). This idea goes way back to issue #290, made in 2016! 🎉
MultiQC updates
- Removed
simplejson
unused dependency (#1973) - Give config
custom_plot_config
priority over column-specific settings set by modules - When exporting plots, make a more clear error message for unsupported FastQC dot plot (#1976)
- Fixed parsing of
plot_type: "html"
data
in json custom content - Replace deprecated
pkg_resources
- Fix the module groups configuration for modules where the namespace is passed explicitly to
general_stats_addcols
. Namespace is now always appended to the module name in the general stats (2037). - Do not call
sys.exit()
in themultiqc.run()
function, to avoid breaking interactive environments. #2055 - Fixed the DOI exports in
multiqc_data
to include more than just the MultiQC paper (#2058) - Fix table column color scaling then there are negative numbers (1869)
- Export plots as static images and data in a ZIP archive. Fixes the issue when only 10 plots maximum were downloaded due to the browser limitation.
New Modules
- Bakta
- Rapid and standardized annotation of bacterial genomes, MAGs & plasmids.
- mapDamage
- mapDamage2 is a computational framework written in Python and R, which tracks and quantifies DNA damage patterns among ancient DNA sequencing reads generated by Next-Generation Sequencing platforms.
- Sourmash
- Quickly search, compare, and analyze genomic and metagenomic data sets.
Module updates
- BcfTools
- Stats: fix parsing multi-sample logs (#2052)
- Custom content
- Don't convert sample IDs to floats (#1883)
- DRAGEN
- Make DRAGEN module use
fn_clean_exts
instead of hardcoded file names. Fixes working with arbitrary file names (#1994)
- Make DRAGEN module use
- FastQC:
- fix
UnicodeDecodeError
when parsingfastqc_data.txt
: try latin-1 or fail gracefully (#2024)
- fix
- Kaiju:
- Fix
UnboundLocalError
on outputs when Kanju was run with the-e
flag (#2023)
- Fix
- Kraken
- Mosdepth
- Add X/Y relative coverage plot, analogous to the one in samtools-idxstats (#1978)
- Added the
perchrom_fraction_cutoff
option into the config to help avoid clutter in contig-level plots - Fix a bug happening when both
region
andglobal
coverage histograms for a sample are available (i.e. when mosdepth was run with--by
, see mosdepth docs). In this case, data was effectively merged. Instead, summarise it separately and add a separate report section for the region-based coverage data. - Do not fail when all input samples have no coverage (#2005).
- NanoStat
- Support new format (#1997).
- RSeQC
- Samtools
- Stats: fix "Percent Mapped" plot when samtools was run with read filtering (#1972)
- Qualimap
- BamQC: Include
% On Target
in General Stats table (#2019)
- BamQC: Include
- WhatsHap
- Bugfix: ensure that TSV is only split on tab character. Allows sample names with spaces (#1981)
New Contributors
- @gdrosos made their first contribution in #1973
- @antass made their first contribution in #1991
- @lindenb made their first contribution in #1972
- @odcambc made their first contribution in #1968
- @ehenrion made their first contribution in #1855
- @louperelo made their first contribution in #1959
- @Joon-Klaps made their first contribution in #1903
- @sstrong99 made their first contribution in #1891
- @taylorreiter made their first contribution in #1812
- @FerriolCalvet made their first contribution in #2020
Full Changelog: v1.15...v1.16