title: 基因进化树的制作及其美化 tags:
Mega 默认导出的图片比较枯燥,并且展示的信息不够,本文讲述基因进化树的美化以及图片所展示的信息的一些处理。
<!--more-->系统发育进化树 (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/videotutorials/images/coding_ground_home.jpg
Os05t0568600-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os05t0568800-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os01t0639600-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os05t0578100-01 src=
Os01t3976000-01 src=
Os05t0959000-01 src=
Os02t0134200-01 src=
Os07t0619500-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os02t0761300-00 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os06t0215100-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os03t0303100-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os11t0672900-01 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
Os12t0556900-00 src=https://www.tutorialspoint.com/videotutorials/images/coding_ground_home.jpg
个人认为这样有点过于花哨,并不是太美观
下面这一项是对树枝颜色进行更改
配置文件的写法和树叶的是一样的,基因名称对应颜色,可以直接把前面的配置文件拿来用
导出图像可以用多种格式,svg 文件可以进行二次编辑,不过语法比较麻烦,我一般是放到 PPT 加上家族的分类名称
使用 PPT 主要是加上亚家族的分类名称,再对照原先的进化树加上 bootstrap 值,bootstrap 值怎么来的我在视频里也讲了