我正在尝试针对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都是空的。
答案 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执行此操作,则必须手动完成。