Seurat对象的构建和信息提取
本期来介绍一下单细胞分析的第一步,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
相关文章
- 借助 AWS Event Fork Pipelines 增强事件驱动架构设计
- Terraform架构实践(1)- AWS上基础环境介绍
- Terraform架构实践(2)- 与Packer配合定制AMI ,实现 ELB + Auto Scaling Group
- Terraform架构实践(3)- 与Ansible集成的主要方法,实现中国区自己的“EFS”
- Terraform架构实践(4)- 一些典型场景的应用和常见问题
- Amazon QuickSight 更新:仪表盘中可使用多个工作表、轴标签方向选项等等
- 使用 Apache Flink 和 Amazon Kinesis Data Analytics for Java 应用程序构建和运行流应用程序
- 在 AWS 中国区安装配置 OpenShift
- 使用 Amazon Connect 与CloudWatch 联动实现电话通知云端告警
- 在 Amazon EKS 上使用 Spinnaker 实现持续交付
- 现已推出:新 C5d 实例大小和裸机实例
- 从 ELK 堆栈到 EKK:使用 Amazon Elasticsearch Service、Amazon Kinesis 和 Kibana 聚合和分析 Apache 日志
- 使用 AWS CDK 自动化部署自动生成 PDF 缩略图 Serverless 服务
- 在 Amazon EKS 上运行 Flannel 和 Weave Net 网络插件
- JAVA system.exit
- 即将推出 – AWS 西班牙区域
- Java--Path详解
- 基于详细账单的成本监控及优化解决方案
- 在 Amazon EMR 中利用 Alluxio 的分层存储架构
- 基于 AWS Batch 只需五步搭建一个高性能集群