單細胞細胞類型自動化註釋利器-SingleR (2.2.0)

前言

SingleR是對單細胞數據進行細胞類型自動化註釋的R套件。它的原理簡明扼要來說,是通過比對單細胞數據和已知細胞類型的參考數據庫 (cell type reference datasets)之間的相似性,進而推斷單個細胞的細胞類型或狀態。

詳細原理請查閱參考文獻[1]

如何下載SingleR套件?

# 下載SingleR
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("SingleR")

如何下載用於SingleR註釋的細胞類型參考數據庫?

celldex (1.10.0)一共有七種細胞類型參考數據庫(build in references),其中五個是人類數據庫,另外二個則是老鼠數據庫,下載方法如下:

# 下載celldex
BiocManager::install("celldex")

當使用celldex數據庫時,要將所需數據庫匯入分析環境中,匯入方法如下:

library(celldex)
# 只要載入需使用的數據庫就好
# 人類細胞類型參考數據庫
# Human primary cell atlas (HPCA)
ref <- HumanPrimaryCellAtlasData() 
# Blueprint/ENCODE (BPE)
ref <- BlueprintEncodeData() 
# Database of Immune Cell Expression/eQTLs/Epigenomics (DICE)
ref <- DatabaseImmuneCellExpressionData()
# Novershtern hematopoietic data
ref <- NovershternHematopoieticData()
# Monaco immune data
ref <- MonacoImmuneData()

#老鼠細胞類型參考數據庫
# Mouse RNA-seq
ref <- MouseRNAseqData()
# Immunological Genome Project (ImmGen)
ref <- ImmGenData()

細胞類型參考數據庫的詳細資訊請參考celldex數據庫

SingleR使用範例

在這次的範例中,我們同樣分析來自10X Genomics的周邊血(PBMC)單細胞數據集,這是一個包含2700個單細胞的數據集,採用Illumina NextSeq 500進行测序,原始數據可以在這裡下載。在這裡我們將使用已經處理好的數據來進行分析,分析檔案可以在這裡下載。如果想要了解這套數據的詳細分析步驟,可以參考Seurat V4.9.9 – 一個強大的單細胞分析R套件教學。

1. 加載套件和載入分析好的PBMC數據集

# 加載套件
library(Seurat)
library(dplyr)
library(patchwork)
library(SingleR)
library(celldex)

# 載入分析好的PBMC數據集,需用電腦中的正確路徑,須將"\"更改為"/"
pbmc <- readRDS(file = "C:/Users/Administrator/Desktop/pbmc3k_final.rds")
pbmc

我們可以看到pbmc數據集中已經完成了PCA,UMAP和TSNE的基礎分析,接下來我們要進一步使用SingleR套件對數據的細胞類型做自動化註釋。

2. 載入需要的參考數據庫並使用SingleR自動化註釋細胞類型

這裡我們使用HPCA和BPE參考數據庫當作例子:

# 載入需要使用的參考數據庫
# HPCA
hpca <- HumanPrimaryCellAtlasData()
# BPE
bpe <- BlueprintEncodeData() 

# 使用HPCA參考數據庫自動化註釋細胞類型
pbmc_for_annotated <- LayerData(pbmc, layer="data")
pbmc.HPCA <- SingleR(test = pbmc_for_annotated, ref = hpca, labels = hpca$label.main)
table(pbmc.HPCA$labels)
table(pbmc.HPCA$labels,pbmc$seurat_clusters)

跑完上述指令後,就可以得到圖示結果,接下來我們再試跑用BPE當作參考數據庫的結果:

# 使用BPE參考數據庫自動化註釋細胞類型
pbmc_for_annotated <- LayerData(pbmc, layer="data")
pbmc.BPE <- SingleR(test = pbmc_for_annotated, ref = bpe, labels = bpe$label.main)
table(pbmc.BPE$labels)
table(pbmc.BPE$labels,pbmc$seurat_clusters)

從HPCA和BPE參考數據庫自動註釋的結果中不難看出,使用不同參考數據庫判別細胞類型時,會出現不太一樣的結果,這是由於參考數據庫可能包含不同的細胞類型定義和標記基因集所導致的。因此,在使用不同的參考數據庫進行細胞註釋時,需要謹慎解釋和比較結果,並選擇最適當的參考數據庫來定義自己的數據集。

3. 使用多個參考數據庫來進行細胞註釋

除了使用個別參考數據庫來註釋細胞外,我們也可以同一時間使用多個不同的參考數據庫來進行註釋,指令如下:

## 使用多個參考數據庫自動化註釋細胞類型
pbmc.mix <- SingleR(test = pbmc_for_annotated, ref = list(BP=bpe, HPCA=hpca), labels = list(bpe$label.main, hpca$label.main)) 
table(pbmc.mix$labels)
table(pbmc.mix$labels, pbmc$seurat_clusters)

4. 將註釋結果繪入UMAP或者TSNE中

這裡以UMAP圖為例子:

# 將註釋結果繪入UMAP或者TSNE中
pbmc@meta.data$labels <- pbmc.HPCA$labels
DimPlot(pbmc, group.by = c("seurat_clusters", "labels"),reduction = "umap")

pbmc@meta.data$labels <- pbmc.BPE$labels
DimPlot(pbmc, group.by = c("seurat_clusters", "labels"),reduction = "umap")

pbmc@meta.data$labels <- pbmc.mix$labels
DimPlot(pbmc, group.by = c("seurat_clusters", "labels"),reduction = "umap")

HPCA註釋結果:

BPE註釋結果:

HPCA+BPE註釋結果:

5. 繪製點狀圖和熱圖

我們也可以將註釋結果以點狀圖(dot plot)和熱圖(heatmap)的方式呈現,以HPCA結果為例子:

# 繪製點狀圖和熱圖
# 載入需要的套件
library(ggplot2)
library(reshape2)
# 繪製點狀圖
aa=table(pbmc.HPCA$labels,pbmc$seurat_clusters)
aa=apply(aa,2,function(x) x/sum(x))
df=as.data.frame(melt(aa))
df$Var2=as.factor(df$Var2)
ggplot(df, aes(Var2, Var1)) + geom_point(aes(size = value), colour = "blue") + theme_bw()

# 下載繪製熱圖的套件
install.packages("pheatmap")
# 載入套件
library(pheatmap)
# 繪製熱圖
pheatmap(log2(aa+10), color=colorRampPalette(c("white", "blue"))(101))

6. 細胞註釋診斷

我們可以用SingleR套件中的註釋診斷法,來進一步判斷註釋結果的正確性。套件中共有兩種註釋診斷的方法,分別為Score值判斷法和Delta值判斷法。

Score值判斷法- 理想情況下,每顆細胞被註釋的細胞類型應該都有一個明顯且突出的Score值,如果Score值分散到其他細胞類型,意味著註釋結果是不確定的。以HPCA結果為例子:

# 細胞註釋診斷
plotScoreHeatmap(pbmc.HPCA)

Delta值判斷法- Delta值越低,代表註釋結果越不確定。以HPCA結果為例子:

# 細胞註釋診斷
plotDeltaDistribution(pbmc.HPCA, ncol = 4)
summary(is.na(pbmc.HPCA$pruned.labels))

結語

SingleR是一套根據參考數據庫來自動判別細胞類型的套件,因此不管輸入怎樣類型的樣本,它都會給你一個答案,至於答案正確與否,這就需要研究人員的進一步確認。下圖是HPCA、BPE、混合註釋以及Seurat官方細胞判定的結果,提供大家參考。

參考文獻

1. Aran, D., A. P. Looney, L. Liu, E. Wu, V. Fong, A. Hsu, S. Chak, et al. 2019. Reference-based analysis of lung single-cell sequencing reveals a transitional profibrotic macrophage. Nat. Immunol. 20 (2): 163–72.

您的分享,我非常感激!!!
MillionQuesn
MillionQuesn

一個旅居台灣的異鄉人,分享突然靈光一現的亮點。

文章: 46

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

error: Alert: Content selection is disabled!!