如何修改R包源代码及使用修改后的R包-以DoubletFinder为例

> sweep.list <- paramSweep_v3(plaque_harmony, PCs = 1:min.pc, num.cores = detectCores() - 1)
Error in paramSweep_v3(plaque_harmony, PCs = 1:min.pc, num.cores = detectCores() -  : could not find function "paramSweep_v3"
> sweep.list <- paramSweep(plaque_harmony, PCs = 1:min.pc, num.cores = detectCores() - 1)
Error in seu@assays$RNA$counts : $ operator not defined for this S4 class

由于单细胞数据格式更新,R包代码更新,导致跟原来的数据格式不匹配,所以出现数据不能识别,实际上需要将源代码的 $ 改为 @

seu@assays$RNA$counts
to
seu@assays$RNA@counts

这样数据就能识别,所以需要修改源代码并保存,步骤如下:

  1. 找到R包安装时下载的文件,翻出自己所用到的功能及其对应的代码,然后进行修改
    Inkedlib path_LI.jpg

    R function.PNG
    find formula.PNG
  2. 回到R studio 删除并卸载环境中的R包并重新安装

> detach("package:DoubletFinder", unload=TRUE) #解除环境中的R包
> remove.packages("DoubletFinder")  #卸载R包
> devtools::install_local("your path/DoubletFinder.zip")  #使用修改后的源文件安装
> library(DoubletFinder)
> sweep.list <- paramSweep(plaque_harmony, PCs = 1:min.pc, num.cores = detectCores() - 1)   #正常运行,不报错啦
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容