Monocle是单细胞分析的常用R包之一,可进行细胞类型鉴定、差异表达、伪时间分析等。
1.安装Monocle
支持环境R3.4以上版本
获取Mnonocle:
先安装Bioconductor
source("http://bioconductor.org/biocLite.R")
biocLite()
已经安装了Bioconductor的可直接安装Monocle和支持包
检测安装是否成功
library(monocle)
2.推荐分析protocol
工作流程:上传数据到CellDataSet对象中——用已知Marker进行细胞分类——聚类细胞——伪时间排序——差异表达分析
上传数据到CDS中
pd <- new("AnnotatedDataFrame", data = sample_sheet)
fd <- new("AnnotatedDataFrame", data = gene_annotation)
cds <- newCellDataSet(expr_matrix, phenoData = pd, featureData = fd)
expr_matrix的colnames必须与pd的rownames一致
用Marker分类细胞
cth <- newCellTypeHierarchy()
MYF5_id <- row.names(subset(fData(cds), gene_short_name == "MYF5"))
ANPEP_id <- row.names(subset(fData(cds), gene_short_name == "ANPEP"))
cth <- addCellType(cth, "Myoblast", classify_func = function(x) { x[MYF5_id,] >= 1 })
cth <- addCellType(cth, "Fibroblast", classify_func = function(x) { x[MYF5_id,] < 1 & x[ANPEP_id,] > 1 } )
cds <- classifyCells(cds, cth, 0.1)
聚类细胞
cds <- clusterCells(cds)
伪时间分析
disp_table <- dispersionTable(cds)
ordering_genes <- subset(disp_table, mean_expression >= 0.1)
cds <- setOrderingFilter(cds, ordering_genes)
cds <- reduceDimension(cds)
cds <- orderCells(cds)
差异表达分析
diff_test_res <- differentialGeneTest(cds, fullModelFormulaStr = "~Media")
sig_genes <- subset(diff_test_res, qval < 0.1)