circos 可视化手册- rules 篇

欢迎关注“生信修炼手册”!

rulescircos中的一种黑魔法,可以在不改变数据的情况下,对展现形式进行调整。rules代表规则,本质上就是编程语言中的条件判断语句, 首先给定一个条件,当符合条件时,执行具体的行为。

基本示例如下:

<rule>
condition  = var(intrachr)
show  = no
</rule>

condition定义的就是条件,示例中的show = no就是条件满足时需要执行的事情。

在定义condition时,有以下3种形式

1. condition = 1

这种写法表示条件永远成立,直接执行后面的行为即可

2.  var

通过var获取对应字段的值, 这里的字段分成两种,一种是数据文件中的值,比如plots对应的数据文件都会有value值,另外一种是系统内置的,会自动计算的值,比如自动计算区间的长度,用size表示,常用字段有以下几种, 其中的n用于区分多个区域,比如link连接2个区域,第一个区域为1,第二个区域为2; 当只有一个区域时,比如highlights, plots中,就不需要添加n

  • CHRn
    返回染色体的名字,示例用法var(chr) eq "hs1"

  • STARTn
    返回区域的起始位置,  示例用法var(start) > 300

  • ENDn
    表示区域的终止位置,示例用法var(end) < 500

  • POSn
    表示区域的中心点的位置,示例用法var(position1) < 500

  • SIZEn
    表示区域的长度,示例用法 var(size1) < 5mb

  • REVn
    links独有的字段,判断某个区域是否反向,如果起始位置大于终止位置,代表是反向的,返回值为1,否则返回值为0, 示例用法condition = var(rev1)

  • INV
    links独有的字段,如果一个link连接的两个区域方向不同,一个正向,一个反向,返回值为1,其他情况返回值为0,示例用法condition = var(inv)

  • INTERCHR
    links独有的字段,如果一个link连接的两个区域位于两条染色体上,返回值为1,其他情况返回值为0,示例用法condition = var(interchr)

  • INTRACHR
    links独有的字段 ,如果一个link连接的两个区域位于同一条染色体上,返回值为1,其他情况返回值为0,示例用法condition = var(intrachr)


对于数据文件而言,可以在其中添加对应的系统属性,也可以添加自定义的属性,下面的例子展示了如何访问数据文件中定义的colorthickness属性

<rule>
condition  = var(color) ne “grey” && var(thickness) == 2
z = 5
</rule>

&&符号代表与的意思,只有两个条件同时满足时,才符合这个condition的条件。

3. 函数

共有下面9种函数

  1. conf
    conf用于获取配置文件中设定的参数的值,示例conf(plots,color_alt), 返回值为plots这个block中,设定的color_alt参数的值

  2. on
    on用于判断是否在某条染色体或者某段区间上,用法示例on(hs1)

  3. within
    withinon的作用类似,用法示例within(hs2,40Mb,80Mb)

  4. between
    links独有的函数,判断·是否在两条染色体之间,用法示例between(hs2,hs3)

  5. fromto
    links独有的函数,判断连线的方向,用法示例fromto(hs2,hs3)

  6. tofrom
    tofrom类似,只不过方向相反,用法示例tofrom(hs2,hs3)

  7. from
    links独有的函数,判断连线的起始位置,用法示例from(hs1)

  8. to
    links独有的函数,判断连线的终止位置,用法示例to(hs1)

  9. chrlen
    返回染色体的长度,用法示例chrlen(hs1)


了解了条件如何定义之后,就需要看条件符合时,可以执行哪些行为。要定义一个rules的行为,必须结合其上下文环境。从下面的结构图可以看到,rules可以出现在ideogram, highligjts, plots, links这4种block 中。行为本质上就是可以调整的属性值,所以对于不同的block, 其属性值不同。

由于不同block下对应的参数特别多,就不具体展开了。对于每个block下对应属性的详细信息,可以翻阅之前的文章。

掌握了条件和行为的定义之后,理解单个rule的作用就没有问题了。但是rules是由多个rule构成,当多个rule放在一起是,其条件判断是怎么样的呢?

看一个例子

对于value = 1的点而言,其颜色最终是什么呢?

答案是red, 因为只要遇到第一个符合条件的rule之后,就不在判断后续的其他rules了。所以最终的颜色是红色。这种条件判断的逻辑实际上是由flow这个参数控制的

有个参数控制了多个rule存在时条件判断的逻辑,这个参数就是flow
flow的取值有以下6种

  1. continues if true

  2. continues if false

  3. stop if true

  4. stop if false

  5. restart if true

  6. restart if false


默认值为continues if false, 只有当不符合当前条件时,才会判断是否符合下一个条件,对于上面的示例,如果想要点变成蓝色,只需要设置flow = continues if true 即可。



扫描关注微信号,更多精彩内容等着你!



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 5,057评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,727评论 2 9
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,716评论 2 17
  • 姓名:舒微媛 日期:2018年4月10日 名称:宁波万尚 组别:六项精进364期努力一组 【日精进打卡第15天】 ...
    夏晓薇阅读 270评论 0 0