1

私はBiopythonが初めてです。このコードの使用:

handle = Entrez.esearch(db="nuccore", term="complete", field="title", FILT="refseq", porgn="viruses", rettype='xml')
print Entrez.read(handle)[u'QueryTranslation']

私は得る:

complete[Title]

しかし、私はこのようなsthを期待しています:

complete[Title] AND "viruses"[porgn]

( http://www.ncbi.nlm.nih.gov/nuccoreの検索結果からの QueryTranslation )

refseq フィルターも機能していないようです。私は何を間違っていますか?前もって感謝します!

4

3 に答える 3

1

現在の NCBI のドキュメントによると、オプション FILT または progrn はありません。NCBI はおそらく黙ってそれらを無視しています (個人的には、それらからの明示的なエラー メッセージが望ましいと思います)。

http://www.ncbi.nlm.nih.gov/books/NBK25499/#chapter4.E検索に基づいて、今できること

>>> 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 チュートリアルにもあります)。

于 2012-08-30T16:11:37.157 に答える
0

termキーワード引数を編集する必要があると思います。含める必要がありますAND viruses[porgn]

>>> 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]
于 2012-08-29T17:07:07.500 に答える
0

RefSeq 要件も追加するには、次のようにします。

>>> from Bio import Entrez
>>> handle = Entrez.esearch(db="nuccore", term="complete[title] AND refeq[filter] AND viruses[porgn]", rettype='xml')
于 2013-08-13T20:34:10.767 に答える