颜色属性是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 中所有颜色相关的配置,了解这几个文件之后,再也不用担心颜色属性赋值的问题了。
|