Seurat执行FindNeighbor出现invalid class “Graph“ object: superclass “Mnumeric“ not defined报错

博客作者在更新R包后遇到Seurat运行错误,问题源于Matrix包新版本1.3-3的不兼容。解决方案是降级Matrix到1.3-2。通过卸载现有Matrix包,从存档安装旧版本,并测试Seurat,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前些天发现自己系统里的一些R包实在太久了,于是头脑一热就把所有包都升级了。结果运行Seurat的时候,就卡在 FindNeighbor 了。运行到一半就提示如下报错

Error in validObject(.Object) : 

  invalid class “Graph” object: superclass "Mnumeric" not defined in the environment of the object's class

于是我发动科研工作者的技能,search,查了查相关的资料,发现已经有人在Seurat的GitHub中讨论了这个问题,原因是 Matrix package (1.3-3) 新版本不兼容,解决方法就是降级到1.3-2

首先,我们需要卸载当前的Matrix

remove.packages("Matrix")

然后从存档里安装旧版本的Matrix

packageurl <- "https://cran.r-project.org/src/contrib/Archive/Matrix/Matrix_1.3-2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

国内用户可以用情况镜像源 (文件也就是1.9Mb, 应该不需要用到国内镜像进行加速)

packageurl <- "https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/contrib/Archive/Matrix/Matrix_1.3-2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

然后测试下, 发现问题已经解决了。

library(Seurat)
pbmc_small <- FindNeighbors(pbmc_small, reduction = "pca", dims = 1:10)

参考资料

https://github.com/satijalab/seurat/issues/4436

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值