2022-10-28记录我在做cellchat的时候遇到的Error Code

##1

cellchat <- computeNetSimilarity(cellchat, type = "structural")

cellchat <- netEmbedding(cellchat, type = "structural")

Error in runUMAP(Similarity, min_dist = min_dist, n_neighbors = n_neighbors, :

  Cannot find UMAP, please install through pip (e.g. pip install umap-learn or reticulate::py_install(packages = 'umap-learn')).

按照指示装了umap-learn也还是同样的报错!

##

cellchat <- aggregateNet(cellchat) 

cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")

Fortran runtime error: Insufficient number of elements in TARRAY.

Fortran runtime error: Insufficient number of elements in TARRAY.

Fortran runtime error: Insufficient number of elements in TARRAY.

Fortran runtime error: Insufficient number of elements in TARRAY.

Error in unserialize(node$con):

  MultisessionFuture (future_sapply-1) failed to receive results from cluster RichSOCKnode #1 (PID 1498926 on localhost ‘localhost’). The reason reported was ‘error reading from connection’. Post-mortem diagnostic: No process exists with this PID, i.e. the localhost worker is no longer alive. The total size of the 7 globals exported is 151.66 KiB. The three largest globals are ‘computeCentralityLocal’ (142.34 KiB of class ‘function’), ‘...future.FUN’ (5.59 KiB of class ‘function’) and ‘net’ (3.68 KiB of class ‘numeric’)

示例代码复现

此部分参考知乎博主做的,链接为

CellChat细胞通讯分析(下)--实操代码·多个数据集比较分析 - 知乎 (zhihu.com)

library(Seurat)

library(dplyr)

library(SeuratData)

library(patchwork)

library(ggplot2)

library(CellChat)

library(ggalluvial)

library(svglite)

options(stringsAsFactors = FALSE)

rm(list=ls()) 

options(stringsAsFactors = F) 

cellchat.NL <- readRDS(url("https://ndownloader.figshare.com/files/25954199"))

cellchat.LS <- readRDS(url("https://ndownloader.figshare.com/files/25956518"))

cellchat.NL <- readRDS("/Users/jinsuoqin/Documents/CellChat/tutorial/cellchat_humanSkin_NL.rds")

cellchat.LS <- readRDS("/Users/jinsuoqin/Documents/CellChat/tutorial/cellchat_humanSkin_LS.rds")

object.list <- list(NL = cellchat.NL, LS = cellchat.LS)

cellchat <- mergeCellChat(object.list, add.names = names(object.list))


gg1 <- compareInteractions(cellchat, show.legend = F, group = c(1,2))

gg2 <- compareInteractions(cellchat, show.legend = F, group = c(1,2), measure = "weight")

gg1 + gg2


par(mfrow = c(1,2), xpd=TRUE)

netVisual_diffInteraction(cellchat, weight.scale = T)

netVisual_diffInteraction(cellchat, weight.scale = T, measure = "weight")


gg1 <- netVisual_heatmap(cellchat)


gg2 <- netVisual_heatmap(cellchat, measure = "weight")


gg1 + gg2


weight.max <- getMaxWeight(object.list, attribute = c("idents","count"))

par(mfrow = c(1,2), xpd=TRUE)

for (i in 1:length(object.list)) {

  netVisual_circle(object.list[[i]]@net$count, weight.scale = T, label.edge= F, edge.weight.max = weight.max[2], edge.width.max = 12, title.name = paste0("Number of interactions - ", names(object.list)[i]))

}


group.cellType <- c(rep("FIB", 4), rep("DC", 4), rep("TC", 4))

group.cellType <- factor(group.cellType, levels = c("FIB", "DC", "TC"))

object.list <- lapply(object.list, function(x) {mergeInteractions(x, group.cellType)})

cellchat <- mergeCellChat(object.list, add.names = names(object.list))


weight.max <- getMaxWeight(object.list, slot.name = c("idents", "net", "net"), attribute = c("idents","count", "count.merged"))

par(mfrow = c(1,2), xpd=TRUE)

for (i in 1:length(object.list)) {

  netVisual_circle(object.list[[i]]@net$count.merged, weight.scale = T, label.edge= T, edge.weight.max = weight.max[3], edge.width.max = 12, title.name = paste0("Number of interactions - ", names(object.list)[i]))

}


par(mfrow = c(1,2), xpd=TRUE)

netVisual_diffInteraction(cellchat, weight.scale = T, measure = "count.merged", label.edge = T)

netVisual_diffInteraction(cellchat, weight.scale = T, measure = "weight.merged", label.edge = T)


num.link <- sapply(object.list, function(x) {rowSums(x@net$count) + colSums(x@net$count)-diag(x@net$count)})

weight.MinMax <- c(min(num.link), max(num.link)) # control the dot size in the different datasets

gg <- list()

for (i in 1:length(object.list)) {

  gg[[i]] <- netAnalysis_signalingRole_scatter(object.list[[i]], title = names(object.list)[i], weight.MinMax = weight.MinMax)

}


patchwork::wrap_plots(plots = gg)



par(mfrow = c(1,2), xpd=TRUE)

netVisual_diffInteraction(cellchat, weight.scale = T, measure = "count.merged", label.edge = T)

netVisual_diffInteraction(cellchat, weight.scale = T, measure = "weight.merged", label.edge = T)


num.link <- sapply(object.list, function(x) {rowSums(x@net$count) + colSums(x@net$count)-diag(x@net$count)})

weight.MinMax <- c(min(num.link), max(num.link)) # control the dot size in the different datasets

gg <- list()

for (i in 1:length(object.list)) {

  gg[[i]] <- netAnalysis_signalingRole_scatter(object.list[[i]], title = names(object.list)[i], weight.MinMax = weight.MinMax)

}


patchwork::wrap_plots(plots = gg)


gg1 <- netAnalysis_signalingChanges_scatter(cellchat, idents.use = "Inflam. DC", signaling.exclude = "MIF")


gg2 <- netAnalysis_signalingChanges_scatter(cellchat, idents.use = "cDC1", signaling.exclude = c("MIF"))


patchwork::wrap_plots(plots = list(gg1,gg2))



cellchat <- computeNetSimilarityPairwise(cellchat, type = "functional")


cellchat <- netEmbedding(cellchat, type = "functional")

报错:

Error in runUMAP(Similarity, min_dist = min_dist, n_neighbors = n_neighbors, :

  Cannot find UMAP, please install through pip (e.g. pip install umap-learn or reticulate::py_install(packages = 'umap-learn')).

##这里重装了也没用!但是,万能的百度,让我找到了答案!yes!!

(49条消息) cellchat分析时,cellchat netEmbedding 运行出错解决方案_生信~鱼的博客-CSDN博客

install.packages("uwot")

library(uwot)

cellchat <- netEmbedding(cellchat, umap.method = 'uwot',type = "functional") #调用uwot实现umap, 程序自带,只需使用参数umap.method = 'uwot',无需修改对应的netEmbedding函数源码

修改方案:参考

单细胞转录组之使用CellChat对单个数据集进行细胞间通讯分析 - 简书 (jianshu.com)

library(reticulate)

py_available()

reticulate::py_install(packages = 'umap-learn')

重启R,还是报错

Manifold learning of the signaling networks for datasets 1 2 Error in runUMAP(Similarity, min_dist = min_dist, n_neighbors = n_neighbors, :

  Cannot find UMAP, please install through pip (e.g. pip install umap-learn or reticulate::py_install(packages = 'umap-learn')).


总得来说:

##

cellchat <- aggregateNet(cellchat) 

cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")

Fortran runtime error: Insufficient number of elements in TARRAY.

Fortran runtime error: Insufficient number of elements in TARRAY.

Fortran runtime error: Insufficient number of elements in TARRAY.

Fortran runtime error: Insufficient number of elements in TARRAY.

Error in unserialize(node$con):

  MultisessionFuture (future_sapply-1) failed to receive results from cluster RichSOCKnode #1 (PID 1498926 on localhost ‘localhost’). The reason reported was ‘error reading from connection’. Post-mortem diagnostic: No process exists with this PID, i.e. the localhost worker is no longer alive. The total size of the 7 globals exported is 151.66 KiB. The three largest globals are ‘computeCentralityLocal’ (142.34 KiB of class ‘function’), ‘...future.FUN’ (5.59 KiB of class ‘function’) and ‘net’ (3.68 KiB of class ‘numeric’)

这个问题还没有搞懂!根本不知道怎么回事!哭哭

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容