序列比對和序列特征分析總目錄
包括DNA,RNA和蛋白組在內的生物序列(也就是一級結構)本質是固定的字母表中的字母組成的字符串,兩條序列s和t的比對可以簡單的解釋為:
s和t兩條序列上下排列起來,在某些位置需要插入空位gap,然后依次比較它們在每個位置上字符的匹配情況,從而找出使這兩條序列產生最大相似度得分的排列方式和空位插入方式。
注意,這其中有自身比對的問題。自身比對可以
- 尋找序列中的正向和反向重復序列
- 查找蛋白質的重復結構域
- 相同殘基重復出現的低復雜區
- RNA二級結構中的互補區域
常用的算法有
1 最早的:點陣圖法dotplot
- 網頁版工具
Dotlet
DNAdot 作者已經不再維護 - Mac
DNA Strider - Mac/Linux,Windows
Dotter 和Dotter手冊
2 最經典最精確的:動態規劃算法
全局比對: 參與比對的兩條序列里面的所有字符進行比對。
優點是非常精確
缺點是運行時間長,不適合數據量龐大的序列數據庫搜索
3 目前大多數數據庫搜索工具中使用的算法:BLAST算法(Basic local alignment search tool)
速度快,精確,所以常用。
注意:動態規劃和BLAST適用于不同比對情況。前者適合較少量序列間比對,BLAST適合從一組大量序列中搜索與查詢相似的序列
BLAST總體比對算法的思想是:首先通過完全匹配來查找序列,然后通過允許有誤匹配的方式來擴展比對區域。具體來說,其基本要點是序列片段對segment pair的概念。序列片段對是指兩個給定序列中的一對子序列,它們的長度相等,并且可以形成五孔維的完全匹配。BlAST首先找出查詢序列和目標序列之間所有匹配程度(得分)超過一定閾值的序列片段對,然后對片段對根據給定的相似性閾值進行延伸,得到一定長度的相似性片段,最后給出高分值片段對(high-scoring pairs, HSPs)。
BLAST可以用來做什么
-1 推斷和鑒定查詢序列的功能
-2 指導實驗設計論證該功能
-3 找到在模式生物中與查詢序列相似的序列,進一步研究其功能
-4 在目標物種發行與查詢序列相似的同原序列
-5 全基因組之間進行比較,識別不同生物體間的相似和差異
-6 用序列相似性推斷兩個或更多的基因或蛋白質之間的同源性和結構相似性
-7 識別一個蛋白中更多的保守區域,特別是有重要功能的區域識別
-8 基于同一個位點或區域的基礎上比較和同源對照
-9序列相似性除非推薦進化距離或進化過程