1

我刚刚开始使用 Biopython,我正在尝试使用该qblast()函数执行远程 BLAST 操作。一切似乎都正常工作,但我无法检索基本的输出结果。当从 NCBI 网页执行 BLAST 时,我可以看到每个命中的“特征”字段,这表明基因,对于给定的命中主题,分配给查询核苷酸序列。但是,当从 解析输出 XML 文件时qblast,我看不到与此相对应的字段。我已经直接从 BLAST 输出导出了 XML 文件,但它也在那里丢失了。

这个输出文件中是否有可能完全丢失了如此重要的信息?是否有其他方法可以访问此信息,或者我只能通过解析文本形式的输出文件来访问它?

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 回答