JiaoYuan's Blog

基因进化树的制作及其美化

Mega 默认导出的图片比较枯燥,并且展示的信息不够,本文讲述基因进化树的美化以及图片所展示的信息的一些处理。

什么是进化树

系统发育进化树 (Phylogenetic tree): 一般也叫系统进化树,进化树。它可以利用树状分支图形来表示各物种或基因间的亲缘关系。

分支系统发育分析 (Molecular phylogenetic analysis): 是用来研究物种或序列进化和系统分类的一种方法。一般研究对象是碱基序列或氨基酸序列,通过数理统计算法来计算生物间进化关系。最后,根据计算结果,可视化为系统进化树

制作进化树

制作进化树的步骤参照视频 进化树分析

这里我着重讲一下美化的操作

导出进化树

美化

这里我使用的是 evolview 网站,先导入进化树,也就是我们刚刚保存的 nwk 的文件,项目名称随便写

先更改树的形状,一般大都是圆形,如果基因很多的话,圆形会比较好看也更加直观

下面我们主要调整的就是 import 这里这一排的选项

先给树叶加上背景色

生成一个颜色配置模板然后上传

默认的颜色是随机的,我们需要对配置文件进行一些改写,点击右边控制面板上的铅笔图标进行编辑

下面是配置文件的写法

Os01t4727000-01	yellow
Os05t0568600-01	yellow
Os05t0568800-01	yellow
Os01t0639600-01	yellow
Os05t0578100-01	yellow
Os01t3976000-01	yellow
Os05t0959000-01	blue
Os02t0134200-01	blue
Os07t0619500-01	blue
Os02t0761300-00	blue
Os06t0215100-01	red
Os03t0303100-01	red
Os11t0672900-01	red
Os12t0556900-00	red

实际上就是基因与颜色对应,中间用一个制表符(按一下 tab 键)隔开,后面的 ad、prefix 这些不用管,直接删掉

而对于每个树叶,也就是基因名称的字体颜色与这个写法是一样的,我不再赘述

下面比较重要的一个就是对基因整体加上注释,也就是最外围一圈可以自定义一些分类名称什么的

我写的配置文件如下

##style 1	leaf_name	text=sub iii,color=red,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
##style 2-5	leaf_name	bkcolor=#BE4144,text=mammal,textorientation=vertical,linewidth=4,fontsize=16
Os01t4727000-01	text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os05t0568600-01	text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os05t0568800-01	text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os01t0639600-01	text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os05t0578100-01	text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os01t3976000-01	text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os05t0959000-01	text=sub ii,color=blue,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os02t0134200-01	text=sub ii,color=blue,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os07t0619500-01	text=sub ii,color=blue,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os02t0761300-00	text=sub ii,color=blue,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os06t0215100-01	text=sub iii,color=red,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os03t0303100-01	text=sub iii,color=red,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os11t0672900-01	text=sub iii,color=red,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed
Os12t0556900-00	text=sub iii,color=red,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed

实际上与之前颜色的写法是差不多的,就是基因名称对应配置信息,text 就是显示的文字,color 是颜色,textorientation 控制字体水平还是垂直,linewidth、fontsize、linestyle 是控制字体和外围线条的尺寸和样式

text=sub i,color=yellow,textorientation=vertical,linewidth=4,fontsize=16,linestyle=dashed

不过这样每一个后面都显示分类或者家族的名称不太美观,所以我一般习惯把 text 全部留空,然后用 PPT 加上名称

到这里其实大部分也就没了,evolview 不能更改字体,所以也需要借助 PPT 来进行

这里还能给基因名称前添加一些形状,① 处是规则图形,如正方形、圆形等,② 处是一些小的图形

下面是 ① 处的配置文件,也是基因名称对应形状和形状的颜色,可以添加多个图形

##single decoration shape
##double decoration shapes seperated by tab space
##leaf_name	shape,fill_color
##leaf_name	shape,fill_color:border_color
Os01t4727000-01	star,white:red	triangle,white:green
Os05t0568600-01	rect,red	check,green
Os05t0568800-01	star,white:red	triangle,white:green
Os01t0639600-01	rect,red	check,green
Os05t0578100-01	rect,red	check,green
Os01t3976000-01	circle,white:green
Os05t0959000-01	star,red
Os02t0134200-01	star,red
Os07t0619500-01	rect,red	check,green
Os02t0761300-00	circle,white:green
Os06t0215100-01	circle,white:green
Os03t0303100-01	star,red
Os11t0672900-01	star,red
Os12t0556900-00	star,red

例如star,red就是一个红色的实心五角星,triangle,white:green是绿色边框、内部白色的三角形,可以对一些着重需要注意的基因加上图形进行标注

② 处引入的是外链图标,也就是图标库的一些矢量图,可以从 tutorialspoint 网站上找,然后再 src 后面填上图标的外链

Os01t4727000-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os05t0568600-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os05t0568800-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os01t0639600-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os05t0578100-01	src=
Os01t3976000-01	src=
Os05t0959000-01	src=
Os02t0134200-01	src=
Os07t0619500-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os02t0761300-00	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os06t0215100-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os03t0303100-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os11t0672900-01	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg
Os12t0556900-00	src=https://www.tutorialspoint.com/videotutorialsimg/coding_ground_home.jpg

个人认为这样有点过于花哨,并不是太美观

下面这一项是对树枝颜色进行更改

配置文件的写法和树叶的是一样的,基因名称对应颜色,可以直接把前面的配置文件拿来用

导出图像

导出图像可以用多种格式,svg 文件可以进行二次编辑,不过语法比较麻烦,我一般是放到 PPT 加上家族的分类名称

PPT 二次处理

使用 PPT 主要是加上亚家族的分类名称,再对照原先的进化树加上 bootstrap 值,bootstrap 值怎么来的我在视频里也讲了