Making custom Quarto documents with Multiqc components from Nextflow output (it could be outputs from anything, e.g. scripts or tools, or other workflow managers).
Note
Before MultiQC 1.22, one needed to create custom panels and include them into MultiQC which is what v1.0 of this repository demonstrates. This updated version explores using MultiQC as a python library in a Quarto document.
The Quarto report is generated within a Nextflow process.
The Quarto report also demonstrates using conditional sections. This is
achieved by copying the params.yml
as _quarto.yml
and then using the
when-meta
/unless-meta
attributes.
Warning
Hiding sections with when-meta
/unless-meta
does not stop the computations
from running, and so you should still check the params
before executing
a code cell.
pixi run nextflow
Have pixi
and git
available in your path.
git clone https://github.com/mahesh-panchal/nextflow-quarto-multiqc-demo.git
cd nextflow-quarto-multiqc-demo
pixi run nextflow
MultiQC supports a lot of tools, but not all. Since it's designed primarily for summaries of large sets of samples, this means that some tools have a hard time getting plugins since you're only interested in a few plots. While MultiQC supports custom content, including single images, sets of images are not really supported. Quarto is a flexible publishing tool that lets you use most languages to process inputs and lay them out as you want. As a result, you can do things like create tabbed panels per sample and then include this html as custom content in MultiQC.