Learn R Programming

scater (version 1.0.4)

plotMDS: Produce a multidimensional scaling plot for an SCESet object

Description

#' Produce an MDS plot from the cell pairwise distance data in an SCESet dataset.

Usage

plotMDS(object, ...)
plotMDSSCESet(object, ncomponents = 2, colour_by = NULL, shape_by = NULL, size_by = NULL, return_SCESet = FALSE, draw_plot = TRUE, theme_size = 10, legend = "auto")
"plotMDS"(object, ncomponents = 2, colour_by = NULL, shape_by = NULL, size_by = NULL, return_SCESet = FALSE, draw_plot = TRUE, theme_size = 10, legend = "auto")

Arguments

object
an SCESet object
...
arguments passed to S4 plotMDS method
ncomponents
numeric scalar indicating the number of principal components to plot, starting from the first principal component. Default is 2. If ncomponents is 2, then a scatterplot of PC2 vs PC1 is produced. If ncomponents is greater than 2, a pairs plots for the top components is produced. NB: computing more than two components for t-SNE can become very time consuming.
colour_by
character string defining the column of pData(object) to be used as a factor by which to colour the points in the plot.
shape_by
character string defining the column of pData(object) to be used as a factor by which to define the shape of the points in the plot.
size_by
character string defining the column of pData(object) to be used as a factor by which to define the size of points in the plot.
return_SCESet
logical, should the function return an SCESet object with principal component values for cells in the reducedDimension slot. Default is FALSE, in which case a ggplot object is returned.
draw_plot
logical, should the plot be drawn on the current graphics device? Only used if return_SCESet is TRUE, otherwise the plot is always produced.
theme_size
numeric scalar giving default font size for plotting theme (default is 10).
legend
character, specifying how the legend(s) be shown? Default is "auto", which hides legends that have only one level and shows others. Alternatives are "all" (show all legends) or "none" (hide all legends).

Value

If return_SCESet is TRUE, then the function returns an SCESet object, otherwise it returns a ggplot object.

Details

The function cmdscale is used internally to compute the multidimensional scaling components to plot.

Examples

Run this code
## Set up an example SCESet
data("sc_example_counts")
data("sc_example_cell_info")
pd <- new("AnnotatedDataFrame", data = sc_example_cell_info)
example_sceset <- newSCESet(countData = sc_example_counts, phenoData = pd)
drop_genes <- apply(exprs(example_sceset), 1, function(x) {var(x) == 0})
example_sceset <- example_sceset[!drop_genes, ]
example_sceset <- calculateQCMetrics(example_sceset)

## define cell-cell distances
cellDist(example_sceset) <- as.matrix(dist(t(exprs(example_sceset))))

## Examples plotting
plotMDS(example_sceset)
plotMDS(example_sceset, colour_by = "Cell_Cycle")
plotMDS(example_sceset, colour_by = "Cell_Cycle",
shape_by = "Treatment")

## define cell-cell distances differently
cellDist(example_sceset) <- as.matrix(dist(t(counts(example_sceset)),
method = "canberra"))
plotMDS(example_sceset, colour_by = "Cell_Cycle",
shape_by = "Treatment", size_by = "Mutation_Status")

Run the code above in your browser using DataLab