Comparative Genomics:物种进化树
Comparative Genomics:物种进化树

Comparative Genomics:物种进化树

比较基因组分析-构建物种进化树

比较基因组分析:构建带有分化时间的物种进化树

1 准备蛋白质序列输入文件

1.1 激活环境

1.2 安装软件

Gblocks、muscle、modeltest、raxml-ng、PAML、mcmctree

1.3 多序列比对和保守区域提取:muscle和Gblocks

输入文件:Orthofinder的运行结果文件夹中Single_Copy_Orthologue_Sequences的112条单拷贝基因

输入文件目录

新建muscle_And_gblocks.sh运行文件,先进行多序列比对获得保守结构域,再将保守结构域进行提取。

1.4 串联蛋白质序列

final.aln文件:

final.aln文件

all.fa文件:将串联文件中的序列ID改为物种名简写,检查每个物种的氨基酸数量是否一致(必须一致)。

串联文件

1.5 fa格式转换为phy格式

新建trans_fa_To_phy.py命令文件。

新建do_trans_fa_To_phy.sh命令文件执行trans_fa_To_phy.py程序。

格式转化结束后,在每个物种的名后添加8个空格

phy格式

2 物种进化树构建

2.1 利用modeltest-ng预测最佳的模型

新建modeltest.sh文件并执行

-i:蛋白质序列文件→包含所有物种比对后的保守结构域串联文件

-d:aa代表输入的文件是氨基酸序列(amino acid)

-o:输出文件前缀

-p:线程数

建树模型预测的结果文件

modeltest.out文件中的BIC(贝叶斯信息准则)最佳模型

最佳建树模型

2.2 利用raxml-ng来构建物种进化树

–msa:输入蛋白质序列文件;

–model:最佳建树模型。

raxml-ng结果文件

all.fa.raxml.support是构建的物种进化树文件,如下

3 构建带有进化时间的物种进化树

3.1 利用PAML估计物种的进化时间

基于已知物种间的分化时间,估计其余物种的进化时间,可以从已发表的基因组文章、TimeTree网站获取。

TimeTree网站

3.2 物种进化树输入文件预处理

下载all.fa.raxml.support文件(无根树)到windows,使用iTOL网站查看进化树,修改为有根树并指定根分支(外类群中进化最早的)。

iTOL网站

根据进化树中分支的长度,可以发现Atr的分支长度最长,即相比于其他物种的进化时间更早。

物种进化树

为了后续进化树的展示效果,我们将Atr分支设置为根分支(root),并忽略分支长度。

iTOL设置根分支

导出修改后的进化树文件,上传至服务器DiffTimetree文件夹。

导出修改后的进化树

新建tree_deal.r命令文件。

树文件:

tree_deal.r:

新建do_tree_deal.sh命令文件执行tree_deal.r,处理进化树文件。

修改上述进化树,增加物种分化时间(只添加确定的2-3个),转为以下格式的进化树输入文件:

9代表树种数量,1固定不变。

3.3 利用PAML的mcmctree构建带有分化时间的进化树

准备输入文件all.phy、Tree_reroot.tree、mcmctree.ctl

mcmctree.ctl:(修改seqfile、 treefile的文件位置,usedata设为3

命令行输入以下命令执行。

获得的结果文件如下:

mcmctree第一次运行结果

利用第一次运行结果中的out.BV作为输入文件,进行mcmctree的第二次建树。

新建Second_run_mcmctree.sh运行文件。

准备mcmctree.ctl:(usedata设为2

命令行输入以下命令执行。

获得如下结果文件,FigTree.tre是我们需要的最终进化树文件。

mcmctree获得的物种进化树

4 FigTree软件美化物种进化树

FigTree下载链接:https://github.com/rambaut/figtree/releases

大家先自行摸索,后续再出美化教程哈哈哈哈哈哈哈哈!!!

发表回复