BLAST是目前最常用的序列比对的数据库搜索程序, BlAST的查询序列和数据库类型主要分为下图中的几种类型。
BLAST算法的大概思路就是:列表、扫描、延伸。下图是BLAST算法的三个主要处理阶段。
blast算法的简要步骤:
1. 分割并创建列表
将查询序列分割为特定长度的字段“words”,然后创建synonyms字段列表并使用打分矩阵计算得到相应的分数。生成得分高于阈值T的“words”(synonyms)字段列表。
2.扫描
扫描整个数据库找到与这些“words”(synonyms)字段列表相匹配的记录。(双匹配方法)
3.延伸
延伸匹配的“words”,找到成为高分片段对(HSPs)的比对。
如果分数超过一个指定的分数阈值S,比对结果就会被输出。
M是根据替换矩阵得到的得分;c表示gaps的数量,O是存在一个空位的罚分,d是延伸的gaps的总长度,G延伸一个空位的罚分。
使用原始分数S的局限性:S的值取决于替换矩阵和空位罚分,当使用不同的替换矩阵和空位罚分时,无法对S值进行比较。
4.将原始分数(S)转换为Bit Scores(S’)
λ 和 K代表所用的矩阵和罚分,是规范化特定矩阵和搜索空间的参数。
不同打分矩阵的blast搜索的Bit Scores是可以相互比较的。
Bit Scores的局限性:得到一个使用Bit scores排序来反应和查询序列相似程度的序列列表后,不知道需要多高的分数才能表明具有共同的祖先。仅基于Bit Scores,很难评估命中的是否是同源序列,所以计算E-value来解决这个问题。
5.E-value
E-value is number of subject sequences that can be expected to be retrieved from the database that have a bit score equal to or greater than the one calculated from the alignment of the query and subject sequence, based on chance alone ,not homology.
E-value是在特定数据库中随机条件下发生得分大于或等于当前比对得分的序列数目的期望值。或者说期望值E是在一次数据库搜索中随机条件下期望发生的得分大于或等于当前比对得分的序列数目。
n表示整个数据库中所有序列的有效长度,m表示查询序列的有效长度,m*n定义了搜索空间的大小。
E-value会随着S的增加呈指数下降;较大的E-value表明查询序列和检索到的序列相似性很可能是随机的,小的E-value表明序列相似性可能是因为同源(或潜在的趋同进化);E-value是反应比对显著性的一种方式,被广泛的用来评价查询序列和目标序列之间的同源性的可信程度。
参考资料:
1.《生物信息学》(主编:刘娟)
2.《生物信息学》第2版(主编:李霞、雷健波)
3.Kerfeld CA, Scott KM. Using BLAST to teach "E-value-tionary" concepts. PLoS Biol. 2011 Feb 1;9(2):e1001014. doi: 10.1371/journal.pbio.1001014. PMID: 21304918; PMCID: PMC3032543.(文章链接)
备注:以上内容如有错误,请联系作者。著作权归作者所有,转载或内容合作请联系作者