使用SNPhylo构建群体系统发生树

SNPhylo是一个基于SNP数据构建群体系统发生树的流程工具,它能接受VCF,HapMap和简单SNP数据格式作为输入,经过一系列的过滤(低质量数据、连锁不平衡)得到用于构建系统发生树的输入数据,最后会自动调用DNAML构建ML树,得到最终的结果。当然你可以把它当作一个过滤工具,用它生成Phylip输入文件。

SNPhylo pipeline

安装依赖环境:

  • R(getopt, phangorn, gdsfmt,SNPRelate): 实现LD过滤
  • Python 2.7: 数据转换和过滤由python编写
  • MUSCLE: 实现序列联配,可选步骤
  • PHYLIP: 构建ML树

将这些软件放在环境变量中,或者你需要记住这些软件的安装位置。

接着从GitHub上下载该软件,最新版是20180901,支持多核CPU但是不支持压缩的VCF文件。

git clone https://github.com/thlee/SNPhylo.git

最后运行setup.sh进行配置

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,使用起来非常方便,以测试数据集为例进行介绍

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可以作为其他建树软件的输入文件。

除了默认参数外,主要需要考虑的是过滤参数的设置, 然后我发现代码里面有一个参数比较奇怪,-p参数对应了Maximum_PLCSMaximum_PNSS

  • -c: 最低覆盖深度(5)
  • -l: LD阈值(0.1)
  • -m: 次等位基因频率阈值(MAF,0.1)
  • -M: 缺失率(0.1)
  • -a: 最后一个常染色体的编号。这意味着你的染色体编号必须是纯数字

学习这个软件并不意味着我们一定要用,我们可以借鉴流程的思路,使用其他软件实现相同的处理。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大概是长期的不锻炼使得今天的爬山运动过量了,接着悲剧就是无法入眠。也幸亏明天是周日,干脆就起床码字了。总结下自己前...
    生信要进步阅读 30,813评论 8 39
  • 写在前面:当学习某一重要文件格式时,更需要对此格式对应软件工具进行全面的学习(如sam/bam——samtools...
    Dawn_WangTP阅读 9,096评论 0 33
  • 系统发育树的构建 现有的方法 系统发育树构建方法的优劣 link 选择:一般情况下,若有合适的分子进化模型可供选择...
    六耳弥猴阅读 12,820评论 0 19
  • 如果根据SNP或者Indel 构建其系统进化树,可以展示群体中不同个体的相互关系,基因变异相似的往往会在同一个树的...
    lakeseafly阅读 13,672评论 20 39
  • 专题汇总 <一> 科学家发布生物进化与多组学综合分析软件<二> eGPS开篇与使用示例一<三> eGPS使用示例二...
    沧浪之水v阅读 1,288评论 2 3