生信喵 发表于 2022-8-2 21:47:41

monocle3读取数据

一、读入数据
       软件支持多种方式的数据读入,可以直接读入 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函数分析读取每个文件。
#10x 数据目录 :
10x_data/outs/filtered_feature_bc_matrix/{features.tsv.gz,barcodes.tsv.gz,matr
ix.mtx.gz}       读取文件。
#设置工作目录;
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) 对象。
#方法三:创建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 对象。
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)

页: [1]
查看完整版本: monocle3读取数据