前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >circos 可视化手册-scatter plot 篇

circos 可视化手册-scatter plot 篇

作者头像
生信修炼手册
发布2020-05-11 17:40:39
9910
发布2020-05-11 17:40:39
举报
文章被收录于专栏:生信修炼手册生信修炼手册

plots这个block 中,支持许多的图表类型,scatter plot是最常用的一种。用法如下:

关于file文件的内容,在之前的文章中已经详细介绍过。r0r1定义圆环的位置,maxmin定义y轴的最小值和最大值,剩余的几个参数控制散点的外观。

glyph表示点的形状,circle代表圆形,triangle代表三角形,rectangle代表矩形;glyph_size控制点的大小;fill_color控制点的填充色,stroke_color控制边框的颜色。

关于scatter plot, 在软件的安装目录下,有对应的默认配置

etc/tracks/scatter.conf

oritenation表示方向,in表示从r0到r1, out表示从r1到r0

plot中,可以插入backgrounds, axes, rules3种block

1. backgrounds

用法如下:

backgrounds 定义背景色,每个定义一个区域的背景色,这个区域由y0y1定义。

plot中, maxmin分别定义了y轴的最大值和最小值,这里的y0y1对应的就是y轴的值;y0代表起始位置,y1代表终止位置;如果只指定了y0y1中的一个,需要参考邻近区域和max,min的值作出判断

在上图的第一个background中,只指定了y0 = 0.006,从其他结果background的设置可以推测出,此时的y1 = max;

上面的例子中,根据y轴的值划分了3个区域,定义了3种不同 的背景色

  1. min到0.002,背景色为vvlred
  2. 0.002到0.006,背景色为vlgrey
  3. 0.006到max, 背景色为vvlgreen
2. axes

用法如下:

axes定义y轴的刻度线,由多个axis构成。和backgrounds 一样,根据y0y1定义区域,spacing定义刻度线的间隔。

刻度线的外观由thicknesscolor两个参数控制,thickness 控制线条的粗细程度,color控制线条的颜色。

3. rules

用法如下:

rules代表规则,由多个rule构成;在每个rule中,conditioon设置规则,var(value) > 0.006 表示 y轴的值大于0.006,当满足这个条件时,执行rule中的其他语句,下面的示例中,调整了value > 0.006的点的外观。

最后看一个实例

这张图中,除了染色体的圆环外,还有3圈圆环,每一个圆环都是一张scatter plot, 而且都设置了背景色和刻度线。

结合整幅图的结构和散点图的用法,理解下面的配置文件就非常简单了

代码语言:javascript
复制
<<include colors_fonts_patterns.conf>><<include ideogram.conf>>
<<include ticks.conf>><image>
<<include etc/image.conf>>
</image>karyotype   = data/karyotype/karyotype.human.txtchromosomes_units = 1000000
chromosomes       = hs1;hs2;hs3
chromosomes_display_default = no################################################################
#
# define 3 scatter plots, using the same data file
#<plots># all are scatter plotstype             = scatter
stroke_thickness = 1# first plot shows all points and selectively formats points at small/large
# y-axis values to be red/green and triangles/rectangles<plot>file             = data/6/snp.density.txt
fill_color       = grey
stroke_color     = black
glyph            = circle
glyph_size       = 10max   = 0.013
min   = 0
r1    = 0.95r
r0    = 0.65r# optional y0/y1 values (absolute or relative) in <background> blocks
# define the start/end limits of background color
#
# y0 = 0.006
# y0 = 0.75r<backgrounds>
<background>
color     = vvlgreen
y0        = 0.006
</background>
<background>
color     = vlgrey
y1        = 0.006
y0        = 0.002
</background>
<background>
color     = vvlred
y1        = 0.002
</background>
</backgrounds><axes>
<axis>
color     = lgreen
thickness = 1
spacing   = 0.05r
y0        = 0.006
</axis>
<axis>
color     = dgreen
thickness = 2
spacing   = 0.1r
y0        = 0.006
</axis><axis>
color     = lgrey
thickness = 1
spacing   = 0.05r
y1        = 0.006
y0        = 0.002
</axis>
<axis>
color     = dgrey
thickness = 2
spacing   = 0.1r
y1        = 0.006
y0        = 0.002
</axis><axis>
color     = lred
thickness = 1
spacing   = 0.05r
y1        = 0.002
</axis><axis>
color     = dred
thickness = 2
spacing   = 0.1r
y1        = 0.002
</axis></axes><rules><rule>
condition    = var(value) > 0.006
stroke_color = dgreen
fill_color   = green
glyph        = rectangle
glyph_size   = 8
</rule><rule>
condition    = var(value) < 0.002
stroke_color = dred
fill_color   = red
glyph        = triangle
</rule></rules></plot># the second plot is a crop of the first plot, placed outside
# the ideogram circle, showing only points with large y-values<plot>file             = data/6/snp.density.txt
fill_color       = green
stroke_color     = dgreen
glyph            = rectangle
glyph_size       = 8max   = 0.013
min   = 0.007
r1    = 1.175r
r0    = 1.075r<backgrounds>
# you can stack backgrounds by using transparent color
<background>
color     = vlgreen_a4
y0        = 0.75r
</background>
<background>
color     = vlgreen_a4
y0        = 0.5r
</background>
<background>
color     = vlgreen_a4
y0        = 0.25r
</background>
<background>
color     = vlgreen_a4
</background>
</backgrounds><axes>
<axis>
color     = green_a3
thickness = 2
spacing   = 0.1r
</axis>
</axes><rules><rule>
condition    = var(value) < 0.007
show         = no
</rule></rules></plot># the third plot is a crop of the first plot, placed closer to the
# center of the circle, showing only points with small y-values<plot>file             = data/6/snp.density.txt
fill_color       = red
stroke_color     = dred
glyph            = rectangle
glyph_size       = 8max   = 0.0015
min   = 0.000
r1    = 0.60r
r0    = 0.35r<backgrounds>
<background>
color     = vlred_a4
y1        = 0.25r
</background>
<background>
color     = vlred_a4
y1        = 0.5r
</background>
<background>
color     = vlred_a4
y1        = 0.75r
</background>
<background>
color     = vlred_a4
</background>
</backgrounds><axes>
<axis>
color     = red_a5
thickness = 1
spacing   = 0.025r
</axis>
<axis>
color     = red_a3
thickness = 2
spacing   = 0.1r
</axis>
</axes><rules>
<rule>
condition    = var(value) > 0.002
show         = no
</rule>
</rules></plot></plots><<include etc/housekeeping.conf>>
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. backgrounds
  • 2. axes
  • 3. rules
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档