跟着Cell学单细胞转录组分析(二):单细胞转录组测序文件的读入及Seurat对象构建

分析单细胞转录组测序的软件和方法有很多,最流行的莫过于Seurat包,可以完成单细胞分析整个流程,我们整个教程也是基于R语言Seurat包来实现的,所以首先安装包:


BiocManager::install("Seurat")
library(Seurat)

单细胞文件形式各式各样,但是最终分析需要的目的文件是一个矩阵,行位基因,列为细胞。这里我们介绍几种常见的文件形式,将他们读入R,并构建可以后续处理的Seurat对象。

1、10X单细胞测序文件

这应该是最常见的,一般10X下机。经过前期处理后,我们拿到手的可有用于后续分析的文件包含三个,第一个是barcode文件,一个是gene文件,一个是matrix文件。10X单细胞测序,公共数据库上传的数据也会包含这三个文件。使用Read10X函数读入文件,三个文件包含在同一文件夹,需要注意的是要将feature那个文件命名为genes。

先下载Cell文章(从Cell学单细胞转录组分析(一):开端!!!)中的数据。因为原文有很多样本,这里我们只下载6例作为演示。GEO数据库检索下载。

图片
图片

每个样本包含三个文件,这是标准的10X文件。解压文件,每个样本新建一个文件夹。

image.gif

setwd("F:/生物信息学/cell单细胞")
GM1 <- Read10X(data.dir ="F:/生物信息学/cell单细胞/BM1")
GM1 <- CreateSeuratObject(counts = GM1, project = "GM1",min.cells = 3, min.features = 200)
#创建seurat对象

但是Read10X只能接受一个文件夹,所以剩下的需要一个一个读入,这显然很累,像这篇文章有20几个样本,所以需要批量读入,并用merger整合。GM、BM分开,涉及后期QC参数不同,虽然这篇文章中是一样的。

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函数,需要加载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文件

有些公共数据文件或者公司直接给了整理的表达矩阵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对象

有些文章作者上传的文件时已经构建好的seurat对象,但是需要注意一个问题,有些上传的seurat版本较低,目前的版本打不开,需要更新转化一下。

A4 = UpdateSeuratObject(object = A4)

创建好Seurat对象后,后期就是质控和单细胞标准流程了,详细内容亲关注下一节,希望分享有用。有问题请指点批评!

你可能感兴趣的:(跟着Cell学单细胞转录组分析(二):单细胞转录组测序文件的读入及Seurat对象构建)