前言實際的科研項目中不可能只有一個樣本登钥,多樣本的單細(xì)胞數(shù)據(jù)如何合并在一起枫疆,是否需要校正批次效應(yīng)呢?先上一張圖說明多樣本scRNA數(shù)據(jù)的批次效應(yīng):
左邊的圖簡單地把多個單細(xì)胞的數(shù)據(jù)合并在一起,不考慮去除批次效應(yīng),樣本之間有明顯的分離現(xiàn)象媳否。右邊的圖是使用算法校正批次效應(yīng),不同的樣本基本融和在一起了荆秦。scRNA數(shù)據(jù)校正批次效應(yīng)的算法有很多:MNN, CCA+MNN, Harmony, Scanorama, scMerge等篱竭,本文推薦發(fā)表在Cell上的CCA+MNN方法,通過Seurat包就可以實現(xiàn)步绸。Seurat數(shù)據(jù)整合功能簡介Seurat早期版本整合數(shù)據(jù)的核心算法是CCA掺逼,文章發(fā)表在2018年的nature biotechnology,作者是Seurat的開發(fā)者Andrew Butler靡努。同年Haghverdi等人開發(fā)了MNN算法校正批次效應(yīng)坪圾,文章也發(fā)表在了nature biotechnology。2019年Andrew等人將CCA與MNN算法結(jié)合起來惑朦,并參考SNN算法的理念設(shè)計了“錨點”評分體系兽泄,使Seurat整合數(shù)據(jù)更強大更穩(wěn)健。它不僅可以校正實驗的批次效應(yīng)漾月,還能跨平臺整合數(shù)據(jù)病梢,例如將10x單細(xì)胞數(shù)據(jù)、BD單細(xì)胞數(shù)據(jù)和SMART單細(xì)胞數(shù)據(jù)整合在一起;也能整合單細(xì)胞多組學(xué)數(shù)據(jù)蜓陌,例如將單細(xì)胞ATAC觅彰、空間轉(zhuǎn)錄組與單細(xì)胞轉(zhuǎn)錄組數(shù)據(jù)整合在一起。本文只討論多樣本數(shù)據(jù)的合并與校正批次效應(yīng)钮热,多組學(xué)數(shù)據(jù)的整合以后專門寫篇文章介紹填抬。Seurat整合流程與原理
1、使用CCA分析將兩個數(shù)據(jù)集降維到同一個低維空間隧期,因為CCA降維之后的空間距離不是相似性而是相關(guān)性飒责,所以相同類型與狀態(tài)的細(xì)胞可以克服技術(shù)偏倚重疊在一起。CCA分析效果見下圖:
左圖使用PCA降維仆潮,細(xì)胞之間的距離體現(xiàn)的是轉(zhuǎn)錄特征相似性宏蛉,批次效應(yīng)引入的系統(tǒng)誤差會使樣本分離。右圖使用CCA降維性置,細(xì)胞之間的距離體現(xiàn)的是轉(zhuǎn)錄特征相關(guān)性拾并,因此同類型且同狀態(tài)的細(xì)胞可以跨越技術(shù)差異重疊在一起。
2鹏浅、CCA降維之后細(xì)胞在低維空間有了可以度量的“距離”嗅义,MNN(mutual nearest neighbor)算法以此找到兩個數(shù)據(jù)集之間互相“距離”最近的細(xì)胞,Seurat將這些相互最近鄰細(xì)胞稱為“錨點細(xì)胞”篡石。我們用兩個數(shù)據(jù)集A和B來說明錨點芥喇,假設(shè):
A樣本中的細(xì)胞A3與B樣本中距離最近的細(xì)胞有3個(B1,B2,B3)
B樣本中的細(xì)胞B1與A樣本中距離最近的細(xì)胞有4個(A1,A2,A3,A4)
B樣本中的細(xì)胞B2與A樣本中距離最近的細(xì)胞有2個(A5,A6)
B樣本中的細(xì)胞B3與A樣本中距離最近的細(xì)胞有3個(A1,A2,A7)
那么A3與B1是相互最近鄰細(xì)胞,A3與B2凰萨、B3不是相互最近鄰細(xì)胞,A3+B1就是A械馆、B兩個數(shù)據(jù)集中的錨點之一胖眷。實際數(shù)據(jù)中,兩個數(shù)據(jù)集之間的錨點可能有幾百上千個霹崎,如下圖所示:
圖中每條線段連接的都是相互最近鄰細(xì)胞
3珊搀、理想情況下相同類型和狀態(tài)的細(xì)胞才能構(gòu)成配對錨點細(xì)胞,但是異常的情況也會出現(xiàn)尾菇,如上圖中query數(shù)據(jù)集中黑色的細(xì)胞團(tuán)境析。它在reference數(shù)據(jù)集沒有相同類型的細(xì)胞,但是它也找到了錨點配對細(xì)胞(紅色連線)派诬。Seurat會通過兩步過濾這些不正確的錨點:
在CCA低維空間找到的錨點劳淆,返回到基因表達(dá)數(shù)據(jù)構(gòu)建的高維空間中驗證,如果它們的轉(zhuǎn)錄特征相似性高則保留默赂,否則過濾此錨點沛鸵。
檢查錨點細(xì)胞所在數(shù)據(jù)集最鄰近的30個細(xì)胞,查看它們重疊的錨點配對細(xì)胞的數(shù)量,重疊越多分值越高曲掰,代表錨點可靠性更高疾捍。原理見下圖:
左邊query數(shù)據(jù)集的一個錨點細(xì)胞能在reference數(shù)據(jù)集鄰近區(qū)域找到多個配對錨點細(xì)胞,可以得到更高的錨點可靠性評分栏妖;右邊一個錨點細(xì)胞只能在reference數(shù)據(jù)集鄰近區(qū)域找到一個配對錨點細(xì)胞乱豆,錨點可靠性評分則較低。
4吊趾、經(jīng)過層層過濾剩下的錨點細(xì)胞對咙鞍,可以認(rèn)為它們是相同類型和狀態(tài)的細(xì)胞,它們之間的基因表達(dá)差異是技術(shù)偏倚引起的趾徽。Seurat計算它們的差異向量续滋,然后用此向量校正這個錨點錨定的細(xì)胞子集的基因表達(dá)值。校正后的基因表達(dá)值即消除了技術(shù)偏倚孵奶,實現(xiàn)了兩個單細(xì)胞數(shù)據(jù)集的整合疲酌。
深究技術(shù)細(xì)節(jié)的朋友可以參閱原文:Tim S, Andrew Butler, Paul Hoffman , et al. Comprehensive integration of single cell data[J].Cell,2019.獲取數(shù)據(jù)集
本專題的數(shù)據(jù)來自Immune Landscape of Viral- and Carcinogen-Driven Head and Neck Cancer,數(shù)據(jù)集GEO編號:GSE139324了袁。建議大家練習(xí)自己下載朗恳,也可以加Kinesin微信獲取數(shù)據(jù)的百度云鏈接。
后續(xù)我會摸索之后寫一篇下載數(shù)據(jù)的教程载绿。
原數(shù)據(jù)集有63個scRNA的數(shù)據(jù)粥诫,都是分選的CD45+免疫細(xì)胞≌赣梗考慮到計算資源問題怀浆,挑選了10個樣本用于此次演示。
數(shù)據(jù)集合并前面講了很多數(shù)據(jù)整合的原理怕享,大家是不是很心動呢执赡?所有類型的單細(xì)胞數(shù)據(jù)都要進(jìn)行整合嗎,數(shù)據(jù)整合算法真的像開發(fā)者說的只消除技術(shù)偏倚不掩蓋細(xì)胞之間真實的基因表達(dá)差異嗎函筋?如果你掌握了本文介紹的內(nèi)容沙合,建議你整合與不整合的數(shù)據(jù)都分析試試,實踐出真知跌帐!回到本節(jié)數(shù)據(jù)集合并的話題上首懈,介紹兩種方法合并多個樣本的數(shù)據(jù):
library(Seurat)
通過最后的dim和table函數(shù)查看數(shù)據(jù),可以發(fā)現(xiàn)兩種方法得到的基因數(shù)和細(xì)胞數(shù)完全一樣谨敛。下面我們降維聚類看看有沒有差異:
scRNA1 <- NormalizeData(scRNA1)
第一種方法合并數(shù)據(jù)的結(jié)果:
第二種方法合并數(shù)據(jù)的結(jié)果:
通過降維圖可以看出兩種方法的結(jié)果完全一致究履。這兩種方法真的沒有一點差異嗎,有興趣的朋友可以用GSE125449的數(shù)據(jù)集試試佣盒。
數(shù)據(jù)集整合
#scRNAlist是之前代碼運行保存好的seurat對象列表挎袜,保存了10個樣本的獨立數(shù)據(jù)
與合并樣本的降維結(jié)果對比如下圖:
數(shù)據(jù)質(zhì)控
##==數(shù)據(jù)質(zhì)控==#
質(zhì)控后的數(shù)據(jù)
細(xì)胞類型鑒定
為了后續(xù)分析的方便,我們先用SingleR預(yù)測每個cluster的細(xì)胞類型。
##==鑒定細(xì)胞類型==##
用兩個參考數(shù)據(jù)庫分別運行SingleR盯仪,結(jié)果有一定差異紊搪,由此可見SingleR+Marker基因人工鑒定才是可靠的細(xì)胞鑒定的方法。
我們后續(xù)分析采用左圖鑒定的結(jié)果
點擊閱讀原文單細(xì)胞轉(zhuǎn)錄組高級分析一:多樣本合并與批次校正