計(jì)數(shù)歸一化和主成分分析
在獲得我們的高質(zhì)量單細(xì)胞后诗越,單細(xì)胞 RNA-seq (scRNA-seq) 分析工作流程的下一步是執(zhí)行聚類区端。聚類的目標(biāo)是將不同的細(xì)胞類型分成獨(dú)特的細(xì)胞簇。為了進(jìn)行聚類瓣蛀,我們確定了細(xì)胞之間表達(dá)差異最大的基因。然后,我們使用這些基因來確定哪些相關(guān)基因集是造成對細(xì)胞間的表達(dá)差異最大的原因馆匿。
在進(jìn)行聚類之前,先需要理解幾個(gè)概念燥滑。
Count normalization
第一個(gè)是count normalization渐北,這對于準(zhǔn)確比較細(xì)胞(或樣本)之間的基因表達(dá)是至關(guān)重要的。每個(gè)基因的RNA表達(dá)铭拧,通過mapped reads 這一有意義的數(shù)值來反映腔稀,但是這一數(shù)值還會受到許多其他無意義的因素干擾。Normalization就是縮放原始計(jì)數(shù)以解決“無意義”因素的過程焊虏。這樣淡喜,表達(dá)水平在細(xì)胞之間和/或細(xì)胞內(nèi)更加具有可比性炼团。
歸一化過程中經(jīng)常考慮的主要因素是:
- 測序深度:考慮測序深度對于比較細(xì)胞之間的基因表達(dá)是必要的疏尿。在下面的例子中瘟芝,每個(gè)基因在細(xì)胞 2 中的表達(dá)幾乎都翻了一番,但這是因?yàn)榧?xì)胞 2 的測序深度增加了兩倍褥琐。
scRNA-seq中的每個(gè)細(xì)胞都將具有與之相關(guān)的不同數(shù)量的reads锌俱。因此,要準(zhǔn)確比較細(xì)胞之間的表達(dá)敌呈,有必要對測序深度進(jìn)行標(biāo)準(zhǔn)化贸宏。
-
基因長度:比較相同細(xì)胞內(nèi)不同基因之間的表達(dá),需要考慮基因長度磕洪。映射到較長基因的reads可能看起來與較高表達(dá)的較短基因具有相同的計(jì)數(shù)/表達(dá)吭练。
image
在 scRNA-seq 分析中,我們將比較細(xì)胞內(nèi)不同基因的表達(dá)以對細(xì)胞進(jìn)行聚類析显。如果使用基于 3' 或 5' 液滴的方法鲫咽,基因的長度不會影響分析,因?yàn)閮H對轉(zhuǎn)錄物的 5' 或 3' 末端進(jìn)行測序谷异。但是分尸,如果使用全長測序,則應(yīng)考慮轉(zhuǎn)錄本長度歹嘹。
主成分分析 (PCA)
主成分分析(PCA)是一種既強(qiáng)調(diào)相似性又強(qiáng)調(diào)變異的技術(shù)寓落,用來在數(shù)據(jù)集中產(chǎn)生強(qiáng)模式(降維)。我們將在簡要介紹PCA(改編自StatQuests/Josh Starmer的YouTube視頻)荞下,強(qiáng)烈建議您瀏覽YouTube的StatQuest視頻伶选,有更全面的講解。
解釋一個(gè)簡單例子
假設(shè)您已經(jīng)量化了兩個(gè)樣本(或細(xì)胞)中四種基因的表達(dá)尖昏,您可以繪制這些基因的表達(dá)值仰税,其中一個(gè)樣本表示在 x 軸上,另一個(gè)樣本表示在 y 軸上,如下所示:
在表示最大變化的方向上通過數(shù)據(jù)繪制一條線,在本例中孽亲,該方向位于對角線上对妄。數(shù)據(jù)集中的最大變異發(fā)生在構(gòu)成這條線的兩個(gè)端點(diǎn)的基因之間河绽。
我們能看到基因在該線的上方和下方有些不同己单。同時(shí)我們可以在數(shù)據(jù)上繪制另一條線,表示數(shù)據(jù)中變化第二大的量耙饰,因?yàn)樵搱D是二維(2軸)的纹笼。
每條線末端附近的基因?qū)⑹悄切┳儺愖罡叩幕颍贿@些基因在數(shù)學(xué)上對線條的方向影響最大苟跪。
例如廷痘,基因 C值的微小變化會極大地改變較長線的方向,而基因 A或基因 D的微小變化對線條方向影響很小件已。
我們還可以旋轉(zhuǎn)整個(gè)曲線圖笋额,并以從左到右、向上和向下的方式查看表示變化的線條篷扩。我們看到數(shù)據(jù)中的大部分變化是從左到右的(較長的線)兄猩,第二大的變化是向上和向下的(較短的線)。現(xiàn)在鉴未,您可以將這些線視為表示變化的軸枢冤。這些軸本質(zhì)上是“主成分”,其中PC1代表數(shù)據(jù)中最大的變化歼狼,而PC2代表數(shù)據(jù)中第二大變化掏导。
如果我們有三個(gè)樣本/細(xì)胞享怀,那么我們就會有一個(gè)額外的方向可以發(fā)生變化(3D)羽峰。因此,如果我們有N個(gè)樣本/細(xì)胞添瓷,我們就會有N個(gè)變化方向或N個(gè)主成分(PC)梅屉!一旦計(jì)算出這些PC,處理數(shù)據(jù)集中最大變化的PC被指定為PC1鳞贷,第二PC被指定為PC2坯汤,依此類推。
一旦為數(shù)據(jù)集確定了PC搀愧,我們就必須弄清楚每個(gè)樣本/細(xì)胞是如何重新適應(yīng)坐標(biāo)系的惰聂,這樣我們才能以直觀的方式可視化相似性/差異性之處。這里的問題是“基于Sample_X中的基因表達(dá)咱筛,給定PC的Sample_X得分是多少搓幌?”按照以下步驟對所有樣本計(jì)算PC對分?jǐn)?shù):
(1)首先,根據(jù)每個(gè)基因?qū)γ總€(gè)PC的影響程度迅箩,給每個(gè)基因分配一個(gè)“影響力”分?jǐn)?shù)溉愁。對給定PC沒有任何影響的基因得分接近于零,而影響更大的基因得分更高饲趋。PC線末端的基因會有更大的影響拐揭,所以他們會得到更高的分?jǐn)?shù)撤蟆,但有相反的符號。
計(jì)算所有樣本-PC 對的 PC 分?jǐn)?shù)堂污,如下面的步驟和示意圖中所述:
(2)確定了影響值家肯,每個(gè)樣本的分?jǐn)?shù)將使用以下公式計(jì)算:
Sample1 PC1 score = (read count * influence) + ... for all genes
對于我們的 2 個(gè)樣本示例,以下是分?jǐn)?shù)的計(jì)算方式:
## Sample1
PC1 score = (4 * -2) + (1 * -10) + (8 * 8) + (5 * 1) = 51
PC2 score = (4 * 0.5) + (1 * 1) + (8 * -5) + (5 * 6) = -7
## Sample2
PC1 score = (5 * -2) + (4 * -10) + (8 * 8) + (7 * 1) = 21
PC2 score = (5 * 0.5) + (4 * 1) + (8 * -5) + (7 * 6) = 8.5
這是前兩個(gè)步驟的示意圖:
(3) 一旦計(jì)算出所有 PC 的分?jǐn)?shù)敷鸦,就可以將它們繪制在一個(gè)簡單的散點(diǎn)圖上息楔。下面是示例的繪圖,從 2D 矩陣到 2D 繪圖:
scRNA-seq 示例
假設(shè)您正在處理12,000 個(gè)細(xì)胞的單細(xì)胞 RNA-seq 數(shù)據(jù)集扒披,并且您已經(jīng)量化了20,000 個(gè)基因的表達(dá)值依。
計(jì)算 PC 分?jǐn)?shù)后,您會看到一個(gè) 12,000 x 12,000 的矩陣碟案,該矩陣表示有關(guān)所有細(xì)胞中相對基因表達(dá)的信息愿险。您可以選擇 PC1 和 PC2 列并以二維方式繪制它們。
您還可以使用前 40 個(gè) PC 的 PC 分?jǐn)?shù)進(jìn)行下游分析价说,如聚類辆亏、標(biāo)記識別等,因?yàn)檫@些代表了數(shù)據(jù)中的大部分變化鳖目。我們將在后面對此進(jìn)行更多討論扮叨。
注意:對于具有大量樣本或細(xì)胞的數(shù)據(jù)集,通常只繪制每個(gè)樣本/細(xì)胞的 PC1 和 PC2 分?jǐn)?shù)领迈,并進(jìn)行可視化彻磁。由于這些 PC 解釋了數(shù)據(jù)集中的最大變化,因此期望彼此更相似的樣本/細(xì)胞將與 PC1 和 PC2 聚集在一起狸捅。請參閱下面的真實(shí)示例:
圖片來源:https://github.com/AshwiniRS/Medium_Notebooks/blob/master/PCA/PCA_Iris_DataSet.ipynb) : //github.com/AshwiniRS/Medium_Notebooks/blob/master/PCA/PCA_Iris_DataSet.ipynb