2

我正在尝试针对 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 都是空的。

4

2 回答 2

1

正如在这个答案中一样,您必须微调 qblast 以覆盖默认值。NCBI-BLAST 的 WWW 前端会自动调整您的参数以匹配短(8 bp)序列,但如果您通过 Biopython API 进行,则必须手动进行。

于 2014-08-04T20:00:03.987 回答
1

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

为什么 Bio.Blast.NCBIWWW.qblast() 没有给出与 NCBI BLAST 网站相同的结果?您需要指定相同的选项——NCBI 经常调整 >website 上的默认设置,它们不再匹配 QBLAST 默认设置。检查诸如差距>惩罚和期望阈值之类的内容。

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

于 2013-03-27T02:49:12.040 回答