Contents

This document provides some examples of the many data visualisation functions available in scater.

Key scater data visualisation functions: * plotScater: cumulative expression, overview plot (this replaces the generic plot function for SCESet objects) * plotExpression: plot cell expression levels for one or more genes * plotExprsVsTxLength: plot transcript expression against transcript length * plotPlatePosition(): plot cell gene expression and metadata with cells in their position on a plate * plotColData/plotCellData/plotPhenoData: plot cell-level metadata variables * plotRowData/plotFeatureData: plot row/gene/feature-level metadata variables * plotReducedDim

1 Cumulative expression plot

It is possible to get an overall view of the dataset by using the plotScater function. This method plots the cumulative proportion of each cell’s library (total counts) that is accounted for by the top highest-expressed features (by default showing the cumulative proportion across the top 500 features).

This type of plot gives an overall idea of differences in expression distributions for different cells. It is used in the same way as per-sample boxplots are for microarray or bulk RNA-seq data. Due to the large numbers of zeroes in expression values for single-cell RNA-seq data, boxplots are not as useful, so instead we focus on the contributions from the most expressed features for each cell.

With this function, we can split up the cells based on colData variables to get a finer-grained look at differences between cells. By default, the plot method will try to use count values for the plot, but other data available in the assays slot of the object can be used by specifying the exprs_vales argument.

suppressPackageStartupMessages(library(scater))
data("sc_example_counts")
data("sc_example_cell_info")
example_sce <- SingleCellExperiment(
    assays = list(counts = sc_example_counts), colData = sc_example_cell_info)
exprs(example_sce) <- log2(calculateCPM(example_sce, 
                                        use.size.factors = FALSE) + 1)

plotScater(example_sce, block1 = "Mutation_Status", block2 = "Treatment",
     colour_by = "Cell_Cycle", nfeatures = 300, exprs_values = "counts")

This sort of approach can help to pick up large differences in expression distributions across different experimental blocks (e.g. processing batches or similar).

2 Plots of expression values

In scater, the plotExpression function makes it easy to plot expression values for a subset of genes or features. This can be particularly useful when investigating the some features identified as being of interest from differential expression testing, pseudotime analysis or other means.

plotExpression(example_sce, rownames(example_sce)[1:6],
               x = "Mutation_Status", exprs_values = "exprs", 
               colour = "Treatment")