python - GenomicFeatures 安装和加载错误“通过 Python3 rpy2 没有名为‘GenomicFeatures’的包”
问题描述
我正在尝试通过 python rpy2 使用 Bioconductor GenomicFeatures 对象和方法,因此当我执行以下代码时:
import rpy2.robjects as robjects
robjects.r('install.packages("XML", '
'repos="http://cran.r-project.org")')
robjects.r('install.packages("BiocManager", '
'repos="http://cran.r-project.org")')
robjects.r('BiocManager::install("GenomicFeatures ")')
robjects.r('library(GenomicFeatures )')
我得到相应的错误:
ERROR: dependency ‘XML’ is not available for package ‘rtracklayer’
* removing ‘/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/R/library/rtracklayer’
ERROR: dependency ‘XML’ is not available for package ‘biomaRt’
* removing ‘/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/R/library/biomaRt’
ERROR: dependencies ‘rtracklayer’, ‘biomaRt’ are not available for package ‘GenomicFeatures’
* removing ‘/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/R/library/GenomicFeatures’
R[write to console]: Error in library(GenomicFeatures) :
there is no package called ‘GenomicFeatures’
R[write to console]: 1: package ‘XML’ is not available (for R version 3.6.3)
R[write to console]: installation of package ‘GenomicFeatures’ had non-zero exit status
Traceback (most recent call last):
File "annotate_cis_trans.py", line 64, in <module>
robjects.r('library(GenomicFeatures)')
File "/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/python3.8/site-packages/rpy2/robjects/__init__.py", line 416, in __call__
res = self.eval(p)
File "/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/python3.8/site-packages/rpy2/robjects/functions.py", line 197, in __call__
return (super(SignatureTranslatedFunction, self)
File "/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/python3.8/site-packages/rpy2/robjects/functions.py", line 125, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
File "/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/python3.8/site-packages/rpy2/rinterface_lib/conversion.py", line 44, in _
cdata = function(*args, **kwargs)
File "/Users/nalomran/opt/anaconda3/envs/ReQTL/lib/python3.8/site-packages/rpy2/rinterface.py", line 621, in __call__
raise embedded.RRuntimeError(_rinterface._geterrmessage())
rpy2.rinterface_lib.embedded.RRuntimeError: Error in library(GenomicFeatures) :
there is no package called ‘GenomicFeatures’
我正在使用 Python3.8 和 conda env for rpy2,我该如何解决这个问题?
先感谢您。
解决方案
值得庆幸的是,我能够解决我GenomicFeatures
在 python3.8 中通过安装和加载 Bioconductor 时遇到的问题rpy2
。我花了几个小时才找到该解决方案,所以我想分享我所做的解决方案,以便最终得到谁同样的问题可以找到它。
基本上,在跟踪错误日志时,实际错误似乎指向这个特定的错误行:
R[write to console]: 1: package ‘XML’ is not available (for R version 3.6.3)
当我进行一些研究时,我发现了这个特定的 StackOverflow 问题无法将包 XML 安装到 R,他们无法将包 xml 安装到 R 并且 GenomicFeatures 需要该包,因此我在安装 BiocManager 之前添加了以下行(以防 BiocManager 不是安装):
robjects.r('install.packages("XML", repos = "http://www.omegahat.net/R")')
这个答案取自上述 StackOverflow 问题的@Jaeyoung Chun。
运行修改后的代码(见下文)后,我能够安装和加载这样的包,没有任何错误或问题:
import rpy2.robjects as robjects
robjects.r('install.packages("XML", repos = "http://www.omegahat.net/R")')
robjects.r('install.packages("BiocManager", '
'repos="http://cran.r-project.org")')
robjects.r('BiocManager::install("GenomicFeatures ")')
robjects.r('library(GenomicFeatures )')
推荐阅读
- python - 在 Numpy/PyTorch 中快速查找值大于阈值的索引
- javascript - 为以太坊错误安装 web3
- c# - 连接到 Sage 300 .net 库
- typescript - 基于泛型类类型的类方法参数类型
- amazon-web-services - 是否有任何解决方案可以将 rtmp 输入重定向到另一个媒体服务器?
- android - Android架构无法添加不同生命周期的相同观察者
- ns2 - 让 SUMO 车辆重新进入场景,使其使用寿命更长
- c# - 在构造函数上抛出异常
- reporting-services - 忽略空格的 SSRS 列表/Tablix 行为
- html - 在引导程序 4 中使用 justify-content-center 中断标签