compute\(embedding\)obs
Compute Low-Dimensional Embeddings for Observations
Description
Computes dimensionality reduction embeddings (PCA, MDS, UMAP, t-SNE, PHATE) for observations in a PolyGeniusData object. Embeddings can be computed from any layer in obs/obsp, or from a pre-computed similarity matrix.
Computes dimensionality reduction embeddings for PRS models in a PolyGeniusData object. Embeddings can be computed from variant lists, score vectors, or pre-computed similarity matrices.
Usage
`compute$embedding$obs`(data, layer, method = "pca", similarity = NULL, n.components = 2, obs = NULL, ...)
`compute$embedding$mod`(data, layer, method = "pca", similarity = NULL, n.components = 2, models = NULL, ...)
Arguments
data
|
A |
layer
|
Unquoted expression specifying the layer to use. Can reference |
method
|
Character string specifying the embedding method. One of: |
similarity
|
Optional pre-computed similarity matrix (from |
n.components
|
Integer, number of embedding dimensions to compute. |
obs
|
Character vector, integer vector, or unquoted expression to subset observations. Behaves like subsetting a |
…
|
Additional method-specific parameters (see |
models
|
Character vector or unquoted expression to subset models. The returned matrix will be full-sized with NA for excluded models. |
Value
A numeric matrix with dimensions n_obs x n.components containing the embedding coordinates. Rows correspond to observations, columns to embedding dimensions. The matrix carries a log attribute accessible via slotLog().
A numeric matrix with dimensions n_models x n.components. See compute.embedding.obs() for details on the return value structure.
See Also
compute.embedding.mod(), compute.similarity.obs()
compute.embedding.obs(), compute.similarity.mod()
Examples
## Not run:
# PCA on PRS scores
pca.emb <- compute.embedding.obs(data, scores, method = "pca", n.components = 5)
# UMAP on PRS scores
umap.emb <- compute.embedding.obs(data, scores, method = "umap", n.components = 2)
# t-SNE with custom perplexity
tsne.emb <- compute.embedding.obs(data, scores,
method = "tsne",
n.components = 2, perplexity = 50
)
# MDS from pre-computed similarity
sim.mat <- compute.similarity.obs(data, scores, method = "correlation")
mds.emb <- compute.embedding.obs(data, similarity = sim.mat, method = "mds")
# Subset specific observations
pca.subset <- compute.embedding.obs(data, scores,
method = "pca",
obs = c("sample1", "sample2")
)
## End(Not run)
## Not run:
# PCA on model scores (transpose of score matrix)
pca.models <- compute.embedding.mod(data, scores, method = "pca")
# MDS from model similarity
mod.sim <- compute.similarity.mod(data, mod, method = "snp.jaccard")
mds.models <- compute.embedding.mod(data, similarity = mod.sim, method = "mds")
# UMAP on subset of models
umap.subset <- compute.embedding.mod(data, scores,
method = "umap",
models = c("model1", "model2")
)
## End(Not run)