搜索
查看: 974|回复: 0

如何轻松构建物种系统发育树

[复制链接]

4

主题

8

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
发表于 2018-9-13 08:26:52 | 显示全部楼层 |阅读模式
本帖最后由 Davey 于 2018-9-13 08:26 编辑

在常规的基因组分析中,当我们对某一物种的基因组进行从头组装与注释获得其基本信息后,通常会想知道该物种与一些其他近源物种之间的进化关系,此时就需要构建不同物种之间的系统发育树以探究该物种的进化地位。

我们这里将以不同物种之间保守的 单拷贝核基因为基础,分别运用 串联法(Concatenation)(先将不同物种之间的每个单拷贝基因单独进行多序列比对,然后将这些比对后的单拷贝基因进行首尾相连串接成一个supergene矩阵,最后将这个supergene用于构建系统发育树)和 并联法(Coalescence)(先将不同物种之间的每个单拷贝基因单独进行多序列比对,并构建每一个单拷贝基因对应的基因树,然后将所有单拷贝基因对应的基因树进行合并重构出相应的物种树)进行 ML系统发育树的构建。

  • 准备文件:不同物种的蛋白序列文件: AT.fas  Bradi.fas  LOC_Os.fas  Potri.fas scaffold.fas  VIT.fas
  • 所需软件:OrthoFinder, Mafft, TrimAI, RAxML, ASTRAL
  • 所用脚本:EasySpeciesTree.py

1.使用OrthoFinder寻找不同物种之间的单拷贝基因

下载OrthoFinder程序包解压后即可使用(该软件需要依赖blast,mcl,fastme,fasttree等程序,需要提前安装好并添加到环境变量中,详细信息可查看软件的README文件)

查看软件帮助信息:./orthofinder -h

新建一个文件夹test,将所用物种的蛋白序列放入到该文件夹中

软件使用:./orthofinder -f test/ -S diamond

-f参数指定所用文件夹,默认使用blastp进行蛋白序列的比对,可加 -S参数指定使用diamond程序进行比对(diamond需提前安装并添加到环境变量中,比对速度比blast快很多)程序运行结束后会在test文件夹中生成一个Results文件,里面即为不同物种之间的Orthogroups和单拷贝基因等相关信息。

我们所需的单拷贝基因和对应的每个Orthogroups的具体信息在Results文件夹下的 SingleCopyOrthogroups.txt和 Orthogroups.csv文件中。


2.使用EasySpeciesTree脚本进行物种系统发育树的构建

该脚本依赖Mafft, TrimAI, RAxML和ASTRAL程序,需要自己提前安装好

修改脚本中相应依赖程序的绝对路径:vim EasySpeciesTree.py

查看脚本帮助信息:python EasySpeciesTree.py -h

或添加脚本执行权限(chmod +x EasySpeciesTree.py)后运行./EasySpeciesTree.py -h

运行该脚本需要提供 四个文件:所用物种基因名的缩写前缀文件,单拷贝基因文件SingleCopyOrthogroups.txt,所有物种的Orthogroups文件Orthogroups.csv,以及所有物种的蛋白序列合并后的文件all-pep.fas

合并所有物种的蛋白序列文件:for i in `ls*.fas`; do cat $i >>all-pep.fas; done

新建所有物种基因名的缩写前缀文件:vim species_id.txt

运行脚本构建物种系统发育树:

nohup ~/EasySpeciesTree.py -in1 speciesid.txt -in2 SingleCopyOrthogroups.txt -in3 Orthogroups.csv -in4 all-pep.fas -nb 10 -t 16 &

这里为了演示快速生成结果加上 -nb参数设定bootstrap值为10, -t参数设定线程数为16,默认bootstrap值为100,thread值为10,氨基酸替换模型选择默认的PROTGAMMAJTT模型。程序运行结束后会在当前路径下生成四个文件夹: SingleGene,SingleGene_MSA,Concatenation,Coalescence,分别存放着所有单拷贝基因的序列,单拷贝基因比对后的序列,串联法建树的结果,并联法建树的结果。详细运行过程可查看nohup.out文件中的日志信息。

Concatenataion文件夹中的 RAxML_bipartitions.concatenation_out.nwk即为串联法最终生成的树文件

Coalescence文件夹中的 Astral.coalescence_tree.nwk即为并联法最终生成的树文件


3.使用FigTree或MEGA进行可视化

将串联法和并联法生成的结果文件 RAxML_bipartitions.concatenation_out.nwk,Astral.coalescence_tree.nwk导入FigTree中进行可视化

串联法FigTree可视化结果


并联法FigTree可视化结果  



EasySpeciesTree程序下载链接:

https://github.com/Davey1220/EasySpeciesTree.git

可用git clone https://github.com/Davey1220/EasySpeciesTree.git 直接下载使用。





上一篇:KEGGREST包
下一篇:我的StatQuest学习笔记——R平方和R
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树    

GMT+8, 2019-2-21 22:53 , Processed in 0.035840 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.