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閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容

  • 《ijs》速成開發手冊3.0 官方用戶交流:iApp開發交流(1) 239547050iApp開發交流(2) 10...
    葉染柒丶閱讀 5,274評論 0 7
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,830評論 18 139
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發現簡書還為我保存起的...
    Jenaral閱讀 2,819評論 2 9
  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,805評論 2 17
  • 姓名:舒微媛 日期:2018年4月10日 名稱:寧波萬尚 組別:六項精進364期努力一組 【日精進打卡第15天】 ...
    夏曉薇閱讀 281評論 0 0