Monocle3读取数据

2022-10-25 19:42:11 浏览数 (1)

一、读入数据

软件支持多种方式的数据读入,可以直接读入 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

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

0 人点赞