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