bootstrap树节点如何设置默认不展开_GraPhlAn:最美进化树或层级分类树学习笔记

Graphlan可视化进化树

撰文:文涛 南京农业的大学

责编:刘永鑫 中科院遗传发育所

GraPhlAn简介

总体来讲,Graphlan是一个可视化进化树和基于分类等级绘制层级分类树的工具。可以制作分类树是它不同于R包ggtree和iTOL的地方。然就进化树而言,iTOL功能最为全面,ggtree最容易上手,从功能上来讲graphlan很多地方不如iTOL,比如,iTOL无限制添加的数据集,外环可以制作各种图形包括箱线图等,可以使用多种符号填充外环,但是Graphlan就不能这么随便了,只能使用两个符号填充外环。再多的环属性也就是设置环数量和颜色,透明度了。ggtree最容易上手,但是就一张圈图来说,它不能添加除了热图以外的其他图形,但是在非圈图的模式下,可以对多种数据进行合并,方法将更为简单,操作也容易一些。

素颜vs美化

113e0ad4cf5e3642b75a9bffccc78250.png

下面通过我们的实战,将这个原始的图形通过graphlan大法,改变到下面的样子

adc82ad6ccde9c746e6956e0f868948e.png b4aced6d86db33eea0e031e785115599.png 88b75a0e2591002d54fd601ea8c6f286.png

完全认不出来了吧,这就是美颜的重要性。

认识软件参数

参数虽多,你也不需要记住,只要认识即可,而且都是字面意思,懂英文看一遍全懂了,需要时可以来查。大多时间我们是在别人基础上修改,能看懂代码即可。

熟悉grahlan注释参数-全局参数,一般全局参数使用方式为:参数名 + 参数值

分支控制,一般不做控制

branch_bracket_depth 0##控制一个分支块的聚集程度,值越大,树枝越集中
branch_bracket_width 0 0###控制一个分支点延伸出来的分支线的长度,设定大了会反向延长超多分支点。
annotation_background_alpha :只能设置全部的阴影的透明度

组合命令控制注释阴影的半径

一下两个指标设置为负值,且两者均设置为-0.7,会大大减小注阴影半径

annotation_background_separation -0.40
annotation_background_offset -0.34

一般全局参数

title:设置图片题目
title_font_size:60 题目字体大小
total_plotted_degrees 350:这个设置整个圆圈的展看角度,不会设置超过360度,一般设置一个比360度小一点的值是为了添加标签使用(例如:对环添加标签ring_label)。
start_rotation 270:对圆圈图进行旋转的起始位置;注意图形下方为270°,左方为0°。
class_legend_font_size 图例大小设置
## 全局注释
annotation_background_alpha 0.02:全部注释背景透明度;
annotation_background_width 0.03 注释背景宽度
annotation_font_size:设置注释字体大小
annotation_legend_font_size 设置图上容不下时,代表字母的对应注释的字体大小

branch_thickness:全局树枝的粗细设置
branch_color :设置全局树枝颜色
ignore_branch_len 10:控制全局树伸展和大小
clade_marker_size:全局的点的尺寸
clade_marker_edge_width:全局的点的边缘宽度
clade_separation 0.5 进化树分枝簇的紧凑程度

ring_internal_separator_thickness 0.01 设置环与环之间的厚度
ring_separator_color :设置环间隔的颜色,结合厚度设置选项增多

ring_width:设置在这个环上每个点所占有的宽度;
ring_height:设置环与环之间的距离,默认环与环之间的距离为1;
ring_shape:对分类树外面每层的空间设置形状填充,有不多的中形状可以选择。v:正v字型;^:v字型;
ring_alpha 0.01:这是对每个叶节点占据的位置不透明度,最大值为1。值越高颜色越深,当然需要结合设置颜色ring_color
ring_color:每条环的颜色

设置全局的环参数,必须建立在叶节点对应的shape上,不可只设置全局参数,尤其是全局ring color,仅仅设置该参数是无法进行全环上色的。默认节点shape是R,也就是整个叶节点对应的方块。

节点基本参数

节点参数使用方式: 节点名称 + 参数名称 + 参数值

#节点基本参数
clade_marker_size 节点的大小,从1到200都可以设置
clade_marker_color:颜色:默认无色,r:红色;b:蓝色(基本为颜色首字母)
clade_marker_shape:形状:默认圆形,*:代表五角星,h:代表六边形
clade_marker_label:设置点内部写一个标签,后面跟上标签内容
clade_marker_font_color:设置点内标签的字体颜色
clade_marker_edge_color #555555 控制节点的颜色
clade_marker_edge_width 1.2#节点的边的宽度

节点对应的形状

这些标签有我们熟悉的点,圈,各个方向的三角,五边形,五角星,钻石等。具体符号和对应名称如下:

'.' : point marker 
',' : pixel marker
'o' : circle marker
v' : triangle_down marker
'^' : triangle_up marker
''>' : triangle_right marker
'1' : tri_down marker
'2' : tri_up marker
'3' : tri_left marker
'4' : tri_right marker
's' : square marker
'p' : pentagon marker
'*' : star marker
'h' : hexagon1 marker
'H' : hexagon2 marker
'+' : plus marker
'x' : x marker
'D' : diamond marker
'd' : thin_diamond marker
'|' : vline marker
'_' : hline marker

节点注释

#节点注释
annotation_background_color
annotation_background_alpha 0.02:注释背景透明度;
annotation_background_width 0.03 注释背景宽度
annotation_font_size:设置注释字体大小
annotation_legend_font_size设置图上容不下,设置成代表字母的对应注释的注释字体大小

枝条参数

branch_thickness 枝条的厚度
branch_color 枝条颜色
branch_color_from_ancestor:使用上级分支的颜色

环参数

ring_internal_separator_thickness 0.01 设置环与环之间的厚度
ring_separator_color :设置环间隔的颜色,结合厚度设置选项增多

ring_width:设置在这个环上每个点所占有的宽度;
ring_heigh:设置环与环之间的距离,默认环与环之间的距离为1;
ring_shape:对分类树外面每层的空间设置形状填充,有不多的形状可以选择。v:正v字型;^:^字型;
ring_alpha 0.01:这是对每个叶节点占据的位置不透明度,最大值为1。值越高颜色越深,当然需要结合设置颜色ring_color
ring_color:每条环的颜色

进化树实战

使用材料

  1. 我们使用已经做好的16s序列构建的进化树(由Fastree生成,一般为rep_set.tree)

  2. 对应OTU的丰度表格和注释文件,分别为otu_table.txt和rep_seqs_tax.txt,有时可能两者存于同一文件内;

  3. 实验设计,即样本对应属性,如分组信息(可选)。

分析要求

  1. 做一张进化树,并将不同门的OTU节点标注不同的颜色和形状

  2. 对不同的门的OTU添加不同颜色的阴影(低透明度颜值高)。

  3. 根据每个样品的OTU丰度使用不同颜色,添加外环。

  4. 全部样品分为两个组,根据OTU在两个组中的丰度信息添加不同的标签环

  5. 进行差异分析,添加外环对差异OTU根据其分组进行上色并标注。

  6. 将OTU总体丰度通过最外环高度展示出来。

构建OTU丰度和物种文件说明

上面我们见过软件的参数,每个节点都要注释,如果手动搞,可能真要3天至半个月画个美颜树。只要是批量操作且有规律,我们就可以用编程来实现。

使用R语言构造注释文件,这里我们明确,基于GraPhlAn的注释文件按照注释占有列数量我分为一下三个部分:

  1. 占两列的注释:题目,全局参数,例如,全局点和枝参数

  2. 占三列注释:叶,枝参数,全局环参数。图例参数

  3. 占四列参数:环参数

由于注释文件编写耗费很大时间,Excel适合编写的也仅仅只有占两列的数据,和总环的参数。这部分编写完成之后每次绘图基本只根据不同的实验,会小范围修改。参考模板:annot1.txt

首先根据之前要求,准备要处理文件

并确定工作目录包括所需的OTU表、物种注释、实验设计等文件,文件名与代码中不对应请自行修改。

测试数据和代码下载链接,后台回复“graphlan”获取

准备需要展示的数据

OTU表和实验设计的读取、交叉筛选和标准化

# 读取OTU表
otu = read.table("otu_table.txt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值