各位老師好,本期為大家帶來單細胞轉錄組標準分析之降維聚類。
單細胞研究的重點就是對細胞進行分群和鑒定,然而單細胞測序數據是一個高維的復雜數據陣列,通常涉及到龐大的細胞數量,以及每個細胞中的眾多基因。因此,面對復雜的數據陣列,在聚類之前,一般采用 PCA 方法進行適度降維以降低計算量和噪音,然后用 Leiden 方法尋找降維空間中鄰近細胞網絡的模塊。最后,采用 tSNE 和 UMAP 兩種非線性降維方法分別對單細胞群聚類結果作可視化分析展示。
Q:如何進行數據降維?
降維的過程其實就是去繁存簡,每個基因對細胞來講都是一個變化維度。數據特征維度太高,不但計算很麻煩,其次特征之間可能存在相關的情況 ,從而增加了問題的復雜程度,分析起來也不方便,所以需要盡可能保證真實差異的前提下減少維度的數量,PCA就是合理的方式之一,既可以減少需要分析的特征,也盡可能多的保留原來的數據信息。
步驟一:尋找高變基因
降維的過程依賴于基因表達量,因此挑選那些更能代表整體差異的基因進行降維分析是非常關鍵的,一般來說如果一個基因在細胞群體中變化幅度很大,它就是受關注對象,我們會認為是生物因素導致了這么大的差異,該基因即為高度變化基因(highly variable genes ,HVGs)。
Seurat包FindVariableFeatures函數,會計算一個mean-variance結果,根據基因表達量方差和均值篩選,以此獲得高度可變的基因,一般默認采用前2000個高變基因進行后續降維分析。
高變基因示例圖
步驟二:降維
主成分分析 (PCA, principal component analysis)PCA的本質是將n個特征減少到k個,保留那些對生物差異貢獻很大的特征。通過數據壓縮,減少后面分析會使用到的維度,減少分析難度的同時盡可能的保留原有數據的特征。
步驟三:選擇合適的PCs
利用Elbow Point進行選擇。Elbow Point作圖后,一般選擇斜率平滑的點之前的所有PC軸,加起來差異累計過90%就可以接受,根據后面聚類的結果可以重復調整。每個PCs都能捕獲一些生物差異,而且前面的PC比后面的PC包含的差異信息更多,更有價值 。
細胞聚類目的是根據細胞中各個基因表達模式的相似性(或距離)將一組細胞劃分成具有生物學意義的亞群。Leiden算法是一種適用于scRNA-Seq數據集進行細胞聚類的算法。
Leiden聚類算法原理圖
Leiden算法從單例分區(a)開始。該算法將單個節點從一個社區移動到另一個社區,以找到合適的分區(b),然后對其進行細化(c)。基于細化分區創建聚合網絡(d),使用非細化分區為聚合網絡創建初始分區。例如,(b)中的紅色社區被細化為(c)中的兩個子社區,在聚合之后,它們成為(d)中兩個獨立的節點,都屬于同一社區。然后,算法移動聚合網絡(e)中的各個節點。在這種情況下,細化不會改變分區(f)。重復這些步驟,直到無法進行進一步改進。
聚類之后的可視化,目前主要有tSNE和UMAP。兩者都是在高維空間中尋找保持相鄰關系的低維表示方法。
Q:tSNE和UMAP的區別?怎么選擇?
一是計算高維距離時,tSNE會計算所有點之間的距離,通過Perplexity(困惑度)參數調整全局結構與局部結構間的軟邊界,而UMAP則只計算各點與最近k個點之間的距離,嚴格限制局部的范圍;另一方面,兩種算法在對信息損失的計算方法不同,tSNE使用KL散度衡量信息損失,在全局結構上存在失真的可能,而UMAP使用二元交叉熵,全局和局部結構均有保留。目前兩種方法在文獻中均有使用,可根據實際情況來進行選擇。
本期專題分享到這里就結束啦。感興趣的老師,請持續關注中科新生命10x 單細胞轉錄組常見Q&A,我們下期再見!