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

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

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

1
2
3
准备文件:不同物种的蛋白序列文件: 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

1.png

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

2.png

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

3.png


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

该脚本依赖Mafft, TrimAI, RAxML和ASTRAL程序,需要自己提前安装好
修改脚本中相应依赖程序的绝对路径:vim EasySpeciesTree.py

4.png

查看脚本帮助信息:python EasySpeciesTree.py -h
或添加脚本执行权限(chmod +x EasySpeciesTree.py)后运行./EasySpeciesTree.py -h

5.png

运行该脚本需要提供四个文件:所用物种基因名的缩写前缀文件,单拷贝基因文件SingleCopyOrthogroups.txt,所有物种的Orthogroups文件Orthogroups.csv,以及所有物种的蛋白序列合并后的文件all-pep.fas
合并所有物种的蛋白序列文件:for i in ls *.fas;do cat $i >>all-pep.fas;done
新建所有物种基因名的缩写前缀文件:vim species_id.txt

6.png

运行脚本构建物种系统发育树:nohup ~/EasySpeciesTree.py -in1 species_id.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文件中的日志信息。

7.png

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

8.png

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

9.png


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

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

串联法FigTree可视化结果

10.png

并联法FigTree可视化结果

11.png

EasySpeciesTree程序下载链接:https://github.com/dongwei1220/EasySpeciesTree.git
可用git clone https://github.com/dongwei1220/EasySpeciesTree.git 直接下载使用。

12.png


本文出自于http://www.bioinfomics.top转载请注明出处 !

-------------本文结束感谢您的阅读-------------
Wei Dong wechat
subscribe to my blog by scanning my public wechat account
Donate comment here
0%