DiffusionMap-class: Create a diffusion map of cells

DiffusionMap-classR Documentation

Create a diffusion map of cells

Description

The provided data can be a double matrix of expression data or a data.frame with all non-integer (double) columns being treated as expression data features (and the others ignored), an ExpressionSet, or a SingleCellExperiment.

Usage

DiffusionMap(
  data = stopifnot_distmatrix(distance),
  sigma = "local",
  k = find_dm_k(dataset_n_observations(data, distance) - 1L),
  n_eigs = min(20L, dataset_n_observations(data, distance) - 2L),
  density_norm = TRUE,
  ...,
  distance = c("euclidean", "cosine", "rankcor", "l2"),
  n_pcs = NULL,
  n_local = seq(to = min(k, 7L), length.out = min(k, 3L)),
  rotate = FALSE,
  censor_val = NULL,
  censor_range = NULL,
  missing_range = NULL,
  vars = NULL,
  knn_params = list(),
  verbose = !is.null(censor_range),
  suppress_dpt = FALSE
)

Arguments

data

Expression data to be analyzed and covariates. Provide vars to select specific columns other than the default: all double value columns. If distance is a distance matrix, data has to be a data.frame with covariates only.

sigma

Diffusion scale parameter of the Gaussian kernel. One of 'local', 'global', a (numeric) global sigma or a Sigmas object. When choosing 'global', a global sigma will be calculated using find_sigmas. (Optional. default: 'local') A larger sigma might be necessary if the eigenvalues can not be found because of a singularity in the matrix

k

Number of nearest neighbors to consider (default: a guess betweeen 100 and n - 1. See find_dm_k).

n_eigs

Number of eigenvectors/values to return (default: 20)

density_norm

logical. If TRUE, use density normalisation

...

Unused. All parameters to the right of the ... have to be specified by name (e.g. DiffusionMap(data, distance = 'cosine'))

distance

Distance measurement method applied to data or a distance matrix/dist. For the allowed values, see find_knn. If this is a sparseMatrix, zeros are interpreted as "not a close neighbors", which allows the use of kNN-sparsified matrices (see the return value of find_knn.

n_pcs

Number of principal components to compute to base calculations on. Using e.g. 50 DCs results in more regular looking diffusion maps. The default NULL will not compute principal components, but use reducedDims(data, 'pca') if present. Set to NA to suppress using PCs.

n_local

If sigma == 'local', the n_localth nearest neighbor(s) determine(s) the local sigma

rotate

logical. If TRUE, rotate the eigenvalues to get a slimmer diffusion map

censor_val

Value regarded as uncertain. Either a single value or one for every dimension (Optional, default: censor_val)

censor_range

Uncertainity range for censoring (Optional, default: none). A length-2-vector of certainty range start and end. TODO: also allow 2\times G matrix

missing_range

Whole data range for missing value model. Has to be specified if NAs are in the data

vars

Variables (columns) of the data to use. Specifying NULL will select all columns (default: All floating point value columns)

knn_params

Parameters passed to find_knn

verbose

Show a progressbar and other progress information (default: do it if censoring is enabled)

suppress_dpt

Specify TRUE to skip calculation of necessary (but spacious) information for DPT in the returned object (default: FALSE)

Value

A DiffusionMap object:

Slots

eigenvalues

Eigenvalues ranking the eigenvectors

eigenvectors

Eigenvectors mapping the datapoints to n_eigs dimensions

sigmas

Sigmas object with either information about the find_sigmas heuristic run or just local or optimal_sigma.

data_env

Environment referencing the data used to create the diffusion map

eigenvec0

First (constant) eigenvector not included as diffusion component.

transitions

Transition probabilities. Can be NULL

d

Density vector of transition probability matrix

d_norm

Density vector of normalized transition probability matrix

k

The k parameter for kNN

n_pcs

Number of principal components used in kNN computation (NA if raw data was used)

n_local

The n_localth nearest neighbor(s) is/are used to determine local kernel density

density_norm

Was density normalization used?

rotate

Were the eigenvectors rotated?

distance

Distance measurement method used

censor_val

Censoring value

censor_range

Censoring range

missing_range

Whole data range for missing value model

vars

Vars parameter used to extract the part of the data used for diffusion map creation

knn_params

Parameters passed to find_knn

See Also

DiffusionMap methods to get and set the slots. find_sigmas to pre-calculate a fitting global sigma parameter

Examples

data(guo)
DiffusionMap(guo)
DiffusionMap(guo, 13, censor_val = 15, censor_range = c(15, 40), verbose = TRUE)

covars <- data.frame(covar1 = letters[1:100])
dists <- dist(matrix(rnorm(100*10), 100))
DiffusionMap(covars, distance = dists)


theislab/destiny documentation built on Nov. 19, 2024, 5:43 a.m.