Run UMAP on a BANKSY embedding.

runBanksyUMAP(
  se,
  use_agf = FALSE,
  lambda = 0.2,
  use_pcs = TRUE,
  npcs = 20L,
  dimred = NULL,
  ndims = NULL,
  assay_name = NULL,
  scale = TRUE,
  group = NULL,
  n_neighbors = 30L,
  spread = 3,
  min_dist = 0.1,
  n_epochs = 300L,
  M = NULL,
  seed = NULL,
  ...
)

Arguments

se

A SpatialExperiment, SingleCellExperiment or SummarizedExperiment object with computeBanksy ran.

use_agf

A logical vector specifying whether to use the AGF for computing UMAP.

lambda

A numeric vector in \(\in [0,1]\) specifying a spatial weighting parameter. Larger values (e.g. 0.8) incorporate more spatial neighborhood and find spatial domains, while smaller values (e.g. 0.2) perform spatial cell-typing.

use_pcs

A logical scalar specifying whether to run UMAP on PCs. If FALSE, runs on the BANKSY matrix.

npcs

An integer scalar specifying the number of principal components to use if use_pcs is TRUE.

dimred

A string scalar specifying the name of an existing dimensionality reduction result to use. Will overwrite use_pcs if supplied.

ndims

An integer scalar specifying the number of dimensions to use if dimred is supplied.

assay_name

A string scalar specifying the name of the assay used in computeBanksy.

scale

A logical scalar specifying whether to scale features before UMAP. Only used when use_pcs is FALSE. Defaults to TRUE.

group

A string scalar specifying a grouping variable for samples in se. This is used to scale the samples in each group separately.

n_neighbors

An integer scalar specifying the number of neighbors to use for UMAP.

spread

A numeric scalar specifying the effective scale of embedded points.

min_dist

A numeric scalar specifying the effective min. dist. between embedded points.

n_epochs

An integer scalar specifying the number of epochs to run UMAP optimization.

M

Advanced usage. An integer vector specifying the highest azimuthal Fourier harmonic to use. If specified, overwrites the use_agf argument.

seed

Seed for UMAP. If not specified, no seed is set.

...

parameters to pass to uwot::umap

Value

A SpatialExperiment / SingleCellExperiment / SummarizedExperiment object with UMAP coordinates in reducedDims(se).

Details

This function runs UMAP on the principal components computed on the BANKSY matrix.

Examples

data(rings)
spe <- computeBanksy(rings, assay_name = "counts", M = 1, k_geom = c(15, 30))
#> Computing neighbors...
#> Spatial mode is kNN_median
#> Parameters: k_geom=15
#> Done
#> Computing neighbors...
#> Spatial mode is kNN_median
#> Parameters: k_geom=30
#> Done
#> Computing harmonic m = 0
#> Using 15 neighbors
#> Done
#> Computing harmonic m = 1
#> Using 30 neighbors
#> Centering
#> Done
spe <- runBanksyPCA(spe, M = 1, lambda = 0.2, npcs = 20)
spe <- runBanksyUMAP(spe, M = 1, lambda = 0.2)