2012-07-17 61 views
2

我试图对NCBI数据库爆炸一个8聚体(长度为8的字符串)。但是,每当我使用qblast时,它就相对于匹配而言都是空的。这是我的代码:biopython qblast函数没有返回数据

from Bio.Blast.NCBIWWW import qblast 
import Bio.Blast.NCBIXML as parser 

a = qblast('blastp','nr','GGMPSGCS') 
b = parser.read(a) 
print b.alignments` 

每当我这样做,它只是打印空列表[]。这是为什么发生?任何人都可以照亮它吗?

我可以使用NCBI在线BLAST工具进行匹配,如果使用更长的kmer(比如“SSRVQDGMGLYTARRVR”),我甚至可以获得匹配结果。恰巧我所搜寻的所有8个人都空了。

回答

1

从常见问题解答:http://biopython.org/DIST/docs/tutorial/Tutorial.html

为什么不Bio.Blast.NCBIWWW.qblast()得到相同的结果NCBI BLAST网站? 您需要指定相同的选项 - NCBI通常会调整>网站上的默认设置,并且它们不再与QBLAST默认值相匹配。检查差距>处罚和期望阈值。

检查qblast是否使用相同的默认值,如果不确定,请将其明确。如果它正在进行某种“简短阅读”过滤步骤,我不会感到惊讶。

1

正如answer一样,您必须微调qblast以覆盖默认值。 NCBI-BLAST的WWW前端自动调整您的参数以匹配短(8 bp)序列,但是如果您通过Biopython API执行操作,则必须手动完成。