劉小澤寫于2020.5.29
這篇文章做了一件事,就是幫助我們區分不同的批次矯正方法,然后比較了一下優劣
文章題目:Flexible comparison of batch correction methods for single-cell RNA-seq using BatchBench
文章在:https://www.biorxiv.org/content/10.1101/2020.05.22.111211v2
上傳時間是:2020.05.22
BatchBench :https://github.com/cellgeni/batchbench
BatchBench is a Nextflow workflow for running the following scRNA-Seq data batch effect correction methods:
- mnnCorrect
- limma
- ComBat
- Seurat 3
- Scanorama
- Harmony
- FastMNN
- BBKNN
前言
首先為什么要進行批次矯正?
單細胞分析經常會整合一些公共數據,不同的實驗時間、文庫制備、測序方案,都會產生一些技術誤差,如果太多,可能會干擾真實的生物信號。因此來自這些非生物因素的干擾就稱作批次效應
作者將8種常用的批次矯正方法分為3類:
- mnnCorrect、limma、ComBat、Seurat 3、Scanorama:產生一個整合、矯正后的表達矩陣
- Harmony、FastMNN:不是直接操作原始表達矩陣,而是對降維后的結果操作(they operate on a low-dimensional embedding of the original expression matrices),因此如果下游分析如果要用到原始表達矩陣的話,這類方法就會受限
- BBKNN:基于表達矩陣構建k-nearest neighbor graph(KNN),只能進行后續基于細胞的分析(如聚類、分群可視化),不能進行基于基因的分析(如marker基因鑒定、基因網絡)
關于這8種方法:
以及這三類針對什么進行分析以及后續可以做什么,作者也作圖說明:
但真正使用哪種方法,還是要依賴一個評測結果。但傳統的評測只能針對已發表的方法,并且評測缺少一些高質量的數據集(比如盡可能多的包含批次效應的因素)
作者使用BatchBench,針對3種研究深入的數據集,對8種方法進行評測,這個方法的流程是:
三個數據集
Pancreas dataset
Baron (GSE84133)、Muraro (GSE85241)、Segerstolpe (E-MTAB-5061) 分別由inDrop, CEL-Seq2 和 Smart-Seq2產生。過濾細胞:細胞中基因表達量少于200;過濾基因:在少于3個細胞中表達。另外只保留有注釋的細胞類型(去掉了unclassified這類的細胞)
Mouse Cell Atlas datasets
數據來自:https://figshare.com/s/865e694ad06d5857db4b
按照組織進行整合,得到了包含37個器官的數據集,其中選取了18個數據集(它們中包含大于1個批次并且有合理的細胞類型分布)。過濾細胞:基因表達量少于250;過濾基因:在少于50個細胞中表達;過濾細胞類型:細胞數量少于整體1%的類型;過濾批次:細胞數量少于總體5%的批次
Tabula Muris datasets
來自兩個平臺的同一組織的不同數據混合,得到11個器官的數據集。過濾細胞:基因表達量少于1000;過濾基因:在少于50個細胞中表達;過濾細胞類型:細胞數量少于整體1%的類型;過濾批次:細胞數量少于總體5%的批次。結果得到4168個基因,60828個細胞(40,058 from 10X and 20,770 from Smart-Seq2)
直接上結論
Seurat的整體效果最好,它既正確地整合了批次,又沒有丟失不同細胞類型;
Harmony在pancreas和MCA的數據中表現也不錯,但在矯正Tabula Muris數據時失敗;Scanorama 和 fastMNN表現也算良好;
這里使用的熵評估方法,可能不太適用BBKNN,因此它需要額外的評測方法;
另外對于處理大量的細胞數量和批次,Harmony表現優秀,并且計算資源分配合理。除了Harmony和BBKNN,其他方法當遇到上百個批次的處理時(即使一個批次中的細胞數量不多)也會捉襟見肘,因此未來的批次效應處理方法應該向數據可擴展性(scalability)上發展。
如果想使用處理批次效應后的表達矩陣進行下游分析(如鑒定marker基因),這些方法都會遇到問題。因為marker基因并不是保守存在的,任何基于基因的分析(例如 找差異基因或者鑒定marker基因),都是基于基因表達量,而批次矯正方法需要保證不會干擾表達量的變化,這一點也是未來需要改進的。
結果
1 測試批次整合與細胞分群
使用了人類胰腺癌的3個scRNA數據集,原始數據的UMAP結果是:
左邊是三個數據集,右邊是各種細胞類型
但不得不說,兩個圖例使用的顏色太相近,容易引起混淆
可以看到,所有的方法都能將不同數據集的細胞混合起來,而依然可以分離不同的細胞類型
然后為了評估處理(先整合不同批次的細胞,然后分離不同的細胞類型)的效果,提出了計算一個”熵“:normalized Shannon entropy。如果批次方面的熵比較高,說明混合的批次之間更接近,也就是混合效果更好;如果細胞類型方面的熵比較低,說明細胞類型依然可區分
可以看到,不同的方法都保持較低的細胞類型方面的熵,因此它們都能夠保證分離不同類型的細胞;但批次方面的熵差別較大。其中Seurat和Harmony整體表現較好,汽其次是Scanorama和fastMNN;而mnnCorrect, Limma 和 ComBat的表現較差
并且大部分方法對MCA(Mouse Cell Atlas)數據集的整合效果更好
圖例:pancreas data (red), Mouse Cell Atlas (green), and Tabula Muris (blue)
2 當細胞數量或批次數量增加時,批次矯正變得困難
利用 Tabula Muris數據集(總共60,828 cells),取了它的1%、3%、5%、10%、20%、50%作比較
當細胞數量從608(1%)增至60828時,除了Scanorama、Harmony、Seurat,其他方法的批次熵都下降了50%左右。但是Scanorama在混合批次的同時,也混合了細胞類型(可以看到藍色的虛線基本不變,說明細胞類型熵不變,也就是沒有分離細胞類型)
Harmony是唯一一個在增加細胞數量后,批次熵增加的(圖a)。除了Scanorama,其余方法的細胞類型熵都降低,說明細胞數量增多,細胞分群更容易
批次數量增加時,BBKNN, Seurat 和 Harmony表現最穩定(圖d)
在時間方面,mnnCorrect和fastMNN隨細胞數量增長,運行時間也呈現指數增長,mnnCorrect運行最慢。不過時間消耗在大部分軟件中差別不大
在內存方面,所有的方法隨細胞數量增長,內存消耗都呈現指數增長,其中Seurat消耗內存最多。綜上,Seurat, mnnCorrect, ComBat 和 fastMNN是比較消耗資源的,而Harmony, Scanorama 和 BBKNN資源需求最小
a、d:熵的變化;b、e運行時間的變化;c、f:消耗內存的變化
3 批次處理對非監督聚類和marker基因鑒定的影響
使用三種非監督聚類方法:Leiden、Louvain、SC3,然后比較矯正前后的數據聚類結果。這個結果相似性的量化是利用Adjusted Rand Index (ARI),圖a可以看到:MCA數據集利用不同的方法聚類后結果相似,但組織之間的差異比較大;Tabula Muris數據集也是如此,不過與MCA不同的是,利用SC3方法得到的聚類結果會比Louvain或Leiden結果普遍(11個組織中有7個)有更高的ARI。奇怪的是,對于心臟和乳腺組織,最佳的聚類結果發生在:SC3+非批次矯正的數據。對于pancreas數據,SC3傾向于得到更大的ARI,而且不想MCA數據,Seurat和Harmony的聚類結果與之前的熵分析結果也一致。
對整合后的數據進行marker基因鑒定,只有ComBat和Limma的結果可以找到大部分細胞類型的marker基因,Seurat只能對少部分細胞類型進行鑒定(圖b),但如果檢測單個數據的marker基因與混合矯正后的marker基因之間的一致性,Seurat的一致性更強(圖c)。Seurat的一致性表現是犧牲細胞類型數量得到的
歡迎關注我們的公眾號~_~
我們是兩個農轉生信的小碩,打造生信星球,想讓它成為一個不拽術語、通俗易懂的生信知識平臺。需要幫助或提出意見請后臺留言或發送郵件到jieandze1314@gmail.com