上一周Immugent寫了一篇一文解決單細胞亞群注釋的所有問題失晴,引出了單細胞測序技術(shù)的面臨的幾大未解決的技術(shù)難題镐躲,其中最主要的一個問題就是由于測序深度不足產(chǎn)生的"dropout"現(xiàn)象器一。這使得很多情況下所見非所得刻伊,傻傻分不清有些基因表達量很低,是因為沒有測到還是本身沒有表達。對于這種現(xiàn)象很多研究者給出了自己的解決方法稚虎,其中最主要的一大類就是通過對包含多個基因的基因集綜合打分來評估細胞的某一項功能侧蘸,比如IL10在單細胞的數(shù)據(jù)中沒有檢測到其表達量裁眯,但是我們可以通過基于對整個IL10-signaling通路的打分來比較某兩類細胞亞群抑制功能的強弱。
其實這種理念我們并不陌生讳癌,在普通的RNA-seq數(shù)據(jù)中也比較常用未状,只不過在那種場景下是對上下調(diào)基因做的GO, KEGG富集分析,所有的這些算法都是基于基因聯(lián)動的理論析桥。那是因為在通常情況下司草,細胞行駛某一項功能,不是僅僅依賴于某一個基因泡仗,它的上下游會有很多基因隨著功能的強弱都同時出現(xiàn)變化埋虹。研究者在測量細胞某一項功能時,對影響某一細胞功能出現(xiàn)變化的所有基因進行整理歸納娩怎,就成了我們熟知的各種基因集了搔课,目前對各類基因集總結(jié)最好的就是BROAD研究所的MSigDB數(shù)據(jù)庫了(https://www.gsea-msigdb.org)。
有了描述各種各樣細胞功能的基因集截亦,我們就需要找出合適的針對單細胞數(shù)據(jù)基因集打分的算法爬泥。因為單細胞數(shù)據(jù)的分布不符合任何一種經(jīng)典的統(tǒng)計學(xué)分布,因此基于bulk數(shù)據(jù)開發(fā)出的富集分析的算法并不是很適用于單細胞數(shù)據(jù)崩瓤。就在小編整理這些對單細胞數(shù)據(jù)基因集打分的算法時袍啡,偶然發(fā)現(xiàn)一個神奇的R包 irGSEA(https://github.com/chuiqin/irGSEA/),后來驚奇發(fā)現(xiàn)它竟是我一個朋友寫的却桶,這里手動@一下范垂欽同學(xué)境输,真是大佬就在身邊呀。然而讓小編感嘆的不僅如此颖系,還有一位朋友寫的R包都發(fā)表文章了嗅剖,等寫完這個系列小編會介紹那個R包的功能。
通過文獻檢索嘁扼,小編找到了11種
常用的對單細胞數(shù)據(jù)進行基因集打分算法:GSEA信粮、GSVA、Pagoda2趁啸、Vision强缘、PLAGE、Zscore莲绰、AddModuleScore欺旧、ssGSEA、AUCell蛤签、UCell和singscore
。其中GSEA, GSVA和ssGSEA想必大家多有耳聞栅哀,因為它們也是在bulk數(shù)據(jù)中常用的富集分析方法震肮,目前各大平臺介紹的有很多了称龙,小編在這里對這幾種算法就不再贅述,大家可以通過搜索對應(yīng)的帖子來學(xué)習(xí)一下戳晌。
基于單細胞數(shù)據(jù)對基因集打分的總體的流程可以通過下圖來理解一下鲫尊,首先我們需要對單細胞數(shù)據(jù)進行簡單的處理,把低質(zhì)量的細胞和基因去除沦偎;然后通過各種對基因集進行打分的算法疫向,對每個細胞的功能進行綜合評估;基于不同的測序平臺和數(shù)據(jù)量豪嚎,通過對比各種算法的準確性搔驼、穩(wěn)定性和可擴展性,找出最適合的算法運用于實際分析侈询。
AddModuleScore是Seurat內(nèi)置的對基因集進行打分的算法舌涨,因為目前很多研究者都是使用Seurat進行分析單細胞數(shù)據(jù),而這個算法在Seurat的流程中扔字,其在各大期刊發(fā)表的文章中都有使用囊嘉。其在使用時需要先計算基因集中所有基因的平均值,再根據(jù)平均值把表達矩陣切割成若干份革为,然后從切割后的每一份中隨機抽取對照基因(基因集外的基因)作為背景值
扭粱。因此,在整合不同樣本的情況下震檩,即使使用相同基因集為相同細胞打分焊刹,也會產(chǎn)生不同的富集評分。從本質(zhì)上看它和Zscore的算法很類似恳蹲,Zscore又稱Z值虐块,原是一個統(tǒng)計學(xué)概念,表示的是個體測量值X以標準差σ為單位嘉蕾,偏離總體均數(shù)μ的距離贺奠,即:Z score=(X-μ)/σ。牽扯到統(tǒng)計學(xué)的概念不免有些難以理解错忱,簡單說它就是處理過的平均值儡率。
Pagoda2是一個專門設(shè)計出在從scRNA-seq數(shù)據(jù)中檢測細胞異質(zhì)性的計算框架。該方法對每個細胞擬合一個誤差模型來描述其特性以清,然后對細胞中每個基因的殘差進行再歸一化儿普。最后,利用每個基因的第一加權(quán)主成分對整個基因集打分從而對功能通路進行量化掷倔。有一篇發(fā)表在Comput Struct Biotechnol J (IF:7.3)雜志上的文章綜合評估了7種基于單細胞數(shù)據(jù)進行基因集打分的算法后發(fā)現(xiàn)眉孩,Pagoda2在各項指標中都表現(xiàn)良好,大家可以學(xué)習(xí)一下這個算法。
然后說一下Vision算法浪汪,它是使用自相關(guān)統(tǒng)計來識別細胞間生物變異的注釋工具包巴柿。Vision開始識別每個細胞的最近值 k,生成一個細胞與細胞的k近鄰圖 (KNN)死遭。Vision中對基因集打分是通過平均基因集的所有基因表達來計算的广恢。為了考慮樣本級別度量(每個細胞的UMI)的影響,最終分值將根據(jù)其平均值和標準偏差進行校正呀潭。特別需要注意的是在Vision中使用的表達式數(shù)據(jù)可以縮放和歸一化钉迷,但不能進行l(wèi)og-transformed轉(zhuǎn)換。
最后重點說一下singscore和Ucell算法钠署,它倆都是專門針對單細胞數(shù)據(jù)開發(fā)出的對基因集進行評分的算法糠聪,特點是相較于其它算法,它們能夠囊括既包括正向基因踏幻,也包括負向基因的基因集枷颊。例如想揭示CD4 T細胞和CD8 T細胞,就可以在CD4(+),CD8(-)和CD4(-)CD8(+)的兩個數(shù)據(jù)集分別對細胞群進行打分该面,可以得到更高的差異值夭苗。但是特別注意的是在使用這種數(shù)據(jù)集時,對每個基因的判定很重要隔缀,對于很確定的基因可以使用题造,但對不太確定的基因應(yīng)該避免使用。
irGSEA包內(nèi)置了"AUCell", "UCell", "singscore", "ssgsea"四種算法猾瘸,而且相對于原版的函數(shù)界赔,irGSEA對ssgsea算法進行了優(yōu)化,而且AUCell的運算速度也提升了很多牵触,最重要的是內(nèi)置了Seurat包淮悼,因此可以將多種基因集的富集分數(shù)矩陣直接保存到Seurat對象中,總之就是很輕便揽思。
最后附上irGSEA包的安裝方法袜腥,因為這個包里面嵌入了很多新的函數(shù),需要使用最新的4.1版本的R進行安裝钉汗。
install packages from CRAN
cran.packages <- c("msigdbr", "dplyr", "purrr", "stringr","magrittr",
"RobustRankAggreg", "tibble", "reshape2", "ggsci",
"tidyr", "aplot", "ggfun", "ggplotify", "ggridges",
"gghalves", "Seurat", "SeuratObject", "methods",
"devtools", "BiocManager","data.table","doParallel",
"doRNG")
if (!requireNamespace(cran.packages, quietly = TRUE)) {
install.packages(cran.packages, ask = F, update = F)
}
install packages from Bioconductor
bioconductor.packages <- c("GSEABase", "AUCell", "SummarizedExperiment",
"singscore", "GSVA", "ComplexHeatmap", "ggtree",
"Nebulosa")
if (!requireNamespace(bioconductor.packages, quietly = TRUE)) {
BiocManager::install(bioconductor.packages, ask = F, update = F)
}
install packages from Github
if (!requireNamespace("UCell", quietly = TRUE)) {
devtools::install_github("carmonalab/UCell")
}
if (!requireNamespace("irGSEA", quietly = TRUE)) {
devtools::install_github("chuiqin/irGSEA")
}
好啦羹令,本期推文說到這就要結(jié)束了,下次小編將會用實例數(shù)據(jù)對irGSEA包的分析結(jié)果進行展示损痰,敬請期待福侈!
[參考文獻]
Zhang Y, Ma Y, Huang Y, Zhang Y, Jiang Q, Zhou M, Su J. Benchmarking algorithms for pathway activity transformation of single-cell RNA-seq data. Comput Struct Biotechnol J. 2020 Oct 15;18:2953-2961. doi: 10.1016/j.csbj.2020.10.007.