船新版!Circos 圖,更簡單更靈活更方便~

寫在前面
為什么 TBtools 用起來舒服,相比于不少其他軟件,同質(zhì)非同質(zhì)的?我想了很久,可能原因之一,即“開發(fā)者即用戶本身”,簡單來說,“我寫的軟件是就是給自己用的”,而不是去滿足其他人的什么需求。但事實(shí)上,只要是相關(guān)領(lǐng)域,大家的需求總是類似的。我從來專門征集過大家都普遍需求的功能,但只會開發(fā)我覺得對我有用的部分。這樣的模式,應(yīng)該是最合適的。
回到主題,Circos 圖是目前生信大數(shù)據(jù)時代常用的可視化方式之一,可以全基因組尺度可視化各類 Track。TBtools 的 Circos 繪制功能,我之前就提過,寫出來也只花了一個中午,因?yàn)槲以缇驮?JIGplot 繪圖引擎中加入的極坐標(biāo)系功能,畫 Circos 無非就是一個柱形圖,再做一次極坐標(biāo)轉(zhuǎn)換....
舊版本的 Circos
前面的 Circos 主界面如下

咋看下去設(shè)計(jì)還可以,我們直接 Load 以前的 Project。加載完了如下

發(fā)現(xiàn)沒有界面沒有任何改變,點(diǎn)擊可視化。主界面如下

Show Control Dialog 即控制參數(shù)界面如下

在其中可以做各類調(diào)整....但是,
參數(shù)很多;界面混亂;不方便找到對應(yīng)參數(shù)
無法再增加新的 Track...
無法調(diào)整已有 Track 的參數(shù)...
新版本的 Circos
為了解決上述問題,我思考了挺長,主要還是需要自己設(shè)計(jì)一個GUI功能。這應(yīng)該是我個人的問題,我不太愿意使用一些第三方類庫,如果是非開源,那么我沒錢可以買授權(quán);如果是開源,你用了那么就有一些奇奇怪怪的人喊你也要開源你自己的項(xiàng)目(PS:其實(shí)只要你不修改該項(xiàng)目源碼,絕大多數(shù)時候并不需要開源自己的項(xiàng)目)。Anyway,只基于 Java 類庫類做 GUI 其實(shí)也不容易,畢竟可用的組件還是20多年前的那些。大體折騰了下,得到如下

開發(fā)了這個組件之后,我們就可以通過簡單隱藏菜單來實(shí)現(xiàn)。于是,補(bǔ)充另外一些新的調(diào)整,現(xiàn)在的 Advanced Circos 界面如下

可以看到一些“無限添加 Track”的部分已經(jīng)消失....
我們直接加載已有項(xiàng)目,可以看到,染色體骨架以及其他文件都會自動添加進(jìn)行,并顯示在界面上,支持用戶替換和進(jìn)一步編輯

點(diǎn)擊可視化,可以看到

打開參數(shù)界面,可以看到

比如,換換顏色,調(diào)整調(diào)整 Tile 模式等

寫在最后
一兩年前,有個朋友要用 TBtools 繪制 Circos 圖,用來用去,可能不太習(xí)慣,最后他應(yīng)該是放棄了?;仡^來看,原因簡單。我自己用著也知道,確實(shí)原來的版本,用起來不舒服....現(xiàn)在優(yōu)化好了,不過這個朋友估計(jì)也不會用了,或者也畢業(yè)了。
路漫漫其修遠(yuǎn)兮~希望這位朋友科研順利,事業(yè)有成。
本文使用 文章同步助手 同步