根据当前的 NCBI 文档,没有选项 FILT 或 progrn - NCBI 可能默默地忽略它们(我个人更喜欢它们的明确错误消息)。
基于http://www.ncbi.nlm.nih.gov/books/NBK25499/#chapter4.ESearch你现在可以做
>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete", field="title", rettype='xml')
>>> print Entrez.read(handle)[u'QueryTranslation']
complete[Title]
作为替代方案:
>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete[title]", rettype='xml')
>>> print Entrez.read(handle)[u'QueryTranslation']
complete[Title]
该字段选项(我很确定)是 NCBI 的一项新功能,但实际上并没有添加任何新功能。这似乎只对琐碎的搜索有意义。
为了进行您想要的复杂搜索,请执行以下操作:
>>> 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/(现在也在 Biopython 教程中)。