查看原文
其他

graphlan进一步学习笔记

文涛聊科研 微生信生物 2022-05-08

写在前面:

之前在宏基因组公众号上推送:graphlan最美进化树学习笔记,这里我进行代码更新。

总的来说,虽然graphlan入手比ggtree难,但是配合R语言的注释过程,发现之后的工作似乎很简单,而且越是学习,越是自由,随便添加,随便改变,只是目前还无法移植到R中。但是已经有人在尝试了。本次完善graphlan的进化树可视化工作。书写笔记,帮助大家理解代码(代码会在同物种分类树一同更新,并上传github,尽请期待哦!或者添加小编微信进行交流,二维码见文末)



在这几天,我们整个学习室的男丁都到江苏省常熟市收获水稻,经常不干农活,所以大家都显得有些疲惫。本着无处不学习,无时不学习的原则,我在空余时间将graphlan的工作继续完善。

其实基于graphlan的完善,主要分为两个部分,第一个部分就是进化树,这也是本次我做的完善工作。第二部分就是物种分类树,就这一部分,刘永鑫老师的NBT给我很好的示范,这个也就是我完善物种树的参照。

本次工作完善内容: 代码更加优化,将参数统一设置在代码开头,并且无暗病。


    1.annot1拆分为两个部分,为:annot1和annot0。分别为全局参数的三列参数设置和       占两列的参数设置。

   2.对叶节点按照不同门类上色,包括注释代码改动。具体为:选取  otu表格中丰度最高     的10个tac并且上色,其他定义为other。同时这部分做图例注释很麻烦,所以制作代码一体化出来注释信息,并添加到annot1中。

  1. 对注释信息进行添加,并且进行排布: 关于注释信息的添加,存在很多的问题,其中一个就是注释信息的排布,ignore_branch_len 0排布为圆形,ignore_branch_len 不等于0,则按照进化树分支长短进行排布,其实这两种方式都不适合大树的构建,个人觉得注释均无法进行很好的展示:

  2. 添加信息随机森林结果,将otu按照重要程度进行分类,并映射成透明度。

  3. 样品丰度信息映射在内环中,多少个样品,便映射多少个环,这里我将otu的映射除了使用颜色变化表征不同样品中的otu丰度信息,同时将otu的丰度按照高丰度,中丰度,地丰度,稀有物种,这四个档次映射透明度。因此graphlan图形展示的信息便会更加复杂。

  4. 其实很多人都曾思考过这样的问题,我们的进化树使用序列表征otu之间的进化关系,可以通过进化树分支的合并,剪切达到展示某些进化关系的物种层次。例如我们想展示基于属水平的物种进化关系等。本次更新添加对不同分类等级的进化树的合并及其展示:

  5. 有很多细节,例如如何该改变进化树展示方式,如何将注释对其,如何调整外环与进化树的相对关系,这次更新都会给出答案。

这里将本次发现的问题统一做一个记录:

问题一:graphlan并没有提供很多树可视化的layout。我觉得出图比较丑。

问题二: 我实在不没有办法更好的将graphlan的注释和外圈环进行很好的结合,怎么弄才会又更好的结合呢?

问题三:环的元素单一。无法使用更多的元素。

问题五:这里修改环与树的大小及其相关关系的参数为annotation_background_separation -0.001 annotation_background_offset -0.2 这两个参数设置注释到环之外的结果。但是这两个参数运作方式任然不是很清晰。

这两个参数同时变大,会从巨大的环变为巨大的树。annotation_background_separation -0.001参数变大,则相应的环逐渐变小,或者annotation_background_offset -0.2 参数逐渐变大,环也逐渐变小。

annotation_background_separation -0.3 annotation_background_offset -0.001这两个参数如上设置得到注释在环内的结果

划重点

clade_separation这个参数设置控制是否环均分大小,如果想要均分大小,则不设置这个参数即可。

设置进化树展示方式

ignore_branch_len 参数进行进化树的有限的布局设置。

欢迎加入微生信生物讨论群,扫描下方二维码添加小编微信,小编带你入伙啦,大牛如云,让交流变得简单。

历史目录

R语言分析技术

  1. 《扩增子16s核心OTU挑选-基于otu_table的UpSet和韦恩图》

  2. 《分类堆叠柱状图顺序排列及其添加合适条块标签》

  3. 《R语言绘制带有显著性字母标记的柱状图》

  4. 《使用R实现批量方差分析(aov)和多重比较(LSD)》

  5. Rstudio切换挂载R版本及本地安装一些包

  6. 玩转R包

  7. 用ggplot画你们心中的女神

  8. ggplot版钢铁侠

  9. 想用ggplot做一张致谢ppt,但是碰到了520,画风就变了

扩增子专题

  1. 《16s分析之Qiime数据整理+基础多样性分析》

  2. 《16s分析之差异展示(热图)》

  3. 迅速提高序列拼接效率,得到后续分析友好型输入,依托qiime

  4. https://mp.weixin.qq.com/s/6zuB9JKYvDtlomtAlxSmGw》

  5. 16s分析之网络分析一(MENA)

  6. 16s分析之进化树+差异分析(一)

  7. 16s分析之进化树+差异分析(二)

  8. Qiime2学习笔记之Qiime2网站示例学习笔记

  9. PCA原理解读

  10. PCA实战

  11. 16s分析之LEfSe分析

基于phyloseq的微生物群落分析

  1. 开年工作第一天phyloseq介绍

  2. phyloseq入门

  3. R语言微生物群落数据分析:从原始数据到结果(No1)

  4. R语言微生物群落数据分析:从原始数据到结果(No2))

  5. phyloseq进化树可视化

  6. 基于phyloseq的排序分析

代谢组专题

  1. 非靶向代谢组学数据分析连载(第零篇引子)

  2. 非靶向代谢组学分析连载(第一篇:缺失数据处理、归一化、标准化)

当科研遇见python

1.当科研遇见python

科学知识图谱

1.citespace 的基本术语与下载安装

杂谈

  1. 我的生物信息之路


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存