各种报错

之前一直对软件包的报错没有认识,因为用的都是一些软件工程设计非常好的软件(BWA、Numpy等)。就算是用Python、Perl、R也都是用一些非常常见的包,所以很难碰到奇葩的报错,你随便怎么用都不会卡住,因为设计者早就料想到了各种情况。

但现在开始研究单细胞,大家都自立门户开发自己的包,实际情况是搞生信的人写代码的能力都不咋地,写出来的工具漏洞百出,真是折磨死我们这些使用者。

 

案例一:使用R的monocle包

在win10的Rstudio上跑该包的vignette文档,但卡在其中一步:

HSMM <- estimateSizeFactors(HSMM)
HSMM <- estimateDispersions(HSMM)

报错信息:

object 'rlang_mut_env_parent' not found

Google了好久都没有查到是什么问题,最后终于在一个角落找到了答案:

The most likely explanation is you have a new version of dplyr/tibble
and an old version of rlang. Try re-installing rlang.

Re: [R] tidyverse repeating error: "object 'rlang_mut_env_parent' not found"

 

案例二:函数报错

> percent.mito <- colSums(pbmc@raw.data[mito.genes, ]) / colSums(pbmc@raw.data)
Error in colSums(pbmc@raw.data[mito.genes, ]) : 
  'x' must be an array of at least two dimensions

之前跑明明没问题,这次就出错。

搞了好久才发现pbmc@raw.data[mito.genes, ]不是标准的matrix类型,怎么可以colSums()呢?

str()一下pbmc@raw.data[mito.genes, ],发现其是一种Matrix数据类型,后来无意间看到有一个Matrix::colSums函数,才明白是函数命名的覆盖问题。

所以同名函数的相互覆盖确实也是R的一个bug。

 

 

 

 

后面会持续总结~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值