Multalin
前言在尋找基因和致力於發現新蛋白的努力中,人們習慣於把新的序列同已知功能的蛋白序列作比對。由於這些比對通常都希望能夠推測新蛋白的功能,不管它們是雙重比對還是多序列比對,都可以回答大量的其它的生物學問題。舉例來說,面對一堆蒐集的比對序列,人們會研究隱含於蛋白之中的系統發生的關係,以便於更好地理解蛋白的進化。人們並不只是著眼於某一個蛋白,而是研究一個家族中的相關蛋白,看看進化壓力和生物秩序如何結合起來創造出新的具有雖然不同但是功能相關的蛋白。研究完多序列比對中的高度保守區域,我們可以對蛋白質的整個結構進行預測,並且猜測這些保守區域對於維持三維結構的重要性。
顯然,分析一群相關蛋白質時,很有必要了解比對的正確構成。發展用於多序列比對的程式是一個很有活力的研究領域,絕大多數方法都是基於漸進比對(progressive alignment)的概念。漸進比對的思想依賴於使用者用作比對的蛋白質序列之間確實存在的生物學上的或者更準確地說是系統發生學上的相互關聯。不同算法從不同方面解決這一問題,但是當比對的序列大大地超過兩個時(雙重比對),對於計算的挑戰就會很令人生畏。在實際操作中,算法會在計算速度和獲得最佳比對之間尋求平衡,常常會接受足夠相近的比對。不管最終使用的是什麼方法,使用者都必須審視結果的比對,因為再次基礎上作一些手工修改是十分必要的,尤其是對保守的區域。
MultAlin方法也是基於用一系列雙重比對開始的思想,然後基於雙重比對的打分值進行一個分層次的聚類。當序列都分成類後,開始進行多序列比對,計算出多序列比對中的兩個序列比對的新值,基於這些新值,重新構建一棵樹。這個過程不斷進行,直到分值不在上升,此時所序列比對也就結束了。
MultAlin可以在INRA Toulouse的一個環球網點上很容易地執行,要比對的序列按照FASTA的格式被貼上到一個序列輸入框內,然後從一系列下拉選單中,用戶定義適當的參數,比如輸出格式,可選的輸入格式,引用的分值矩陣以及空位開放和擴展罰分的分值。大多數用戶只會根據輸入序列的遠近關係,選擇不同的分值矩陣。然後,序列被提交到伺服器上,當多序列比對返回時,會計算一個一致序列並顯示在比對的下方。舉例來說,如圖8.1所示的用Clustal W比對的同樣的序列被提交給MultAlin伺服器,接受預設的比對參數,其結果如圖8.2所示,在一致序列中,所有序列都匹配的殘基相應的位置用此殘基的大寫字母表示,大多數都匹配的用小寫字母表示,同樣地,符號!、$、%和#分別表示保守取代,具體含義如圖8.2上方的圖例。
很明顯,用兩種方法分別得到的比對結果並不完全一樣。主要區別在於CLUSTAL W在果蠅序列中開放了兩個長度超過10的空位,而MultAlin只開放了一個長空位,而且,MultAlin可以得到比CLUSTAL W多20個完全相同殘基的排隊,當然,這並不以為這一種方法比另外一種方法優越,這有要重提本書的一個不便的話題,即從輸入序列的性質出發,套用不同的方法會得到不同程度的成功。警慎的用戶會選擇若干個工具同時使用,並且對最終的比對結果作手工修正以期達到最佳效果。