本文将介绍三种使用VCF文件,构建系统发育树的方法,包括程序的安装,使用,已及系统发育树的可视化与美化。
VCF2Dis是一种新的简单高效的软件,用于计算基于VCF格式的距离矩阵
# 下载
wget -c https://github.com/hewm2008/VCF2Dis/archive/v1.47.tar.gz
# 解压
tar -zxvf v1.47.tar.gz
# 进入程序目录
cd VCF2Dis
# 编译
make ; make clean
# 测试运行
./bin/VCF2DisVCF2Dis生成距离矩阵VCF2Dis -i test.vcf -o test.mat
上传距离矩阵到在线网站, FastMe2.0。上传以后,选择Data type为Distance matrix。 然后根据自己的需要进行配置,最后填入任务名称和Email来获取结果通知。
点击下载结果

结果文件是一个压缩文件,里面包含:
.nwk文件用于进化树可视化
stats.txt 记录了文件转换过程中,选择的参数stdout.txt 转换过程中的日志文件,记录了程序的运行过程十分推荐利用
iTOL对进化树进行美化,该程序是网页版,配置简单,结果十分漂亮。

PHYLIP是用于推断系统发育的免费程序包。
# 下载PHYLIP
wget -c http://evolution.gs.washington.edu/phylip/download/phylip-3.697.tar.gz
# 解包
tar zxf phylip-3.697.tar.gz
# 进入程序文件夹
cd phylip-3.695/src/
# 复制文件
cp Makefile.unx Makefile
# 编译
make install # 可能需要sudo 权限conda安装# 新建phylip环境,并安装phylip
conda create -n phylip -c bioconda phylip -y# 下载
wget -c https://github.com/edgardomortiz/vcf2phylip/archive/refs/tags/v2.8.zip
# 解压
unzip v2.8.zipPHYLIP matrixpython vcf2phylip.py -i test.vcf
# PHYLIP matrix是默认格式,不同输出格式,见下参数
# -f FASTA matrix
# -n NEXUS matrix
# -b binary NEXUS matrix注意:test.vcf中的样本名一定要少于10个字符,否则会报错
test.phy # 本程序的输入文件
R # 选择bootstrap
100 # 设置bootstrap的值,即重复的replicate的数目,通常使用1000或者100,注意此处设定好后,后续两步的M值也为1000或者100
Y # yes确认以上设定的参数
9 # 设定随机参数,输入奇数值。seqboot.out # 本程序的输入文件
T # 选择设定Transition/transversion的比值
2.3628 # 比值大小
M #修改M值
D # 修改M值
100 # 设定M值大小
2 # 将软件运行情况显示出来
Y # 确认以上设定的参数dnadist.out # 本程序的输入文件
M
100 # 设定M值大小
9 # 设定随机数,输入奇数值
Y # 确认以上设定的参数nei.tree #本程序的输入文件
Y #确认以上设定的参数phylip建树# 在 phylip 文件夹下,依次运行下面的命令
# seqboot
./exe/seqboot < ./seqboot.par && mv ./outfile ./seqboot.out
# dnadist
./exe/dnadist < ./dnadist.par && mv ./outfile ./dnadist.out
# neighbor
./exe/neighbor < ./neighbor.par && mv ./outfile ./nei.out && mv ./outtree ./nei.tree
# consense
./exe/consense < ./consense.par && mv ./outfile ./cons.out && mv ./outtree ./constree IQ-tree的建树方法与phylip类似,只是最后一步不一样,同样需要先转换文件格式为:phy(格式转换见2.2)。
conda安装# 新建iq-tree环境 并 安装iqtree
conda create -n iqtree -c bioconda iqtree -yIQ-tree 建树(简单)iqtree -s test.phy替代模型选择与详细的分支评估,见http://www.iqtree.org/中说明
上面三种示例程序运行过程中使用的参数,需要根据自身数据进行调整。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。