热图聚类位置不如意?你动手调啊...

这或许是一个减少你抓狂状态发生的操作。

写在前面

正如上图,左右其实都是一组数据出来的图片,基因之间的聚类关系是完全相同的,但展示的位置是不一样的。这个功能,其实我很早就已经间接实现了。这个操作实现,其实是一件比较麻烦的事情。这几天陆续有看到一些提问,猜想,或者是同一个人换了不同QQ号?还是要提交毕业论文了,大家着急?
我个人比较有信心的是,目前现行热图绘制工具中,完全不存在支持这个操作的。因为支持这个操作的,不是简单的热图绘制工具,而是相对高级的进化树可视化工具。
无论如何,由于操作起来看起来似乎有点繁琐,但我还是决定直接写一个推文,主要分两大块:

  1. 如何手动调整TBtools中聚类的位置(而不改变聚类关系)

  2. 为什么在TBtools中实现这个操作需要两步

如何手动调整TBtools中基因聚类位置

首先,要有一张热图

然后要有聚类关系

可以看出来,这里是两个分支,于是,your boss说:

某某,请你把高表达的放到下面,这样有利于我们阐述生物学故事

此时你应该是鼠标移动到空白处,右键双击

于是你进入了TBtools的高级用户阶段,因为你终于知道如何打开隐藏开关,可以明显看到进化树上存在很多隐藏元件。鼠标找到你想要的分支主节点。我们此时想要的是调整大分支。双击该隐藏元件

点击一次Flip菜单(此时,可能你要鼠标滚轮一下;当然你不打开隐藏元件边框的情况下,能直接找到分支也可以),滚轮后,你可以看到

分支关系已经调整,但是热图并没有调整过来。于是,你继续双击隐藏元件(你不需要用鼠标右键双击空白来显示隐藏元件,因为你大概知道,其实机关就在哪里,只是你看不到,由他,点就是了。)

随后点击"Get SubTree.nwk",

此时,你的电脑剪切板中已经保存了newick文本,回到主界面

黏贴进化树,随后点击绘图,可以得到以下

小结以上,可以用下图来展示效果

同样的操作,你可以调整小分支,直到你喜欢位置。(但是,注意,聚类关系是永远改变不了的,改变的只是展示顺序)
我当然相信,用户总是比我更知道如何使用TBtools,绘制出更好看的图片。

为什么调整一个聚类位置似乎很繁琐?

其实在前面已经提到,即,这个关系到程序实现的问题。我们都很清楚,调整位置事实上,是一个相对不常见的需求,尤其是当他出现在热图的绘制上。以我个人的认知,目前确实并不存在热图绘制工具支持这个调整(当然,很可能是我个人用的软件太少)。
为什么我会有这个想法。其实比较简单,

热图工具,往往是以热力图为导向来实现的,目的是展示数值的变化;而聚类,本身就是一个附属功能。
聚类树位置和顺序的调整,往往是存在于进化树可视化软件的。目的是,更好地展示进化顺序。而其中,展示热力图,本身是一个附属功能。

从程序的实现逻辑来看,其实最好的做法是,当热力图要带上聚类关系是,以进化树为导向来实现。先放出我个人的关于程序实现的两个想法:

好的程序,要求的是高内聚,低耦合。我一直在努力。从JJplot到JJplot2再到现在的JIGplot。是一个从重到轻的变化(不是进化,因为这三个绘图引擎,我都是从零实现的,相互间的实现逻辑和思想几乎是完全不同)。很明显,JJplot早已不见踪影。JJplot2还活在TBtools的少量工具中,但是绘图不好实现,且交互性很差。回到主题,两个定义:
很重的操作:意思就是,写了一堆代码,只是实现一个特定的功能,没有复用价值
很轻的操作:意思就是,写了一块一块的代码,随时组合,就鞥实现不同的功能。

为什么这么说?这涉及到一个交互的问题。如果只是静态地同时展示,那么是比较简单。树图可以是一个Panel,热力图也是一个Panel,对齐就行了(目前你看到的大多数工具,可能就是这么一个操作)。一切,都是很轻的操作。
但是,交互式地同时展示,那就完全不同。一切以进化树的位置来直接调整热力图的位置...这个其实是很重的一个操作。因为一切元件,并不是在独立的Panel,而是在同一个Panel。这个Panel,只能用一次!!!这个对程序编写者来说,似乎性价比太低。

写在后面

OK,有的话多说了。中午休息时间也用完了。干活去啦。

题外

课题组每年暑期有内部生信入门培训,主要是对实验室新生开展(以及湿实验为主的成员)培训。一直有收到其他课题组想要了解我们课题组生信数据分析的想法。故,在博导的提议和课题组的讨论后,我们近期计划,在本年度暑期(7~8月份之间)对外增设生信基础培训名额10枚(前面每年只是课题组内培训,而不对外)。具体请见https://mp.weixin.qq.com/s/OtmeTErd9f9rvjJPtBKjMw

欢迎访问本课题组网站

园艺植物小分子RNA与基因组研究-夏瑞课题组

课题组主页:http://xialab.scau.edu.cn/

欢迎点击最下方广告,支持我继续更新。

(0)

相关推荐