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 pipeline is built using Nextflow
and processes the data using the steps presented in the main README file.
Briefly, its goal is to process single cell RNAseq data obtained with smartSeq3 protocol.
The directories listed below will be created in the output directory after the pipeline has finished.
The first part (Reads mapping) focuses on read QCs and the second part (Cell viability) explores umi and gene counts.
The mapping part summarises alignment and assignment steps and shows the total proportion of correctly aligned and assigned reads (in blue) that will be used for further analysis.
Alignment and assignment are described in more detail in the two following parts.
STAR software is used to aligned reads to a reference genome. Alignment statistics show the total number of reads in each sample and their alignment results.
A percentage representation can also be plotted. At least 70% of reads are expected to be uniquely mapped.
Output directory: readAlignment
[sample]Aligned.sortedByCoord.out.bam[sample]Log.final.out, [sample]Log.progress.out, [sample]Log.outFeatureCounts tool is used to assign reads to genes. Assignment statistics show the total number of reads in each sample and their assignment results as follow :
A percentage representation can also be plotted. A least 60% of aligned reads are expected to be assigned to a gene.
Output directory: readAssignment
[sample]Aligned.sortedByCoord.out.bam.featureCounts.bam[sample]_counts.summaryThe number of UMIs per gene represents gene expression level within each cell. Their distributions are plotted in the following graph. Number of UMIs per gene depends on sequencing depth. An upper limit of 70 UMIs (x axis) is set to allow a better representation.
Output directory: umiPerGeneDist
[sample]_umi_HistUMIperGene_mqc.csvCutadapt is used to trim 3'linkers (21bp in total) and polyA tails (arround 30bp long) on R2. Only few of them have a part of the pattern, generally ~2% and the majority mainly have 3 to 5bp that match.
Results are summarized in a plot as follows:
Output directory: trimReads
[sample]_trimmed.R1.fastq, [sample]_trimmed.R2.fastq[sample]_trimmed.logGene body coverage script (from RSeQC package) shows the read coverage gene bodies. In SmartSeq3 data, reads containing a UMI correspond to the 5' part of genes whereas reads without UMI mainly cover the middle and the 3' part of genes.
Output directory: genebody_coverage
geneBodyCoverage/[sample]_umi.rseqc.geneBodyCoverage.curves.pdf, geneBodyCoverage/[sample]_NonUmi.rseqc.geneBodyCoverage.curves.pdfgeneBodyCoverage/data/ , geneBodyCoverage/rscripts/Once the mapping step is done, resulting sequences are sorted and stored in bam files.
Output directory: sortBam
[sample]_Sorted.bamThe bigWig format is in an indexed binary format useful for displaying dense, continuous data in Genome Browsers such as the UCSC and IGV. This mitigates the need to load the much larger BAM files for data visualisation purposes which will be slower and result in memory issues. The coverage values represented in the bigWig file can also be normalised in order to be able to compare the coverage across multiple samples - this is not possible with BAM files. Here, a CPM (counts er million) normalisation is used. The bigWig format is also supported by various bioinformatics software for downstream processing such as meta-profile plotting.
Output directory: bigWig
[sample]_coverage.bwFrom correctly aligned and assigned reads, UMIs and genes counts are analyzed.
Visualisation of the ratio UMIs/transcrits per cell in a dotplot as follow.
Output directory: cellAnalysis
RatioPerCell.csvAn important quality control in single cell data is the calculation of the percentage of mitochondrial (mt) transcrits over the total counts. Indeed, a high number of mt RNAs will reflect apoptotic, stressed or low-quality cells. The threshold can vary according accross cell types.
Output directory: cellAnalysis
MtGenePerCell.csvumi-tools is used to count the number of UMIs per gene and per sample and generate matrices.
Output directory: countMatrices
[sample]_umi_Counts.tsv.gz[sample]_umi_Counts.logA 10X format matrix is also provided containing all cells and counts within one table.
Output directory: cellAnalysis/10Xoutput
Preseq estimates the complexity of a library, showing how many additional unique reads are sequenced for increasing the total read count. A shallow curve indicates that the library has reached complexity saturation and further sequencing would likely not add further unique reads. The dashed line shows a perfectly complex library where total reads = unique reads.
NB: Note that these are predictive numbers only, not absolute. The MultiQC plot shows extrapolation until 16 Millions of sequencing reads on the X axis - click and drag from the left side of the plot to zoom in on more realistic numbers.
Output directory: results/preseq
sample.extrap_ccurve.txtIn addition to library complexity, we use a custom R script to infer the library complexity at the gene level. In this case, the script downsample the libraries and counts how many genes are detected (with at least 1 UMI). It therefore gives an overview of the number of detected genes at various sequencing depth.
Output directory: results/geneSaturation
counts.gcurve.txtMultiQC is a visualisation 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 within the report data directory.
The pipeline has special steps which allow the software versions used to be reported in the MultiQC output for future traceability.
Output directory: multiqc
report.htmlmultiqc_data/For more information about how to use MultiQC reports, see http://multiqc.info.