关于seurat和matrix包报错

目录

1.5-1版本Matrix报错:

1.6.5版本Matrix报错:

1.5.3版本Matrix解决问题

1.5-1版本Matrix报错:

R包之间相互不兼容就会出现报错:

版本:
R version 4.2.2 (2022-10-31 ucrt) -- "Innocent and Trusting"

packageVersion('Seurat')##查看版本
[1] ‘4.3.0’

此时的Matrix版本为1.5-1

报错:Error in validityMethod(as(object, superClass)) :  找不到对象'CsparseMatrix_validate'

# 1.51版本Matrix
pbmc <- ScaleData(pbmc, vars.to.regress = "percent.mt")
#Error in validityMethod(as(object, superClass)) : 
#  找不到对象'CsparseMatrix_validate'

原因是:Matrix包的矩阵问题。为什么Seurat中的FindNeighbor给予“未找到'CsparseMatrix_validate'”错误? _大数据知识库 (saoniuhuo.com)

从2022年9月起,在R-devel邮件列表的this thread中讨论了潜在问题。CsparseMatrix_validate是在Matrix1.5-3中定义的,用于替换虚拟类CsparseMatrix的现有有效性方法。问题是在Matrix1.5-3(或更新版本)下构建的某些包在其命名空间中缓存了有效性方法,但没有缓存CsparseMatrix_validate的定义。
调用cached方法时,必须在安装的任何版本的Matrix中找到CsparseMatrix_validate。如果该版本早于1.5-3,则找不到该符号,结果就是您看到的错误。
要为所有用户解决这个问题,问题包的维护者应该将Matrix (>= 1.5-3)放在他们包的DESCRIPTION文件中ImportsDepends下。
在此之前,个人用户只需安装Matrix1.5-3(或更新版本)


1.6.5版本Matrix报错:

1.6.5版本Matrix:Computing SNN  
Error in validObject(.Object) :  
类别为“Graph”的对象不对: superclass "mMatrix" not defined in the environment of the object's class


1.5.3版本Matrix解决问题:

于是直接下载1.53版本进行测试。(下载本地安装更加方便)

https://cran.r-project.org/src/contrib/Archive/Matrix/Matrix_1.5-3.tar.gz

> packageVersion('Matrix')
[1] ‘1.5.3’

不得不说这个R包和相关配置的包一定得对应。。。

参考:

为什么Seurat中的FindNeighbor给予“未找到'CsparseMatrix_validate'”错误? _大数据知识库 (saoniuhuo.com)

 报错处理——object ‘CsparseMatrix_validate‘ not found - 简书 (jianshu.com)

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,下面是在R语言中使用Seurat进行主成分分析、计算p值以及执行t-SNE分析的示例代码: 1. 主成分分析 ```R library(Seurat) # 假设我们的数据存储在data矩阵中,每一行代表一个样本,每一列代表一个变量 seurat_obj <- CreateSeuratObject(data, project = "my_project") # 创建Seurat对象 seurat_obj <- NormalizeData(seurat_obj) # 标准化数据 seurat_obj <- ScaleData(seurat_obj) # 缩放数据 seurat_obj <- RunPCA(seurat_obj, pcs.compute = 20) # 进行主成分分析,设定计算20个主成分 ``` 2. 计算p值 ```R library(multtest) # 假设我们已经进行了t检验,并将结果存储在t_values中 # 假设我们要计算每个变量的p值 p_values <- mt.rawp2adjp(t_values, n = nrow(data), "BH") # 使用Benjamini-Hochberg方法校正p值 seurat_obj[["pvals"]] <- p_values # 将p值存储在Seurat对象中 ``` 3. t-SNE分析 ```R library(Seurat) # 假设我们要将数据降至20维,并进行t-SNE分析 seurat_obj <- FindNeighbors(seurat_obj, dims = 1:20) # 计算每个样本之间的邻居关系 seurat_obj <- FindClusters(seurat_obj, resolution = 0.5) # 根据邻居关系进行聚类 seurat_obj <- RunTSNE(seurat_obj, dims = 1:20) # 进行t-SNE降维,设定降至20维 ``` 需要注意的是,以上代码仅为示例代码,具体实现需要根据自己的数据和分析需求进行调整和修改。同时,Seurat提供了丰富的可视化函数,可以帮助我们更好地理解和解释分析结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值