Run UMAP on the quantile normalized cell factors (result from
quantileNorm
), or unnormalized cell factors (result from
runIntegration
)) to generate a 2D embedding for visualization
(or general dimensionality reduction). Has option to run on subset of
factors. It is generally recommended to use this method for dimensionality
reduction with extremely large datasets. The underlying UMAP calculation
imports uwot umap
.
Usage
runUMAP(
object,
useRaw = NULL,
useDims = NULL,
nDims = 2,
distance = c("cosine", "euclidean", "manhattan", "hamming"),
nNeighbors = 20,
minDist = 0.1,
dimredName = "UMAP",
seed = 42,
verbose = getOption("ligerVerbose", TRUE),
k = nDims,
use.raw = useRaw,
dims.use = useDims,
n_neighbors = nNeighbors,
min_dist = minDist,
rand.seed = seed
)
Arguments
- object
liger object with factorization results.
- useRaw
Whether to use un-aligned cell factor loadings (\(H\) matrices). Default
NULL
search for quantile-normalized loadings first and un-aligned loadings then.- useDims
Index of factors to use for computing UMAP embedding. Default
NULL
uses all factors.- nDims
Number of dimensions to reduce to. Default
2
.- distance
Character. Metric used to measure distance in the input space. Default
"cosine"
, alternative options include:"euclidean"
,"manhattan"
and"hamming"
.- nNeighbors
Number of neighboring points used in local approximations of manifold structure. Default
10
.- minDist
Numeric. Controls how tightly the embedding is allowed compress points together. Default
0.1
.- dimredName
Name of the variable in
cellMeta
slot to store the result matrix. Default"UMAP"
.- seed
Random seed for reproducibility. Default
42
.- verbose
Logical. Whether to show information of the progress. Default
getOption("ligerVerbose")
orTRUE
if users have not set.- k, use.raw, dims.use, n_neighbors, min_dist, rand.seed
Deprecated. See Usage section for replacement.
Value
The object
where a "UMAP"
variable is updated in the
cellMeta
slot with the whole 2D embedding matrix.
Details
For nNeighbors
, larger values will result in more global
structure being preserved at the loss of detailed local structure. In general
this parameter should often be in the range 5 to 50, with a choice of 10 to
15 being a sensible default.
For minDist
, larger values ensure embedded points are more evenly
distributed, while smaller values allow the algorithm to optimize more
accurately with regard to local structure. Sensible values are in the range
0.001 to 0.5, with 0.1 being a reasonable default.
Examples
pbmc <- runUMAP(pbmcPlot)
#> ℹ Generating UMAP on quantile normalized cell factor loadings
#> Found more than one class "dist" in cache; using the first, from namespace 'BiocGenerics'
#> Also defined by ‘spam’
#> Found more than one class "dist" in cache; using the first, from namespace 'BiocGenerics'
#> Also defined by ‘spam’
#> ✔ Generating UMAP on quantile normalized cell factor loadings ... done
#>
#> ℹ DimRed "UMAP" is now set as default.