R语言绘制进化树一
接着上期的继续说,本期主要说说怎么用R语言绘制好看的进化树。注意,本期所写脚本已经经过本人重新编写
首先,需要加载必要的R包
随后,加载各种文件
nwk_file即为MEGA通过多重比对与进化树构建后保存的树文件
tree_group_file为每个节点的详细信息,内容如下
其中sample列为每个树节点的名称,Group为每个树节点归属于那个簇,lenght为环形的大小,color为所在环的颜色,shape为树节点的形状,shape_color为树节点的标题颜色。
其中tree_group_circle_file为外圈的详细信息,内容如下
其中list_1和list_2分别指代从原始节点算起,多少节点为一个外圈,其中list_name为外圈的标签,list_angle为外圈标签的旋转角度,而list_color为外圈的颜色。
plot_args_file文件为进化树整体的参数信息,内容如下
plot_group_color_file文件则为每个亚家族tiplabel的颜色
最终输出文件为outputfile
接下来,开始读取文件
输出图片的参数读取
树的形状(tree_layout)、线条的类型(tree_linetype)、树的大小(tree_size)、树是否为阶梯式(tree_ladderize)、树的颜色(tree_color)
节点的大小(tiplab_size)、节点的颜色(tiplab_color),节点的水平位移(tiplab_hjust),节点标志的大小(tippoint_size)
外圈的对齐(circle_strip_align)、外圈的透明度(circle_strip_alpha)、外圈标签的大小(circle_strip_fontsize)、不同分组外圈之间间距(circle_strip_offset)、外圈标签的文本大小(circle_strip_offset_text)、外圈标签的水平位移(circle_strip_hjust),外圈色块的宽度(circle_strip_barsize)、外圈的延展(circle_strip_extend)
设置图片保存,并读取树文件
读入分组文件用于绘制进化树,并按分组添加颜色
这一步确定分组类型,后期调整也是通过这一步进行
读取分组的颜色
获取进化树排序后的列名,并以为为序对group_file的数据进行重新排序
获取进化树节点的排序,因为tree_phylo自带group属性,所以需要将这个属性提取出来,用于上色,按照排序后进化树的节点分别给“上色”
绘制进化树,值得注意的是label_group_color只是包含分组的颜色即group包含几个level,然后依据顺序依次上色。
最后一步,保存图片
最终生成图片如下

三 惯例小结
其实吧,没有一种解决方法是全能的,重要的是什么解决方法最有效,用起来也最顺手。
本公众号开发的相关软件,Multi-omics Hammer软件和Multi-omics Visual软件欢迎大家使用。文末是本公众号在其他平台的账户,也欢迎大家关注并多提意见。
简书:WJ的生信小院(已经开始更新啦)
博客园:生信小院(还未更新)
最后,也欢迎各位大佬能够在本平台上:1传播和讲解自己发表的论文;2:发表对某一科研领域的看法;3:想要达成的合作或者相应的招聘信息;4:展示自己以寻找博后工作或者博士就读的机会;5:博导提供博后工作或者博士攻读机会,都可以后台给笔者留言。希望本平台在进行生信知识分享的同时,能够成为生信分析者的交流平台,能够实现相应的利益互补和双赢(不一定能实现,但是梦想总得是有的吧)。


