黑眼圈一圈又一圈

V1

2022/10/29阅读:51主题:默认主题

Debug log - R - RunHarmony()

起因

  • 运行以下RunHarmony()时报错,可是代码以前能跑的,唯一的不同就是换了服务器
seuratObj <- RunHarmony(sce, "orig.ident")
  • 报错内容
Error in harmonyObj$cluster_cpp() : 
  element-wise pow(): incompatible matrix dimensions: 100x6 and 6x1

处理过程

方案一 ❎:重装

  • 该问题比较新,根据Github解决方案 ^1,首先运行以下代码重装harmony:
devtools::install_github("eddelbuettel/harmony",force = TRUE)
devtools::install_github("immunogenomics/harmony",force = TRUE)
  • 不行

方案二 ❎:Live Support

  • 官方在上述issue中提出与官方联系 ^2
  • 我联系了,但是问题提交的时候一直处于Submitting…

方案三 ✅:Rcpp版本问题

  • 从一开始的解决方案里,有人提出是Rcpp包的版本问题 ^3
  • 于是查看Rcpp包的版本 ^4
packageVersion('Rcpp')
[1] ‘1.0.9’
  • 嗯,有可能是版本问题……
  • 安装旧版本的Rcpp
    • 因为我查看自己电脑上的R版本是1.0.7,所以安装了一样的以防万一
devtools::install_version("Rcpp", version = "1.0.7", repos = "[http://cran.us.r-project.org](http://cran.us.r-project.org/)")
  • 再一次查看版本还是1.0.9
  • 推测可能是已经加载过devtools包的缘故
    • 因为在把所有R包全部卸载的情况下,首先安装devtools,然后查看Rcpp包版本显示1.0.9
  • 此时无法加载刚安装的Rcpp
Package ‘Rcpp’ version 1.0.9 cannot be unloaded ……
  • 清除环境加载的R包重启Rstudio或上边栏Session-Restart R,此时所有R包都会unload
    • 加载并查看版本
library("Rcpp")
packageVersion('Rcpp')
[1] ‘1.0.7’
  • 皆大欢喜!!!
  • 然后继续安装其他R包!
  • 此方法适用于没安装多少包的
  • 如果安装了,应该可以通过unload所有包,然后重新加载实现。有些依赖高版本的Rcpp的R包,可能需要重新下载
  • 继续运行RunHarmony()就没问题了

补充

查看R包版本方法

packageVersion('Seurat')
sessionInfo('Seurat')

分类:

后端

标签:

后端

作者介绍

黑眼圈一圈又一圈
V1