BLAST中的E值的理解

2021-06-26 11:40:54 字數 1188 閱讀 6739

一般的,當我們使用blast(是一種用於在資料庫當尋找任何蛋白質或者基因序列與你的目標序列一致的程式)時,我們會注意到這裡有乙個e值。那麼這個evalue是什麼呢?怎麼來理解這個值呢?

下面是乙個平常的blast結果,

sequences producing significantalignments:

score (s)

egi|83574104|moth_2374|sporulation –prote…

2022e-53

gi|83573446|moth_1696|sporulation –prote…

1121e-26

gi|83571874|moth_0087|sporulation –prote…

953e-21

gi|83573435|moth_1685|substrate-binding -…

271.0

後面有兩個值,乙個是s值,乙個e值。可以發現,結果是依據s值的高低來顯示的。

s值表示兩序列的同源性,分值越高表明它們之間相似的程度越大。

e值就是s值可靠性的評價。它表明在隨機的情況下,其它序列與目標序列相似度要大於這條顯示的序列的可能性。所以它的分值越低越好。

e值的計算:

e=kmn(e-lambda*s)

其中,k和lambda與資料庫和演算法有關,是個常量;m代表目標序列的長度,n代表資料庫的大小,s就是前面提到的s值。

通常來講,我們認為e值小於10-5就是比較可性的s值結果。我們可以想象,相同的資料庫,e=0.001時如果有1000條都有機會s值比現在這個要高的話,那麼不e設定為10-6時可能就會只得到一條結果,就是s值最可靠的那個。

但是e值也不是萬能的。它在以下幾個情況下有侷限性:

1. 當目標序列過小時,e值會偏大,因為無法得到較高的s值。

2. 當兩序列同源性雖然高,但有較大的gap(空隙)時,s值會下降。這個時候gap scores就非常有用。

3. 有些序列的非功能區有較低的隨機性時,可能會造成兩序列較高的同源性。

blast試圖去避免這些問題,但是還是應該自己有個清晰的概念。

e值總結:

e值適合於有一定長度,而且複雜度不能太低的序列。

當e值小於10-5時,表明兩序列有較高的同源性,而不是因為計算錯誤。

當e值小於10-6時,表時兩序列的同源性非常高,幾乎沒有必要再做確認。

求出e的值

描述 利用公式e 1 1 1 1 2 1 3 1 n 求e 輸入只有一行,該行包含乙個整數n 2 n 15 表示計算e時累加到1 n!輸出只有一行,該行包含計算出來的e的值,要求列印小數點後10位。1 e以及n 用double表示 2 要輸出浮點數 雙精度數小數點後10位數字,可以用下面這種形式 p...

本地BLAST的使用

psi blast psi blast是由blastpgp命令實現的,它的大部分引數是與blastall一致的,只有少數與迭代檢索相關的選項是特別的 j 最大迭代檢索的次數,預設值1,即等同與在blastall中所使用blastp程式 h 在每輪檢索後構建新的打分矩陣時所選擇的序列的期望值 e va...

blast的本地簡單執行

一 軟體配置 curl o tar zxvf ncbi blast 2.6.0 x64 linux.tar.gz echo export path path src ncbi blast 2.6.0 bin bashrc source bashrc 二 序列比對 序列比對,顧名思義需要參考序列庫,以...