/MultiQC

Aggregate results from bioinformatics analyses across many samples into a single report.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

MultiQC

Aggregate bioinformatics results across many samples into a single report.

PyPI Version Conda Version Docker Build Status

Gitter DOI


MultiQC is a tool to create a single report with interactive plots for multiple bioinformatics analyses across many samples.

MultiQC is written in Python (tested with v2.7, 3.4, 3.5 and 3.6). It is available on the Python Package Index and through conda using Bioconda.

Reports are generated by scanning given directories for recognised log files. These are parsed and a single HTML report is generated summarising the statistics for all logs found. MultiQC reports can describe multiple analysis steps and large numbers of samples within a single plot, and multiple analysis tools making it ideal for routine fast quality control.

Currently, supported tools include:

Read QC & pre-processing Aligners / quantifiers Post-alignment processing Post-alignment QC
Adapter Removal BBMap Bamtools biobambam2
AfterQC BISCUIT Bcftools BUSCO
Bcl2fastq Bismark GATK Conpair
BBTools Bowtie HOMER DamageProfiler
BioBloom Tools Bowtie 2 HTSeq DeDup
ClipAndMerge HiCUP MACS2 deepTools
Cluster Flow HiC-Pro Picard Disambiguate
Cutadapt HISAT2 Prokka goleft
leeHom Kallisto RSEM HiCExplorer
InterOp Long Ranger Samblaster methylQA
FastQC Salmon Samtools miRTrace
FastQ Screen Slamdunk SnpEff Peddy
Fastp STAR Subread featureCounts phantompeakqualtools
FLASh Tophat Stacks Preseq
Flexbar THetA2 QoRTs
Jellyfish Qualimap
KAT QUAST
MinIONQC RNA-SeQC
Skewer RSeQC
SortMeRNA Sargasso
Trimmomatic Supernova
VCFTools
VerifyBAMID

MultiQC can also easily parse data from custom scripts, if correctly formatted / configured. See the MultiQC documentation for more information.

Please note that some modules only recognise output from certain tool subcommands. Please follow the links in the above table to the module documentation for more information.

More modules are being written all of the time. Please suggest any ideas as a new issue (include an example log file if possible).

Installation

You can install MultiQC from PyPI using pip as follows:

pip install multiqc

Alternatively, you can install using Conda from the bioconda channel:

conda install -c bioconda multiqc

If you would like the development version instead, the command is:

pip install --upgrade --force-reinstall git+https://github.com/ewels/MultiQC.git

MultiQC is also available in the Galaxy Toolshed.

Usage

Once installed, you can use MultiQC by navigating to your analysis directory (or a parent directory) and running the tool:

multiqc .

That's it! MultiQC will scan the specified directory (. is the current dir) and produce a report detailing whatever it finds.

The report is created in multiqc_report.html by default. Tab-delimited data files are also created in multiqc_data/, containing extra information. These can be easily inspected using Excel (use --data-format to get yaml or json instead).

For more detailed instructions, run multiqc -h or see the documentation.

Citation

Please consider citing MultiQC if you use it in your analysis.

MultiQC: Summarize analysis results for multiple tools and samples in a single report
Philip Ewels, Måns Magnusson, Sverker Lundin and Max Käller
Bioinformatics (2016)
doi: 10.1093/bioinformatics/btw354
PMID: 27312411

@article{doi:10.1093/bioinformatics/btw354,
author = {Ewels, Philip and Magnusson, Måns and Lundin, Sverker and Käller, Max},
title = {MultiQC: summarize analysis results for multiple tools and samples in a single report},
journal = {Bioinformatics},
volume = {32},
number = {19},
pages = {3047},
year = {2016},
doi = {10.1093/bioinformatics/btw354},
URL = { + http://dx.doi.org/10.1093/bioinformatics/btw354},
eprint = {/oup/backfile/Content_public/Journal/bioinformatics/32/19/10.1093_bioinformatics_btw354/3/btw354.pdf}
}

Contributions & Support

Contributions and suggestions for new features are welcome, as are bug reports! Please create a new issue for any of these, including example reports where possible. MultiQC has extensive documentation describing how to write new modules, plugins and templates.

There is a chat room for the package hosted on Gitter where you can discuss things with the package author and other developers: https://gitter.im/ewels/MultiQC

If in doubt, feel free to get in touch with the author directly: @ewels (phil.ewels@scilifelab.se)

Contributors

Project lead and main author: @ewels

Code contributions from: @ahvigil, @aledj2, @apeltzer, @avilella, @boulund, @bschiffthaler, @chuan-wang, @cpavanrun, @dakl, @ehsueh, @epruesse, @florianduclot, @guillermo-carrasco, @HLWiencko, @iimog, @joachimwolff, @jrderuiter, @lpantano, @matthdsm, @MaxUlysse, @mlusignan, @moonso, @noirot, @remiolsen, @rdali, @rlegendre, @robinandeer, @Rotholandus, @sachalau, @t-neumann, @vladsaveliev, @winni2k, @wkretzsch, @nservant,

and many others. Thanks for your support!

MultiQC is released under the GPL v3 or later licence.