本筆記主要用於記錄PAML分析中遇到的壹些問題並長期更新。
PAML主頁
PAML手冊
PAML常見問題
PAML討論小組
PAML理論的基本原理是,蛋白質編碼序列的自然選擇壓力水平可以用dN/dS(ω)的值來衡量,其中dS代表同義替換率,dN代表非同義替換率。當沒有選擇壓力時,同義替換率和非同義替換率相等,dn/ds = 1;當受到負選擇或純化選擇壓力時,自然選擇會阻止氨基酸發生變化,同義替換率會大於非同義替換率,即DN/DS 1 .
PAML簡單過程
要正常運行paml軟件,需要四個標準文件:
樹文件設置:
需要註意的是,Newick格式的樹的末尾壹定要有分號,否則程序無法正常運行。
Paml分析主要涉及四種模型:站點模型、分支模型、分支站點模型和進化分支模型。基因座模型通常適用於檢測某壹分支的普遍而廣泛的正選擇,這種正選擇是由基因座的連續變化引起的,例如適應許多病原體;分支模型主要檢測壹個分支是否具有快速進化、選擇壓力約束和正選擇,但不能檢測正選擇位點;分支點模型更加準確和穩定,適用於檢測分支斷點的正選擇事件。這種結果是適應了壹定時期的環境變化而產生的,通常在後代中依然存在。分支模型主要用於判斷不同物種是否處於分化和選擇的壓力下,並不局限於正選擇。它可以壹次標記多個分支進行比較。
M0:假設所有基因座具有相同的dN/dS值;
M1a:假設有兩種基因座——保守基因座0
M2a:假設有三種位點——純化選擇位點DN/DS;1,並估計三種基因座的比值(p0,p1,P2);
M3:離散模型,假設所有站點的ω值離散分布;
M7:假設所有軌跡都是0
M8:在M7模型的基礎上,壹類正選擇位點(ω>;1 );
M8a:類似M8,只是新增的ω固定在1;
站點模型Codeml.ctl的參數設置:
壹個rario:假設所有進化譜系都有相同的ω值;
自由比:假設所有支路都有獨立的ω值;
兩個比值:假設前景分支和背景分支的ω不同。
分支模型的Codeml.ctl參數設置:
假設站點間的ω值在變化,也假設分支間的ω值在變化。該模型主要用於檢測正向選擇對前景分支中某些位點的影響。
ModelA null:ω值設置為固定值1。
ModelA(替代假設):估計其ω值是否大於1。
後臺分支和前臺分支具有相同的站點ω值:
K0:前景分支和背景分支中的位點被純化並選擇為0
K1:前景分支和背景分支中的基因座處於中性進化0
背景分支和前景分支具有不同的站點ω值:
K2a:前景分支處於中性進化,背景分支處於純化選擇;
K2b:前景分支受到正選擇壓力(ω>;1),而後臺分支處於中性進化;
分支點模型的Codeml.ctl參數設置:
與分支位點模型相比,它可以同時檢測多個分支,但該模型不將背景分支的dN/dS值限制為(0,1)。
簡單的區別就是有根樹的祖先節點是二叉樹,無根樹是三叉戟樹。例如:
在使用codeml時,如果沒有指定根樹參數,而是將根樹作為輸入,那麽在輸出結果中會得到這樣壹條錯誤消息:“這是壹棵有根的樹。請查收!”。對於大多數模型,即使使用了有根樹,模型似然值仍然是正確的,但是圍繞根的兩個分支的長度是不穩定的,因為它們的總和是壹個估計值。對於其他模型,似然估計和參數估計都是不正確的。所以我們在分析的時候真的要註意這些信息,盡可能的使用壹棵無根樹。我們可以使用R包ape將有根樹轉化為無根樹:
在多序列比對過程中,比對缺口極其困難,paml軟件包沒有辦法處理缺口。因此,我們可以消除差距;通過設置clean data = 1;此外,間隙可以被視為壹個模糊字符。然而,這不是最好的解決方案,兩種策略都低估了序列差異。我個人認為,除了壹兩個序列外,大部分有序列信息的位點都應該保留,除了壹兩個序列外,所有有比對缺口的位點都應該去掉。因此,選擇合適的多序列比對軟件和過濾軟件尤為重要。
如果檢測到前臺分支,則其dn/ds >;1,我們可以認為是受正向選擇的影響。然而,如果它的DN/DS
通常,如果壹個軌跡出現在壹個模型下的列表中,那麽在另壹個模型下會有相當大的概率。如果妳這樣看他們,結果可能不會有太大的不同。確定位點的問題是困難的並且容易出錯。這種情況類似於把壹個班的尖子生弄出來。列表包含的內容越多,質量越差。所以我們通常認為後驗概率大於95%或99%的站點更可信。
如果關註某個節點,可以用“#”;如果關註某個群體,可以用“$”。對於站點模型和自由比率分析,不需要標記前臺分支;對於分支模型和進化分支模型,單個分析可以標記多個前臺分支;然而,分支點模型的單個分析只能標記壹個前景分支。
上面兩個例子其實是等價的,所以$1可以標記大的分支,包括它們的祖先節點和活節點。而#1只代表末端分支或祖先節點。
這裏有壹些關於嵌套進化枝的規則。符號#優先於$,樹頂端的進化分支標簽優先於靠近根的祖先節點的進化分支標簽。下面的兩棵樹也是。在第壹棵樹中,$1適用於整個胎盤哺乳動物的進化分支(人類血統除外),$2適用於兔子和老鼠的進化分支。
使用TreeView軟件,您可以輕松地創建壹個樹文件,並檢查樹和標簽是否正確。所有的樹都可以被TreeView識別。在TreeView X中,必須使用單引號來標記它。如下所示:
此外,您還可以同時將多個分支標記為統壹的前臺分支,例如
鏈接1
鏈接2
[圖像上傳失敗...(image-4ab 1 a5-1584449462345)]
在動物祖先身上復制的某個基因,分化成兩個不同的分支,A和b。
較高的dN/dS值可以解釋為正向選擇或快速進化。雖然突變本身是有選擇壓力的(多為純化選擇),但不能因為突變是隨機發生的,就解釋為“基因A增加了突變的選擇壓力”。原則上,突變率會影響dN和dS,但通常dN/dS不受突變率的影響。
DN/dS是壹個進化率,但不是突變率,因為同義和非同義替換率有不同程度的選擇約束。選擇性壓力測試的基本原理是假設同義替換是中性的,即大多數是在遺傳漂變下進化而來的。如果這是真的,那麽dS可以作為(中性)突變率的替代。而非同義替換率始終處於純化選擇的壓力下,正向選擇下程度較小。因此,dN/dS是中性偏差的度量。所以,dN > DS,即dN/dS > 1,是正選擇;如果dN小於dS,則dn/ds < 1是純化選項。選擇應激試驗的關鍵在於,它通過特定基因同義替換的“中性”進化率,使同義替換率正常化。
無論如何,最好使用代表真實進化史的基因樹。但是有時候可能不太容易判斷是否符合真實的進化史,可以選擇物種樹來代替。基因組水平分析,然後推薦物種樹。可以用基因樹和物種樹進行數據健壯性測試。
如果以哺乳動物祖先為前景,假設該基因在同壹祖先中具有適應性,這可能是由於獲得了新的功能,但隨後該基因在純化選擇下發生了保守進化。如果妳把整個分支看作壹個前景,那麽假設整個哺乳動物中基因的所有分支都處於不斷變化或多樣化的壓力下,如果基因涉及防禦或免疫,可能就是這種情況。
是檢測祖先還是整個分支,取決於生物學問題。例如,溶菌酶在所有的克隆猴中應該具有相同的功能,因此蛋白質預計會受到進化枝中選擇性的限制。然而,在科洛賓分支的分支上,該酶明顯獲得了新的功能,其正向選擇驅動了氨基酸的變化。有了這個假設,妳應該把分支的祖先標註為clade,而不是clade中的那些分支。
審稿人的意見往往是這樣的:前景分支上被選擇基因的重要支持並不意味著背景分支上沒有正選擇,這些基因可能在很多(如果不是全部)背景分支上仍然處於正選擇狀態。為了檢驗最初的假設(基因只在前景分支中被正向選擇)是否正確,可以進壹步檢驗Clade模型,因為進化分支模型允許估算前景分支與背景分支的比值dS/dN,而不限制背景dN/dS小於1。
壹種可能是整個基因有正選擇的證據,但每個個體基因座的信息或證據太弱。可以查看rst文件,裏面有所有站點的後驗概率,看看是不是這樣,mlc文件只列出後驗概率高於0.5的文件。
可能是因為codeml刪除了gap或者模糊字符的列,然後重新編號了位點(cleandata =1)。
當遇到這個最大dN/dS時,比如ω = 999,首先確定妳的序列是正確的;其次,這個位置的dn和ds是否遠小於0.0001,分支長度是否過小。顯然,高度相似的序列和非常不同的序列不能提供信息,因此很難指定精確的值。為了避免這類問題,我們可以先通過M0模型獲得分支長度,然後將分支長度的進化樹應用到codeml中,在ctl中設置FIX_blength=2。
如圖,紅色分支代表表型趨同的進化分支。如果妳想通過分支站點模型檢測適應性收斂進化,所有紅色分支都應該設置為前景分支。當然,前提是所有的前景分支都有相同的軌跡,並且是正選擇的。背景分支是否也具有相似的適應性收斂可以通過分支進化分支模型來檢測。
P0/ω0,p 1/ω1,P2 =(1-P0-p 1)/ω2:在正選擇分析的備擇假設結果文件中,通常得到三個p值,其中P0代表凈化選擇下的立地概率;P1代表中性進化下的立地概率;P2代表正選擇下的場地概率。
我們可以用兩個比率替代假設(fix_omega = 0 omega = 1)和兩個比率零假設(fix_omega = 1 omega = 1)來檢驗統計假設。
Codeml可以通過兩步檢測選擇約束的放松:首先確定dN/dS顯著增加的情況(由於正向選擇或選擇約束的放松);然後,濾除顯著正選擇的情況。
對於CladeC和CladeD模型,壹般需要設置幾個不同的初始ω來測試lnL值是否穩定(ω=0.001,ω=0.01,ω=0.1,ω=0.5,ω=1,ω=65438。
正常分析時,先用M0估計樹的分枝長度和Kappa值,然後用逃逸樹作為初始樹,設置fix_blength = 2。
鏈接1
鏈接2
CladeC常用於檢測不同分支的分化和選擇壓力,但有時前景分支DN/DS >;1.這時候就需要用CladeC的零假設(fix _ omega = 1,omega = 1)進壹步檢驗,或者用branch-site進壹步驗證壹致性。
自由比率模型的估計通常會導致較大的抽樣誤差,例如較短的分支通常具有較大的dS/dN。所以壹般來說,DN/DS >;999或dN、DS
數據集中有A、B、c三個分支,分支1和分支2有顯著差異嗎?
假設前景分支標記如下:
首先,為了測試CLADEC之間的顯著差異,您可以將CLADEC與M2a_rel進行比較。M2a_rel假設2和$0都是在相同的選擇壓力下進化的,所以這個測試應該有兩個自由度。
其次,為了測試分支A和分支B之間的顯著差異,同時允許分支C不同,您可以比較使用上面提供的樹運行CMC和使用更簡單的樹運行CMC之間的擬合度。在這種情況下,壹個更簡單的樹將把分支A和B分配到同壹個組,這個測試應該有壹個自由度。如下所示:
當數據集中有多個前景分支時:1)進行多次測試,然後在每次測試中設置壹個感興趣的分支作為前景分支;2)只進行壹次測試,將所有感興趣的分支設置為前臺分支。那麽,這時候就會產生另壹個問題,在進行多次測試時,是否應該去掉其他感興趣的分支?這個大概要看具體的生物學問題。
/g/pamlsoftware/c/aVj2opOg7PA
如果修正後不顯著,可以選擇adjP排序。
使用自由比率可能會導致較大的錯誤/g/pamlsoftware/c/2drys0ff7 _ o。
正選擇位點的狀態是多序列比對中第壹個參考序列的狀態,而不是前景分支的序列狀態。另外,請註意cutdata是否設置為1。
/g/pamlsoftware/c/ZnPaysiZKbI