##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’)
示例代碼復(fù)現(xiàn)
此部分參考知乎博主做的,鏈接為
CellChat細(xì)胞通訊分析(下)--實操代碼·多個數(shù)據(jù)集比較分析 - 知乎 (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") #調(diào)用uwot實現(xiàn)umap, 程序自帶埠戳,只需使用參數(shù)umap.method = 'uwot',無需修改對應(yīng)的netEmbedding函數(shù)源碼
修改方案:參考
單細(xì)胞轉(zhuǎn)錄組之使用CellChat對單個數(shù)據(jù)集進(jìn)行細(xì)胞間通訊分析 - 簡書 (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’)
這個問題還沒有搞懂整胃!根本不知道怎么回事!哭哭