The following is an example of usage of the widget with a Seurat object loaded from the SeuratData package.
First, install the R dependencies:
install.packages("seurat")
install.packages("devtools")
devtools::install_github("satijalab/seurat-data")
devtools::install_github("mojaveazure/seurat-disk")
Download the dataset, load and preprocess the Seurat object, and configure the Vitessce widget:
library(vitessceR)
library(SeuratData)
library(Seurat)
SeuratData::InstallData("pbmc3k")
data("pbmc3k.final")
force(pbmc3k.final)
all.genes <- rownames(pbmc3k.final)
pbmc3k.final <- ScaleData(pbmc3k.final, features = all.genes, do.center = FALSE)
vc <- VitessceConfig$new(schema_version = "1.0.16", name = "My config")
dataset <- vc$add_dataset("My dataset")
dataset <- dataset$add_object(SeuratWrapper$new(
pbmc3k.final,
cell_embeddings = c("pca", "umap"),
cell_embedding_names = c("PCA", "UMAP"),
cell_set_metas = c("seurat_annotations", "seurat_clusters"),
out_dir = file.path("data", "seuratdata")
))
scatterplot_pca <- vc$add_view(dataset, Component$SCATTERPLOT, mapping = "PCA")
scatterplot_umap <- vc$add_view(dataset, Component$SCATTERPLOT, mapping = "UMAP")
cell_sets <- vc$add_view(dataset, Component$CELL_SETS)
genes <- vc$add_view(dataset, Component$GENES)
heatmap <- vc$add_view(dataset, Component$HEATMAP)
vc$link_views(
list(scatterplot_pca, scatterplot_umap, heatmap),
list(CoordinationType$GENE_EXPRESSION_COLORMAP_RANGE),
list(c(0.0, 0.035))
)
vc$link_views(
list(scatterplot_pca, scatterplot_umap),
list("embeddingCellSetLabelsVisible"),
list(TRUE)
)
vc$layout(vconcat(
hconcat(scatterplot_pca, scatterplot_umap),
hconcat(cell_sets, genes, heatmap)
))
vc$widget(theme = "light")