Seurat學習與使用(二)

前言

??好久沒寫簡書了疾层,這兩年多一直在做著單細胞的數(shù)據(jù)分析,有單細胞數(shù)據(jù)分析需求的朋友可以私信我厚骗。
??目前單細胞轉錄組單個樣本的成本不斷降低另萤,發(fā)表一篇高分文章的樣本要求也越來越高,不可避免的我們會遇到多樣本合并的問題巫员。今天來介紹下目前單細胞轉錄組分析使用Seurat進行多樣本合并的幾種方法庶香。

方法選擇

??當我們手里拿到多個樣本數(shù)據(jù)時首先需要判斷批次效應的大小,判斷方法是我們先不考慮批次效應直接合并走單樣本聚類分群流程简识「弦矗可以參考我之前的文章Seurat學習與使用(一)

image.png

??左圖是三個樣本直接合并按照單樣本分析流程的聚類圖财异,右圖是三個樣本合并后使用Harmony方法的聚類圖。從兩個圖可以看到唱遭,左圖樣本間存在比較大的批次效應戳寸,相同細胞類型基本按照樣本來分群。而右圖可以看到相同細胞類型各樣本很好的重疊在一起拷泽。目前scRNA數(shù)據(jù)校正批次效應的算法有很多種:主流的有CCA疫鹊、MNN、CCA+MNN司致、RPCA拆吆、Harmony,當然還有其他的一些如Scanorama脂矫、LIGER枣耀、Conos等。下面我主要介紹CCA+MNN庭再、MNN捞奕、RPCA、Harmony四種常用的方法拄轻。

CCA/CCA+MNN

??CCA是早期Seurat(v2)整合數(shù)據(jù)的核心算法颅围。文章發(fā)表在2018年的nature biotechnology,作者是Seurat的開發(fā)者Andrew Butler恨搓。同年在NBT雜志上Haghverdi等人開發(fā)了MNN的算法校正批次效應院促。之后在2019年Andrew等人在Cell發(fā)表文章,將CCA與MNN算法結合起來斧抱,并參考SNN算法的理念設計了“錨點”評分體系常拓,使Seurat整合數(shù)據(jù)能力更強大更穩(wěn)健。使用CCA方法時我們推薦CCA+MNN的方法辉浦,Seurat版本在v3及以上墩邀。CCA+MNN的使用方法可以參考我之前的文章Seurat學習與使用(一)中多個樣本分析部分內(nèi)容。

MNN

??MNN盏浙,即相互近鄰Mutual nearest neighbors眉睹,由Haghverdi提出荔茬。開發(fā)的思想是對一個批次中的細胞找到它們在另一個批次中對應的最相鄰細胞集合。目前SeuratWrappers包已經(jīng)包含了可以使用MNN方法的RunFastMNN函數(shù)竹海。運行操作也很簡單慕蔚,如下:

library(SeuratWrappers)
merge_data<-merge(x = sample1, y=c(sample2,sample3) , add.cell.ids = c('S1','S1','S3'))#合并單個樣本數(shù)據(jù)
merge_data<- RunFastMNN(object.list = SplitObject(merge_data, split.by = 'orig.ident'))#去批次
merge_data<- FindNeighbors(merge_data, reduction = 'mnn',dims = 1:15)#注意使用的是mnn數(shù)據(jù)
merge_data<- FindClusters(merge_data, resolution = 0.5)
merge_data<- RunUMAP(merge_data, reduction = 'mnn', dims = 1:15)#注意使用的是mnn數(shù)據(jù)
DimPlot(merge_data,label = T,reduction = 'umap')#可視化

RPCA

??RPCA,即reciprocal PCA斋配,是目前Seurat主推的一種去批次整合的方法孔飒。基于RPCA的整合運行得更快艰争,同時與CCA方法相比坏瞄,也是一種更保守的方法,不同生物狀態(tài)的細胞在整合后不太可能“對齊”甩卓。在實際項目分析過程中我也發(fā)現(xiàn)RPCA的效果是要優(yōu)于CCA鸠匀,大家可以對比試試。詳細使用方法可以點擊reciprocal PCA鏈接逾柿。

Harmony

??與其他整合方法相比缀棍,Harmony運行時比較快速,內(nèi)存低机错,整合效果沒CCA那么暴力爬范,對稀有細胞的敏感性也比較好。同時在亞群細分時可以提取子集后再運行Harmony這樣也比CCA的方法要方便弱匪。

image.png

??Harmony算法概述如上圖所示:用顏色表示數(shù)據(jù)集青瀑,用形狀表示不同的細胞類型。首先萧诫,Harmony 應用PCA主成分分析將轉錄組范圍的表達譜嵌入到降維空間中狱窘。然后我們應用一個迭代過程來移除數(shù)據(jù)集的特定效果。 (A) Harmony 將細胞概率性地分配給集群财搁,最大限度地提高每個集群內(nèi)數(shù)據(jù)集的多樣性蘸炸。 (B) Harmony 計算每個集群的所有數(shù)據(jù)集的全局質(zhì)心,以及特定于數(shù)據(jù)集的質(zhì)心尖奔。 (C) 在每個集群內(nèi)搭儒,Harmony 根據(jù)質(zhì)心計算每個數(shù)據(jù)集的校正因子。 (D) 最后提茁,Harmony 使用基于 C 的細胞特定因子校正每個細胞淹禾。由于Harmony使用軟聚類,每個單獨的細胞可以通過與 A 中軟聚類分配比例的多個因素的線性組合進行校正茴扁。 Harmony 重復步驟 A 到 D 直到收斂铃岔。集群分配和數(shù)據(jù)集之間的依賴性隨著每一輪而減少。操作命令如下:

library(harmony)
merge_data<-merge(x = sample1, y=c(sample2,sample3) , add.cell.ids = c('S1','S1','S3'))#合并單個樣本數(shù)據(jù)
merge_data<- merge_data %>% Seurat::NormalizeData(verbose = FALSE) %>% FindVariableFeatures(selection.method = 'vst', nfeatures = 2000) %>% ScaleData(verbose = FALSE) %>% RunPCA(verbose = FALSE)#標準化
merge_data<- RunHarmony(merge_data, 'orig.ident')#去批次
merge_data<- FindNeighbors(merge_data, reduction = 'harmony',dims = 1:15)#注意使用的是harmony數(shù)據(jù)
merge_data<- FindClusters(merge_data, resolution = 0.5)
merge_data<- RunUMAP(merge_data, reduction = 'harmony', dims = 1:15)#注意使用的是harmony數(shù)據(jù)
DimPlot(merge_data,label = T,reduction = 'umap')#可視化

總結

??每種去批次的方法各有優(yōu)劣,需要根據(jù)自己樣本的實際情況選定毁习。如果自己樣本批次效應非常大(例如不同平臺智嚷、不同組織),建議選用CCA的方法纺且,如果批次效應較姓档馈(同一平臺、相同組織)载碌,可以選擇RPCA或者Harmony的方法猜嘱。當然,樣本整合的最終效果還得看分出來的群是否清晰無重疊嫁艇、群與群之間的marker很特異朗伶,這都需要花費大量時間反復調(diào)整整合參數(shù),最終才能得到理想的分群結果步咪。

參考文章

單細胞轉錄組高級分析一:多樣本合并與批次校正
單細胞數(shù)據(jù)整合-1:Harmony原理介紹和官網(wǎng)教程

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末论皆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子歧斟,更是在濱河造成了極大的恐慌纯丸,老刑警劉巖偏形,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件静袖,死亡現(xiàn)場離奇詭異,居然都是意外死亡俊扭,警方通過查閱死者的電腦和手機队橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萨惑,“玉大人捐康,你說我怎么就攤上這事∮拱” “怎么了解总?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長姐仅。 經(jīng)常有香客問我花枫,道長,這世上最難降的妖魔是什么掏膏? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任劳翰,我火速辦了婚禮,結果婚禮上馒疹,老公的妹妹穿的比我還像新娘佳簸。我一直安慰自己,他們只是感情好颖变,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布生均。 她就那樣靜靜地躺著听想,像睡著了一般。 火紅的嫁衣襯著肌膚如雪疯特。 梳的紋絲不亂的頭發(fā)上哗魂,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天,我揣著相機與錄音漓雅,去河邊找鬼录别。 笑死,一個胖子當著我的面吹牛邻吞,可吹牛的內(nèi)容都是我干的组题。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼抱冷,長吁一口氣:“原來是場噩夢啊……” “哼崔列!你這毒婦竟也來了?” 一聲冷哼從身側響起旺遮,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤赵讯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后耿眉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體边翼,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年鸣剪,在試婚紗的時候發(fā)現(xiàn)自己被綠了组底。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡筐骇,死狀恐怖债鸡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铛纬,我是刑警寧澤厌均,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站告唆,受9級特大地震影響棺弊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悔详,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一镊屎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茄螃,春花似錦缝驳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽运怖。三九已至,卻和暖如春夏伊,著一層夾襖步出監(jiān)牢的瞬間摇展,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工溺忧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咏连,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓鲁森,卻偏偏與公主長得像祟滴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子歌溉,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

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