在用R语言中的monocle进行拟时序分析时,在画拟时许图的前一步细胞排序时报错,怎么办?
用代码块功能插入代码,请勿粘贴截图
##报错的代码是本篇代码最后一句,这是前面相关联的。前面的东西都没有报错。
##准备细胞轨迹分析所需要的文件
monocle.matrix=as.matrix(pbmc@assays$RNA@data)
monocle.sample=pbmc@meta.data
monocle.geneAnn=data.frame(gene_short_name = row.names(monocle.matrix), row.names = row.names(monocle.matrix))
monocle.clusterAnn=clusterAnn
monocle.markers=sig.markers
#?将Seurat结果转换为monocle需要的细胞矩阵,细胞注释表格和基因注释表格
data <- (as(as.matrix(monocle.matrix), 'sparseMatrix'))
pd<-new("AnnotatedDataFrame", data = monocle.sample)
fd<-new("AnnotatedDataFrame", data = monocle.geneAnn)
cds <- newCellDataSet(data, phenoData = pd, featureData = fd)
names(pData(cds))[names(pData(cds))=="seurat_clusters"]="Cluster"
pData(cds)[,"Cluster"]=paste0("cluster",pData(cds)[,"Cluster"])
#添加细胞聚类的数据
clusterAnn=as.character(monocle.clusterAnn[,2])
names(clusterAnn)=paste0("cluster",monocle.clusterAnn[,1])
pData(cds)$cell_type2 <- plyr::revalue(as.character(pData(cds)$Cluster),clusterAnn)
#细胞轨迹分析流程
cds <- estimateSizeFactors(cds)
cds <- estimateDispersions(cds)
cds <- setOrderingFilter(cds, as.vector(sig.markers$gene))
#plot_ordering_genes(cds)
cds <- reduceDimension(cds, max_components = 2, reduction_method = 'DDRTree')
cds <- orderCells(cds)##就是这句报错,报错提示在下面
运行结果及报错内容
Error in if (class(projection) != "matrix") projection <- as.matrix(projection) :
the condition has length > 1
In addition: Warning message:
In graph.dfs(dp_mst, root = root_cell, neimode = "all", unreachable = FALSE, :
Argument `neimode' is deprecated; use `mode' instead
我的解答思路和尝试过的方法
这个完全没头绪,非常高兴各位指点一下能学习的地方