circos 可视化手册- colors 篇

欢迎关注微信公众号《生信修炼手册》!

颜色属性是circos中使用频率最高的属性,由colors这个block进行设置,默认的配置文件为etc/circos.conf

circos中,每种颜色都有一个唯一的name,通过这个name来调用该颜色值。配置文件中定义的就是各种颜色的值

在定义颜色值时,有一下3种方式

  1. rgb
  2. hsv
  3. lch

上述三种方式对应三套不同的颜色体系,rgb对应RGB色彩模式,通过R(red), G(green), B(blue) 3原色的叠加来得到各种颜色,每个原色的取值范围为0-255;hsv对应HSV颜色模型,H代表色调,取值范围为0-360,S代表饱和度,取值范围为0-1,V代表明度,取值范围为0-1;lch对应LCH颜色空间,L代表亮度,C代表彩度,H代表色相,其中RGB模型运用最广泛,只要掌握这个模型即可

颜色定义的写法如下:

red = 255,0,0
red = rgb(255,0,0)
red = hsv(0,1,1)
red = lch(54,105,40)

默认使用rgb颜色体系,当然也可以通过函数指定对应的颜色体系。

对于常见的颜色,比如red, blue, green, 事先定义了一些列的颜色梯度,以red为例,对应的颜色梯度为

  1. vvlred
  2. vlred
  3. lred
  4. red
  5. dred
  6. vdred
  7. vvdred

v代表very, l代表light, d代表dark, vvlred就是very very light red, vvdred 代表very very drak red, 整个颜色梯度从非常浅的红色过度到非常深的红色。我们只需要记住几种基础颜色的name, 通过v,l,d前缀就可以得到层次鲜明的多种颜色了。

etc/colors.conf中,还引入了一下3个颜色配置文件

  1. colors.brewer.conf
  2. colors.ucsc.conf
  3. colors.hsv.conf

colos.brewer.conf定义了一系列的颜色梯度,

颜色梯度的name格式如下

palette-numcolors-type-idx

palette 代表颜色梯度的名字,numcolors代表该颜色梯度包含的颜色的名称,type代表颜色梯度的类型,seq在底色的基础上渐变而成, div则颜色区分较明显, qual的各种颜色之间区分程度较大,idx表示下标,示意图如下
circos 可视化手册- colors 篇
示例如下

blues-5-seq = blues-5-seq-(\d+)
blues-5-seq-rev = rev(blues-5-seq-(\d+))
blues-5-seq-1 = 239,243,255
blues-5-seq-2 = 189,215,231
blues-5-seq-3 = 107,174,214
blues-5-seq-4 = 49,130,189
blues-5-seq-5 = 8,81,156

blues就是这个颜色梯度的名字,5表示有这个颜色梯度有5种颜色, seq代表颜色类型,1-5定义了5种具体的颜色。

调用时指定color list的名字就行,一个color list会有正向和反向两种颜色梯度,比如blue-5-seqblue-5-seq-rev,rev代表反向的意思,在使用时,根据自己的情况选择是否反向即可。

colors.ucsc.conf定义了ideogramcytoband的颜色

1. 染色体的颜色

#Default UCSC color scheme for chromosome colors.
chr1 = 153,102,0
chr2 = 102,102,0
chr3 = 153,153,30
chr4 = 204,0,0
chr5 = 255,0,0
chr6 = 255,0,204
chr7 = 255,204,204
chr8 = 255,153,0
chr9 = 255,204,0
chr10 = 255,255,0

1. band对应的颜色

#Karyotype band colors for ideograms
gpos100 = 0,0,0
gpos = 0,0,0
gpos75 = 130,130,130
gpos66 = 160,160,160
gpos50 = 200,200,200
gpos33 = 210,210,210
gpos25 = 200,200,200
gvar = 220,220,220
gneg = 255,255,255
acen = 217,47,39
stalk = 100,127,164

color.hsv.conf使用HSV颜色体系,定义了多种颜色,示例如下

hue000 = hsv(0,1,1)
hue001 = hsv(1,1,1)
hue002 = hsv(2,1,1)
hue003 = hsv(3,1,1)
hue004 = hsv(4,1,1)
hue005 = hsv(5,1,1)
hue006 = hsv(6,1,1)
hue007 = hsv(7,1,1)
hue008 = hsv(8,1,1)
hue009 = hsv(9,1,1)
hue010 = hsv(10,1,1)

通过上述几个配置文件,我们已经可以得到了大部分的颜色名称了。在etc目录下,还有一个colors.unix.txt文件。这个文件保存了常用的颜色的定义,示例如下

alice_blue = 240,248,255
aliceblue = 240,248,255
antique_white = 250,235,215
antiquewhite = 250,235,215
antiquewhite1 = 255,239,219
antiquewhite2 = 238,223,204