circos

circos 学习手册(四)

2020-12-09  本文已影响0人  名本无名

配置文件语法(再续)

7 颜色

在主配置文件中导入 etc/colors_fonts_patterns.conf 文件

# circos.conf
<<include etc/colors_fonts_patterns.conf>>
...

etc/colors_fonts_patterns.conf 文件又导入 etc/colors.conf 文件,该文件对颜色进行了配置

# etc/colors.conf

# primary RGB colors
...

# Brewer palettes
# see etc/colors.brewer.conf
<<include colors.brewer.conf>>

# UCSC genome browser human chromosome colors
# see etc/colors.ucsc.conf
<<include colors.ucsc.conf>>

# HSV pure colors
# see etc/colors.hsv.conf
<<include colors.hsv.conf>>

7.1 使用颜色

使用 RGB 值或者颜色名设置

# using RGB values
color = 107,174,241

# using name
color = blue

如果在数据文件中设置颜色,RGB 值需要用 () 包裹

# using a color name
chr1 100 200 chr2 200 250 color=blue,thickness=2

# using RGB value
chr1 100 200 chr2 200 250 color=(107,174,241),thickness=2

7.2 颜色名

# pure orange
porange  = 255,127,0

# dark pure orange
dporange = 234,110,0

# points to Brewer color...
orange = oranges-7-seq-4

# ...which is defined in colors.brewer.conf as
oranges-7-seq-4 = 253,141,60

7.3 颜色名语法

通常给定一个颜色的根名字(如 orange),相应的带有阴影的颜色会带有前缀:d 代表 (dark),l 代表 (light

不同的阴影强度可以用带有一个或多个 v(very)来表征

这些阴影颜色指向 Brewer 调色板中的连续颜色,如

vvlorange = oranges-7-seq-1
vlorange  = oranges-7-seq-2
lorange   = oranges-7-seq-3
orange    = oranges-7-seq-4
dorange   = oranges-7-seq-5
vdorange  = oranges-7-seq-6
vvdorange = oranges-7-seq-7

colors.brewer.conf 文件中,定义为

oranges-7-seq-1 = 254,237,222 
oranges-7-seq-2 = 253,208,162 
oranges-7-seq-3 = 253,174,107 
oranges-7-seq-4 = 253,141,60 
oranges-7-seq-5 = 241,105,19 
oranges-7-seq-6 = 217,72,1  
oranges-7-seq-7 = 140,45,4

如果你要要 纯色、饱和点的颜色,可以加前缀 p

vvlporange = 255,182,106
vlporange  = 255,164,82
lporange   = 255,146,54
porange    = 255,127,0
dporange   = 234,110,0
vdporange  = 213,92,0
vvdporange = 193,75,0

7.4 Brewer 颜色

Brewer 颜色分为三种调色板类型

而每种类型又有许多调色板,如(红、绿、蓝)

每个调色板又可以有不同的数值的颜色(如,3,4,5)

Brewer 颜色名语法:

palettename-ncolors-palettetype-index

每种颜色的 palette names 有:

# sequential (-seq-) (3-9 colors)
blues
bugn
bupu
gnbu
greens
greys
oranges
orrd
pubu
pubugn
purd
purples
rdpu
reds
ylgn
ylgnbu
ylorbr
ylorrd

# diverging (-div-) (3-11 colors)
brbg
piyg
prgn
puor
rdbu
rdgy
rdylbu
rdylgn
spectral

# qualitative (-qual-) (3-8 colors, some up to 12 colors)
accent (3-8 colors)
dark2 (3-8 colors)
paired (3-12 colors)
pastel1 (3-9 colors)
pastel2 (3-8 colors)
set1 (3-9 colors)
set2 (3-8 colors)
set3 (3-12 colors)

如:puor-9-div-1, puor-9-div-2, ..., puor-9-div-9

7.5 HSV 颜色

HSV 定义颜色方式:hsv(h,s,v)

red = hsv(0,1,1)

所有纯色 HSVs=1,v=1)定义在 colors.hsv.conf 配置文件中

hue000 = hsv(0,1,1)
hue001 = hsv(1,1,1)
...
hue359 = hsv(359,1,1)
hue360 = hsv(360,1,1) # same as hue000

7.6 颜色透明度

设置透明度 alpha

# 0 < alpha < 1 
# 0 完全不透明
# 1 完全透明
red_faint = 255,255,255,0.8

# or alpha 0-127
# 0   完全不透明
# 127 完全透明
red_also_faint = 255,255,255,102

可以设置 alpha[0,1] 之间,或者 [0,127]

7.7 全透明

可以通过设置颜色名 transparent,来设置全透明的颜色

可以用 RGB 值来设置,但是要确保这个值你不会在别处用到

# in color.conf
transparent = 1,0,0

透明颜色将使用名为 transparent 的颜色,其同义词 clear 也可以,如用来设置背景色

<image>
...
background = transparent # 'clear' also works here 
...
</image>

注意transparentclear 是保留的颜色名字,不要将这两个名字用于其他颜色

7.8 颜色同义词

可以对一个颜色定义同义词,即通过有其他颜色名来定义一个颜色,而不需要使用 RGB 或者 RGBA

favourite        = green
almost_favourite = orange
...
green  = 51,204,94
orange = 255,136,0

注意:不要重复定义,落入无限循环之中,会引发错误

# don't do this
favourite = green
green     = favourite

7.9 颜色列表

可以通过逗号分隔方式连接现有的颜色名来定义一个颜色列表

red_list = dred,red,lred,vlred

还有更方便的,就是用正则表达式。会自动对值进行排序,可以将表达式包裹在 rev() 函数中,表示逆序

例如,生成一个包含 9 色的颜色列表

spectral9 = spectral-9-div-(\d+)

逆序

spectral9r = rev(spectral-9-div-(\d+))

颜色列表主要用于绘制热图

7.10 Brewer 颜色板列表

所有的 Brewer 颜色版列表都已经预定义了,存储在 etc/brewer.lists.conf 文件中

对于给定的颜色 name-ncolors-type-index,包含两个颜色列表

# sequential
blues-6-seq
bugn-6-seq
bupu-6-seq
gnbu-6-seq
greens-6-seq
greys-6-seq
oranges-6-seq
orrd-6-seq
pubu-6-seq
pubugn-6-seq
purd-6-seq
purples-6-seq
rdpu-6-seq
reds-6-seq
ylgn-6-seq
ylgnbu-6-seq
ylorbr-6-seq
ylorrd-6-seq

# diverging
brbg-6-div
piyg-6-div
prgn-6-div
puor-6-div
rdbu-6-div
rdgy-6-div
rdylbu-6-div
rdylgn-6-div
spectral-6-div

# qualitative
accent-6-qual
dark2-6-qual
paired-6-qual
pastel1-6-qual
pastel2-6-qual
set1-6-qual
set2-6-qual
set3-6-qual

上述颜色列表有对应的逆序版本,如 spectral-6-div 对应 spectral-6-div-rev

颜色列表存储在 etc/colors.brewer.lists.conf 文件中,会通过 etc/colors.brewer.conf 导入

因此,导入了 Brewer 颜色,就已经自动导入了所有 Brewer 颜色列表

7.11 染色体颜色方案

下面一组以染色体名字命名的颜色,这一配色方案与 UCSC 数据库染色体配色方案是一致的

chr1 = 153,102,0
chr2 = 102,102,0
chr3 = 153,153,30
...
chrX = 153,153,153
chrY = 204,204,204

另一种定义颜色集的方式

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

7.12 定义自己的颜色

强烈建议把新定义的颜色放在单独的文件中

例如,定义自己的蓝色

# in mycolors.conf
niceblue = 17,111,227

使用

# 默认颜色
<<include colors_fonts_patterns.conf>>

# 添加自定义颜色到 块中
<colors>
<<include mycolors.conf>>
</colors>

快速定义

# 默认颜色
<<include colors_fonts_patterns.conf>>

# 添加自定义颜色到 块中
<colors>
<<include mycolors.conf>>
niceblue2 = 37,101,179
</colors>
上一篇下一篇

猜你喜欢

热点阅读