/MultiQC_EdGen

Plugin for MultiQC specific to use with Illuminatus pipeline

Primary LanguagePythonOtherNOASSERTION

MultiQC plugin for Illuminatus

This code provides the required MultiQC theme and modules for properly creating reports in the Illuminatus pipeline. It is very specific to Edinburgh Genomics, including some hard-coded references to internal paths and servers. It is provided on GitHub mainly as an example for anyone looking to adapt Illuminatus to their own setup.

Also note that the plugin only works properly with our internal fork of MultiQC. We'd hoped to re-synchronise this fork with the official MultiQC release but this has not yet happened.

Main features

Illuminatus produces a MultiQC overview report per Illumina run and also a separate report for each lane. All the reports contain a navigation tab strip and common header so that to the user they appear to be separate pages of a combined report.

The overview report mainly contains custom content tables pre-generated by Illuminatus and the header generated by this plugin, so it's not a typical MultiQC report. The General Statistics table is suppressed.

As well as the tables, some pre-processed InterOp reports are rendered to images by calls to GnuPlot and APNG Assembler within the edgen_interop.py code.

The per-lane reports are more typical MultiQC reports incorporating FastQC graphs and Fastq Screen plots as well as metadata from the Stats.json bcl2fastq logs, and a General Statistics summary.

Note that we use Cutadapt specifically to look for short inserts and adapter dimer so the stock MultiQC module provided with MultiQC is not appropriate. Instead a plot of cumulative adapter content by position is rendered. For most good lanes this will be a flat line. If many short fragments entered the sequencing reaction the line will curve upwards. If the library contains size-selected short reads then we expect to see a clear step in the plot.

The custom HTML template also includes our LUI (Lane Usability Indicator) code that communicates with a small web service and ultimately our Clarity LIMS. If reports are viewed on an external system this code does not activate.