【陪你學·生信】八、序列兩兩比對的理論和操作

​今天介紹DNA或蛋白質序列的兩兩比對(pairwise comparisons),除了具體操作,還加入了一些理論知識。

通過比對可以確定兩序列是否同源,找到序列中的結構域,比較基因及其產物等,從而獲得序列中的功能、結構、進化等信息。這次內容和之前一個推送內容有重疊,前期推送裏簡單介紹了全局、局部比對以及打分矩陣的概念,可以一看——【現學現賣】序列比對之算法

上一章介紹的是序列的BLAST操作——【陪你學·生信】七、在數據庫中檢索相似的序列,結果返回很多序列。這時,如果想要詳細對比列表中的序列與我們的查詢序列,就需要兩兩比對。

一、準備對比的序列+選擇適合的方法

1. 選擇序列

(1)通過NCBI-BLAST,我們可以找到很多與查詢序列比對結果比較好的序列,然後基於工具給出的identity,E-value值(DNA序列(至少100bp)identity>70%,E-value<10^-4;蛋白質序列(至少100aa)identity>25%,E-value<10^-4),選擇可以繼續進行兩兩比對的序列。因爲這個指標一定程度上可以說明這兩條序列是同源的,同源序列的結構和功能一般相似,這樣接下來的比對才更有意義。

(2)當然兩兩比對的序列也不總是通過NCBI-BLAST結果,從數據庫中進行選擇。比如,實驗過程中發現兩條功能相似的片段,可以進行序列比對;或者實驗中發現自己的序列有某些確定的功能,那麼可以查找這個功能的關鍵詞,下載相關功能的序列進行比對。

(3)還有可能只利用一條序列進行“兩兩”比對,這個操作可以發現序列中重複的區域,低複雜度的重複模體,迴文序列以及RNA中潛在的二級結構。

2. 選擇合適的方法

序列比對有不同的方法,適用於不同情況,主要分爲兩類,點陣法和動態規劃算法,其中動態規劃算法包括局部比對和全局比對,簡介見下表。

方法

適用情況

Dot plot

查找序列重複區域;查找長插入/刪除片段;提取部分序列進行多序列比對(看對角線方向,很直觀)

Local alignments

通過高質量的,殘基-殘基的比對,分析兩條序列的同源區域

Global alignments

在序列全長水平進行比對,鑑別長插入/刪除片段;檢查數據的質量;鑑別序列中的每個變異

二、點陣法(Dot Plot)

Dotplot 點陣法是非常簡單、直觀的一種兩條序列比對的方法,它能展示出兩條序列所有可能配對的區域,由研究者選擇最有意義或自己感興趣的區域進行後續研究。通過點陣法還可以對序列自身進行比對,尋找序列內部的正向或反向重複序列。

如果序列很短的話,點陣法是僅用紙筆就可以完成的兩兩比對。主要方法是將兩條序列一條放在X軸從左至右,另一個放在Y軸從上至下。當對應位置的字符匹配時用“點”標記,最終形成矩陣。

如果兩條序列完全相同,矩陣中會有一條長對角線;如果不完全相同,那麼矩陣中就會出現不連續的對角線,如上圖。

上圖的是一個簡單的例子,兩條序列很短,如果是兩條長序列比對,可想而知點陣圖可能會凌亂和複雜。這時候,用滑動窗口(幾個位置爲一組)代替單個位點,可以更加顯著的觀察到兩條序列的相似區域。

有Dotlet,Dnadot,Dotter,Dottup等專門做dot-plot的工具,可以設置的參數很多,比如窗口大小和相似度閾值這種的(窗口大小爲10,相似度閾值爲8,指的是每次比較時取10個連續的字符,如相同的字符超過8個,則標記)。我用的是geneious prime,一個很綜合又方便的生信軟件,進行兩兩比對結果裏會出一個簡單的,窗口大小爲1的dot-plot圖(付費軟件,但是功能很強大,而且是實驗室付費,嘿嘿,那就用好了)。

三、動態規劃算法(dynamic programming algorithm)

從數學角度講,我們可以把核苷酸/氨基酸殘基看作字符,不同的匹配結果用給定的打分矩陣給分,因爲序列長度有限,理論上比對方式有限,我們可以計算出所有的比對結果的得分,再找出得分最高的就是最優比對。這個思路叫做枚舉法。不過工作量巨大,下面我們看看動態規劃法。

動態規劃用於在一個複雜空間中尋找一條最優路徑。接着上面枚舉法的思路,我們知道最終比對分數是各個殘基比對分數之和,那麼最好的比對結果,就是之前最好的比對+當前位置最好的比對。即局部最優解的組合就是全局最優解。

1. 全局比對(Global Alignments)

Needleman-Wunsch算法迭代公式

適用於序列整體水平相似程度較高的2個序列,Needleman-Wunsch算法是經典的全局比對算法。回溯時是從一端到另一端,整體回溯。以兩條短序列AAG和AGC爲例,看看兩種比對的不同。舉例中使用的打分矩陣如下:

打分矩陣

以AAG和AGC爲例的全局比對

2. 局部比對(Local Alignments)

Smith-Waterman算法迭代公式

局部比對適用情況:兩序列親緣關係可能較遠,但在局部具有相似性(比如有相似功能域,但是親緣關係遠的蛋白質序列);分析一條序列中的重複片段;內含子存在導致序列之間出現大片段差異。

Smith-Waterman算法是局部比對算法的基礎。與全局比對的區別是公式里加了0,即在迭代時給分數加了下限(沒有負值)。

所以回溯時也不一定是從一端到另一端,而是局部回溯。所產生的結果就是局部比對結果,與全局不同的是,除了最優比對結果外,還會產生次優比對結果。

以AAG和AGC爲例的局部比對

五、使用Lalign進行比對(以局部比對爲例,全局比對操作一樣的)

1. 網址

https://embnet.vital-it.ch/software/LALIGN_form.html

2. 操作

放大操作頁面解釋各部分:

(1)選擇比對類型,這裏我選了局部比對。

(2)如果是選擇局部比對纔會有返回比對結果個數的選項,我寫了10個,所以結果這裏會從最優到次優給我列出10個不同局部比對結果。

(3)E-value閾值默認10,即隨機產生10次這樣的結果。E的閾值越小,比對越嚴格。

(4)打分矩陣,可選的有DNA,RNA打分矩陣和蛋白質打分矩陣PAM,BLOSUM。一般選BLOSUM62,這裏默認50,也差不多。BLOSUM矩陣後數字越大,比對越嚴格,越適合相似程度高的兩條序列;而PAM趨勢正好相反。

(5)產生空位罰分,對應BLOSUM50的默認值爲-12。沒有最優的值,如果我們設定空位產生時罰更高的分,那麼局部比對結果將更加局部和分散,產生很多小的比對。

(6)延長空位罰分,對應BLOSUM50的默認值爲-2,絕對值一般爲產生空位罰分的十分之一左右。當我們比對兩條親緣關係較遠的序列時,設定“產生空位罰分”相對高,而“延長空位罰分”相對更低會產生好結果,這表示空位罰分更看重空位的產生而非空位長度。

(7)(8)(9)就是輸入序列啦,可以複製粘貼,也可以(8)選擇數據庫,然後在(9)中輸入序列在該數據庫中的序列號。

3. 結果

結果將返回10個不同的比對,會給出打分和E-value,看E-value更能說明比對質量,當然也要同時考慮比對的長度。

六、網上免費比對工具

1. 下面有一些比對工具鏈接:(括號裏面是比對類型)

(1)Blast2seqs(Local BLAST)

https://blast.ncbi.nlm.nih.gov/Blast.cgi?BLAST_SPEC=blast2seq&LINK_LOC=align2seq&PAGE_TYPE=BlastSearch

(2)Lalign(Global/Local)

https://embnet.vital-it.ch/software/LALIGN_form.html

(3)xenAliTwo(Local for DNA)

https://users.soe.ucsc.edu/~kent/xenoAli/xenAliTwo.html

(4)Pal2nal(Protein against DNA)

http://www.bork.embl.de/pal2nal/

2. 有時候比對結果可能需要進一步分析,下面是推薦:

(1)LalnView——比對結果可視化軟件

下載鏈接

http://doua.prabi.fr/software/lalnview

(2)PRSS(embnet)——評估比對的顯著性

https://embnet.vital-it.ch/software/PRSS_form.html

(3)PRSS(virginia)——評估比對的顯著性

https://fasta.bioch.virginia.edu/fasta_www2/fasta_www.cgi?rm=shuffle

往期相關內容:

【陪你學·生信】序

【陪你學·生信】一、生信能幫我們做什麼

【陪你學·生信】二、一些你肯定會用到的生信工具和基本操作

【陪你學·生信】三、核苷酸序列數據庫的使用

【陪你學·生信】四、蛋白質相關的數據庫

【陪你學·生信】五、當你有一段待分析的DNA序列(基礎操作介紹)

【陪你學·生信】六、當你有一段待分析的氨基酸序列(基礎操作介紹)

【陪你學·生信】七、在數據庫中檢索相似的序列

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