模型組成
系統發育的建樹方法都會預先假定一個進化模型(Penny et al., 1994)。比如,所有廣泛使用的方法都假定進化的分歧是嚴格分枝的,因此我們可以用樹狀拓撲發生圖來描述已知的數據。但是在一個給定的數據組中,因為存在著物種的雜交以及物種之間遺傳物質的傳遞,這個假定很可能會被推翻。因此,如果所觀察的序列並非是嚴格遺傳的話,大多數系統發育方法就會得到錯誤的結果。
系統發育方法中固有的模型會導致一些額外的假定:
序列有指定的來源並且正確無誤(Helbig and Seibold, 1996; Hershkovitz and Lewis, 1996; Soltis et al., 1997)。
序列是同源的(也就是說,所有的序列都起源於同一祖先序列);這些序列不是“paralog“(paralog指的是一個祖先序列通過複製等方法在基因組中產生的歧化序列)的混合物。
序列比對中,不同序列的同一個位點都是同源的。
在接受分析的一個序列組中,序列之間的系統發育史是相同的(比如,序列組中不存在核序列與細胞器序列的混合)。
樣本足以解決感興趣的問題。
樣本序列之間的差異代表了感興趣的寬組。
樣本序列之間的差異包含了足以解決感興趣的問題的系統發育信號。
還有一些假定,在某些方法中是默認的,但是在另外一些方法中是可以修正的:
樣本序列是隨機進化的。
序列中的所有位點的進化都是隨機的。
序列中的每一個位點的進化都是獨立的。
程式依賴
提倡進行完全的計算機多重比對的人常常有這樣的依據,他們認為手工比對通常都是含混不清的(Gatesy et al., 1993)。MALIGN(Wheeler and Gladstein, 1994)和TreeAlign(Hein, 1990, 1994)程式都試圖在根據系統發育功能而最佳化比對的時候實現完全計算機化,尤其是試圖通過初步的多重比對而最佳化出一個最大節約樹(MP tree)。一般來說,只有當我們假定電腦程式能夠進行正確的比對的時候,我們才會實行完全的計算機處理。之所以還提倡進行手工比對(比如,Thompson et al., 1994),是因為比對算法和程式還不能滿足系統發育分析的需要。
發育標準
許多計算機多重比對程式(比如CLUSTAL, PileUp,ALIGN in ProPack)根據明確的系統發育標準(一個前導樹)進行比對,這個前導樹是由雙重比對得到的。但是SAM(Hughey et al., 1996)和MACAW(Lawrence et al., 1993)程式在進行多重比對時並不引入明確的系統發育標準,雖然這些程式也可以模擬系統發育過程操作參數。
如果在進行系統發育分析的時候,比對中引入了前導樹,那么通過這個比對推導出的進化樹邏輯上應該同前導樹的拓撲結構相同。由CLUSTAL比對得到的前導樹將會被轉化成PHYLIP樹的檔案格式,然後輸入到畫樹程式中,這些畫樹程式包括TreeTool(X windows), TreeDraw(Macintosh), PHYLODENDRON(Macintosh), TREEVIEW(Macintosh, Microsoft Windows)或者PAUP(Macintosh, Microsoft Windows)的畫樹工具。按道理,我們應該回過頭來為CLUSTAL比對再指定一個前導樹,但是在實際操作中我們並不會這么做。有些程式(比如TreeAlign and MALIGN)為了得到最佳化的比對和系統發育樹,程式本身就設計了交叉(同步)遞歸最佳化的算法。理論上,能夠解決比對----系統發育難題的同步最佳化算法或者配套算法應該是存在的,但是遞歸算法必須冒一定的風險,它很可能會導致一個錯誤的或者不完整的結果(Thorne and Kishino, 1992)。因此,根據比對結果建立進化樹之後,必須考慮另外的可能性,也就是說,如果根據其它的比對結果得到一個並不是最最佳化的進化樹,這個次最佳化的進化樹是不是更能夠滿足研究的需要。
比對參數
在比對中會出現一些序列區域,其長度是可變的,如何處理這些區域中indel狀態的位點是最重要,這取決於進化模型的所有要素(比如,包括核苷酸轉換/顛換速率),而且相關的參數在前導樹與比對推導的進化樹中應該保持一致。比對參數應該隨著進化的分叉動態變化(Thompson et al., 1994),只有這樣才能保證鹼基錯配的幾率能夠滿足序列趨異的需要;比對參數應該隨時調整(Thompson et al., 1994, Hughey et al., 1996),以防止引入過多的近似序列而導致比對序列的信息量不足,可以通過降低近似序列的比對分值權重來防止這種情況。CULSTAL程式兼顧了這兩種情況(參數動態變化),而SAM程式引入了序列權重。
數學最佳化
有些比對程式(比如,MACAW, SAM)根據一個統計模型進行最佳化,但是這些統計同系統發育模型的關係並不清楚。僅僅根據一個系統發育模型是沒有辦法比較多重比對方法的優劣的。
空位特徵符附加到比對序列數據集中,也可以用額外的鹼基程式在適當的位置對空位計分,但是在計分的時候,空位位點中只有一個作為空位計分,其餘的將會被忽略。PAUP將會執行這個方法。
對於某些比對而言,比對程式會忽略所有的空位分值或者忽略所有低於預設值的空位分值;但是,還沒有任何一種程式會忽略單個序列的單個位點。如果比對在序列組內部相當明確,但是處身其中時卻不太清楚,此時必須對比對做“手術”,確保同序列組相關的明確的信息被保留,而除去模糊的信息。
圖9.3給出了一個比對“手術”的例子。在空位區域,我們必須作出決定:在可供選擇的比對中,哪一個更加合理,尤其重要的是,哪一個更加適合於建立進化樹分析。如果手工解決比對的不確定性,就必須考慮系統發育關係、取代過程(比如,轉換和顛換)和鹼基組成;在這個階段,用系統發育證據解決不確定性非常合理。在傾向於變長的序列區域,關係非常疏遠的序列和序列組的比對就可以側向展開(就是說,引入人工空位,並且忽略分值),最終的結果使得只有關係很近的序列區域對準在一起。某些序列中的某些位點雖然對準了,但是並不確定,他們的分值可以在計分時忽略;這個方法的優點是可以保留同這些序列相關的明確信息,缺點是最大節約和最大似然的建樹方法會把這些“缺失”的分值看做是零分歧。
由MALIGN(Wheeler and Gladstein, 1994)和TreeAlign得到的比對不需要在比對後用這些方法中的建樹方法進行數據修飾,即使這些比對中仍然有一些同樣類型的不確定性,這些不確定性在另外一個程式進行分析時需要修正。如前所述,這些程式會根據由比對得到的最好的MP系統發育進化樹,對比對參數進行遞歸最佳化。MALIGN還會利用一套空位為代價,對以連線的可供選擇的比對為基礎的建樹方法進行最佳化;在這個方法中,在最有可能的幾種比對中出現的比對特徵將會被加權。這就提供了一種方法,可以捕獲序列分歧的數量(在取消不確定的比對區域的分值的時候這些分歧是被忽略掉的),因為這些區域的所有可能的比對方式都將顯示這些區域的最大的序列分歧。處於不確定的比對區域中的位點很可能不是同源的,因此在進化樹中需要加入一些噪聲干擾或者偏向。
取代模型
對於取代模型,應該給予同比對和建樹同樣的重視。就像前面暗示的那樣,取代模型既影響比對,也影響建樹;因此需要採用遞歸方法。現在,對於核酸數據而言,可以通過取代模型中的兩個要素進行計算機評估(Swofford, 1997),但是對於胺基酸和密碼子數據而言,沒有什麼評估方案(Felsenstein, 1996)。其中一個要素是鹼基之間相互取代的模型;另外一個要素是序列中不同位點的所有取代的相對速率。還沒有一種簡單的電腦程式可以對較複雜的變數(比如,位點特異性或者系統特異性取代模型)進行評估,同樣,現有的建樹軟體也不可能理解這些複雜變數。
鹼基取代
一般而言,生物化學性質相近的鹼基之間的取代頻率較高;在DNA中,四種轉換(Aà G, Gà A, Cà T, Tà C)的頻率比八種顛換(Aà C, Aà T, Cà G, Gà T,以及前四種的反向取代)的頻率要高;這些偏向會影響兩個序列之間的預計的分歧。
各個殘基之間的相對取代速率一般由方陣形式列出;對於鹼基而言,行數和列數都是4,對於胺基酸而言,行數和列數都是20(比如PAM方陣),對於密碼子而言,行數和列數都是61(除去了中止密碼子)。非對角線元素對應於一個鹼基變為另一個鹼基的相對代價,而對角線元素則代表不同序列擁有同一個鹼基的代價。
這些代價值可以固定為先驗的代價表,以確保建樹方法在計分時對每一種取代都使用確定的代價值。固定的代價方陣是典型的靜態權重方陣,MP建樹方法使用的就是這種方陣。如果使用這種權重,那么這個方法就會被稱為“加權節約”。又如,ML建樹方法,代價值是由即時的速率方陣得到的,這個方陣代表了各種取代可能會發生的機率的ML估計值。MP權重方陣只涉及簡單的算術,而套用距離和ML速率方陣則可以引入複雜的代數。為了避免盲目使用不適當的方法,建議大家熟悉其內部的基本原理(見Li, 1997, and / or Swofford et al., 1996a)。
實際上,“前進”和“反向”取代速率被認為是相同的;這個取代模型被稱為是“時間可逆”;這個模型擁有“靜態”的性質,因為在所有的鹼基頻率中沒有預知的變化。在系統發育的特殊歷史中,不同序列中的鹼基頻率不同表明,前進和反向速率實際上可能會不同;而傳統的取代權重或者速率方陣不能包容這個“非靜態”環境;本節的結尾將討論一個基於非靜態取代模型(“logdet”)的建樹方法,這個方法將會提供一個可供選擇的計算方法。
通常,特徵符狀態的權重方陣都會或多或少地通過觀察進行過估值,當然也可以從速率矩陣衍生得到。比如,如果假定兩個轉化的其中一個,發生的頻率是每個顛換的兩倍,那么據此就可以確定一個權重方陣,比如,AG的轉換代價為1,而AT的顛換代價為2。(節約方法規定對角線元素值,或者說是不同序列中擁有相同鹼基的代價值為零。這是節約方法的一個缺點�詳見下文)在隨後的建樹步驟中,這套假定會把顛換的總數降至最低值,而力求把那些主要差異是轉換的序列集中在一起。
任何一種“時間可逆”的核苷酸取代模型都可以用圖9.5所示的方陣刻畫,只是其中一個速率和其它速率的差異;在任意組合中,最多可以達到只有六個參數,其中每一個速率參數都是獨立的(Swofford et al., 1996a;Li, 1997)。如果平衡的鹼基頻率不相等,則需要額外的參數;如果平衡的鹼基頻率不相等,但是卻假定這些頻率相等,那么系統發育進化樹的最終結果將會出錯(Li, 1997)。
側線(paralinear)(Lake, 1994)和“logdet”(Lockhart et al., 1994)做了一些修正(見Swofford et al., 1996a)來滿足非靜態環境的需要;這個方法只適用於距離進化樹的建立;在這個方法中,對於每一個序列匹配,各種類型和變化方向的原始取代的數目都會計算在一個4×4的方陣中。每個方陣都會有一個代數行列式,這個行列式的log值是評估序列差異性的一個要素,因此被稱為“logdet”。對那些擁有各種各樣的鹼基頻率的序列進行雙重比較,就會得到各種各樣的方陣,也就會得到各種各樣的行列式值;因此,在評估序列兩兩之間的距離的時候,就要受到序列兩兩之間的行列式值的影響,而且序列兩兩之間的比較允許適用不同的取代模型,因此沿著系統發育進化樹的不同樹枝,將會產生多元化。Logdet尤其對位點之間的速率差異(見下文)敏感,因此,鹼基頻率的偏向可能只存在於那些承受變化的位點。
速率差異
除了取代模型的多元化以外,一個序列中各個不同位點之間取代速率的差異也會對建立進化樹的結果產生很深遠的影響(Swofford et al., 1996a);關於位點之間的速率差異(或者叫做位點異質性),有一個最明顯的例子,就是在一個編碼序列中,三聯體編碼的位點差異:在三聯體編碼中,第三個編碼位點比另外兩個位點更加容易發生變化;正是出於這個原因,許多系統發育分析方法在分析編碼序列時,都會把第三個編碼位點排除在外;但是在某些情況下,速率差異模型會更加敏銳(比如,對應於蛋白質或者rRNA的保守序列)。
對位點差異的取代速率進行估值的方法有非參數化模型(W.M. Yang et al., 1996),不變式模型和gamma分布模型(Swofford et al., 1996a)。非參數化方法源於特異位點的相對速率的範疇;這個方法可以在MP建樹方法中使用,只要根據相對的變異頻率對特異位點進行簡單加權就可以了,當然進行加權時需要有關於真實進化樹的預備知識;這個方法同樣也可以適用於ML建樹方法,但是在計算上被認為是不切實際的(W.M. Yang et al., 1996)。不變式模型對一定比例的位點進行估值,這些位點並不能自由變化;剩餘的位點假定為等機率變化。至於gamma模型方法,它假定一個給定的序列變化的機率是遵守gamma分布規律的,據此指定位點的取代機率;gamma分布的形狀(有形狀參數α描述)描述了一個序列中各個位點的取代頻率的分布(Swofford et al., 1996a, p. 444, Figure 13; cf. Li, 1997, p. 76, Figure 3.10;注意尺度差異)。在一個混合方法中,可以假定一部分位點是不變的,而剩餘的位點則是按照gamma分布變化的。