建樹經驗
分子進化樹構建及數據分析的簡介
mediocrebeing, rodger, lylover, klaus, oldfish, yzwpf
一、引言
開始動筆寫這篇短文之前,我問自己,為什么要寫這樣的文章?寫這樣的文章有實際的意義嗎?我希望能夠解決什么樣的問題?帶著這樣的疑惑,我隨手在丁香園(DXY)上以關鍵字“進化 分析 求助”進行了搜索,居然有289篇相關的帖子(2006年9月12日)。而以關鍵字“進化 分析”和“進化”為關鍵字搜索,分別找到2,733和7,724篇相關的帖子。考慮到有些帖子的內容與分子進化無關,這里我保守的估計,大約有3,000~4,000篇帖子的內容,是關于分子進化的。粗略地歸納一下,我大致將提出的問題分為下述的幾類:
1.涉及基本概念。例如,“分子進化與生物進化是不是一個概念”,“關于微衛星進化模型有沒有什么新的進展”以及“關于Kruglyak的模型有沒有改進的出現”,等等。
2.關于構建進化樹的方法的選擇。例如,“用boostrap NJ得到XX圖,請問該怎樣理解?能否應用于文章?用boostrap test中的ME法得到的是XXX樹,請問與上個樹比,哪個更好”,等等。
3.關于軟件的選擇。例如,“想做一個進化樹,不知道什么軟件能更好的使用且可以說明問題,并且有沒有說明如何做”,“拿到了16sr RNA數據,打算做一個系統進化樹分析,可是原來沒有做過這方面的工作啊,都要什么軟件”,“請問各位高手用clustalx做出來的進化樹與phylip做的有什么區別”,“請問有做過進化樹分析的朋友,能不能提供一下,做樹的時候參數的設置,以及代表的意思。還有各個分支等數值的意思,說明的問題等”,等等。
4.蛋白家族的分類問題。例如,“搜集所有的關于一個特定domain的序列,共141條,做的進化樹不知具體怎么分析”,等等。
5.新基因功能的推斷。例如,“根據一個新基因A氨基酸序列構建的系統發生樹,這個進化樹能否說明這個新基因A和B同源,屬于同一基因家族”,等等。
6.計算基因分化的年代。例如,“想在基因組水平比較兩個或三個比較接近物種之間的進化年代的遠近,具體推算出他們之間的分歧時間”,“如何估計病毒進化中變異所需時間”,等等。
7.進化樹的編輯。例如生成的進化樹圖片,如何進行后續的編輯,比如希望在圖片上標注某些特定的內容,等等。
由于相關的帖子太多,作者在這里對無法閱讀全部的相關內容而致以歉意。同時,作者歸納的這七個問題也并不完全代表所有的提問。對于問題1所涉及到的基本的概念,作者推薦讀者可參考由Masatoshi Nei與Sudhir Kumar所撰寫的《分子進化與系統發育》(Molecular Evolution and Phylogenetics)一書,以及相關的分子進化方面的最新文獻。對于問題7,作者之一lylover一般使用Powerpoint進行編輯,而Photoshop、Illustrator及Windows自帶的畫圖工具等都可以使用。
這里,作者在這里對問題2-6進行簡要地解釋和討論,并希望能夠初步地解答初學者的一些疑問。
二、方法的選擇
首先是方法的選擇。基于距離的方法有UPGMA、ME(Minimum Evolution,最小進化法)和NJ(Neighbor-Joining,鄰接法)等。其他的幾種方法包括MP(Maximum parsimony,最大簡約法)、ML(Maximum likelihood,最大似然法)以及貝葉斯(Bayesian)推斷等方法。其中UPGMA法已經較少使用。
一般來講,如果模型合適,ML的效果較好。對近緣序列,有人喜歡MP,因為用的假設最少。MP一般不用在遠緣序列上,這時一般用NJ或ML。對相似度很低的序列,NJ往往出現Long-branch attraction(LBA,長枝吸引現象),有時嚴重干擾進化樹的構建。貝葉斯的方法則太慢。對于各種方法構建分子進化樹的準確性,一篇綜述(Hall BG. Mol Biol Evol 2005, 22(3):792-802)認為貝葉斯的方法最好,其次是ML,然后是MP。其實如果序列的相似性較高,各種方法都會得到不錯的結果,模型間的差別也不大。
對于NJ和ML,是需要選擇模型的。對于各種模型之間的理論上的區別,這里不作深入的探討,可以參看Nei的書。對于蛋白質序列以及DNA序列,兩者模型的選擇是不同的。以作者的經驗來說,對于蛋白質的序列,一般選擇Poisson Correction(泊松修正)這一模型。而對于核酸序列,一般選擇Kimura 2-parameter(Kimura-2參數)模型。如果對各種模型的理解并不深入,作者并不推薦初學者使用其他復雜的模型。
Bootstrap幾乎是一個必須的選項。一般Bootstrap的值>