從學習用OncoPrint畫基因組突變的“瀑布圖”,發現顧博士創造的ComplexHeatmap是非常強大的一個包。
顧博士在他的GitHub上展示了這個強大的包在分析基因組數據時能夠呈現的精美絕倫的圖,我實在忍不住把它們截屏下來,放在這里欣賞。
這促使我想要好好的拜讀一下ComplexHeatmap的full documentations。
在2.5章Seriation部分,作者非常快速的帶過了一遍如何用Seriation包reorder heatmap,相比前后的章節篇幅非常短。隨著修改參數,heatmap的格子圖案不停的變化,似乎更順眼了,但又說不出個所以然。
網上(baidu)去搜索這個關鍵詞,得到的結果也不是很理想,而且大多都是相互復制粘貼的帖子,索引出來的句子是一模一樣的。(也許優秀的人們都用的是Google吧,可惜我不夠優秀,爬不上去)
總之,機緣巧合搜到了一篇非常好的文章(nicolas kruchten-Make Patterns Pop Out of Heatmaps with Seriation),介紹了Seriation這個包,也同時向讀者展示了圖像處理到底是在干嘛(妥妥是加密解密的過程呀!內心飄過一萬部諜戰劇)。
文章是英文的,簡單描述一下就是:作者用一張原始圖片,經過像素畫,然后隨機重排,輸入到系統里。利用不同的方式進行聚類、重排。他詳細地介紹了不同法則背后的原理,已經考量這些方法優劣的原則。最后用TSP的方法還原了原始圖片,圖片的內容非常驚喜,也是作者懸疑的噱頭,我就不劇透了。
總結一下就是,針對無序變量的聚類,傳統cluster的方法,對聚類到一起的兩個對象之間的順序欠缺考慮。Seriation包能更加好的呈現數據的整體結構(structure),減小大區間數據對小區間數據的影響。
寫這篇筆記的另一個目的是希望增加百度上“Seriation”關鍵詞下的搜索結果,讓同為我這樣不夠優秀的人能更方便獲取有用信息。