首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >biopython - Entrez.esearch()查询翻译与我的查询不对应

biopython - Entrez.esearch()查询翻译与我的查询不对应
EN

Stack Overflow用户
提问于 2012-08-29 22:16:48
回答 3查看 1.6K关注 0票数 1

我是Biopython的新手。使用以下代码:

代码语言:javascript
复制
handle = Entrez.esearch(db="nuccore", term="complete", field="title", FILT="refseq", porgn="viruses", rettype='xml')
print Entrez.read(handle)[u'QueryTranslation']

我得到了:

代码语言:javascript
复制
complete[Title]

但我期待的是这样的东西:

代码语言:javascript
复制
complete[Title] AND "viruses"[porgn]

(来自http://www.ncbi.nlm.nih.gov/nuccore上搜索结果的QueryTranslation)

refseq过滤器似乎也不起作用。我做错了什么?提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-31 00:11:37

根据当前的NCBI文档,没有选项FILT或progrn - NCBI可能会默默地忽略它们(就个人而言,我更喜欢从它们那里得到明确的错误消息)。

基于http://www.ncbi.nlm.nih.gov/books/NBK25499/#chapter4.ESearch,您现在可以执行以下操作

代码语言:javascript
复制
>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete", field="title", rettype='xml')
>>> print Entrez.read(handle)[u'QueryTranslation']
complete[Title]

作为另一种选择:

代码语言:javascript
复制
>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete[title]", rettype='xml')
>>> print Entrez.read(handle)[u'QueryTranslation']
complete[Title]

该字段选项(我敢肯定)是NCBI的一个新功能,但实际上并没有添加任何新功能。它似乎只对琐碎的搜索有意义。

要执行您似乎想要的复杂搜索,请执行以下操作:

代码语言:javascript
复制
>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete[title] AND viruses[porgn]", rettype='xml')
>>> print Entrez.read(handle)[u'QueryTranslation']
complete[title] AND viruses[porgn]

在Biopython教程中有类似的例子。另请参见http://news.open-bio.org/news/2009/06/ncbi-einfo-biopython/ (现已在生物体教程中)。

票数 1
EN

Stack Overflow用户

发布于 2012-08-30 01:07:08

我认为您需要编辑您的term关键字参数。您需要包含AND viruses[porgn]

代码语言:javascript
复制
>>> handle = Entrez.esearch(db="nuccore", term="complete AND viruses[porgn]", field="title", FILT="refseq", rettype='xml')
>>> print Entrez.read(handle)[u'QueryTranslation']
complete[Title] AND viruses[porgn]
票数 0
EN

Stack Overflow用户

发布于 2013-08-14 04:34:11

要添加RefSeq需求,您可以这样做

代码语言:javascript
复制
>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete[title] AND refeq[filter] AND viruses[porgn]", rettype='xml')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12180035

复制
相关文章

相似问题

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