簡介
序列比對
(alignment):為確定兩個或多個序列之間的相似性以至于同源性,而將它們按照一定的規(guī)律排列。將兩個或多個序列排列在一起,表明其相似之處。序列中可以插入間隔(通常用短橫線“-”表示)。對應(yīng)的相同或相似的符號(在核酸中是A,T(或U),C,G,在蛋白質(zhì)中是氨基酸殘基的單字母表示)排列在同一列上。
這一方法常用于研究由共同祖先進(jìn)化而來的序列,特別是如蛋白質(zhì)序列或DNA序列等生物序列。在比對中,錯配與突變相應(yīng),而空位與插入或缺失對應(yīng)。序列比對還可用于語言進(jìn)化或文本間相似性之類的研究。
術(shù)語“序列比對”也指構(gòu)建上述比對或在潛在的不相關(guān)序列的數(shù)據(jù)庫中尋找significantalignments。
統(tǒng)計(jì)檢驗(yàn)
序列比對實(shí)際上是根據(jù)特定數(shù)學(xué)模型找出序列之間最大匹配殘基數(shù)。而序列比對數(shù)學(xué)模型一般用來描述序列中每一個子字符串之間的匹配情況。通過改變某些參數(shù)可以得到不同比對結(jié)果,例如空位法分值大小。此外,序列長度差異和字母表復(fù)雜度也會影響比對結(jié)果。合理調(diào)節(jié)參數(shù),會減少空位數(shù)目,得到較好的結(jié)果,而放寬對空位罰分的限制,理論上任意序列都可以得到某個對比結(jié)果。因此序列比對的結(jié)果并不能作為兩者之間一定存在同源關(guān)系的依據(jù)。
常用序列比對程序通常給出一些統(tǒng)計(jì)值??,用來表示結(jié)果的可信度。BLAST程序中使用的統(tǒng)計(jì)值由概率p和期望值e。概率p表示比對結(jié)果得到的分?jǐn)?shù)值的可信度。一般來說,p越接近于0,則比對結(jié)果的可信度越大。期望值e描述搜索某一特定數(shù)據(jù)庫時,隨機(jī)出現(xiàn)的匹配序列數(shù)目。
雙序列比對
序列比對的理論基礎(chǔ)是進(jìn)化學(xué)說,如果兩個序列之間具有足夠的相似性,就推測二者可能有共同的進(jìn)化祖先,經(jīng)過序列內(nèi)殘基的替換、殘基或序列片段的缺失、以及序列重組等遺傳變異過程分別演化而來。序列相似和序列同源是不同的概念,序列之間的相似程度是可以量化的參數(shù),而序列是否同源需要有進(jìn)化事實(shí)的驗(yàn)證。在殘基-殘基比對中,可以明顯看到序列中某些氨基酸殘基比其它位置上的殘基更保守,這些信息揭示了這些保守位點(diǎn)上的殘基對蛋白質(zhì)的結(jié)構(gòu)和功能是至關(guān)重要的,例如它們可能是酶的活性位點(diǎn)殘基,形成二硫鍵的半胱氨酸殘基,與配體結(jié)合部位的殘基,與金屬離子結(jié)合的殘基,形成特定結(jié)構(gòu)motif的殘基等等。但并不是所有保守的殘基都一定是結(jié)構(gòu)功能重要的,可能它們只是由于歷史的原因被保留下來,而不是由于進(jìn)化壓力而保留下來。因此,如果兩個序列有顯著的保守性,要確定二者具有共同的進(jìn)化歷史,進(jìn)而認(rèn)為二者有近似的結(jié)構(gòu)和功能還需要更多實(shí)驗(yàn)和信息的支持。通過大量實(shí)驗(yàn)和序列比對的分析,一般認(rèn)為蛋白質(zhì)的結(jié)構(gòu)和功能比序列具有更大的保守性,因此粗略地說,如果序列之間的相似性超過30%,它們就很可能是同源的。
全局比對
全局比對是指將參與比對的兩條序列里面的所有字符進(jìn)行比對。全局比對主要被用來尋找關(guān)系密切的序列。由于這些序列也都很易通過本地比對方法找到,現(xiàn)在全局比對也有些被認(rèn)為只是一種技巧。另外,全局比對在應(yīng)用于分子進(jìn)化時也有些問題(比如domainShuffling-見下),這也限制了這種方法的可用性。
局部比對
1981年,由F.Smith和M.Waterman首次提出局部比對算法,動態(tài)規(guī)劃方法通過較少的改動便可以用來識別匹配的子序列,并且忽略匹配區(qū)域之前或之后的失配和空位;局部比對時,表中小于零的位置用零代替。主要用來考察兩序列的某些特殊片段。
運(yùn)算過程
全局比對是從頭到尾全程比較,考慮序列的整體相似性。全局多序列比對可以鑒別或證明新序列與已有序列家族的同源性;幫助預(yù)測新蛋白質(zhì)序列的二級和三級結(jié)構(gòu);是進(jìn)行分子進(jìn)化分析的重要前提。局部比對考慮序列部分區(qū)域的相似性。局部比對的生物學(xué)基礎(chǔ)是:蛋白質(zhì)功能位點(diǎn)由較短的序列片斷組成,盡管在序列的其它部位可能有插入、刪除或突變,但是這些序列片斷具有相當(dāng)大的保守性。此時,局部比對往往比全局比對具有更高的靈敏度,其結(jié)果更具有生物意義。局部多序列比對可以用來刻畫蛋白質(zhì)家族和超家族。
重要性
生物信息學(xué)的研究重點(diǎn)主要體現(xiàn)在基因組學(xué)和蛋白質(zhì)學(xué)兩方面,具體地說就是從核酸和蛋白質(zhì)序列出發(fā),分析序列中表達(dá)結(jié)構(gòu)和功能的生物信息。生物信息學(xué)的基本任務(wù)是對各種生物分析序列進(jìn)行分析,也就是研究新的計(jì)算機(jī)方法,從大量的序列信息中獲取基因結(jié)構(gòu)、功能和進(jìn)化等知識。而在序列分析中,將未知序列同已知序列進(jìn)行相似性比較是一種強(qiáng)有力的研究手段,從序列的片段測定,拼接,基因的表達(dá)分析,到RNA和蛋白質(zhì)的結(jié)構(gòu)功能預(yù)測。物種親緣樹的構(gòu)建都需要進(jìn)行生物分子序列的相似性比較。生物信息學(xué)中的序列比對算法的研究具有非常重要的理論意義和實(shí)踐意義。
多序列比對
為了便于描述,操作者對多序列比對過程給出下面的定義。把多序列比對看作一張二維表,表中每一行代表一個序列,每一列代表一個殘基的位置。將序列依照下列規(guī)則填入表中:(a)一個序列所有殘基的相對位置保持不變;(b)將不同序列間相同或相似的殘基放入同一列,即盡可能將序列間相同或相似殘基上下對齊(表1)。操作者稱比對前序列中殘基的位置為絕對位置。如序列Ⅰ的第3位的殘基是甘氨酸G,則絕對位置Ⅰ3就是甘氨酸,而不能變成任何其它氨基酸。相應(yīng)地,操作者稱比對后序列中殘基的位置為相對位置。顯然,同一列中所有殘基的相對位置相同,而每個殘基的絕對位置不同,因?yàn)樗鼈儊碜圆煌男蛄?。需要說明的是,絕對位置是序列本身固有的屬性,或者說是比對前的位置,而相對位置則是經(jīng)過比對后的位置,也就比對過程賦予它的屬性。
表1多序列比對的定義,表示五個短序列(I-V)的比對結(jié)果。通過插入空位,使5個序列中大多數(shù)相同或相似殘基放入同一列,并保持每個序列殘基順序不變。
多序列比較對的算法復(fù)雜性
多序列比對的計(jì)算量相當(dāng)可觀,因此有必要分析以下技術(shù)的復(fù)雜性。雙序列比對所需要的計(jì)算時間和內(nèi)存空間與這兩個序列的長度有關(guān),或者說正比于這兩個序列長度的乘積,用O(m1m2)表示。其中m1、m2是指兩條序列的長度。三序列比對則可以理解為將雙序列比對的兩維空間擴(kuò)展到三維,即在原有二維平面上增加一條坐標(biāo)軸。這樣算法復(fù)雜性就變成了O(m1m2m3),其中m3表示第三條序列的長度。
隨著序列數(shù)量的增加,算法復(fù)雜性也不斷增加。操作者用O(m1m2m3…mn)表示對n個序列進(jìn)行比對時的算法復(fù)雜性,其中mn是最后一條序列的長度。若序列長度相差不大,則可簡化成O(mn),其中n表示序列的數(shù)目,m表示序列的長度。顯然,隨著序列數(shù)量的增加,序列比對的算法復(fù)雜性按指數(shù)規(guī)律增長。
降低算法復(fù)雜性,是研究多序列比對的一個重要方面。為此,產(chǎn)生了不少很有實(shí)用意義的多序列比對算法。這些方法的特點(diǎn)是利用啟發(fā)式(Heuristics)算法降低算法復(fù)雜性,以獲得一個較為滿意但并不一定是最優(yōu)的比對結(jié)果,用來找出子序列、構(gòu)建進(jìn)化樹、查找保守序列或序列模板,以及進(jìn)行聚類(clustering)分析等。有的算法將動態(tài)規(guī)劃和啟發(fā)性算法結(jié)合起來。例如,對所有的序列進(jìn)行兩兩比對,將所有的序列與某個特定的序列進(jìn)行比對,根據(jù)某種給定的親源樹進(jìn)行分組比對,等等。必須指出,上述方法求得的結(jié)果通常不是最優(yōu)解,至少需要經(jīng)過n-1次雙序列比對,其中n為參與比對的序列個數(shù)。
多序列比對方法
下面介紹比對采用的幾種常用方法。
手工比對方法
手工比對方法在文獻(xiàn)中經(jīng)??吹?。因?yàn)殡y免加入一些主觀因素,手工比對通常被認(rèn)為有很大的隨意性。其實(shí),即使用計(jì)算機(jī)程序進(jìn)行自動比對,所得結(jié)果中的片面性也不能予以忽視。在運(yùn)行經(jīng)過測試并具有比較高的可信度的計(jì)算機(jī)程序基礎(chǔ)上,結(jié)合實(shí)驗(yàn)結(jié)果或文獻(xiàn)資料,對多序列比對結(jié)果進(jìn)行手工修飾,應(yīng)該說是非常必要的。
多序列比對的軟件已經(jīng)有許多,其中一些帶有編輯程序。最好的辦法是將自動比對程序和編輯器整合在一起。為了便于進(jìn)行交互式手工比對,通常使用不同顏色表示具有不同特性的殘基,以幫助判別序列之間的相似性。顏色的選擇十分重要,如果使用不當(dāng),看起來不很直觀,就會使比對結(jié)果中一些有用的信息丟失。相反,如果選擇得當(dāng),就能從序列比對結(jié)果中迅速找到某些重要的結(jié)構(gòu)模式和功能位點(diǎn)。例如,如果用某種顏色表示一組高度保守的殘基,則某個序列的某一位點(diǎn)發(fā)生突變時,則由于顏色不同,就可以很快找出。顏色的選擇可以根據(jù)主觀愿望和喜好,但最好和常規(guī)方法一致。用來構(gòu)筑三維模型的按時氨基酸殘基組件和三維分子圖形軟件所用的顏色分類方法,比較容易為大家接受(表2)。
表2氨基酸分組方法和代表性顏色
*表中采用的分組方法和用來區(qū)分不同組別的顏色與模型構(gòu)件和三維圖形軟件中所用方法一致。
多序列比對程序的另一個重要用途是定量估計(jì)序列間的關(guān)系,并由此推斷它們在進(jìn)化中的親緣關(guān)系??梢酝ㄟ^計(jì)算完全匹配的殘基數(shù)目或計(jì)算完全匹配殘基和相似殘基的數(shù)目得到這種定量關(guān)系。這一方法除了可以大略了解序列間的親緣關(guān)系外,也可用來評估比對質(zhì)量。如果序列的相似性值低于預(yù)料值,那么有可能是序列間親緣關(guān)系較遠(yuǎn),也可能是比對中有錯誤之處。
現(xiàn)有的軟件包用的基本上是可用鼠標(biāo)點(diǎn)擊的窗口界面,其中序列編輯器位于窗口中央。這樣的軟件包將在以后章節(jié)中詳細(xì)介紹。
使用這些軟件操作者將會看到,那些長度相仿且相似性程度較高的序列,采用自動比對方法將會得到相當(dāng)滿意的結(jié)果;而當(dāng)序列長度相差較大而相似性程度較低時,采用自動方法得出的結(jié)果則不很理想。此時,手工序列編輯器就接顯得十分有用。通過手工調(diào)整,可使結(jié)果變得接近實(shí)際。此外,采用多種不同的方法進(jìn)行分析,再將結(jié)果綜合,是一種行之有效的方法。為更好地理解多序列比對的原理和規(guī)則,應(yīng)該盡可能學(xué)會手工比對的方法,并把比對結(jié)果與計(jì)算機(jī)自動比對得到的結(jié)果加以比較。
同步法
同步法實(shí)質(zhì)是把給定的所有序列同時進(jìn)行比對,而不是兩兩比對或分組進(jìn)行比對。其基本思想是將一個二維的動態(tài)規(guī)劃矩陣擴(kuò)展到三維或多維。矩陣的維數(shù)反映了參與比對的序列數(shù)。這類方法對于計(jì)算機(jī)的系統(tǒng)資源要求較高,通常是進(jìn)行少量的較短的序列的比對。
步進(jìn)法
這類方法中最常用的就是Clustal,它是由Feng和Doolittle于1987年提出的(Feng和Doolittle,1987)。由于對于實(shí)際的數(shù)據(jù)利用多維的動態(tài)規(guī)劃矩陣來進(jìn)行序列的比對不太現(xiàn)實(shí),因此大多數(shù)實(shí)用的多序列比對程序采用啟發(fā)式算法,以降低運(yùn)算復(fù)雜度。Clustal的基本思想是基于相似序列通常具有進(jìn)化相關(guān)性這一假設(shè)。比對過程中,先對所有的序列進(jìn)行兩兩比對并計(jì)算它們的相似性分?jǐn)?shù)值,然后根據(jù)相似性分?jǐn)?shù)值將它們分成若干組,并在每組之間進(jìn)行比對,計(jì)算相似性分?jǐn)?shù)值。根據(jù)相似性分?jǐn)?shù)值繼續(xù)分組比對,直到得到最終比對結(jié)果。比對過程中,相似性程度較高的序列先進(jìn)行比對,而距離較遠(yuǎn)的序列添加在后面。作為程序的一部分,Clusal可以輸出用于構(gòu)建進(jìn)化樹的數(shù)據(jù)。
Clustal程序有許多版本,CLUSTALW(Thompson等,1994),根據(jù)對親緣關(guān)系較近的序列間空位情況,確定如何在親緣關(guān)系較遠(yuǎn)的序列之間插入空位。同樣,相似性較高的序列比對結(jié)果中的殘基突變信息,可用于改變某個特殊位置空位罰分值的大小,推測該位點(diǎn)的序列變異性。
Clustal是免費(fèi)軟件,很容易從互聯(lián)網(wǎng)上下載,和其它軟件一起,廣泛用于序列分析。Clustal所支持的數(shù)據(jù)格式包括EMBL/SwissProt、NBRF/PIR、Pearson/FastA、GCG/MSF,以及Clustal本身定義的格式。它的輸出格式可以是Clustal格式,也可以是可用于GDE、Phylip、GCG等軟件的格式。
主條目:多重序列比對
多序列比對是成對比對的延伸,是為了在一次比對里面處理多于兩條的的序列。多序列比對方法試圖比對一個指定序列集合里面的所有序列,這可以幫助確定這些序列的共同區(qū)段。進(jìn)行多序列比對有幾種方法,最常用的一種是Clustal程序集,它使用漸進(jìn)多序列比對算法。Clustal在cladistics中被用來建立進(jìn)化樹,在PSI-BLAST和HiddenMarkovmodel-(HMM-)中用來建立序列檔案以在序列數(shù)據(jù)庫中搜索更遠(yuǎn)的同源序列。
多序列比對編程實(shí)現(xiàn)困難。被歸為NP難題的一種。
算法
實(shí)際操作中利用計(jì)算機(jī)程序?qū)崿F(xiàn)序列比對的基本算法。序列比對不僅需要考慮子序列之間的匹配,而且需要對整個序列進(jìn)行比較。也就是說,必須考慮兩個序列中所有殘基的匹配。這就意味著,不可能使所有殘基都能嚴(yán)格匹配。在這種情況下,序列比對中確定空位的過程變得十分復(fù)雜。
在進(jìn)行序列兩兩比對時,有兩方面問題直接影響相似性分值:取代矩陣和空位罰分。
取代矩陣
粗糙的比對方法僅僅用相同/不同來描述兩個殘基的關(guān)系,顯然這種方法無法描述殘基取代對結(jié)構(gòu)和功能的不同影響效果,纈氨酸對異亮氨酸的取代與谷氨酸對異亮氨酸的取代應(yīng)該給予不同的打分。因此如果用一個取代矩陣??來描述氨基酸殘基兩兩取代的分值會大大提高比對的敏感性和生物學(xué)意義。雖然針對不同的研究目標(biāo)和對象應(yīng)該構(gòu)建適宜的取代矩陣,但國際上常用的取代矩陣有PAM和BLOSUM等,它們來源于不同的構(gòu)建方法和不同的參數(shù)選擇,包括PAM250、BLOSUM62、BLOSUM90、BLOSUM30等。對于不同的對象可以采用不同的取代矩陣以獲得更多信息,例如對同源性較高的序列可以采用BLOSUM90矩陣,而對同源性較低的序列可采用BLOSUM30矩陣。
空位罰分
空位罰分是為了補(bǔ)償插入和缺失對序列相似性的影響,由于沒有什么合適的理論模型能很好地描述空位??問題,因此空位罰分缺乏理論依據(jù)而更多的帶有主觀特色。一般的處理方法是用兩個罰分值,一個對插入的第一個空位罰分,如10-15;另一個對空位的延伸罰分,如1-2。對于具體的比對問題,采用不同的罰分方法會取得不同的效果。
對于比對計(jì)算產(chǎn)生的分值,到底多大才能說明兩個序列是同源的,對此有統(tǒng)計(jì)學(xué)方法加以說明,主要的思想是把具有相同長度的隨機(jī)序列進(jìn)行比對,把分值與最初的比對分值相比,看看比對結(jié)果是否具有顯著性。相關(guān)的參數(shù)E代表隨機(jī)比對分值不低于實(shí)際比對分值的概率。對于嚴(yán)格的比對,必須E值低于一定閾值才能說明比對的結(jié)果具有足夠的統(tǒng)計(jì)學(xué)顯著性,這樣就排除了由于偶然的因素產(chǎn)生高比對得分的可能。