群体遗传三剑客第三篇:megacc和ggtree进化树分析

大家好,我是邓飞。

之前计划写群体结构三剑客的博文,写了两篇了:

搞起来!群体遗传三剑客:PCA、Admixture、进化树

群体遗传三剑客第一篇:分组和不分组的PCA分析,添加解释百分比

群体遗传三剑客第二篇:Admixture群体结构分析

今天介绍一下进化树分析最常用的软件:MEGA和ggtree。注意,MEGA这里用的是Linux版本的命令行megacc,ggtree是R包,主要用于可视化。

软件介绍:

MEGACC 是 MEGA 的命令行版本,能在无图形界面的环境里进行进化分析,软件地址:/

ggtree是Y叔开发的R包,主要用于进化树结果的可视化,软件地址:.html

plink格式的数据进化树分析步骤:

1,计算亲缘关系距离矩阵

plink --file aa --allow-extra-chr --chr-set 60 --distance 1-ibs square flat-missing --genome --out IBSdis

2,整理结果

将id结果和亲缘关系结果分别整理为megacc支持的格式:

id名称格式:

亲缘关系矩阵格式:

3,将上面的两个文件整理为megacc支持的格式

上面是ID信息,下面是半三角的关系矩阵:

4,使用megacc计算进化树,得到nwk文件

megacc -a infer_NJ_distances.mao -d ibs_dismatrix.meg -o mega_IBSout

5,使用ggtree绘制进化树

代码语言:javascript代码运行次数:0运行复制
library(ggtree)
tree = read.tree("mega_IBSout.nwk")

# 正常的图
tiff("tree1_plot.tiff",width = 12, height = 8, units = "in",compression = "lzw",res=300)
ggtree(tree, ladderize = FALSE, branch.length = "none") + geom_tiplab2(size=.1) + theme(legend.position = "right")
dev.off()
# 圆圈图
tiff("tree2_plot.tiff",width = 12, height = 8, units = "in",compression = "lzw",res=300)
ggtree(tree, layout="fan", ladderize = FALSE, branch.length = "none") + geom_tiplab2(size=.3) + theme(legend.position = "right")
dev.off()

结果:

也可以添加分组信息:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-22,如有侵权请联系 cloudcommunity@tencent 删除软件数据开发可视化命令行