首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RPy2和生物导体:基因表达示例

RPy2和生物导体:基因表达示例
EN

Stack Overflow用户
提问于 2011-08-18 18:20:53
回答 1查看 1.1K关注 0票数 2

我正在尝试如何使用Rpy2在Bioconductor中做经典的基因表达example,我在一开始就被卡住了。如何加载数据?在R中,我们这样做:

代码语言:javascript
复制
> library('ALL')
> library('limma')
> data('ALL')

在Python中,我们这样做:

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

如何执行以下Python等效项:

代码语言:javascript
复制
> data('ALL') ??

我没有看到在扩展的文档中加载包数据的示例。我认为这是可能的,但看起来数据不属于正确的类,因为它在输入到featureNames时具有signature "character"

代码语言:javascript
复制
>>> data = robjects.r('data(ALL)')
>>> data.rclass
<rpy2.rinterface.SexpVector - Python:0x1004b3828 / R:0x10376d558>
>>> featureNames = robjects.r('featureNames')
>>> featureNames(data)
Error in function (classes, fdef, mtable)  : 
  unable to find an inherited method for function "featureNames", for signature "character"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.6/site-packages/rpy2-2.2.2dev_20110818-py2.6-macosx-10.6-universal.egg/rpy2/robjects/functions.py", line 82, in __call__
    return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
  File "/Library/Python/2.6/site-packages/rpy2-2.2.2dev_20110818-py2.6-macosx-10.6-universal.egg/rpy2/robjects/functions.py", line 34, in __call__
    res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in function (classes, fdef, mtable)  : 
  unable to find an inherited method for function "featureNames", for signature "character"

更新:我想我现在有了:

代码语言:javascript
复制
>>> import rpy2.robjects as robjects
>>> from rpy2.robjects.packages import importr
>>> base =  importr('base')
>>> ALL = importr('ALL')
>>> data = robjects.r('data(ALL)')
>>> data.rclass
<rpy2.rinterface.SexpVector - Python:0x258b190 / R:0xdf86c8>
>>> data = robjects.globalenv['ALL']
>>> data
<RS4 - Python:0x2591490 / R:0x29a2134>
>>> data.rclass
<rpy2.rinterface.SexpVector - Python:0x258b3b0 / R:0xdf85c8>
>>> featureNames = robjects.r('featureNames')
>>> featureNames(data)
<StrVector - Python:0x23e4f08 / R:0x304fc00>
['1000..., '1001..., '1002..., ..., 'AFFX..., 'AFFX..., 'AFFX...]
>>> exprs = robjects.r['exprs']
>>> e = exprs(data)
>>> e
<Matrix - Python:0x23b2da0 / R:0x84d8000>
[7.597323, 5.046194, 3.900466, ..., 3.095670, 3.342961, 3.842535]
>>> 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-19 03:34:25

此问题应在包含bioconductor extensions to rpy2的Python包中解决

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

https://stackoverflow.com/questions/7105876

复制
相关文章

相似问题

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