BLAST 數據庫搜索程序

我們應該都有接觸過未知物種和功能信息的DNA序列,並拿它們做過BLAST吧,它是基於什麼原理和方法判斷序列來源的呢?是怎麼從龐大繁雜的數據庫中找出與它相似的已知序列的呢?這個問題促使我來更多得了解BLAST。

對於蛋白質而言,不同的氨基酸排列組合構成了結構和功能各異的生物大分子;對於核酸而言,不同的鹼基排列組合,在不同物種中代代傳遞。因此,相似的序列往往起源於一個共同的祖先序列。對於一個已知序列但未知結構和功能的蛋白質,如果與它序列相似的某些蛋白質的結構和功能已知,則可以推測這個未知結構和功能的蛋白質的結構和功能。這就是序列比較的意義。而BLAST就是一個可以進行序列比對的、快速的數據庫搜索工具。

1. BLAST的基本原理

BLAST基本原理很簡單,它的要點是片段對的概念。

  • 片段對:是指兩個給定序列中的一對子序列,它們長度相等,且可形成無空位的完全匹配。

BLAST首先找出探測序列和目標序列間所有的匹配程度超過一定閾值的序列片段對,然後對片段對根據給定的相似性閾值進行延伸,得到一定長度的相似性片段,最後給出高分值片段對(high-scoring pairs, HSPs)。(改進後的BLAST允許空位的插入)

找高分值片段對比做序列比對節省了大量的時間

2. 將BLAST分類(按照應用分)

BLAST實際上是綜合在一起的一組工具的統稱,它不僅可用於直接對蛋白質序列數據庫和核酸序列數據庫進行搜索,而且可以將 待搜索的核酸序列 翻譯成蛋白質序列後再進行搜索,或反之,以提高搜索效率。後面三種主要用於對新發現的序列進行搜索:

  • Blastp:用蛋白質序列搜索蛋白質序列數據庫(尋找與待搜索蛋白質序列相似的蛋白質序列)
  • Blastn:用核酸序列搜索核酸序列數據庫(尋找與待搜索核酸序列相似的核酸序列)
  • Blastx:將核酸序列按6條鏈翻譯成蛋白質序列後搜索蛋白質序列數據庫(尋找與待搜索核酸序列編碼蛋白質相似的蛋白質序列)
  • tBlastn:用蛋白質序列搜索核酸序列數據庫,數據庫中的核酸序列要按6條鏈翻譯成蛋白質序列後再搜索(尋找與待搜索蛋白質序列,編碼相似蛋白質的核酸序列)
  • tBlastx:將核酸序列按6條鏈翻譯成蛋白質序列後搜索核酸序列數據庫,數據庫中的核酸序列要按6條鏈翻譯成的蛋白質序列後再搜索(尋找與待搜索核酸序列,編碼相似蛋白質的核酸序列)

爲什麼是按照6條鏈翻譯後再檢索?
在無法得知翻譯起始位點的情況下,翻譯可能是從第一個鹼基開始;第二個鹼基開始;第三個鹼基開始或者是互補鏈的第一個鹼基,第二個鹼基,第三個鹼基,這樣總共6個可能開始的開始,從而產生6種不同的翻譯鏈。這其中有些真實存在,有些不存在,因此都要在數據庫中進行搜索。

3.將BLAST分類(按照算法分)

3.1 標準BLAST

適合尋找親緣關係近的序列(遠緣序列容易被忽略)

3.2 PSI-BLAST

PSI-BLAST(Position-Specific Iterated BLAST,位點特異性迭代BLAST):PSI-BLAST 的特色是每次用位置特異權重矩陣(Position-Specific Iterated Mattrix, PSSM)搜索數據庫後再利用搜索的結構重新構建PSSM,然後用新的PSSM再次搜索數據庫,如此反覆(iteration)直至沒有新的結果爲止。

3.3 PHI-BLAST(精準模式)

PHI-BLAST(Pattern-Hit Initiated BLAST,模式識別BLAST):能找到與輸入序列相似的並符合某種特定模式(pattern)的序列。

舉例:
例如:N-糖基化位點基序總是符合以下特定模式:以Asn開始,然後緊跟除了Pro之外的任何一個氨基酸,再緊跟Ser或者Thr,再緊跟除Pro外的任何一個氨基酸。正則表示:N{P}[ST]{P}({}代表除…外,[]代表其中任意一個 x代表任意字符 (3,7)表示3-7個)
這種序列特徵模式可能代表某個翻譯後修飾的發生位點,也可以代表一個酶的活性位點,或者一個蛋白質家族的結構域、功能域。

還有其他的BLAST,這裏就不再贅述。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章