runMDS {scater}R Documentation

Perform MDS on cell-level data

Description

Perform multi-dimensional scaling (MDS) on cells, based on the data in a SingleCellExperiment object.

Usage

runMDS(object, ncomponents = 2, ntop = 500, feature_set = NULL,
  exprs_values = "logcounts", scale_features = TRUE, use_dimred = NULL,
  n_dimred = NULL, method = "euclidean")

Arguments

object

A SingleCellExperiment object.

ncomponents

Numeric scalar indicating the number of MDS dimensions to obtain.

ntop

Numeric scalar specifying the number of most variable features to use for MDS.

feature_set

Character vector of row names, a logical vector or a numeric vector of indices indicating a set of features to use for MDS. This will override any ntop argument if specified.

exprs_values

Integer scalar or string indicating which assay of object should be used to obtain the expression values for the calculations.

scale_features

Logical scalar, should the expression values be standardised so that each feature has unit variance?

use_dimred

String or integer scalar specifying the entry of reducedDims(object) to use as input to cmdscale. Default is to not use existing reduced dimension results.

n_dimred

Integer scalar, number of dimensions of the reduced dimension slot to use when use_dimred is supplied. Defaults to all available dimensions.

method

String specifying the type of distance to be computed between cells.

Details

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

Setting use_dimred allows users to easily perform MDS on low-rank approximations of the original expression matrix (e.g., after PCA). In such cases, arguments such as ntop, feature_set, exprs_values and scale_features will be ignored.

Value

A SingleCellExperiment object containing the coordinates of the first ncomponent MDS dimensions for each cell. This is stored in the "MDS" entry of the reducedDims slot.

Author(s)

Aaron Lun, based on code by Davis McCarthy

See Also

cmdscale, plotMDS

Examples

## Set up an example SingleCellExperiment
data("sc_example_counts")
data("sc_example_cell_info")
example_sce <- SingleCellExperiment(
    assays = list(counts = sc_example_counts),
    colData = sc_example_cell_info
)
example_sce <- normalize(example_sce)

example_sce <- runMDS(example_sce)
reducedDimNames(example_sce)
head(reducedDim(example_sce))

[Package scater version 1.8.4 Index]