分析單細胞轉(zhuǎn)錄組測序的軟件和方法有很多,最流行的莫過于Seurat包,可以完成單細胞分析整個流程,我們整個教程也是基于R語言Seurat包來實現(xiàn)的,所以首先安裝包:
BiocManager::install("Seurat")
library(Seurat)
單細胞文件形式各式各樣,但是最終分析需要的目的文件是一個矩陣,行位基因,列為細胞。這里我們介紹幾種常見的文件形式,將他們讀入R,并構(gòu)建可以后續(xù)處理的Seurat對象。
1、10X單細胞測序文件
這應該是最常見的,一般10X下機。經(jīng)過前期處理后,我們拿到手的可有用于后續(xù)分析的文件包含三個,第一個是barcode文件,一個是gene文件,一個是matrix文件。10X單細胞測序,公共數(shù)據(jù)庫上傳的數(shù)據(jù)也會包含這三個文件。使用Read10X函數(shù)讀入文件,三個文件包含在同一文件夾,需要注意的是要將feature那個文件命名為genes。
先下載Cell文章(從Cell學單細胞轉(zhuǎn)錄組分析(一):開端?。?!)中的數(shù)據(jù)。因為原文有很多樣本,這里我們只下載6例作為演示。GEO數(shù)據(jù)庫檢索下載。
每個樣本包含三個文件,這是標準的10X文件。解壓文件,每個樣本新建一個文件夾。

setwd("F:/生物信息學/cell單細胞")
GM1 <- Read10X(data.dir ="F:/生物信息學/cell單細胞/BM1")
GM1 <- CreateSeuratObject(counts = GM1, project = "GM1",min.cells = 3, min.features = 200)
#創(chuàng)建seurat對象
但是Read10X只能接受一個文件夾,所以剩下的需要一個一個讀入,這顯然很累,像這篇文章有20幾個樣本,所以需要批量讀入,并用merger整合。GM、BM分開,涉及后期QC參數(shù)不同,雖然這篇文章中是一樣的。
folders=list.files('./',pattern='[123]$')
folders
library(Seurat)
scList = lapply(folders,function(folder){
CreateSeuratObject(counts = Read10X(folder),
project = folder,
min.cells = 3, min.features = 200)
})
BM <- merge(scList[[1]],
y = c(scList[[2]],scList[[3]]),
add.cell.ids = c("BM1","BM2","BM3"),
project = "BM")
BM
#An object of class Seurat
#20407 features across 6366 samples within 1 assay
#Active assay: RNA (20407 features, 0 variable features)
GM <- merge(scList[[4]],
y = c(scList[[5]],scList[[6]]),
add.cell.ids = c("GM1","GM2","GM3"),
project = "GM")
GM
#An object of class Seurat
#18682 features across 5401 samples within 1 assay
#Active assay: RNA (18682 features, 0 variable features)
2. h5文件
如果下載的是.h5文件,則使用Read10X_h5函數(shù),需要加載hdf5r包
devtools::install_github(repo = "hhoeflin/hdf5r")
library(hdf5r)
A1 <-Read10X_h5("A1_filtered_feature_bc_matrix.h5")
A1 <- CreateSeuratObject(counts = A1, project = "A1",min.cells = 3, min.features = 200)
3. 表達矩陣txt文件
有些公共數(shù)據(jù)文件或者公司直接給了整理的表達矩陣txt文件,行為gene,列為細胞,直接用read.table讀入即可
A2 <- read.table(file="A2_matrix.txt",sep="\t",header = TRUE, row.names = 1)
A2 <- CreateSeuratObject(counts = A2, project = "A2",min.cells = 3, min.features = 200)
4. seurat對象
有些文章作者上傳的文件時已經(jīng)構(gòu)建好的seurat對象,但是需要注意一個問題,有些上傳的seurat版本較低,目前的版本打不開,需要更新轉(zhuǎn)化一下。
A4 = UpdateSeuratObject(object = A4)
創(chuàng)建好Seurat對象后,后期就是質(zhì)控和單細胞標準流程了,詳細內(nèi)容親關(guān)注下一節(jié),希望分享有用。有問題請指點批評!