在blast中E值(E-value)是什么?
一般的,当我们使用BLAST(是一种用于在数据库当寻找任何蛋白质或者基因序列与你的目标序列一致的程序)时,我们会注意到这里有一个E值。那么这个E-value是什么呢?怎么来理解这个值呢?
下面是一个平常的blast结果,
Sequences producing significant alignments: Score (S) E gi|83574104|Moth_2374|sporulation – prote… 202 gi|83573446|Moth_1696|Sporulation – prote… 112 gi|83571874|Moth_0087|sporulation – prote… 95 gi|83573435|Moth_1685|Substrate-binding -… 27
2e-53 1e-26 3e-21 1.0
后面有两个值,一个是S值,一个E值。可以发现,结果是依据S值的高低来显示的。 S值表示两序列的同源性,分值越高表明它们之间相似的程度越大。
E值就是S值可靠性的评价。它表明在随机的情况下,其它序列与目标序列相似度要大于这条显示的序列的可能性。所以它的分值越低越好。 E值的计算: E=Kmn(e
-lambda*S
)
其中,K和lambda与数据库和算法有关,是个常量;m代表目标序列的长度,n代表数据库的大小,S就是前面提到的S值。
通常来讲,我们认为E值小于10就是比较可性的S值结果。我们可以想象,相同的数据库,E=0.001时如果有1000条都有机会S值比现在这个要高的话,那么不E设置为10时可能就会只得到一条结果,就是S值最可靠的那个。
但是E值也不是万能的。它在以下几个情况下有局限性: 1. 当目标序列过小时,E值会偏大,因为无法得到较高的S值。
2. 当两序列同源性虽然高,但有较大的gap(空隙)时,S值会下降。这个时候gap scores就非常有用。
3. 有些序列的非功能区有较低的随机性时,可能会造成两序列较高的同源性。 BLAST试图去避免这些问题,但是还是应该自己有个清晰的概念。
-6
-5
E值总结:
E值适合于有一定长度,而且复杂度不能太低的序列。
当E值小于10时,表明两序列有较高的同源性,而不是因为计算错误。 当E值小于10时,表时两序列的同源性非常高,几乎没有必要再做确认。
-6-5
BLAST中使用的统计值有概率p值和期望e值。
E期望值(E-value)这个数值表示你仅仅因为随机性造成获得这一比对结果的可能次数。这一数值越接近零,发生这一事件的可能性越小。从搜索的角度看,E值越小,比对结果越显着。默认值为10,表示比对结果中将有10个匹配序列是由随机产生,如果比对的统计显着性值(E值)小于该值(10),则该比对结果将被检出,换句话说,比较低的E值将使搜索的匹配要求更严格,结果报告中随机产生的匹配序列减少。
p值表示比对结果得到的分数值的可信度。一般说来,p值越接近于零,则比对结果的可信度越大;相反,p值越大,则比对结果来自随机匹配的可能性越大。