所用數(shù)據(jù)為一個屬內(nèi)不同種不同群體的葉綠體基因組序列,數(shù)量為80條。
發(fā)現(xiàn)用全長序列建樹的時候,不適合選用太多外類群,否則ML法中會導(dǎo)致屬內(nèi)分枝的枝長特別短。原因應(yīng)該是基因間隔區(qū)和內(nèi)含子區(qū)域序列位點的差異較大。
枝長含義
NJ:表示遺傳距離;
MP:性狀狀態(tài)變換的替換數(shù);
ML/BI:該分枝上的相對進化數(shù)量(遺傳變異量);每個位點上的替換數(shù)(一般以每位點多少次核苷酸替換或氨基酸取代來表示)。
遺傳距離
大多數(shù)情況以序列來說遺傳距離就是兩個OTU(個體、群體、物種或基因家族)之間序列的差異值。
序列比對
多序列比對用mafft得到的結(jié)果較為準確,muscle比對的速度較快。
多序列比對的絕大多數(shù)算法都是基于漸進比對的概念。簡單來說就是先從兩個序列的比對開始,逐漸添加新序列,直到所有的序列都加入為止。但是不同的添加順序會產(chǎn)生不同的比對結(jié)果。所以由最相似的兩個序列開始比對,由近到遠逐步完成最為可靠。
mafft --thread 15 --auto 80-AcoeOut.fasta > 80-AcoeOut_aln.fasta
##比對時如果不清楚什么參數(shù)合適,加個參數(shù) --auto,軟件可以自動幫你處理
挑選保守位點進行下一步建樹
序列比對完后,用于建樹的序列位點必須保證具有良好的同源性。所以需要刪除序列分歧很大的區(qū)域和gap區(qū)域。
我用的軟件為Gblocks,主要目的是把有g(shù)ap的位點全部去除,參數(shù)為-b5=n,其余的選項有-b5=h,h表示half 指去除在大于50%的序列中出現(xiàn)gap的位點。
Gblocks 80-AcoeOut_aln.fasta -t=d -b5=n
最大簡約法(軟件PAUP)
最大簡約法的樹長指所有性狀在一棵樹上的進化改變總數(shù)。
計算得到的結(jié)果可能會有許多樹長相等的簡約樹,此時需要計算它們的一致樹。分為strict consensus和semistrict consensus等,strict表示100%,在所有簡約樹中都出現(xiàn)的分枝,才會出現(xiàn)在一致樹中,否則為梳子。這個閾值可以調(diào)。
一般文章中所用的系統(tǒng)樹的拓撲結(jié)構(gòu)都為ML或BI樹,所以要把MP的bootstrap值標到ML/BI法的底樹上。
1.cstatus ##查看數(shù)據(jù)特征,如簡約信息位點數(shù)量等
2.tstatus
3.define outgroup
4.analysis-branch and bound ##數(shù)據(jù)量大用heuristic search
5.describetrees
6.contree ##計算一致樹
7.bootstrap ##自舉值
8.print bootstrap consensus
進化模型
DNA序列進化就是序列位點上的核苷酸隨時間的變化,主要包括堿基替換、缺失和插入。
兩條比對好的DNA序列的同源位點之間很容易看出堿基的相同或不同,但是在漫長的進化過程中實際發(fā)生了什么我們并不知道。最常見的當然是單次替換,但是當進化時間較長時,已經(jīng)發(fā)生過替換的某些位點可能會再次發(fā)生替換,即多重替換。
DNA序列的進化模型將DNA的進化作為一系列隨機突變來描述,并明確定義了4種堿基之間相互的替換速率。
DNA進化模型的參數(shù)主要有4類:
- 堿基組成頻率
- 替換速率矩陣:指定了4種堿基之間在單位時間內(nèi)或給定分枝長度下相互替換的概率。
- 不變位點比例
- 位點之間速率的變異:不同位點之間替換速率的差異。
ML法和BI法都需要選擇合適的進化模型。模型選擇軟件具有的模型越多,檢測結(jié)果越準確,但建樹軟件不一定支持該模型。
判斷模型與數(shù)據(jù)擬合好壞的標準主要有AIC和BIC等。
最大似然法(軟件IQ-TREE)
似然值是當模型(樹和進化參數(shù))為真時能夠得到實際觀測數(shù)據(jù)的概率。似然值是觀測數(shù)據(jù)(即序列)的條件概率,其條件為計算似然值時依據(jù)的模型,而不是模型為真時的概率。
ML法建樹的過程是先選擇一個適合數(shù)據(jù)集的進化模型,然后對指定拓撲結(jié)構(gòu)的一棵樹優(yōu)化分枝長度,以使得該拓撲結(jié)構(gòu)的似然值最大化。通過計算不同拓撲結(jié)構(gòu)樹的似然值,將具有最大似然值的樹看成是指定模型下的能夠產(chǎn)生觀測數(shù)據(jù)的最佳估計。
ML法采用的搜索方法主要是啟發(fā)式搜索,步驟如下:
- 通過NJ樹或逐步添加序列的方法構(gòu)建初始樹;
- 以初始樹為基礎(chǔ)通過各種分枝交換方法(TBR、SPR等)計算似然值,將最大似然值的樹保存,并作為下一輪重排的初始樹;
- 重復(fù)進行分枝交換,直到不能增加似然值為止。重排的最后獲得的最大似然值樹即為ML樹。
建ML樹的軟件用RAxML的較多,但近來IQ-TREE的引用量一路上升。綜合使用下來,個人感覺IQ-TREE的速度真快。
使用過程是下載了PhyloSuite的組件,從選模型到構(gòu)樹一站式操作還挺方便的。注意下載好后首先要配置用于不同分析的插件。
貝葉斯推論法(軟件MrBayes)
BI法與ML法不同的是,前者根據(jù)提供的數(shù)據(jù)和選擇的替代模型尋找可能性最大的樹,而ML法則是尋找合適的樹以使得數(shù)據(jù)的可能性最大。
推斷系統(tǒng)發(fā)育樹的步驟為:
- 選擇一些樹作為起始點;
- 判定這些樹的似然值;
- 修改樹的拓撲結(jié)構(gòu)和分支長度;
- 計算出新樹的似然值;
- 新樹的似然值比舊樹大,則接受新樹。
如此就構(gòu)成了一代,一次又一次的重復(fù)迭代,直到新樹的似然值不再有明顯變化,即樹的似然值不再有顯著區(qū)別,參數(shù)已收斂為止。如果沒有收斂,適當?shù)脑黾哟鷺淅^續(xù)跑。
如何判斷參數(shù)是否已收斂
軟件運行完畢后,看結(jié)果文件的分離頻率平均標準差值(Average standard deviation of split frequencies)
該值<0.01時,說明兩次運行的結(jié)果差異很少,參數(shù)已收斂;
該值>0.05時,需要繼續(xù)運行。
同樣是在PhyloSuite中運行
##只輸出偶數(shù)行
sed -n '2~2p' test.txt
##只輸出奇數(shù)行
sed -n '1~2p' test.txt
## 刪除空行
sed '/^$/d' test.txt
## 計算行數(shù)
sed -n '$=' test.txt