在biopython中对基因组进行爆炸

时间:2014-07-11 09:54:26

标签: biopython blast genome

from Bio.Blast import NCBIXML
from Bio.Blast import NCBIWWW

result_handle = NCBIWWW.qblast(
    "blastn",
    "nr",
    "CACTTATTTAGTTAGCTTGCAACCCTGGATTTTTGTTTACTGGAGAGGCC",
    entrez_query='"Beutenbergia cavernae DSM 12333" [Organism]')

blast_records = NCBIXML.parse(result_handle)

for blast_record in blast_records:
    for alignment in blast_record.alignments:
        for hsp in alignment.hsps:
            print(hsp.query[0:75] + '...')
            print(hsp.match[0:75] + '...')
            print(hsp.sbjct[0:75] + '...')
虽然序列实际上是一个基因组序列,但这并没有给我一个输出, 所以我必须得到一个结果。 错误在哪里? 查询是否正确?

1 个答案:

答案 0 :(得分:3)

您的查询未返回任何结果。爆炸的默认参数是原因。这些参数在这个特殊情况下的小长度查询中更好地工作

result_handle = NCBIWWW.qblast(
    "blastn",
    "nr",
    "CACTTATTTAGTTAGCTTGCAACCCTGGATTTTTGTTTACTGGAGAGGCC",
    megablast=False,
    expect=1000,
    word_size=7,
    nucl_reward=1,
    nucl_penalty=-3,
    gapcosts="5 2",
    entrez_query='Beutenbergia cavernae DSM 12333 [Organism]')

特别是expect参数在这里发挥了重要作用。