High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed
multiqc on Biowulf

MultiQC searches a directory tree for summary output or logs of many well known bioinformatics tools and compiles them into a single html report across all detected samples and tools.

The tools MultiQC knows about fall into three groups:

Pre-alignment tools
FastQC, Skewer, Cutadapt, ...
Alignment tools
Bowtie1, Bowtie2, STAR, ...
Post-alignment tools
Samtools, Samblaster, Picard, featureCounts, ...

References:

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. Sample session:

[user@biowulf]$ sinteractive
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144 ~]$ module load multiqc
[+] Loading multiqc  1.4
[user@cn3144 ~]$ cp -r $MULTIQC_TEST_DATA/wgs .
[user@cn3144 ~]$ multiqc --title 'WGS test' wgs
[INFO   ]         multiqc : This is MultiQC v1.4
[INFO   ]         multiqc : Template    : default
[INFO   ]         multiqc : Report title: WGS test
[INFO   ]         multiqc : Searching 'wgs'
Searching 1346 files..  [####################################]  100%  
[INFO   ]        qualimap : Found 12 BamQC reports
[INFO   ]          snpeff : Found 6 reports
[INFO   ]     varianteval : Found 6 VariantEval reports
[INFO   ]          picard : Found 6 MarkDuplicates reports
[INFO   ]    fastq_screen : Found 12 reports
[INFO   ]          fastqc : Found 12 reports
[INFO   ]         multiqc : Compressing plot data
[INFO   ]         multiqc : Report      : WGS-test_multiqc_report.html
[INFO   ]         multiqc : Data        : WGS-test_multiqc_report_data
[INFO   ]         multiqc : MultiQC complete

[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$

This generates a comprehensive report with a number of metrics summarized across all samples.

Batch job
Most jobs should be run as batch jobs.

Create a batch input file (e.g. multiqc.sh), which uses the input file 'multiqc.in'. For example:

#!/bin/bash
module load multiqc || exit 1
multiqc --title 'tenure here i come' /path/to/awsome/project

Submit this job using the Slurm sbatch command.

sbatch --cpus-per-task=2 --mem=4g multiqc.sh