在常规的基因组分析中,当我们对某一物种的基因组进行从头组装与注释获得其的基本信息后,通常会想知道该物种与一些其他近源物种之间的进化关系,此时就需要构建不同物种之间的系统发育树以探究该物种的进化地位。
我们这里将以不同物种之间保守的
单拷贝核基因
为基础,分别运用串联法(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的具体信息在
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 inls *.fas
;do cat $i >>all-pep.fas;done
新建所有物种基因名的缩写前缀文件:vim species_id.txt
运行脚本构建物种系统发育树: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文件中的日志信息。
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/dongwei1220/EasySpeciesTree.git
可用git clone https://github.com/dongwei1220/EasySpeciesTree.git 直接下载使用。