biopython qblast函数没有返回数据

时间:2012-07-17 19:27:17

标签: biopython

我正在尝试针对NCBI数据库爆破8-mer(长度为8的字符串)。但是,每当我使用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工具获得一场比赛,如果我使用像“SSRVQDGMGLYTARRVR”这样的更长的kmer,我甚至可以得到一个匹配。碰巧我搜索的所有8-mers都是空的。

2 个答案:

答案 0 :(得分:1)

来自http://biopython.org/DIST/docs/tutorial/Tutorial.html

的常见问题解答
  

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

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

答案 1 :(得分:1)

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