美文网首页
circos 学习手册(二十四)

circos 学习手册(二十四)

作者: 名本无名 | 来源:发表于2020-12-31 18:21 被阅读0次

2D 数据绘制(五)

9. 字形—Part I

规则不仅可以用于调整标签的文本,也可以为所有标签设置值

<rule>
condition  = 1
value      = X
</rule>

你可以把这个规则和其他规则结合起来。例如,如果文本是序列,则可以根据其标识设置字符的颜色,然后将其更改为其他值。

# first change color
<rule>
condition  = var(value) eq "A"
color      = red
flow       = continue
</rule>

<rule>
condition  = var(value) eq "T"
color      = blue
flow       = continue
</rule>

<rule>
condition  = var(value) eq "C"
color      = green
flow       = continue
</rule>

# change label text, for all data points
<rule>
condition  = 1
value      = X
</rule>

你可以通过更改字体并将文本标签调整为所需的字形(fonts/symbols/symbols.ttf)。例如,用符号字体设置方形符号

<plot>
label_font = glyph

<rules>
...
<rule>
condition = 1
value     = m
</rule>
...
</rules>

符号字体定义了以下字符

 small
 | medium
 | | large
 | | |
 a b c   square
 d e f   rhombus
 g h i   triangle up
 j k l   triangle down
 m n o   circle

upper case - solid
lower case - hollow
image.png image.png

10. 符号—Part II

将标签改为符号是制作一般字形轨迹的理想选择。例如,考虑一个基因列表(data/6/genes.glyph.txt

...
hs12 56428271 56432431 CDK4_cancer
hs12 64504506 64595566 HMGA2_cancer
hs12 64504506 64638901 P52926_cancer
...
hs10 108323411 108914282 SORCS1_omim
hs10 111614513 111673192 XPNPEP1_omim
hs10 111755715 111885310 ADD3_omim
...
hs7 139864688 139948811 DENND2A_other
hs7 140019421 140041377 ADCK2_other
hs7 140042949 140052913 NDUFB2_other
...

其中 _cancer 后缀表示癌基因,_omim 表示疾病相关的,_other 表示剩余的基因,使用下面的规则改变基因的字形颜色

<rules>

flow = continue

<rule>
condition  = var(value) =~ /cancer/
color      = red
</rule>

<rule>
condition  = var(value) =~ /omim/
color      = green
</rule>

<rule>
condition  = var(value) =~ /other/
color      = blue
</rule>

<rule>
condition  = 1
value      = N
</rule>

</rules>

通过设置规则隐藏基因

<plot>

r0 = 1r+10p
r1 = 1r+200p
color = red
...

<rules>

<rule>
condition  = var(value) !~ /cancer/
# hide anything that doesn't match "cancer"
show = no
</rule>

<rule>
condition  = 1
# circle
value = N
</rule>

</rules>

</plot>

10.1 用符号密度绘制

最后看一个例子,其中符号的大小编码数据点的密度。circos 不会为你计算密度,但你可以预处理数据并将密度编码为标签大小。

data/6/gene.density.txt 文件中

...
hs1 3000000 3000000 cancer label_size=1
hs1 6000000 6000000 cancer label_size=2
...
hs1 1000000 1000000 omim label_size=9
hs1 2000000 2000000 omim label_size=14
...
hs1 1000000 1000000 other label_size=26
hs1 2000000 2000000 other label_size=10
...

使用规则,你可以将 label_size 重新映射到另一个值,原来的值范围是 1p42p

# linear remap to [6,50]
label_size = eval(remap_int(var(label_size),1,42,6,50))

# ... with shallower increase
label_size = eval(remap_int(sqrt(var(label_size)),1,sqrt(42),6,50))

# ... with steeper increase
label_size = eval(remap_int(var(label_size)**2,1,42**2,6,50))
image.png

11. 连接器

连接器是连接 ideogram 上两个径向位置之间的铰接线段

连接器的定义为

<plot>

type = connector
file = data/6/connectors.txt

r0   = 0.8925r
r1   = 0.999r

connector_dims = 0,0.3,0.4,0.3,0

thickness = 2
color     = black
</plot>

connector_dims 参数控制连接器的线的形状,这条线有 5 个片段,5 个值定义了每个片段的大小

数据文件定义了用线连接 r0r1 的位置

# connectors.txt
...
hs22 15116257 16046604
hs22 15136864 16056568
...
image.png

12. 组合绘制

在本节中,我们创建一个包含大量轨迹的图像,包括前面讨论的所有类型。

这张图片看起来像是心脏病发作,所有,如果不是为了探索 circos 的语法,并不建议这样做

12.1 在数据层之间放置高亮

当高亮显示定义为 plot 块时,你可以使用 z-depth 值将其放置在其他数据层中的任何位置

高亮绘制在热图的上方,但在折线图、直方图、线和图块下面。

12.2 随机抽样数据

你可以选择使用包含对随机数生成器的调用规则来随机隐藏数据点,Perl 函数 rand() 函数返回从 [0,1) 中均匀抽样的随机数.

<rule>
condition = rand() < 0.1
show      = no
</rule>

在这种情况下,平均 10% 的数据点不会出现。每次创建图像时,将隐藏一组不同的点。

12.3 随机格式化数据

例如,要使 50% 的点是红色的

<rule>
condition = rand() < 0.5
color     = red
</rule>

12.4 隐藏热图元素

你可以使用 show=no 来隐藏热图元素,也可以颠倒颜色列表,并在列表中包含背景颜色

type         = heatmap
...
color        = black,grey,vlgrey,white,lgreen,green,dgreen
...
</plot>

12.5 相邻直方图

可以通过堆叠两个直方图来创建一个浮动的直方图。外部直方图的朝向是向外,内部直方图朝向内

<plot>
type         = histogram
...
orientation  = in
r0           = 0.65r
r1           = 0.75r
...
</plot>

<plot>
type         = histogram
...
orientation  = out
r0           = 0.75r
r1           = 0.85r
...
</plot>

12.6 相邻 ideogram 半径

调整 ideogram 的字符标识及区域半径

chromosomes        = hs2[a]:5-35;hs2[b]:40-75;hs2[c]:80-115;hs2[d]:120-155;hs2[e]:160-195;hs2[f]:200-240
chromosomes_radius = a:0.95r;b:0.9r;c:0.85r;d:0.8r;e:0.75r;f:0.7r

最后图片长这样

image.png

相关文章

  • circos 学习手册(二十四)

    2D 数据绘制(五) 9. 字形—Part I 规则不仅可以用于调整标签的文本,也可以为所有标签设置值 你可以把这...

  • circos 学习手册(二)

    配置文件语法 配置文件是通过 Config::General 模块进行解析的。 看过上一篇的朋友应该记得,完成 c...

  • circos 学习手册(三)

    配置文件语法(续) 4 动态执行参数 在配置文件中,通常以如下方式设置一个常量 例如 但是,有时候,你可能想用另一...

  • circos 学习手册(四)

    配置文件语法(再续) 7 颜色 在主配置文件中导入 etc/colors_fonts_patterns.conf ...

  • circos 学习手册(一)

    介绍 circos 以圆环的形式展示基因组数据及相关的注释信息,能够生成出版级别的图片,非常适合对染色体内、外关系...

  • circos 学习手册(五)

    数据文件 circos 的输入文件是纯文本数据文件 像染色体定义、数据( ),关系( ),强调(

  • circos 学习手册(七)

    ideogram(二) 2、ideogram 过滤 核型文件通常定义了基因组中的所有染色体,使用过滤器可以选择性的...

  • circos 学习手册(六)

    ideogram(一) 介绍 在生物学应用背景下,circos 图通常对应于染色体,组装的 contigs 或者克...

  • circos 学习手册(三十)

    技巧(五) 17. 自动化热图 17.1 更改热图颜色 热图的颜色是使用颜色列表指定的 或 计数器可用于动态更改配...

  • circos 学习手册(九)

    ideogram(四) 7、可变半径 默认情况下,每个 ideogram 都放置在相同的径向位置,可以通过 块...

网友评论

      本文标题:circos 学习手册(二十四)

      本文链接:https://www.haomeiwen.com/subject/sifxoktx.html