一、數(shù)據(jù)集準備
- 參考數(shù)據(jù)集(reference )
- 查詢數(shù)據(jù)集(query )
- 參考數(shù)據(jù)集和查詢數(shù)據(jù)集整合之后的數(shù)據(jù)集(anchors)
建議數(shù)據(jù)集在使用前進行NormalizeData、FindVariableFeatures、RunUMAP等常規(guī)預處理操作。
二、尋找錨點,投影數(shù)據(jù)集
library(Seurat)
library(dplyr)
library(ggforce)
#reference <- RunUMAP(reference, dims = 1:30, reduction = "pca", return.model = TRUE)
anchors <- FindTransferAnchors(reference = reference, query = query,
dims = 1:30,#可以自己調(diào)節(jié)
reference.reduction = "pca")#官方建議scRNA-seq數(shù)據(jù)集使用PCA
Query <- MapQuery(anchorset = anchors, reference = reference, query = query,
refdata = list(celltype = "celltype"),
reference.reduction = "pca",
reduction.model = "umap")
常見報錯:Error: The provided reduction.model does not have a model stored. Please try running umot-learn on the object first.
解決方法:RunUMAP的時候加上return.model = TRUE
三、可視化
可視化投影結(jié)果,和參考數(shù)據(jù)集對比:
p1 <- DimPlot(reference,reduction = "umap",label = TRUE,raster=FALSE)
p2 <- DimPlot(Query, reduction = "ref.umap",label = TRUE,raster=FALSE)
p1|p2

畫個?;鶊D看不同注釋結(jié)果的擬合程度:
head(Query@meta.data)
# nCount_RNA nFeature_RNA Cluster celltype
#AAACCTGAGCTGTTCA.11_4 7913 2339 6 Comp
#AAAGCAAGTGCCTGTG.11_4 1845 856 2 Lrrc15
#AACACGTCAAGAAGAG.11_4 12460 2890 6 Comp
#AACCATGAGATCACGG.11_4 3497 1577 0 Col15a1
#AACGTTGAGATCTGAA.11_4 8999 2487 5 Npnt
#AACGTTGCACGAGGTA.11_4 12018 2369 4 Cxcl12
# Tissue orig.ident
#AAACCTGAGCTGTTCA.11_4 Artery HFD 16WK PS
#AAAGCAAGTGCCTGTG.11_4 Artery HFD 16WK PS
#AACACGTCAAGAAGAG.11_4 Artery HFD 16WK PS
#AACCATGAGATCACGG.11_4 Artery HFD 16WK PS
#AACGTTGAGATCTGAA.11_4 Artery HFD 16WK PS
#AACGTTGCACGAGGTA.11_4 Artery HFD 16WK PS
# predicted.celltype.score predicted.celltype
#AAACCTGAGCTGTTCA.11_4 0.7243527 Col15a1
#AAAGCAAGTGCCTGTG.11_4 0.7817366 Acta2
#AACACGTCAAGAAGAG.11_4 0.6213131 Comp
#AACCATGAGATCACGG.11_4 0.9919202 Col15a1
#AACGTTGAGATCTGAA.11_4 0.8128144 Acta2
#AACGTTGCACGAGGTA.11_4 0.6597668 Comp
Query@meta.data %>% na.omit() %>%
gather_set_data(c(4,3,5)) %>% #選中想查看的列
ggplot(aes(x, id = id, split = y, value = 1)) +
geom_parallel_sets(aes(fill = celltype ), alpha = 0.3) +
geom_parallel_sets_axes(axis.width = 0.1, color = "black", fill = "white") +
geom_parallel_sets_labels(angle = 0) +
theme_no_axes()

參考:Function reference ? Seurat (satijalab.org)
Cell, 2019, 177(7): 1888–1902.e21.