前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Monocle3读取数据

Monocle3读取数据

作者头像
生信喵实验柴
发布2022-10-25 19:42:11
3800
发布2022-10-25 19:42:11
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴

一、读入数据

软件支持多种方式的数据读入,可以直接读入 10x genomics 官方软件 Cell Ranger 的结果,也可以使用 Seurat 质控过后的结果,还可以单独读入矩阵,细胞信息,基因信息文件。还可以处理一些较大类型的稀疏矩阵对象。

读入的数据为一个 cell_data_set 类,这个类继承自 SingleCellExperiment 类,基本操作也是类似的。主要包含三部分,

expression_matrix :表达矩阵,行为基因,列为细胞 barcode;

cell_metadata:是一个数据框,行为细胞,列是细胞的属性,比如细胞类型、培养环境、培养时间等,可以包含很多行,后面注释信息也可以添加到新行里。

gene_metadata:同样是一个数据框,行为feature信息,也就是基因名,基因名可以是GeneID,symbols 等。要注意基因 ID 类型;列是基因属性这个数据框中必须有这么一列:`gene_short_name`,其中保存基因名。

二、读入 10x genomics 数据

Monocle3 提供 load_cellranger_data 函数,可以直接读取 10x 数据,读取 Cell Ranger 分析结果目录,注意目录结构不要修改,可以删除一些不要的数据。也可以使用 load_mm_data函数分析读取每个文件。

代码语言:javascript
复制
#10x 数据目录 :
10x_data/outs/filtered_feature_bc_matrix/{features.tsv.gz,barcodes.tsv.gz,matr
ix.mtx.gz}

读取文件。

代码语言:javascript
复制
#设置工作目录;
rm(list = ls())
#方法一:直接读取 10x 目录
cds <- load_cellranger_data("10xdata/")
#方法二:分别读取三个文件
path10x <- "run_count_1kpbmcs/outs/filtered_feature_bc_matrix/"
cds <- load_mm_data(mat_path = paste0(path10x,"matrix.mtx.gz"),
 feature_anno_path = paste0(path10x,"features.tsv.gz"),
 cell_anno_path = paste0(path10x,"barcodes.tsv.gz"))

三、分别读取

如果有矩阵,细胞信息,基因信息三个文件,也可以直接读取,生成 cell_data_set (CDS) 对象。

代码语言:javascript
复制
#方法三:创建cell_data_set
# Load the data
getwd()
expression_matrix <- readRDS("monocle3/celegans/cao_l2_expression.rds")
cell_metadata <- readRDS("monocle3/celegans/cao_l2_colData.rds")
gene_annotation <- readRDS("monocle3/celegans/cao_l2_rowData.rds")


# Make the CDS object
cds <- new_cell_data_set(expression_matrix,
                         cell_metadata = cell_metadata,
                         gene_metadata = gene_annotation)

四、读取 Seurat 结果

如果是 Seurat,可以直接导入 Seurat 中进行分析,需要从 Seurat 对象分别提取出矩阵,细胞和 cell 三个文件,然后创建 new_cell_data 对象。

代码语言:javascript
复制
library(SeuratObject)
pbmc <- readRDS("../pbmc3k.rds")
class(pbmc)
expression_matrix <- GetAssayData(pbmc, assay ='RNA', slot = 'counts')
cell_metadata <- pbmc@meta.data
gene_annotation <-data.frame(gene_short_name = rownames(expression_matrix))
rownames(gene_annotation) <-rownames(expression_matrix)
cds <- new_cell_data_set(expression_matrix,cell_metadata =cell_metadata, gene_metadata =gene_annotation)

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript
复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档