1

Biopython を使い始めたばかりで、qblast()関数を使用してリモート BLAST 操作を実行しようとしています。すべてが正常に機能しているように見えますが、重要な出力結果を取得できません。NCBI Web ページから BLAST を実行すると、各ヒットの "Features" フィールドが表示されます。これは、特定のヒット サブジェクトの、クエリ ヌクレオチド シーケンスに割り当てられた遺伝子を示します。ただし、 からの出力 XML ファイルを解析qblastすると、これに対応するフィールドが表示されません。XML ファイルを BLAST 出力から直接エクスポートしましたが、そこにもありません。

このような重要な情報がこの出力ファイルから完全に欠落している可能性はありますか? この情報にアクセスする別の方法はありますか、または出力ファイルをテキスト形式で解析することによってのみアクセスできますか?

4

1 に答える 1

0

から取得した XML があるとしますqblast()

from Bio.Blast import NCBIXML


xml = NCBIXML.parse(your_xml_handler)

for blast in xml:     
    for hit in blast.alignments:
        # Each hit is a Blast.Record.Alignment
        # http://biopython.org/DIST/docs/api/Bio.Blast.Record.Alignment-class.html
        # Here you can obtain the hit id
        # Something like "gi|588481781|gb|KF958277.1|"
        id = hit.hit_id
        for hsp in hit.hsps:
            # Here you have access to each HSP
            # http://biopython.org/DIST/docs/api/Bio.Blast.Record.HSP-class.html
            start = hsp.sbjct_start
            end = hsp.sbjct_end

id、start、end を使用してデータベースにクエリを実行し、遺伝子情報を取得できます。これは WebBlast で行われる方法ですが (おそらく)、「機能」へのショートカットを提供します。

于 2014-07-02T21:27:24.337 に答える