monocle3能实现的功能主要包括3个:
- Clustering, classifying, and counting cells.
- Constructing single-cell trajectories.
- Differential expression analysis.
主要的工作流程如下:
让我们来逐个学习吧。今天我们来看看如何将数据载入monocle3。
monocle将数据存放在cell_data_set对象(起源于Bioconductor SingleCellExperiment)中,官网提供了多种构建cell_data_set对象的方法。
1)从3个文件构建cell_data_set对象
需要准备3个输入文件:
- expression_matrix, 行是基因,列是细胞。
- cell_metadata, a data frame, 行是细胞,列是细胞对应的信息,比如细胞类型、培养条件等。
- gene_metadata, an data frame, 行是基因,列是基因对应的信息。gene_metadata的其中一列应命名为“gene_short_name”,该列表示每个基因的基因名字。
这里要特别注意几点:
- expression_matrix的列数和cell_metadata的行数相等
- expression_matrix的行数和gene_metadata的行数相等
- cell_metadata的行名称应与expression_matrix的列名称一致
- gene_metadata的行名称应与expression_matrix的行名称一致
假如我已经准备好上述3个文件,现在创建cell_data_set对象
exprs_matrix <- as.matrix(read.csv('expression_matrix.csv', row.names=1, check.names=F))
exprs_matrix <- t(exprs_matrix)
cell_metadata <- read.csv('cell_metadata.csv', row.names=1)
cell_metadata <- cell_metadata[colnames(exprs_matrix),]
gene_metadata <- read.csv('gene_metadata.csv')
rownames(gene_metadata) <- gene_metadata$gene_short_name
gene_metadata <- gene_metadata[rownames(exprs_matrix),,drop=F]
cds <- new_cell_data_set(
exprs_matrix,
cell_metadata = cell_metadata,
gene_metadata = gene_metadata
)
2)从10X输出文件构建cell_data_set对象
# Provide the path to the Cell Ranger output.
cds <- load_cellranger_data("~/Downloads/10x_data")
或者
cds <- load_mm_data(mat_path = "~/Downloads/matrix.mtx",
feature_anno_path = "~/Downloads/features.tsv",
cell_anno_path = "~/Downloads/barcodes.tsv")
如果你构建了多个cell_data_set对象,要放在一起分析,可以先合并起来:
big_cds <- combine_cds(list(cds, cds2))