CLUES(Conditional Likelihood Under Evolutionary Scenarios)是一個用于推斷單個位點在群體中選擇軌跡(selection trajectory)的軟件工具。
下載安裝
git clone https://github.com/standard-aaron/clues.git
該軟件無需復雜的安裝過程,下載即可用,內(nèi)含一些 python 腳本。
該軟件是在 Relate 計算的基礎上進行的。詳見:Relate 使用方法。
在使用?SampleBranchLengths.sh 推斷位點的分支長度后,生成的?relate_resample.timeb 要用于 clues 的計算,具體看我上一篇推文即可。
inference.py 是主要的計算腳本,但該腳本的運行需要一些 python 環(huán)境。
1)要在 python3 的環(huán)境下;
2)需要依賴環(huán)境:numpy、numba 等環(huán)境,如果沒有會報錯,基于報錯安裝依賴的環(huán)境,推薦 conda 安裝,手動安裝要費不少勁。
3)繪圖腳本需要 matplotlib 環(huán)境。
推斷需要指定有效群體大小,群體大小可以是固定值,也可以是 Relate 計算的有效群體大小文件。
python inference.py --times example/example -N <DIPLOID_POPSIZE>
或 python inference.py --times example/example --coal example/example.coal
--popFreq 可以指定位點當今的頻率,比如:
--popFreq 0.3
--timeBins 可以指定特定時間段以檢測選擇壓力??梢詤⒖际纠募械母袷健?/p>
python inference.py --times example/example --timeBins example/timeBins.txt
--tCutoff?可以指定共祖過程的終止時間,默認是 1000 世代前。
python inference.py --times example/example --tCutoff 2000
--dom?硬編碼等位基因的顯性系數(shù),默認值為?0.5(對應加性模型)。
python inference.py --dom 0.8 # 設置顯性系數(shù)為0.8
--burnin 和?--thin?通過調(diào)整 MCMC 樣本的權重,優(yōu)化選擇壓力估計。
--burnin:丟棄前 LEN_BURNIN 步的 MCMC 樣本(用于去除初始不穩(wěn)定狀態(tài))。--thin:每隔 LEN_THIN 步抽取一個樣本(減少樣本間相關性)。
python inference.py --times example/example --burnin <預燒步數(shù)> --thin <稀疏步長>
--ancientSamps?整合古代 DNA(aDNA)的基因型似然值到分析中。
python inference.py --times example/example --ancientSamps example/exampleAncientSamps.txt
上述為可選參數(shù),最終會生成 out.epochs.npy, out.freqs.npy, out.post.npy 三個文件,而后可以用 plot_traj.py 繪圖。
python plot_traj.py <out_from_clues> <fig_name>
默認輸出 pdf 文件,--ext 選項可以修改輸出文件的格式,包括 eps、png 等。