circos 可視化手冊- heatmap 篇

heatmap將一系列的數(shù)值映射到一個顏色梯度中,是最常用的圖表之一。在circos中,通過plot這個block進行設置。

用法如下:

heatmap的數(shù)據和scatter plot, histogram是一樣的,最少有4列內容。前3列定義染色體上的區(qū)域,第4列指定每個區(qū)域的value值,其他列可以是配置文件中的屬性,示例如下

heatmapcolor屬性比較特殊,在熱圖中,需要的是一個顏色梯度,將不同的value映射到這個顏色梯度中。所以這里的color對應的是一個list, 有兩種設置方式

1. 采用內置的list

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

etc/colors,brewer.conf

blues-3-seqblues-3-seq-rev就是兩個顏色提取的名字,對應有3種顏色

  • blues-3-seq-1

  • blues-3-seq-2

  • blues-3-seq-3


配置文件的寫法如下

還可以將多個顏色梯度結合起來使用

2. 采用自定義的顏色

寫法如下

在熱圖中,最重要的是理解valuecolor之間的對應關系。在heatmap中,共有兩種映射關系

1.線性映射

默認情況下,valuecolor之間就是線性映射關系。color 的值是一個list, 對于每個value, 通過計算對應的下標color_index,就可以得到具體的顏色。

下標的計算公式如下:

從公式可以看出,二者之間是一個線性映射關系。當我們沒有在配置文件中指定maxmin的值時,circos會自動根據file文件的第4列計算這兩個值。當然,我們也可以手動在配置文件中指定。

當我們指定的minmax與數(shù)據不符合, 比如數(shù)據的范圍是[2, 6], 配置文件中指定的是[1,5], 通過以上公式計算時,會出現(xiàn)下標越界的情況,此時,對于小于min的值,其顏色定義為list中的第一個顏色值;對于大于max的值,其顏色定義為list中的最后一個顏色值。

具體的是通過color_mapping參數(shù)控制線性映射的屬性,共有3種取值

  1. color_mapping = 0

  2. color_mapping = 1

  3. color_mapping = 2


默認情況下,color_mapping = 0。color_mapping的值設置的是一個偏移量,對于color設置的n種顏色,每種顏色均分成兩份,從0開始計數(shù),00..nn。color_mapping = 1 時,向后偏移一位,變成011..nn; color_mapping = 2時,向后偏移兩位,變成112233

反應到顏色上,具體的示意圖如下:

2. 非線性映射

在配置文件中添加下面的參數(shù),開啟log映射

當數(shù)據分布不均勻時,采用log映射更加合適。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容