首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用rpy2的bioconductor?

如何使用rpy2的bioconductor?
EN

Stack Overflow用户
提问于 2013-06-09 04:29:34
回答 1查看 2.4K关注 0票数 5

我正在尝试使用来自rpy2的bioconductor (特别是seqLogo)。我找到了有用的包:

http://pythonhosted.org/rpy2-bioconductor-extensions/index.html

但是,当我从该包的文档中尝试此操作时:

代码语言:javascript
复制
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
base = importr('base')

# evaluate locally a remote R script
base.source("http://www.bioconductor.org/biocLite.R")
base.require("biocLite")
bioclite = robjects.globalenv['biocLite']

我得到了错误

代码语言:javascript
复制
  File "/usr/local/lib/python2.7/dist-packages/rpy2-2.3.6-py2.7-linux-x86_64.egg/rpy2/robjects/environments.py", line 17, in __getitem__
    res = super(Environment, self).__getitem__(item)
LookupError: 'biocLite' not found

在我的系统上的R环境中,以下代码可以完美地工作:

代码语言:javascript
复制
> require(seqLogo)

我想使用这个已经从rpy2安装的seqLogo包。如何做到这一点?由于我已经安装了rpy2,因此可以执行以下操作:

代码语言:javascript
复制
>>> import bioc

但不确定如何安装新的bioconductor包,如来自bioc的seqLogo。

如果我尝试:

代码语言:javascript
复制
importr("seqLogo")

我得到了错误:

代码语言:javascript
复制
rpy2.rinterface.RRuntimeError: Error in loadNamespace(name) : there is no package called ‘seqLogo’

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-09 05:14:22

Bioconductor项目对其软件包安装程序的内部结构进行了一些更改。下面的代码应该可以工作:

代码语言:javascript
复制
from rpy2.robjects.packages import importr

# do the following _only the first time_, to install the package seqLogo
base = importr('base')
base.source("http://www.bioconductor.org/biocLite.R")
biocinstaller = importr("BiocInstaller")
biocinstaller.biocLite("seqLogo")

# load the installed package "seqLogo"
seqlogo = importr("seqLogo")

除此之外,rpy2的bioconductor扩展已经有很长一段时间没有更新了。可能还有其他事情需要解决。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17003545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档