- in Makes Sense-
in the Light of
—— (1973)
這個推送主要是系統發育樹相關内容(内容很多,但這篇文章并不包含多基因級聯建樹,挖個坑下次寫。我将一些tips和操作示例寫在了可以劃動的模塊裡,讓整篇推送看起來結構清晰,如果不想看可以跳過劃動部分)。上一個推送的多序列比對([陪你學·生信]十、編輯對多序列比對結果[陪你學·生信]九、多序列比對- (MSA))是系統發育分析的基礎。
文章有點長,先放個流程圖便于理清思路。
一、系統發育樹能分析什麼
系統發育分析是根據生物核苷酸/蛋白序列的相似程度(進行MSA)将其歸結成分支和簇,從而推測一組基因或蛋白質或生物間的進化關系。當然,系統發育分析的前提是進化論。
實驗中系統發育分析常見目的有:物種鑒定,基因功能鑒定,追溯基因起源等。
二、準備序列數據時需要考慮的問題
1. 建什麼樹?用什麼序列?
(1)核苷酸序列nt還是氨基酸序列aa
系統發育分析所選的序列應包含足夠的信息,全基因組序列包含信息多,但是全基因組序列的分析麻煩、耗時長;且有的時候研究對象就是某一個基因或者蛋白。所以多數情況下,我們使用基因或蛋白序列建樹。
可以的話,選擇的這個基因在基因組的拷貝數最好為1,這樣避免了旁系同源基因建樹的影響。有的生物基因組小,比如病毒,建立物種樹有時可以用全基因組序列(nt)進行系統發育分析(如果是蛋白序列同源性分析當然是aa序列,如果是非編碼區序列分析當然是nt序列)。
對于可以用aa或者nt序列分析的實驗材料,沒有标準的答案。如果DNA序列之間的一緻度高于70%或進化距離很近用nt序列更合适,因為nt序列的比對已經很整齊了,還可以保留同義突變;如果親緣關系較遠,用aa更合适,MSA時可以使保守區域對齊。也可以兩個都試一試,可以加入已知物種/進化關系的同源分子做對照,看哪個結果更符合已知事實。
之前看過一篇論文,說目前發表的文章中構建的系統發育樹多數都重複不出來。建樹很“主觀”,受到序列的選擇、MSA、比對後剪輯、建樹算法和參數等影響。所以在實驗得到一個相對準确和滿意的發育樹後,最好記錄下操作過程和參數。
(2)做的是基因樹 (gene tree) 還是物種樹 ( tree)
同源基因是指由共同祖先基因衍生的基因,主要有三種關系:直系同源、旁系同源、異源同源。
如果在建樹時選擇了一個生物中的旁系同源基因,或者選擇的是不同物種中的同源基因,即直系同源,那麼構建的都屬于基因樹。
我們視生殖隔離的産生為物種分化的标志,所以基因分化時間和物種分化時間不一緻。基因樹和物種樹主要存在的差異有:①兩物種的兩個基因分化發生在物種形成事件之前,導緻對系統發育樹中最長分支的分析過估計;②基因樹的拓撲結構可能和物種樹存在差異。
基于上述原因,隻能通過基因樹來推測物種樹。研究人員構建物種樹時往往利用多個基因或蛋白級聯建樹。
小tips:兩個同源序列是直系還是旁系?
直系同源()不同物種中,來自物種分化。功能相似。
旁系同源()同一物種中,由于基因複制、累積變異産生。功能不同。
異源同源()不同物種中,基因的橫向轉移,比如溶菌酶基因GH25。功能相同。
硬要較個真兒的話,其實我們說不準,不同物種中的兩個同源序列是直系還是旁系,比如A1和B2就是旁系同源。
理論上,想要區分它們是很難的,隻有通過一些判斷,推測它們是哪一種。不能保證100%正确,但是起碼我們把它們看作直系同源來建樹也不會錯得離譜。
推測方法:當我們有兩個物種C和D的全基因組序列數據、蛋白質組大小相似的情況下,如果将C中序列C1與D中D1, D2, D3......Dn進行BLAST,返回結果的top1是D1;再反過來将D1與C1, C2, C3......Cn進行BLAST,返回結果top1是C1時,可以推測C1和D1應該是直系同源基因。
用類似且更複雜的推測方法建立了一個直系同源序列的集合——COG( of )。
(3)殘基替換飽和度檢驗(Test of )
生物在進化發育中,nt/aa序列的殘基會發生替換,通過對nt/aa殘基替代數計算獲得進化距離,而系統發育樹是在進化距離基礎上構建的。所以有必要對即将構建進化樹的序列進行替換飽和度檢驗。
替換飽和度指的是一條序列同一位點殘基發生多次替換(替換了幾次又變成一樣的殘基了),或不同序列發生相同的替換。這會導緻原本應有很大差異的兩個序列,計算後卻進化距離很近,從而導緻長枝吸引現象(long ,LBA)。
如果序列替換趨向于飽和,那麼包含的系統發育信息少,用這些序列建樹的意義不大。很多時候我們直接建的樹感覺沒啥大問題,常忽略飽和度檢驗。
操作:殘基替換飽和度檢驗
可以使用DAMBE軟件進行分析(下載鍊接):
首先導入比對後的序列,進行seq.-> -> test by xia et al的分析。
當Iss
(4)其他建樹序列選擇的tips
避免使用不完整的序列片段開始多序列比對;
避免使用異源同源序列;
避免使用重組序列。
小tips:常見的問題和可能原因
NCBI-BLAST中相似度最高的兩個序列,建樹的距離特别遠?或者相似度很高的一組序列,系統發育樹 (步長值)很低?
可能是:
(1)比對時,下載的序列A的第一個殘基比對的序列B的最後一個殘基,比對時序列方向需要手動調整。
(2)MSA質量太高,所有序列的相似度都很高,就很可能出現步長值低這樣的情況。可以這樣理解,因為序列間沒有足夠大的差異,所以沒有計算出顯著的建樹結果。可以引入一些差異較大的序列、外群或換一種建樹方法( → ;除了MEGA-X,還可以試試PhyML 3.0等網頁)。
PhyML 3.0:
(3)MSA質量太低,檢查所選的序列,或者從算法上可以考慮MP法進行建樹。
2. 多序列比對結果編輯
多序列比對結果的質量是影響建樹質量的關鍵因素。應使其盡量:
(1)沒有大量gap
(2)剪輯MSA不齊的兩端
(3)保守區域選擇:即優化MSA質量,保證比對結果中含有信息量大的闆塊,使比對質量高,但是殘基一緻性低。适用于信息位點足夠多的長序列。
根據以上原則(1)(2),圖片中短序列MSA結果中三個框的部分就可以删除。
操作:使用選擇保守區
線上工具:
還有本地版可以下載
有适合MAC,和Linux的不同版本。
一般這個操作都是針對長序列,但是為了節約時間,下面我用短的多序列比對結果舉例。
下載之後界面如下圖,首先輸入b然後回車,即設置Block →這裡的5,即“ Gap ”有“None/Half/All”不同選擇,默認是None,如果要更改就輸入5再回車。根據分析要求選擇不同的程度,我這裡選了None→輸入m回車,即打開主功能頁面→輸入o回車,即打開文件口令→然後輸入文件地址加擴展名如下圖→打開文件後,軟件默認是蛋白質序列,如果不是可以輸入t重選,我這裡舉例序列是蛋白質,就按照默認值,輸入g回車獲得保守區。
這時軟件文件夾中會生成兩個文件,一個是.fasta-gb文件(默認擴展名,可修改為fasta進行後續分析),另一個是網頁文件,打開後标藍色區域為保守區。
三、構建系統發育樹
1. 不同建樹方法
建樹原理主要分為基于距離的方法,即輸入距離矩陣即可的距離法;以及基于序列信息的方法,即簡約法、似然法等。常見的方法簡單介紹如下(更詳細的原理有空再寫,挖個坑):
(1)鄰接法(-,NJ):基于最小進化原理,通過比較每對序列的距離,構建一個總距離最小的拓撲樹。速度最快,結果較為準确,比較常用;更适用于進化距離不大(0
有話要說...