zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Seurat对象的构建和信息提取

2023-03-07 09:44:11 时间

本期来介绍一下单细胞分析的第一步,Seurat 对象的构建和信息提取。

目前构建 Seurat 对象有以下几种方法:

  • 从 CellRanger 输出构建
  • 从 h5 文件构建
  • 从表达矩阵构建

从 CellRanger 输出构建

公司在完成表达定量后,通常会使用 CellRanger 对数据进行简单的分析,得到以下三个文件。

  • barcodes.tsv 用于储存细胞信息
  • genes.tsv 用于储存基因信息
  • matrix.mtx 表达矩阵

需要注意的是如果文件名不为以上三个,需要手动进行修改。

后续的分析在R语言中用 Seurat 包完成,需要将表达数据导入 R,并构建 Seurat 对象。

以数据GSE134809[1]的 GSM3972009 为例,在 GEO 界面选中并下载后解压。

library(Seurat)
# 读取 CellRanger 输出结果
ScRNAdata = Read10X(data.dir = "GSE134809_RAW/")

# 此时的 ScRNAdata 是一个稀疏矩阵 dgCMatrix
# > class(ScRNAdata)
# [1] "dgCMatrix"
# attr(,"package")
# [1] "Matrix"

# 构建 Seurat 对象 
# 初步过滤一般不需要修改参数,除非数据实在太难看
Seurat_object <- CreateSeuratObject(
counts = ScRNAdata, # 表达矩阵,可以为稀疏矩阵,也可以为普通矩阵
min.cells = 3, # 去除在小于3个细胞中表达的基因
min.features = 200) # 去除只有 200 个以下基因表达的细胞

稀疏矩阵:在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵。

从 h5 文件构建

以数据GSE122960[2]的 GSM3489182 为例,在 GEO 界面选中并下载后解压。

library(Seurat)
ScRNAdata <- Read10X_h5(filename = "GSM3489182_Donor_01_raw_gene_bc_matrices_h5.h5")

Seurat_object <- CreateSeuratObject(
counts = ScRNAdata, 
min.cells = 3, 
min.features = 200)

从表达矩阵构建

以数据GSE106118的GSM2829942[3]为例,在 GEO 界面选中并下载后解压。

ScRNA_exp <- read.table(
  "data/GSM2829942/GSM2829942_HE6W_LA.TPM.txt",
  row.names = 1,
  header = T)

Seurat_object <- CreateSeuratObject(
counts = ScRNA_exp, 
min.cells = 3, 
min.features = 200)

对Seurat对象的理解和信息提取

展开我们构建好的Seurat对象可以发现有非常多的信息,我们该如何理解Seurat对象?又该如何提取其中的细胞信息表和表达矩阵呢?

仍以数据 GSE122960 的 GSM3489182 为例。

Seurat对象的理解

先来看看它的文件类型,可以理解为一个变量。

> class(Seurat_object)
[1] "Seurat"
attr(,"package")
[1] "SeuratObject"

再来看看其维度,共有19520行即基因数,7222列即细胞数。

> dim(Seurat_object)
[1] 19520  7222

最后来理解一下创建Seurat对象的函数,最重要的参数就是counts,所以Seurat对象可以简单理解为包含着表达矩阵的一个变量

CreateSeuratObject(
  counts,
  project = "CreateSeuratObject",
  assay = "RNA",
  names.field = 1,
  names.delim = "_",
  meta.data = NULL,
  ...
)

信息提取

表达矩阵

gene_exp = Seurat_object@assays[["RNA"]]@counts

由于其稀疏矩阵的属性,此时的gene_exps不是传统二维的表达矩阵。

细胞信息表

meta.data = Seurat_object@meta.data

参考资料

[1] GSE134809下载链接: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE134809

[2] GSE122960下载链接: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgiGSE122960

[3] GSM2829942下载链接: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM2829942