(二)單細(xì)胞轉(zhuǎn)錄組數(shù)據(jù)分析之?dāng)?shù)據(jù)質(zhì)控與歸一化

如果大家沒有自己的數(shù)據(jù)或者沒有選到合適的數(shù)據(jù)集的話,可以直接拿示例數(shù)據(jù)(10X官網(wǎng)演示數(shù)據(jù))就行了。
10X官網(wǎng)里多個演示數(shù)據(jù):https://support.10xgenomics.com/single-cell-gene-expression/datasets。這里拿10k PBMC數(shù)據(jù)來演示。這里注意一下,10X數(shù)據(jù)格式與用Cellranger生成的格式一致。

具體步驟:

(一)一些必要包的讀取,當(dāng)然如果發(fā)現(xiàn)沒有此包,安裝便可。

library(Seurat)
library(dplyr)
library(cowplot)

(二)導(dǎo)入 PBMC dataset

pbmc.data <- Read10X(data.dir = "filtered_gene_bc_matrices/")
metadata <- read.table("cell_cycle.txt", header=T, row.names=1, sep="\t") ##如果有就加載,沒有就注釋掉

(三)創(chuàng)建seurat的對象

pbmc <- CreateSeuratObject(counts = pbmc.data, min.cells = 3, min.features = 200, 
    project = "10X_PBMC", meta.data = metadata)
pbmc

簡單查看一下Seurat對象存儲的信息

str(pbmc)
colnames(pbmc@meta.data)

##這里給大家再分享一種比較花里胡哨的查看方法 (感興趣的同學(xué)可以一試,其實就是通過一個分支樹來查看,就比較美觀和節(jié)省空間而已)
(out <- capture.output(str(pbmc)))
out2 <- paste(out, collapse="\n")
mm(gsub("\\.\\.@","# ",gsub("\\.\\. ","#",out2)),type ="text",root= "Seurat")

(四)數(shù)據(jù)預(yù)處理--質(zhì)控和細(xì)胞過濾

mito.features <- grep(pattern = "^MT-", x = rownames(x = pbmc), value = TRUE)
percent.mito <- Matrix::colSums(x = GetAssayData(object = pbmc, slot = 'counts')[mito.features, ]) / Matrix::colSums(x = GetAssayData(object = pbmc, slot = 'counts'))
pbmc[['percent.mito']] <- percent.mito

#方式二,直接利用PercentageFeatureSet函數(shù)一步搞定。
pbmc[["percent.mito"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")

VlnPlot(object = pbmc, features = c("nFeature_RNA", "nCount_RNA", "percent.mito"), ncol = 3)

(五)過濾細(xì)胞

#保留線粒體基因比例在`0.05`以內(nèi)(一般在15%之內(nèi)均可以),檢測到的基因數(shù)在`200-3000`之間的細(xì)胞。
#(這個標(biāo)準(zhǔn)根據(jù)上面那個小提琴圖可以知道,標(biāo)準(zhǔn)的制定并非一成不變,得看具體得數(shù)據(jù)集情況)
pbmc <- subset(x = pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 3000 & percent.mito < 0.05)

(六)歸一化數(shù)據(jù)(不同人不同得理解,有的人說是標(biāo)準(zhǔn)化,有的說是歸一化,我的理解傾向于后者,因為后續(xù)還有一步ScaleData,這一步我才認(rèn)為是標(biāo)準(zhǔn)化,如果我理解有誤,歡迎大家指出)

pbmc <- NormalizeData(object = pbmc, normalization.method = "LogNormalize", scale.factor = 1e4)

至此,單細(xì)胞的數(shù)據(jù)質(zhì)控與歸一化已經(jīng)完成,這里提醒一下各位,如果大家的電腦配置不高,而細(xì)胞量又比較大,我推薦大家及時把pbmc保存起來,不然可能會因為內(nèi)存不足而報錯,另外的一個好處就是不用重新運行這些程序了,節(jié)省時間。當(dāng)然,如果你有服務(wù)器,那直接在服務(wù)器上運行就好了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容