Aggregates QC outputs from 150+ bioinformatics tools into a single interactive HTML report. Scans directories for FastQC, samtools, STAR, HISAT2, Trim Galore, featureCounts, Kallisto, Salmon, Picard, and GATK logs; merges statistics across samples with interactive plots. Essential for NGS pipeline QC review. Use FastQC directly instead for single-sample initial assessment; MultiQC is for multi-sample pipeline-wide reporting.
MultiQC automatically searches directories for QC log files from 150+ bioinformatics tools and aggregates statistics across all samples into a single interactive HTML report. It parses outputs from FastQC, samtools flagstat, STAR, HISAT2, Trim Galore, Salmon, Kallisto, featureCounts, Picard, GATK, and many more — eliminating the need to manually review per-sample QC files. Reports include interactive bar plots, scatter plots, heatmaps, and tables with configurable warnings and pass/fail thresholds.
multiqc.zip, samtools .flagstat, STAR Log.final.out, etc.) — MultiQC finds them automaticallypip install multiqc
# Verify
multiqc --version
# MultiQC v1.25.0
# With conda (recommended for bioinformatics)
conda install -c bioconda multiqc
MultiQC aggregates existing output — first run your QC tools.
# FastQC on all FASTQ files
mkdir -p qc/fastqc
fastqc data/*.fastq.gz -o qc/fastqc/ -t 8
# samtools flagstat on all BAM files
for bam in results/*.bam; do
samtools flagstat $bam > qc/$(basename $bam .bam).flagstat
done
echo "QC files generated: $(ls qc/ | wc -l)"
MultiQC recursively scans for recognized QC files.
# Basic run: scan current directory recursively
multiqc .
# Specify output directory and report name
multiqc . -o reports/ -n project_qc_report
# Scan specific subdirectories only
multiqc qc/fastqc/ results/star/ logs/trimming/ -o reports/
# Output: reports/project_qc_report.html
echo "Report: reports/project_qc_report.html"
Use multiqc_config.yaml to set custom thresholds, sample naming, and module order.
# multiqc_config.yaml — place in working directory