SingleR單細胞類型自動注釋與celldex參考數(shù)據(jù)包

SingleR包可基于參考數(shù)據(jù)集社裆,實現(xiàn)對單細胞數(shù)據(jù)細胞類型的自動注釋迟蜜。celldex包提供若干常用的人/老鼠的注釋細胞類型的Bulk RNA-seq/microarray參考數(shù)據(jù)无切。

一蟀俊、SingleR自動注釋流程

1、準備輸入數(shù)據(jù)

  • 同一格式要求:(1)矩陣(matrix)/稀疏矩陣(dgCMatrix)/數(shù)據(jù)框(data.frame)均可订雾,或者是SummarizedExperiment對象(默認指定為logcounts slot);(2)必須是經(jīng)標準化并log轉(zhuǎn)換的表達矩陣矛洞,對應Seurat對象的data slot洼哎。
  • 未知細胞類型、待注釋的單細胞表達矩陣
#例如從 Seurat對象中提取
library(scRNAseq)
hESCs <- LaMannoBrainData('human-es') #SingleCellExperiment對象
assays(hESCs) #only counts
hESCs <- scuttle::logNormCounts(hESCs) 
# add logcounts slot
hESCs
library(Seurat)
scRNA = as.Seurat(hESCs)
scRNA
head(scRNA@meta.data)
scRNA <- NormalizeData(scRNA, normalization.method = "LogNormalize", scale.factor = 10000)
scRNA <- FindVariableFeatures(scRNA, selection.method = "vst", nfeatures = 2000) 
scRNA <- ScaleData(scRNA, features = VariableFeatures(scRNA))
scRNA <- RunPCA(scRNA, features = VariableFeatures(scRNA)) 
pc.num=1:20
scRNA <- FindNeighbors(scRNA, dims = pc.num) 
scRNA <- FindClusters(scRNA, resolution = c(0.01,0.05,0.1,0.2,0.5,0.7,0.9),
                      verbose = F)
table(scRNA$originalexp_snn_res.0.2)

norm_count = GetAssayData(scRNA, slot="data") #稀疏矩陣
dim(norm_count)
#[1] 18538  1715
norm_count[1:4,1:4]
# 4 x 4 sparse Matrix of class "dgCMatrix"
# 1772122_301_C02 1772122_180_E05 1772122_300_H02 1772122_180_B09
# WASH7P-p1               1.1275620       .                0.485604               .
# LINC01002-loc4          .               .                .                      .
# LOC100133331-loc1       0.7149377       0.5823631        .                      .
# LOC100132287-loc2       .               .                .                      .
  • 已經(jīng)完成細胞類型注釋的參考數(shù)據(jù)集 ref沼本;
library(celldex)
ref = HumanPrimaryCellAtlasData()
#ref = readRDS("C:/Users/xiaoxin/Desktop/生信數(shù)據(jù)/celldex/HumanPrimaryCellAtlasDatar.rds")

2噩峦、SingleR注釋

根據(jù)注釋方法以及參考數(shù)據(jù)集可分為如下幾種情況

  • (1)參考數(shù)據(jù)集為Bulk RNA-seq/microarray來源的SummarizedExperiment對象,為每個細胞進行單獨注釋
pred<- SingleR(test = norm_count, 
               ref = ref, 
               labels = ref$label.main)
head(pred)
table(pred$labels)
# Astrocyte         Chondrocytes Embryonic_stem_cells            iPS_cells 
# 32                    1                  127                  195 
# Neuroepithelial_cell              Neurons  Smooth_muscle_cells 
# 1030                  325                    5 


#identical(rownames(pred),colnames(norm_count))
#TRUE

#將注釋結果添加到seurat對象里
scRNA$singleR_cell = pred$labels
table(scRNA$singleR_cell)
  • (2)參考數(shù)據(jù)集為Bulk RNA-seq/microarray來源的SummarizedExperiment對象抽兆,以每個cluster為單位進行注釋
    其實只需要添加clusters參數(shù)即可识补,如下:
pred<- SingleR(test = norm_count, 
               ref = ref, 
               clusters = scRNA$originalexp_snn_res.0.2,
               labels = ref$label.main)
head(pred)
table(pred$labels)
scRNA$singleR_cluster = pred$labels[match(scRNA$originalexp_snn_res.0.2,
                                          rownames(pred))]
table(scRNA$singleR_cluster)
  • (3)參考數(shù)據(jù)集為Bulk RNA-seq/microarray來源的自己構建的表達矩陣,為每個細胞進行單獨注釋
# 表達矩陣: 行名為基因名辫红,列名為細胞類型注釋

# if start from "counts"
# ref <-  SummarizedExperiment(assays=list(counts=ref))
# ref <- scuttle::logNormCounts(ref) 
# ref_logcount<- assay(ref, "logcounts")

ref_logcount[1:4,1:4]
pred<- SingleR(test = norm_count, 
               ref = ref_logcount, 
               labels = colnames(ref_logcount))
head(pred)
table(pred$labels)
  • (4)參考數(shù)據(jù)集為scRNA-seq凭涂,為每個細胞進行單獨注釋
    由于單細胞表達矩陣的特殊性(稀疏,大部分表達值為零)贴妻,所以需要選擇更適合的比較算法Wilcoxon ranked sum test秩和檢驗切油。其它與上述一致
pred<- SingleR(test = test, 
               ref = ref, 
               labels = ref$label.main,
               de.method="wilcox")
  • (5)注釋score可視化
plotScoreHeatmap(pred)
plotDeltaDistribution(pred.grun, ncol = 3)

二、celldex參考數(shù)據(jù)包

  • celldex數(shù)據(jù)包按人/鼠來分包含以下類型
    Human reference dataset
Mouse reference dataset
  • 下載數(shù)據(jù)集時名惩,使用同名函數(shù)即可
library(celldex)
ref = HumanPrimaryCellAtlasData()
  • 因為國外數(shù)據(jù)原因澎胡,有時數(shù)據(jù)集下載不穩(wěn)定,可以在網(wǎng)絡良好情況時下載娩鹉,并保存為本地對象攻谁,方便下次使用
ref = readRDS("C:/Users/xiaoxin/Desktop/生信數(shù)據(jù)/celldex/HumanPrimaryCellAtlasDatar.rds")
assay(ref, "logcounts")[1:4,1:4]
unique(ref$label.main)
unique(ref$label.fine)
unique(ref$label.ont)
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市弯予,隨后出現(xiàn)的幾起案子戚宦,更是在濱河造成了極大的恐慌,老刑警劉巖熙涤,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阁苞,死亡現(xiàn)場離奇詭異,居然都是意外死亡祠挫,警方通過查閱死者的電腦和手機那槽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來等舔,“玉大人骚灸,你說我怎么就攤上這事』胖玻” “怎么了甚牲?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵义郑,是天一觀的道長。 經(jīng)常有香客問我丈钙,道長非驮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任雏赦,我火速辦了婚禮劫笙,結果婚禮上,老公的妹妹穿的比我還像新娘星岗。我一直安慰自己填大,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布俏橘。 她就那樣靜靜地躺著允华,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寥掐。 梳的紋絲不亂的頭發(fā)上靴寂,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音召耘,去河邊找鬼榨汤。 笑死,一個胖子當著我的面吹牛怎茫,可吹牛的內(nèi)容都是我干的收壕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼轨蛤,長吁一口氣:“原來是場噩夢啊……” “哼蜜宪!你這毒婦竟也來了?” 一聲冷哼從身側響起祥山,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤圃验,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缝呕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澳窑,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年供常,在試婚紗的時候發(fā)現(xiàn)自己被綠了摊聋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡栈暇,死狀恐怖麻裁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤煎源,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布色迂,位于F島的核電站,受9級特大地震影響手销,放射性物質(zhì)發(fā)生泄漏歇僧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一锋拖、第九天 我趴在偏房一處隱蔽的房頂上張望馏慨。 院中可真熱鬧,春花似錦姑隅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至痪蝇,卻和暖如春鄙陡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躏啰。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工趁矾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人给僵。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓毫捣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親帝际。 傳聞我的和親對象是個殘疾皇子蔓同,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容