颜色属性是circos
中使用频率最高的属性,由colors
这个block进行设置,默认的配置文件为etc/circos.conf
。
在circos
中,每种颜色都有一个唯一的name
,通过这个name
来调用该颜色值。配置文件中定义的就是各种颜色的值,在定义颜色值时,有以下3种方式
rgb
hsv
-
lch
上述三种方式对应三套不同的颜色体系,rgb
对应RGB色彩模式,通过R(red), G(green), B(blue) 三原色的叠加来得到各种颜色,每个原色的取值范围为0-255;hsv
对应HSV颜色模型,H代表色调,S代表饱和度,V代表明度;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
为例,对应的颜色梯度为
vvlred
vlred
lred
red
dred
vdred
-
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个颜色配置文件
colors.brewer.conf
colors.ucsc.conf
colors.hsv.conf
colos.brewer.conf
中定义了一系列的color list
, 格式如下
palette-numcolors-type-idx
palette
代表颜色梯度的名字;numcolors
代表该颜色梯度包含的颜色的数目;type
代表颜色梯度的类型,seq
在底色的基础渐变而成,div
则颜色区分较明显,qual
的各种颜色之间区分程度组大,idx
表示下标, 示意图如下
示例如下
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
代表颜色类型,可以看到都是基于蓝色的渐变,所以是seq
类型,1-5
定义了5种具体的颜色。
调用是指定color list
的名字就行,一个color list
会有正向和反向两种颜色梯度,比如blue-5-seq
和blue-5-seq-rev
, rev
代表反向的意思,在使用时,根据自己的情况选择是否反向即可
colors.ucsc.conf
定义了ideogram
和cytoband
的颜色
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
2. 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
以上4个文件涵盖了circos
中所有颜色相关的配置,了解这几个文件之后,再也不用担心颜色属性赋值的问题了。