##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’)
示例代码复现
此部分参考知乎博主做的,链接为
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函数源码
修改方案:参考
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’)
这个问题还没有搞懂!根本不知道怎么回事!哭哭