寫在前面
久前涎嚼,我開放了 TBtools 掰彎熱圖的功能阱州。我自認(rèn)為是TBtools的掰彎熱圖,至少目前還是市面上獨(dú)此一家法梯,同時(shí)苔货,保證了所有人都上手就會(huì)用。這一功能立哑,也已經(jīng)被在一些期刊論文所引用夜惭。
無論是TBtools的Amazing Heatmap,還是后面增加的 掰彎 模式铛绰,都只是我個(gè)人開發(fā)繪圖引擎 JIGplot 過程中測試實(shí)用性而順手寫出來的诈茧。然而,可能往往你做的東西不會(huì)得到認(rèn)可捂掰,而期間所得到的副產(chǎn)品則更多人喜愛敢会。
盡管如此,社交網(wǎng)絡(luò)上这嚣,總是存在這樣那樣的人鸥昏,他們或者用與不用你寫的工具,但卻一定會(huì)對(duì)你做的事情指指點(diǎn)點(diǎn)姐帚。正如:
- 吏垮?熱圖有什么?
- 卧土?掰彎的熱圖惫皱,又有什么用?
直的不行尤莺,那就彎啊
大丈夫旅敷,能屈能伸。這個(gè)道理颤霎,過分簡單媳谁。前兩天正好想到一個(gè)不錯(cuò)點(diǎn),改進(jìn)了JIGplot友酱,于是掰彎熱圖也得到一定的增強(qiáng)晴音。所以,可以用以下兩個(gè)圖片來回復(fù)上述問題缔杉。
版面總是有限的锤躁。注意到,上述兩張圖的長寬幾乎一致或详。經(jīng)典的長方形熱圖(要么太高系羞,要么太胖)郭计,事實(shí)上不利于排版(放不下,要么就字體縮得太薪氛瘛)昭伸。用有限的空間展示更多的信息,那么掰彎時(shí)最常見的操作澎迎,比如Circos庐杨。
開放TBtools,轉(zhuǎn)眼近四年夹供。無論是《生信札記》公眾號(hào)的后臺(tái)灵份,或者是使用交流QQ群(~10,000人在群)。每天我都會(huì)看到這樣那樣的使用問題罩引,意見更或者建議各吨。絕大多數(shù)都是善意的枝笨,也是好的袁铐。但也一直收到各種各樣的惡語,無論他們用或沒用過TBtools横浑,受益或者沒受益于TBtools剔桨。一開始,我當(dāng)然是不爽的徙融。后來洒缀,我早就習(xí)慣的,脾氣也慢慢變好了欺冀,講真的树绩,現(xiàn)實(shí)中各式各樣的人遇到過,網(wǎng)絡(luò)上隐轩,更奇葩的各式各樣的人饺饭,我也遇到過。真誠职车,欣賞瘫俊,厭惡,擔(dān)心悴灵,陰陽等等扛芽,其實(shí)也很有趣。你得到了朋友积瞒,也會(huì)得到敵人川尖。
好的,那么回到主題茫孔,既然我都淡定了叮喳,那么為什么還要寫這個(gè)推文庐船。
TBtools熱圖功能增強(qiáng)了!
知道我的人都知道嘲更,近兩個(gè)月來筐钟,我一直在忙家里的事情。這對(duì)個(gè)人工作的開展來說赋朦,有利有弊篓冲。弊端簡單且明顯,所有時(shí)間都碎片化宠哄,幾乎無法很好很快地完成一些任務(wù)壹将。好處就是....既然啥都干不了,那就瞎想毛嫉。瞎想是我個(gè)人從高中養(yǎng)成的習(xí)慣诽俯。有些搞不定的問題就記著,有碎片化時(shí)間了承粤,比如坐車暴区,睡不著,那就開始想這些問題辛臊。很多時(shí)候仙粱,這些問題總會(huì)一個(gè)一個(gè)被解決。昨天彻舰,我正好想到了熱圖工具相關(guān)的可增強(qiáng)的點(diǎn)伐割。
渲染速度更快
之前的TBtools版本,繪制十多個(gè)樣本X上千個(gè)基因的熱圖時(shí)刃唤,存在一定的卡頓隔心。針對(duì)這個(gè),我優(yōu)化了:
- 數(shù)據(jù)框加載與讀取邏輯尚胞,因?yàn)槭亲约簭牧銓懙膁ataframe, 支持了各式各樣的NA,空格硬霍,缺列等等
- 數(shù)據(jù)框存儲(chǔ)與操作,....不在使用數(shù)列的數(shù)列辐真,直接使用二維數(shù)組须尚。
- 顏色映射邏輯,熱圖其實(shí)就是畫性狀侍咱,按照一定的尺度進(jìn)行顏色映射耐床,JIGplot原本直接使用我之前寫的JJplot2的ColarMapper。小時(shí)候的我Naive楔脯,那個(gè)邏輯不行撩轰,現(xiàn)在已經(jīng)更新。
....
聚類速度更快
與上述類似,聚類涉及到距離計(jì)算和聚類操作堪嫂,兩個(gè)步驟偎箫,我都做了調(diào)優(yōu)。距離的計(jì)算中皆串,通過存一個(gè)Hash淹办,減少重復(fù)計(jì)算。聚類恶复,也是類似怜森。
掰彎功能增強(qiáng)
之前的TBtools掰彎熱圖,其實(shí)...不支持列聚類谤牡,當(dāng)然副硅,并沒有太多人發(fā)現(xiàn)或者其實(shí)很少人需要對(duì)列聚類?不過這一只是我想做的事情翅萤。最后當(dāng)然是完成了恐疲。
- 列名能更好的排布
- 列聚類樹終于支持掰彎!
....
當(dāng)然還有更多套么,只是培己,那些似乎不太值得寫出來。
寫在最后
追求卓越违诗,成功就會(huì)緊隨而至漱凝,嗎疮蹦?