跟着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文件。解压文件,每个样本新建一个文件夹。


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对象后,后期就是质控和单细胞标准流程了,详细内容亲关注下一节,希望分享有用。有问题请指点批评!

  • 11
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
非常好的问题!首先,你需要将单细胞测序数据导入到R语言中。这可以通过使用R语言中的一些常见包来实现,例如Seurat、Scanpy或scater等。这些包提供了用于处理单细胞测序数据的函数和方法。 以下是一个简单的示例代码,展示了如何使用Seurat包将单细胞测序数据导入到R语言中: ``` library(Seurat) # 从10x Genomics下载单细胞测序数据 data <- Read10X(data.dir = "path/to/10x/data") # 创建Seurat对象 seurat_obj <- CreateSeuratObject(counts = data) # 进行数据质量控制 seurat_obj <- FilterCells(object = seurat_obj, min.cells = 3, min.features = 200) # 进行规范化和批次效应校正 seurat_obj <- NormalizeData(object = seurat_obj, normalization.method = "LogNormalize", scale.factor = 10000) seurat_obj <- FindVariableFeatures(object = seurat_obj, selection.method = "vst", nfeatures = 2000) seurat_obj <- ScaleData(object = seurat_obj, features = rownames(seurat_obj), vars.to.regress = "batch") # 进行聚类和降维 seurat_obj <- RunPCA(object = seurat_obj, features = VariableFeatures(object = seurat_obj)) seurat_obj <- FindNeighbors(object = seurat_obj, dims = 1:10) seurat_obj <- FindClusters(object = seurat_obj, resolution = 0.5) # 可视化结果 DimPlot(object = seurat_obj, reduction = "umap", group.by = "ident") ``` 这段代码将单细胞测序数据读入R语言中,并使用Seurat包中的函数对其进行了质量控制、规范化、批次效应校正、聚类和降维等处理,最后可视化了聚类结果。 希望这个例子可以帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值