可视化!Circos 图绘制,更简单更灵活更方便~ - 图1

写在前面

为什么 TBtools 用起来舒服,相比于不少其他软件,同质非同质的?我想了很久,可能原因之一,即“开发者即用户本身”,简单来说,“我写的软件是就是给自己用的”,而不是去满足其他人的什么需求。但事实上,只要是相关领域,大家的需求总是类似的。我从来专门征集过大家都普遍需求的功能,但只会开发我觉得对我有用的部分。这样的模式,应该是最合适的。
回到主题,Circos 图是目前生信大数据时代常用的可视化方式之一,可以全基因组尺度可视化各类 Track。TBtools 的 Circos 绘制功能,我之前就提过,写出来也只花了一个中午,因为我早就在 JIGplot 绘图引擎中加入的极坐标系功能,画 Circos 无非就是一个柱形图,再做一次极坐标转换….

旧版本的 Circos

前面的 Circos 主界面如下
可视化!Circos 图绘制,更简单更灵活更方便~ - 图2
咋看下去设计还可以,我们直接 Load 以前的 Project。加载完了如下
可视化!Circos 图绘制,更简单更灵活更方便~ - 图3
发现没有界面没有任何改变,点击可视化。主界面如下
可视化!Circos 图绘制,更简单更灵活更方便~ - 图4
Show Control Dialog 即控制参数界面如下
可视化!Circos 图绘制,更简单更灵活更方便~ - 图5
在其中可以做各类调整….但是,
0. 参数很多;界面混乱;不方便找到对应参数

  1. 无法再增加新的 Track…
  2. 无法调整已有 Track 的参数…

新版本的 Circos

为了解决上述问题,我思考了挺长,主要还是需要自己设计一个GUI功能。这应该是我个人的问题,我不太愿意使用一些第三方类库,如果是非开源,那么我没钱可以买授权;如果是开源,你用了那么就有一些奇奇怪怪的人喊你也要开源你自己的项目(PS:其实只要你不修改该项目源码,绝大多数时候并不需要开源自己的项目)。Anyway,只基于 Java 类库类做 GUI 其实也不容易,毕竟可用的组件还是20多年前的那些。大体折腾了下,得到如下
可视化!Circos 图绘制,更简单更灵活更方便~ - 图6
开发了这个组件之后,我们就可以通过简单隐藏菜单来实现。于是,补充另外一些新的调整,现在的 Advanced Circos 界面如下
可视化!Circos 图绘制,更简单更灵活更方便~ - 图7
可以看到一些“无限添加 Track”的部分已经消失….
我们直接加载已有项目,可以看到,染色体骨架以及其他文件都会自动添加进行,并显示在界面上,支持用户替换和进一步编辑
可视化!Circos 图绘制,更简单更灵活更方便~ - 图8
点击可视化,可以看到
可视化!Circos 图绘制,更简单更灵活更方便~ - 图9
打开参数界面,可以看到
可视化!Circos 图绘制,更简单更灵活更方便~ - 图10
比如,换换颜色,调整调整 Tile 模式等
可视化!Circos 图绘制,更简单更灵活更方便~ - 图11

写在最后

一两年前,有个朋友要用 TBtools 绘制 Circos 图,用来用去,可能不太习惯,最后他应该是放弃了。回头来看,原因简单。我自己用着也知道,确实原来的版本,用起来不舒服….现在优化好了,不过这个朋友估计也不会用了,或者也毕业了。
路漫漫其修远兮~希望这位朋友科研顺利,事业有成。