1. 程式人生 > >circos 視覺化手冊- heatmap 篇

circos 視覺化手冊- heatmap 篇

歡迎關注微信公眾號《生信修煉手冊》!

heatmap將一系列的數值對映到一個顏色梯度中,是最常用的圖表之一。在circos中,通過plot這個block進行設定。用法如下:
在這裡插入圖片描述
heatmap的資料和scatter plot, histogram是一樣的,最少有4列內容。前3列定義染色體上的區域,第4列指定每個區域的value值,其他列可以是配置檔案中的屬性,示例如下
在這裡插入圖片描述
heatmap中的color屬性比較特殊,在熱圖中,需要的是一個顏色梯度,將不同的value對映到這個顏色梯度中。所以這裡的color對應的是一個list, 有兩種設定方式

1. 採用內建的list

etc

目錄下,有很多內建的顏色配置,其中就有很多內建的顏色梯度, 示例如下

etc/colors,brewer.conf

在這裡插入圖片描述
blues-3-seqblues-3-seq-rev就是兩個顏色提取的名字,對應有3種顏色

  1. blues-3-seq-1
  2. blues-3-seq-2
  3. blues-3-seq-3

配置檔案的寫法如下
在這裡插入圖片描述
還可以將多個顏色梯度結合起來使用
在這裡插入圖片描述

2. 採用自定義的顏色

寫法如下
在這裡插入圖片描述
在熱圖中,最重要的是理解valuecolor之間的對應關係。在heatmap中,共有兩種對映關係。

1. 線性對映

預設情況下,value

color之間就是線性對映關係。color 的值是一個list, 對於每個value, 通過計算對應的下標color_index,就可以得到具體的顏色。下標的計算公式如下:
在這裡插入圖片描述
從公式可以看出,二者之間是一個線性對映關係。當我們沒有在配置檔案中指定maxmin的值時,circos會自動根據file檔案的第4列計算這兩個值。當然,我們也可以手動在配置檔案中指定。

當我們指定的min和max與資料不符合, 比如資料的範圍是[2, 6], 配置檔案中指定的是[1,5], 通過以上公式計算時,會出現下標越界的情況,此時,對於小於min的值,其顏色定義為list中的第一個顏色值;對於大於max的值,其顏色定義為list中的最後一個顏色值。

具體的是通過color_mapping引數控制線性對映的屬性,共有3種取值

  1. color_mapping = 0

  2. color_mapping = 1

  3. color_mapping = 2

預設情況下,color_mapping = 0color_mapping的值設定的是一個偏移量,對於color設定的n種顏色,每種顏色均分成兩份,從0開始計數,00..nncolor_mapping = 1 時,向後偏移一位,變成011..nn; color_mapping = 2時,向後偏移兩位,變成112233..nn, 示意圖如下
在這裡插入圖片描述

反應到顏色上,具體的示意圖如下:
在這裡插入圖片描述

2. 非線性對映

在配置檔案中新增下面的引數,開啟log對映
在這裡插入圖片描述
計算公式如下:
在這裡插入圖片描述
當資料分佈不均勻時,採用log對映更合適。

掃描關注微訊號,更多精彩內容等著你!
在這裡插入圖片描述