SNPhylo是一個基于SNP數(shù)據(jù)構(gòu)建群體系統(tǒng)發(fā)生樹的流程工具,它能接受VCF,HapMap和簡單SNP數(shù)據(jù)格式作為輸入,經(jīng)過一系列的過濾(低質(zhì)量數(shù)據(jù)、連鎖不平衡)得到用于構(gòu)建系統(tǒng)發(fā)生樹的輸入數(shù)據(jù),最后會自動調(diào)用DNAML構(gòu)建ML樹,得到最終的結(jié)果。當(dāng)然你可以把它當(dāng)作一個過濾工具,用它生成Phylip輸入文件。

SNPhylo pipeline
安裝依賴環(huán)境:
- R(getopt, phangorn, gdsfmt,SNPRelate): 實現(xiàn)LD過濾
- Python 2.7: 數(shù)據(jù)轉(zhuǎn)換和過濾由python編寫
- MUSCLE: 實現(xiàn)序列聯(lián)配,可選步驟
- PHYLIP: 構(gòu)建ML樹
將這些軟件放在環(huán)境變量中,或者你需要記住這些軟件的安裝位置。
接著從GitHub上下載該軟件,最新版是20180901,支持多核CPU但是不支持壓縮的VCF文件。
git clone https://github.com/thlee/SNPhylo.git
最后運行setup.sh進(jìn)行配置
cd SNPhylo
bash setup.sh
# 配置信息
# Version: 20180901
#START TO SET UP FOR SNPHYLO!!!
#The detected path of R is /usr/local/bin/R. Is it correct? [Y/n] y
#The detected path of python is /opt/sysoft/Python-2.7.15/bin/python. Is it correct? [Y/n] y
#The detected path of muscle is /opt/biosoft/muscle/muscle. Is it correct? [Y/n] y
#The detected path of dnaml is /opt/biosoft/phylip-3.697/dnaml. Is it correct? [Y/n] y
#SNPHYLO is successfully installed!!!
流程的入口是snphylo.sh,使用起來非常方便,以測試數(shù)據(jù)集為例進(jìn)行介紹
curl -O http://chibba.pgml.uga.edu/snphylo/soybean.hapmap.gz
gunzip soybean.hapmap.gz
snphylo.sh -H soybean.hapmap
最終會生成一系列以snphylo.output作為前綴的文件,其中snphylo.output.phylip.txt可以作為其他建樹軟件的輸入文件。
除了默認(rèn)參數(shù)外,主要需要考慮的是過濾參數(shù)的設(shè)置, 然后我發(fā)現(xiàn)代碼里面有一個參數(shù)比較奇怪,-p參數(shù)對應(yīng)了Maximum_PLCS和Maximum_PNSS
- -c: 最低覆蓋深度(5)
- -l: LD閾值(0.1)
- -m: 次等位基因頻率閾值(MAF,0.1)
- -M: 缺失率(0.1)
- -a: 最后一個常染色體的編號。這意味著你的染色體編號必須是純數(shù)字
學(xué)習(xí)這個軟件并不意味著我們一定要用,我們可以借鑒流程的思路,使用其他軟件實現(xiàn)相同的處理。