單細(xì)胞轉(zhuǎn)錄組基礎(chǔ)分析二:數(shù)據(jù)質(zhì)控與標(biāo)準(zhǔn)化

本文是參考學(xué)習(xí)單細(xì)胞轉(zhuǎn)錄組基礎(chǔ)分析二:數(shù)據(jù)質(zhì)控與標(biāo)準(zhǔn)化的學(xué)習(xí)筆記沈贝∪杖梗可能根據(jù)學(xué)習(xí)情況有所改動(dòng)错负。
本節(jié)及之后的三您访、四節(jié)主要介紹單細(xì)胞表達(dá)矩陣到細(xì)胞類型鑒定的分析步驟,流程圖如下:

圖片

10X官網(wǎng)下載數(shù)據(jù)

10X官網(wǎng)演示數(shù)據(jù):

官方演示數(shù)據(jù)集的頁面如下振诬,Chromium Connect是自動(dòng)化系統(tǒng)挑随,官方介紹操作造成的批次效應(yīng)較小善炫。Chromium Next GEM最新版的芯片,由老版的雙十字微流控芯片改成了單十字微流控芯片捐韩。目前國(guó)內(nèi)的10X試劑基本都是V3版本的了退唠,因此也不要下載V1和V2試劑的數(shù)據(jù)了。為了保證筆記本電腦能運(yùn)行荤胁,我們下載細(xì)胞數(shù)比較少的數(shù)據(jù)瞧预,下圖紅色箭頭所示:

圖片

本教程的分析都是基于箭頭標(biāo)示的數(shù)據(jù)。點(diǎn)擊之后需要提交個(gè)人信息仅政,提交之后就進(jìn)入數(shù)據(jù)下載界面 了垢油。

圖片

下載紅框標(biāo)示的數(shù)據(jù),Seurat分析的輸入文件在這里圆丹,解壓后如下圖所示:

圖片

數(shù)據(jù)質(zhì)控與標(biāo)準(zhǔn)化

上游分析軟件Cell Ranger會(huì)對(duì)數(shù)據(jù)進(jìn)行質(zhì)控滩愁,但是在進(jìn)行下游分析前,我們一般會(huì)對(duì)數(shù)據(jù)進(jìn)行更嚴(yán)格的過濾辫封。

library(Seurat)

運(yùn)行上面的代碼后會(huì)在"QC"文件夾下面得到4個(gè)文件

圖片

打vlnplot_before_qc的文件

圖片

上面的小提琴圖依次是細(xì)胞的基因數(shù)量惊楼、mRNA分子數(shù)量、線粒體基因比例秸讹、紅細(xì)胞基因比例檀咙。我們一般根據(jù)基因數(shù)量和線粒體比例來過濾細(xì)胞,細(xì)胞的最低基因數(shù)一般選擇200-500璃诀,最大基因數(shù)和核糖體比例根據(jù)上圖來選擇弧可,我的建議是minGene=500,maxGene=4000劣欢,pctMT=15棕诵。

##設(shè)置質(zhì)控標(biāo)準(zhǔn)

運(yùn)行上面的代碼后會(huì)在"QC"文件夾下面得到vlnplot_after_qc的文件

圖片

可以看到基因數(shù)和核糖體比例不正常的細(xì)胞都過濾了裁良。以上代碼的最后一行是對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,它的作用是讓測(cè)序數(shù)據(jù)量不同的細(xì)胞的基因表達(dá)量具有可比性校套。計(jì)算公式如下:標(biāo)準(zhǔn)化后基因表達(dá)量 = log1p(10000基因counts/細(xì)胞總counts)*

> ##創(chuàng)建seurat對(duì)象
> scRNA.counts <- Read10X(data.dir = "filtered_feature_bc_matrix")
> try({scRNA = CreateSeuratObject(scRNA.counts[['Gene Expression']])},silent=T)
> if(exists('scRNA')){} else {scRNA = CreateSeuratObject(scRNA.counts)}
> table(scRNA@meta.data$orig.ident)         #查看樣本的細(xì)胞數(shù)量

SeuratProject 
         1222 
> ##計(jì)算質(zhì)控指標(biāo)
> #計(jì)算細(xì)胞中核糖體基因比例
> scRNA[["percent.mt"]] <- PercentageFeatureSet(scRNA, pattern = "^MT-")
> #計(jì)算紅細(xì)胞比例
> HB.genes <- c("HBA1","HBA2","HBB","HBD","HBE1","HBG1","HBG2","HBM","HBQ1","HBZ")
> HB_m <- match(HB.genes, rownames(scRNA@assays$RNA))
> HB.genes <- rownames(scRNA@assays$RNA)[HB_m]
> HB.genes <- HB.genes[!is.na(HB.genes)]
> scRNA[["percent.HB"]]<-PercentageFeatureSet(scRNA, features=HB.genes)
> head(scRNA@meta.data)
                      orig.ident nCount_RNA nFeature_RNA percent.mt percent.HB
AAACCCAAGGAGAGTA-1 SeuratProject       8288         2620  10.774614          0
AAACGCTTCAGCCCAG-1 SeuratProject       5512         1808   7.964441          0
AAAGAACAGACGACTG-1 SeuratProject       4283         1562   6.187252          0
AAAGAACCAATGGCAG-1 SeuratProject       2754         1225   5.991285          0
AAAGAACGTCTGCAAT-1 SeuratProject       6592         1831   6.614078          0
AAAGGATAGTAGACAT-1 SeuratProject       8845         2048   7.959299          0
> col.num <- length(levels(scRNA@active.ident))
> violin <- VlnPlot(scRNA,
+                   features = c("nFeature_RNA", "nCount_RNA", "percent.mt","percent.HB"), 
+                   cols =rainbow(col.num), 
+                   pt.size = 0.01, #不需要顯示點(diǎn)价脾,可以設(shè)置pt.size = 0
+                   ncol = 4) + 
+   theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
> ggsave("QC/vlnplot_before_qc.pdf", plot = violin, width = 12, height = 6)
> ggsave("QC/vlnplot_before_qc.png", plot = violin, width = 12, height = 6)
> plot1 <- FeatureScatter(scRNA, feature1 = "nCount_RNA", feature2 = "percent.mt")
> plot2 <- FeatureScatter(scRNA, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
> plot3 <- FeatureScatter(scRNA, feature1 = "nCount_RNA", feature2 = "percent.HB")
> pearplot <- CombinePlots(plots = list(plot1, plot2, plot3), nrow=1, legend="none")
Warning message:
CombinePlots is being deprecated. Plots should now be combined using the patchwork system. 
> ggsave("QC/pearplot_before_qc.pdf", plot = pearplot, width = 12, height = 5)
> ggsave("QC/pearplot_before_qc.png", plot = pearplot, width = 12, height = 5)
> # 運(yùn)行上面的代碼后會(huì)在"QC"文件夾下面得到4個(gè)文件
> # 圖片
> # 
> # 打vlnplot_before_qc的文件
> # 圖片
> # 
> # 上面的小提琴圖依次是細(xì)胞的基因數(shù)量、mRNA分子數(shù)量笛匙、線粒體基因比例侨把、紅細(xì)胞基因比例。我們一般根據(jù)基因數(shù)量和線粒體比例來過濾細(xì)胞妹孙,細(xì)胞的最低基因數(shù)一般選擇200-500秋柄,最大基因數(shù)和核糖體比例根據(jù)上圖來選擇,我的建議是minGene=500蠢正,maxGene=4000骇笔,pctMT=15。
> ##設(shè)置質(zhì)控標(biāo)準(zhǔn)
> print(c("請(qǐng)輸入允許基因數(shù)和核糖體比例嚣崭,示例如下:", "minGene=500", "maxGene=4000", "pctMT=20"))
[1] "請(qǐng)輸入允許基因數(shù)和核糖體比例笨触,示例如下:" "minGene=500"                             
[3] "maxGene=4000"                             "pctMT=20"                                
> minGene=500
> maxGene=4000
> pctMT=15
> ##數(shù)據(jù)質(zhì)控
> scRNA <- subset(scRNA, subset = nFeature_RNA > minGene & nFeature_RNA < maxGene & percent.mt < pctMT)
> col.num <- length(levels(scRNA@active.ident))
> violin <-VlnPlot(scRNA,
+                  features = c("nFeature_RNA", "nCount_RNA", "percent.mt","percent.HB"), 
+                  cols =rainbow(col.num), 
+                  pt.size = 0.1, 
+                  ncol = 4) + 
+   theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
> ggsave("QC/vlnplot_after_qc.pdf", plot = violin, width = 12, height = 6)
> ggsave("QC/vlnplot_after_qc.png", plot = violin, width = 12, height = 6)
> scRNA <- NormalizeData(scRNA, normalization.method = "LogNormalize", scale.factor = 10000)
Performing log-normalization
0%   10   20   30   40   50   60   70   80   90   100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
> ##保存中間結(jié)果
> saveRDS(scRNA, file="scRNA.rds")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市雹舀,隨后出現(xiàn)的幾起案子旭旭,更是在濱河造成了極大的恐慌,老刑警劉巖葱跋,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件持寄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娱俺,警方通過查閱死者的電腦和手機(jī)稍味,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荠卷,“玉大人模庐,你說我怎么就攤上這事∮鸵耍” “怎么了掂碱?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)慎冤。 經(jīng)常有香客問我疼燥,道長(zhǎng),這世上最難降的妖魔是什么蚁堤? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任醉者,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撬即。我一直安慰自己立磁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布剥槐。 她就那樣靜靜地躺著唱歧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粒竖。 梳的紋絲不亂的頭發(fā)上颅崩,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音温圆,去河邊找鬼。 笑死孩革,一個(gè)胖子當(dāng)著我的面吹牛岁歉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膝蜈,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼锅移,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了饱搏?” 一聲冷哼從身側(cè)響起非剃,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎推沸,沒想到半個(gè)月后备绽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鬓催,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年肺素,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宇驾。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡倍靡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出课舍,到底是詐尸還是另有隱情塌西,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布筝尾,位于F島的核電站捡需,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏筹淫。R本人自食惡果不足惜栖忠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧庵寞,春花似錦狸相、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至古沥,卻和暖如春瘸右,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岩齿。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工太颤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盹沈。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓龄章,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親乞封。 傳聞我的和親對(duì)象是個(gè)殘疾皇子做裙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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