R中單細(xì)胞RNA-seq數(shù)據(jù)分析教程 (2)

引言

本系列開(kāi)啟R中單細(xì)胞RNA-seq數(shù)據(jù)分析教程,持續(xù)更新,歡迎關(guān)注,轉(zhuǎn)發(fā)!

導(dǎo)入Seurat包

首先,請(qǐng)確認(rèn)你的R軟件已經(jīng)安裝了Seurat這個(gè)包。

library(Seurat)

這會(huì)將您已安裝的Seurat包載入您當(dāng)前的R環(huán)境中。通常不會(huì)出現(xiàn)錯(cuò)誤,但可能會(huì)有一些詳細(xì)信息顯示。如果提示您該包無(wú)法找到,請(qǐng)先進(jìn)行Seurat的安裝。

install.packages("Seurat")
library(Seurat)

1. 創(chuàng)建Seurat對(duì)象

Seurat 引入了一種新的數(shù)據(jù)類型,稱為“ Seurat ”。這種數(shù)據(jù)類型使得 Seurat 能夠記錄整個(gè)分析過(guò)程中的所有步驟和結(jié)果。因此,首要步驟是導(dǎo)入數(shù)據(jù)并構(gòu)建一個(gè) Seurat 對(duì)象。對(duì)于通過(guò) 10x Genomics 平臺(tái)產(chǎn)生的數(shù)據(jù),Seurat 提供了一種便捷的處理方式。

counts <- Read10X(data.dir = "data/DS1/")
seurat <- CreateSeuratObject(counts, project="DS1")

Read10X 函數(shù)的功能是導(dǎo)入數(shù)據(jù)矩陣,并將其行名和列名分別按照基因名稱和細(xì)胞條碼進(jìn)行重新命名。當(dāng)然,如果數(shù)據(jù)不是通過(guò) 10x 平臺(tái)生成的,人們也可以選擇手動(dòng)進(jìn)行這些操作。

library(Matrix)
counts <- readMM("data/DS1/matrix.mtx.gz")
barcodes <- read.table("data/DS1/barcodes.tsv.gz", stringsAsFactors=F)[,1]
features <- read.csv("data/DS1/features.tsv.gz", stringsAsFactors=F, sep="\t", header=F)
rownames(counts) <- make.unique(features[,2])
colnames(counts) <- barcodes

seurat <- CreateSeuratObject(counts, project="DS1")

如果您瀏覽Seurat教程,您會(huì)發(fā)現(xiàn)在CreateSeuratObj函數(shù)中增加了一些額外的參數(shù),比如min.cellsmin.features。當(dāng)設(shè)置這些參數(shù)后,會(huì)對(duì)數(shù)據(jù)進(jìn)行初步篩選,從一開(kāi)始就排除那些在太少細(xì)胞中被檢測(cè)到的基因,以及那些檢測(cè)到基因數(shù)量過(guò)少的細(xì)胞。這種做法是可行的,但建議保留所有基因(即保持默認(rèn)設(shè)置或?qū)?code>min.cells設(shè)為0)。

2. 質(zhì)量控制

在創(chuàng)建Seurat對(duì)象之后,接下來(lái)的步驟是對(duì)數(shù)據(jù)進(jìn)行質(zhì)量控制。最常見(jiàn)的質(zhì)量控制包括篩選掉:

  1. 檢測(cè)到的基因數(shù)量過(guò)少的細(xì)胞。這些通常意味著細(xì)胞的測(cè)序深度不足以進(jìn)行可靠的特征描述。
  2. 檢測(cè)到的基因數(shù)量過(guò)多的細(xì)胞。這些可能代表雙細(xì)胞或多細(xì)胞(即同一液滴中的兩個(gè)或多個(gè)細(xì)胞,因此具有相同的細(xì)胞條碼)。
  3. 線粒體轉(zhuǎn)錄本百分比過(guò)高的細(xì)胞。由于大多數(shù)單細(xì)胞RNA測(cè)序?qū)嶒?yàn)使用寡T來(lái)捕獲mRNA,線粒體轉(zhuǎn)錄本應(yīng)該因?yàn)槿鄙賞oly-A尾而較少,但不可避免地會(huì)捕獲一些線粒體轉(zhuǎn)錄本。同時(shí),也有證據(jù)顯示一些線粒體轉(zhuǎn)錄本中存在穩(wěn)定的poly-A尾,但它們是降解的標(biāo)志。總的來(lái)說(shuō),線粒體轉(zhuǎn)錄本百分比高的細(xì)胞可能代表處于壓力狀態(tài)的細(xì)胞(例如缺氧),這些細(xì)胞產(chǎn)生大量的線粒體,或者產(chǎn)生異常高數(shù)量的截短線粒體轉(zhuǎn)錄本。

雖然Seurat在創(chuàng)建Seurat對(duì)象時(shí)會(huì)自動(dòng)統(tǒng)計(jì)檢測(cè)到的基因數(shù)量(其中nFeature_RNA代表檢測(cè)到的基因/特征數(shù)量;nCount_RNA代表檢測(cè)到的轉(zhuǎn)錄本數(shù)量),但線粒體轉(zhuǎn)錄本的百分比需要手動(dòng)計(jì)算。不過(guò),Seurat提供了一個(gè)便捷的解決方案來(lái)處理這個(gè)問(wèn)題。

seurat[["percent.mt"]] <- PercentageFeatureSet(seurat, pattern = "^MT[-\\.]")

請(qǐng)留意,篩選標(biāo)準(zhǔn)并非一成不變,因?yàn)檫@些指標(biāo)的正常值范圍可能因?qū)嶒?yàn)而異,這取決于樣本來(lái)源、使用的試劑以及測(cè)序深度。這里建議僅排除異常值細(xì)胞,也就是那些在某些質(zhì)量控制指標(biāo)上明顯偏離大多數(shù)細(xì)胞的少數(shù)細(xì)胞。為了做到這一點(diǎn),首先需要了解這些值在數(shù)據(jù)中的分布情況。可以通過(guò)為每個(gè)指標(biāo)繪制小提琴圖來(lái)觀察它們的分布。

VlnPlot(seurat, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
VlnPlot(seurat, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3, pt.size=0)

正如所料,細(xì)胞中檢測(cè)到的基因數(shù)量與轉(zhuǎn)錄本數(shù)量之間存在較強(qiáng)的相關(guān)性,但線粒體轉(zhuǎn)錄本的百分比卻并非如此。

library(patchwork)
plot1 <- FeatureScatter(seurat, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(seurat, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
plot1 + plot2

鑒于基因數(shù)量與轉(zhuǎn)錄本數(shù)量之間存在相關(guān)性,只需針對(duì)其中一個(gè)指標(biāo)設(shè)定一個(gè)閾值,并結(jié)合線粒體轉(zhuǎn)錄本百分比的上限來(lái)進(jìn)行質(zhì)量控制。以這個(gè)數(shù)據(jù)集為例,將檢測(cè)到的基因數(shù)量設(shè)定在500到5000之間,線粒體轉(zhuǎn)錄本百分比低于5%是一個(gè)合理的選擇,但根據(jù)具體情況調(diào)整閾值也是完全可以的。

seurat <- subset(seurat, subset = nFeature_RNA > 500 & nFeature_RNA < 5000 & percent.mt < 5)

需要指出的是,有時(shí)候可能需要執(zhí)行更嚴(yán)格的質(zhì)量控制。其中一個(gè)可能的問(wèn)題是細(xì)胞雙重捕獲(doublets)。由于不同細(xì)胞捕獲的RNA量差異很大,雙重捕獲的細(xì)胞并不總是表現(xiàn)出更高的基因或轉(zhuǎn)錄本檢測(cè)數(shù)量。目前有幾個(gè)工具可以預(yù)測(cè)一個(gè)“細(xì)胞”是否為單個(gè)細(xì)胞,或者實(shí)際上是雙重捕獲/多重捕獲。例如,DoubletFinder 通過(guò)在數(shù)據(jù)中隨機(jī)平均細(xì)胞構(gòu)建人工雙重捕獲,然后測(cè)試每個(gè)細(xì)胞是否與人工雙重捕獲更相似來(lái)預(yù)測(cè)雙重捕獲。這有助于判斷一個(gè)細(xì)胞是否有可能是雙重捕獲。同樣,線粒體轉(zhuǎn)錄本的百分比也許不足以篩選出處于壓力或不健康的細(xì)胞。有時(shí),可能需要進(jìn)行額外的篩選,比如基于機(jī)器學(xué)習(xí)的預(yù)測(cè)

3. 數(shù)據(jù)標(biāo)準(zhǔn)化

與批量RNA-seq類似,由于不同細(xì)胞捕獲的RNA量存在差異,不能直接比較不同細(xì)胞中每個(gè)基因的捕獲轉(zhuǎn)錄本數(shù)量。因此,需要進(jìn)行標(biāo)準(zhǔn)化處理,以使不同細(xì)胞間的基因表達(dá)水平可以相互比較。單細(xì)胞RNA-seq數(shù)據(jù)分析中最常用的標(biāo)準(zhǔn)化方法與TPM(每百萬(wàn)讀數(shù)的轉(zhuǎn)錄本數(shù))概念類似 - 即對(duì)每個(gè)細(xì)胞的特征表達(dá)量進(jìn)行標(biāo)準(zhǔn)化,然后乘以一個(gè)縮放因子(默認(rèn)為10000)。最后,將得到的表情水平進(jìn)行對(duì)數(shù)轉(zhuǎn)換,以便表達(dá)值更符合正態(tài)分布。值得一提的是,在進(jìn)行對(duì)數(shù)轉(zhuǎn)換之前,每個(gè)值都會(huì)加上一個(gè)偽計(jì)數(shù),這樣即使在某個(gè)細(xì)胞中未檢測(cè)到轉(zhuǎn)錄本的基因,在對(duì)數(shù)轉(zhuǎn)換后仍然可以顯示為零值。

seurat <- NormalizeData(seurat)

通常,NormalizeData函數(shù)中有幾個(gè)參數(shù)可以設(shè)置,但大多數(shù)時(shí)候使用默認(rèn)設(shè)置就足夠了。

4. 特征選擇

與批量RNA-seq相比,單細(xì)胞RNA-seq的最大優(yōu)勢(shì)在于其能夠探究樣本的細(xì)胞異質(zhì)性,即通過(guò)識(shí)別具有獨(dú)特分子特征的細(xì)胞群體。然而,并非所有基因在識(shí)別不同細(xì)胞群體時(shí)都具有同等的信息量和貢獻(xiàn)。例如,表達(dá)水平低的基因以及在所有細(xì)胞中表達(dá)水平相似的基因,它們提供的信息量較少,可能會(huì)模糊不同細(xì)胞群體之間的差異。因此,在深入分析scRNA-seq數(shù)據(jù)之前,進(jìn)行恰當(dāng)?shù)奶卣鬟x擇是非常必要的。

在Seurat或者更廣泛地說(shuō),在單細(xì)胞RNA-seq數(shù)據(jù)分析中,這一步通常涉及到識(shí)別表達(dá)水平在細(xì)胞間變化最大的高變異性特征/基因。

seurat <- FindVariableFeatures(seurat, nfeatures = 3000)

通常,Seurat 會(huì)計(jì)算每個(gè)基因在不同細(xì)胞中的標(biāo)準(zhǔn)化方差,并挑選出變異性最大的2000個(gè)基因作為高變異特征。你可以通過(guò)設(shè)置nfeatures參數(shù)(例如,這里選擇了前3000個(gè)基因)來(lái)輕松調(diào)整高變異特征的數(shù)量。

關(guān)于應(yīng)該使用多少高變異特征,并沒(méi)有一個(gè)固定的標(biāo)準(zhǔn)。有時(shí)需要嘗試幾次,以確定哪個(gè)數(shù)量能夠提供最清晰和最容易解釋的結(jié)果。大多數(shù)情況下,選擇2000到5000之間的數(shù)值是合適的,而且使用不同的數(shù)值對(duì)結(jié)果的影響不會(huì)太大。

此外,你可以選擇在變量特征圖中展示這些結(jié)果,但這并不是必需的步驟。

top_features <- head(VariableFeatures(seurat), 20)
plot1 <- VariableFeaturePlot(seurat)
plot2 <- LabelPoints(plot = plot1, points = top_features, repel = TRUE)
plot1 + plot2

未完待續(xù),歡迎關(guān)注!

動(dòng)動(dòng)您發(fā)財(cái)?shù)男∈贮c(diǎn)個(gè)贊吧!歡迎轉(zhuǎn)發(fā)!

本文由mdnice多平臺(tái)發(fā)布

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,382評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,038評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,853評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,616評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,112評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,355評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,869評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,727評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,928評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,165評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,570評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,813評(píng)論 1 282
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,585評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,892評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容