Introduction

This document describes the output produced by the pipeline. Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline.

The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory.

In the GATK subworkflow, chromosome VCFs larger than 8000 bytes pass through VQSR. VCFs of 8000 bytes or smaller bypass VQSR and contribute unrecalibrated calls to the cohort alongside completed VQSR outputs; small chromosomes are not dropped. VCFs remain paired with their indexes. Each contig has one calling BED and one cohort VCF: chr1.vcf.gz (or chr1.snp.recal.vcf.gz after VQSR). Per-sample GVCFs are named sample.chr1.g.vcf.gz; the final cohort name is unchanged. Duplicate contigs across interval files cause a workflow error before conversion. The concat module still sorts filenames lexicographically (chr1, chr10, chr2), not by reference or natural chromosome order.

Pipeline overview

The pipeline is built using Nextflow and processes data using the following steps:

  • FastQC - Raw read QC
  • BBDuk - Separate adapter trimming and contaminant filtering
  • MultiQC - Aggregate report describing results and QC from the whole pipeline
  • Pipeline information - Report metrics generated during the workflow execution

FastQC

Output files
  • fastqc/
    • *_fastqc.html: FastQC report containing quality metrics.
    • *_fastqc.zip: Zip archive containing the FastQC report, tab-delimited data file and plot images.

FastQC gives general quality metrics about your sequenced reads. It provides information about the quality score distribution across your reads, per base sequence content (%A/T/G/C), adapter contamination and overrepresented sequences. For further reading and documentation see the FastQC help pages.

BBDuk

The single local bbduk_custom module runs as two distinct tasks, BBDUK_TRIM followed by BBDUK_FILTER.

  • trimmed/: adapter-trimmed *_trimmed.fastq.gz, *.trimmed.bbduk.log, *.trimmed.stats.txt and *.trimmed.discarded.fastq.gz. These rejects failed trimming/length checks; they are not contaminant matches.
  • filtered/: final *_filtered.fastq.gz, *.filtered.bbduk.log, *.filtered.stats.txt and *.filtered.discarded.fastq.gz. Filtering removes whole reads matching PhiX or the supplied host/contaminant reference, rather than trimming them. For paired-end data the default BBDuk pair-removal policy is retained: a matching mate rejects the pair, so a rejected mate need not itself match.

Only filtered reads go to downstream analysis. The preprocessing bbduk_stats and bbduk_logs channels contain both stages with distinct filenames; bbduk_dropped contains filtering rejects only, and trim_dropped contains trimming rejects separately.

MultiQC

Output files
  • multiqc/
    • multiqc_report.html: a standalone HTML file that can be viewed in your web browser.
    • multiqc_data/: directory containing parsed statistics from the different tools used in the pipeline.
    • multiqc_plots/: directory containing static images from the report in various formats.

MultiQC is a visualization tool that generates a single HTML report summarising all samples in your project. Most of the pipeline QC results are visualised in the report and further statistics are available in the report data directory.

Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQC. The pipeline has special steps which also allow the software versions to be reported in the MultiQC output for future traceability. For more information about how to use MultiQC reports, see http://multiqc.info.

Pipeline information

Output files
  • pipeline_info/
    • Reports generated by Nextflow: execution_report.html, execution_timeline.html, execution_trace.txt and pipeline_dag.dot/pipeline_dag.svg.
    • Reports generated by the pipeline: pipeline_report.html, pipeline_report.txt and software_versions.yml. The pipeline_report* files will only be present if the --email / --email_on_fail parameter’s are used when running the pipeline.
    • Reformatted samplesheet files used as input to the pipeline: samplesheet.valid.csv.
    • Parameters used by the pipeline run: params.json.

Nextflow provides excellent functionality for generating various reports relevant to the running and execution of the pipeline. This will allow you to troubleshoot errors with the running of the pipeline, and also provide you with other information such as launch commands, run times and resource usage.