运行cellchat <- netEmbedding(cellchat,type = “functional”) 报错如下:
因为没有安装umap实现,按提示在终端使用pip install umap-learn,直接运行后报错还是一样,因为你没有指定R使用的python版本:
重启Rstudio后:
library(reticulate) use_python('/usr/bin/python3',required = T) #指定安装umap-learn那个版本的python位置 py_version() #看看是不是指定正确
最后运行后报错:
或者直接通过运行:reticulate::py_install(packages = 'umap-learn’)。但也依然报错:
>cellchat <- netEmbedding(cellchat, type = 'functional') Manifold learning of the signaling networks for a single dataset C:\Users\zzu\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\umap\umap_.py:133: UserWarning: A large number of your vertices were disconnected from the manifold. Disconnection_distance = 1 has removed 142 edges. It has fully disconnected 3 vertices. You might consider using find_disconnected_points() to find and remove these points from your data. Use umap.utils.disconnected_vertices() to identify them. f'A large number of your vertices were disconnected from the manifold.\n'
通过google搜索find_disconnected_points(),GitHub issue中有人提问并得到解决方法:https://github.com/sqjin/CellChat/issues/167(即 source(file = 'CellChat_issue167_netClusteringFix.R’) #使用外部导入修改的函数),但依然报错如旧。
最后我通过查看GitHub issue中所有与netEmbedding函数相关的issue,最终找到了解决办法:https://github.com/sqjin/CellChat/issues/196 (换个umap算法实现,结果也会有些许差异)
尊重他人劳动成果,转载请注明出处:Bluesky's blog » cellchat netEmbedding 运行出错
联系客服