前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用VCF文件构建系统发育树

利用VCF文件构建系统发育树

作者头像
数据科学工厂
发布2023-02-27 11:30:09
1.1K0
发布2023-02-27 11:30:09
举报
文章被收录于专栏:数据科学(冷冻工厂)

导读

本文将介绍三种使用VCF文件,构建系统发育树的方法,包括程序的安装,使用,已及系统发育树的可视化与美化。

1. VCF2Dis

VCF2Dis[1]是一种新的简单高效的软件,用于计算基于VCF格式的距离矩阵

1.1. 安装

代码语言:javascript
复制
# 下载
wget -c https://github.com/hewm2008/VCF2Dis/archive/v1.47.tar.gz

# 解压
tar -zxvf v1.47.tar.gz

# 进入程序目录
cd VCF2Dis  

# 编译
make ; make clean   

# 测试运行
./bin/VCF2Dis

1.2. 距离矩阵

  • 利用VCF2Dis生成距离矩阵
代码语言:javascript
复制
VCF2Dis -i test.vcf -o test.mat

1.3. mat2nwk

  • 文件转换

FastMe2.0

上传距离矩阵到在线网站, FastMe2.0[2]。上传以后,选择Data typeDistance matrix。然后根据自己的需要进行配置,最后填入任务名称和Email来获取结果通知。

  • 结果下载

点击下载结果

结果下载

结果文件是一个压缩文件,里面包含:

  1. 一个.nwk文件用于进化树可视化

结果文件

  1. stats.txt

记录了文件转换过程中,选择的参数

  1. stdout.txt

转换过程中的日志文件,记录了程序的运行过程

1.4. iTOL美化

十分推荐利用iTOL对进化树进行美化,该程序是网页版,配置简单,结果十分漂亮。

  • 导入iTOL[3]美化

iTOL

2. Phylip

PHYLIP[4]是用于推断系统发育的免费程序包。

2.1. 安装

  • 源码编译安装
代码语言:javascript
复制
# 下载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安装
代码语言:javascript
复制
# 新建phylip环境,并安装phylip
conda create -n phylip -c bioconda phylip -y

2.2. 格式转换

  • 转换脚本下载
代码语言:javascript
复制
# 下载
wget -c https://github.com/edgardomortiz/vcf2phylip/archive/refs/tags/v2.8.zip

# 解压
unzip v2.8.zip
  • 转换为PHYLIP matrix
代码语言:javascript
复制
python vcf2phylip.py -i test.vcf

# PHYLIP matrix是默认格式,不同输出格式,见下参数
# -f FASTA matrix
# -n NEXUS matrix
# -b binary NEXUS matrix

注意:test.vcf中的样本名一定要少于10个字符,否则会报错

2.3. 建树

  • 构建配置文件
  1. seqboot.par
代码语言:javascript
复制
test.phy  # 本程序的输入文件
R # 选择bootstrap
100 # 设置bootstrap的值,即重复的replicate的数目,通常使用1000或者100,注意此处设定好后,后续两步的M值也为1000或者100
Y # yes确认以上设定的参数
9 # 设定随机参数,输入奇数值。
  1. dnadist.par
代码语言:javascript
复制
seqboot.out # 本程序的输入文件
T  # 选择设定Transition/transversion的比值
2.3628  # 比值大小
M   #修改M值
D  # 修改M值
100  # 设定M值大小
2  # 将软件运行情况显示出来
Y  # 确认以上设定的参数
  1. neighbor.par
代码语言:javascript
复制
dnadist.out  # 本程序的输入文件
M
100   # 设定M值大小
9  # 设定随机数,输入奇数值
Y  # 确认以上设定的参数
  1. consense.par
代码语言:javascript
复制
nei.tree  #本程序的输入文件
Y #确认以上设定的参数
  • phylip建树
代码语言:javascript
复制
# 在 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 

3. IQ-tree

IQ-tree[5]的建树方法与phylip类似,只是最后一步不一样,同样需要先转换文件格式为:phy(格式转换见2.2)。

3.1. 安装

  • 利用conda安装
代码语言:javascript
复制
# 新建iq-tree环境 并 安装iqtree
conda create -n iqtree -c bioconda iqtree -y

3.2. 建树

  • IQ-tree 建树(简单)
代码语言:javascript
复制
iqtree -s test.phy

替代模型选择与详细的分支评估,见http://www.iqtree.org/中说明

参考资料

[1]

VCF2Dis: https://github.com/BGI-shenzhen/VCF2Dis

[2]

FastMe2.0: http://www.atgc-montpellier.fr/fastme/

[3]

iTOL: https://itol.embl.de/

[4]

PHYLIP 是用于推断系统发育的免费程序包。: https://evolution.genetics.washington.edu/phylip.html

[5]

IQ-TREE: http://www.iqtree.org/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导读
  • 1. VCF2Dis
    • 1.1. 安装
      • 1.2. 距离矩阵
        • 1.3. mat2nwk
          • 1.4. iTOL美化
          • 2. Phylip
            • 2.1. 安装
              • 2.2. 格式转换
                • 2.3. 建树
                • 3. IQ-tree
                  • 3.1. 安装
                    • 3.2. 建树
                      • 参考资料
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档