CIRCOS圈图绘制 – 染色体信息展示和调整

CIRCOS圈图绘制 - 最简单绘图和解释介绍了CIRCOS的安装、基本的配置文件的解释、如何最简单的获得一个CIRCOS图。最主要的部分还是配置文件的位置信息和各个参数的含义解释。

本篇则处理染色体层面展示时用到的配置参数,若有困惑的请先参考上一篇。如果两篇都没有讲明白,请留言。

展示染色体染色条带数据

把前面的配置文件再拓展一些,给染色体加上名字,并且按照染色深浅上色。

karyotype变量指定了绘制CIRCOS图所必须的一个文件 (文件的内容虽然通常是染色体的信息,但不局限于染色体信息,其它的区域信息、时间序列信息都可以使用)

文件内容如下 (#后面是注释,会被忽略)

前两列是固定的,chr -chr表示定义一条染色体;-表示指定这个区域的父区域,染色体没有父区域,用-代替。

ID是当前区域的名字,其子区域的父区域列都使用这个名字。如果同时绘制多个物种,可在ID中包含物种的代号。

LABEL是当前区域显示的名字。

START END是当前区域的范围,必须是整个的区域。如果想显示部分区域,可在后续配置中修改。

COLOR是当前区域的颜色,CIRCOS为每个染色体有定义好的颜色,存储于etc/colors.conf。除了预先定义了染色体的颜色,还定义了一些颜色变量可以直接使用。

  1. #chr - ID LABEL START END COLOR
  2. chr - hs1 1 0 248956422 chr1
  3. chr - hs2 2 0 242193529 chr2
  4. chr - hs3 3 0 198295559 chr3
  5. chr - hs4 4 0 190214555 chr4
  6. chr - hs5 5 0 181538259 chr5
  7. chr - hs6 6 0 170805979 chr6
  8. chr - hs7 7 0 159345973 chr7
  9. chr - hs8 8 0 145138636 chr8
  10. chr - hs9 9 0 138394717 chr9

 

如果有cytogenetic band信息,则写到文件末尾。band是固定的,DOMAIN指定从属信息,对应于上面染色体的ID信息。其它列与上面解释相同。

  1. #band DOAMIN ID LABEL START END COLOR
  2. band hs1 p36.33 p36.33 0 2300000 gneg
  3. band hs1 p36.32 p36.32 2300000 5400000 gpos25
  4. band hs1 p36.31 p36.31 5400000 7200000 gneg
  5. band hs1 p36.23 p36.23 7200000 9200000 gpos25
  6. band hs1 p36.22 p36.22 9200000 12700000 gneg
  7. band hs1 p36.21 p36.21 12700000 16200000 gpos50

 

CIRCOS圈图绘制 – 染色体信息展示和调整-图片1

  1. # karyotype定义染色体的名字、ID、起始位置信息,是绘制图的根本
  2. karyotype = data/karyotype/karyotype.human.txt
  3.  
  4. # 必须的部分,控制染色体信息显示
  5. # http://circos.ca/documentation/tutorials/reference/ideogram/
  6. <ideogram>
  7.  
  8. # 定义显示的染色体之间的间距,为图形半径的0.5% (r代表radius,半径)
  9. <spacing>
  10. default = 0.005r
  11. </spacing>
  12.  
  13. # 染色体区域的绘制位置,默认所有染色体都处于远离圆心同样距离的位置
  14. # 这里设置的是图形半径的0.9倍的位置
  15. # 也可以设置绝对像素值
  16. radius    = 0.9r
  17. # 染色体区域的宽度,可以是相对图形半径,也可以说绝对像素值
  18. thickness = 20p
  19.  
  20. # 染色体区域填充颜色
  21. fill      = yes
  22.  
  23. # 染色体边的颜色和宽度
  24. stroke_thickness = 2
  25. stroke_color = black
  26.  
  27. # 显示染色体标签名字
  28. # 更多label的调整见
  29. # http://circos.ca/documentation/tutorials/ideograms/labels/lesson
  30. show_label = yes
  31. label_font = default
  32. # ideogram外圈再加总半径的0.05
  33. label_radius = dims(ideogram,radius_outer) + 0.005r
  34.  
  35. # 如果想把label标记在圈里可以写,外圈半径+内圈半径除以2
  36. # label_rdius = (dims(ideogram,radius_outer)+dims(ideogram,radius_inner))/2
  37. label_size = 24
  38. # label与圈平行
  39. label_parallel   = yes
  40. label_case = upper
  41.  
  42. # 显示karyotype中定义的细胞遗传学条带
  43. # fill_bands=yes 表示使用预先定义的颜色
  44. show_bands            = yes
  45. fill_bands            = yes
  46. band_transparency     = 4
  47.  
  48. </ideogram>
  49.  
  50. ################################################################
  51. # The remaining content is standard and required. It is imported
  52. # from default files in the Circos distribution.
  53. #
  54. # These should be present in every Circos configuration file and
  55. # overridden as required. To see the content of these files,
  56. # look in etc/ in the Circos distribution.
  57.  
  58. # 这些都是引用文件,暂时不去管什么意思,后面用到再逐个解释。
  59. # 但是绘图时这些必须引用。下面会解释下最关键的引用位置。
  60. <image>
  61. # Included from Circos distribution.
  62. <<include etc/image.conf>>
  63. file* = circos_label_band.png
  64. </image>
  65.  
  66. # RGB/HSV color definitions, color lists, location of fonts, fill patterns.
  67. # Included from Circos distribution.
  68. <<include etc/colors_fonts_patterns.conf>>
  69.  
  70. # Debugging, I/O an dother system parameters
  71. # Included from Circos distribution.
  72. <<include etc/housekeeping.conf>>

 

展示染色体刻度信息

显示染色体刻度信息,chromosome_units定义染色体一个单位的大小,缩写为u。若chromosome_units=1000000, 则10u=10000000

CIRCOS圈图绘制 – 染色体信息展示和调整-图片2

  1. # karyotype定义染色体的名字、ID、起始位置信息,是绘制图的根本
  2. karyotype = data/karyotype/karyotype.human.txt
  3.  
  4. # 必须的部分,控制染色体信息显示
  5. # 更多解释见
  6. # http://circos.ca/documentation/tutorials/reference/ideogram/
  7. <ideogram>
  8.  
  9. # 定义显示的染色体之间的间距,为图形半径的0.5% (r代表radius,半径)
  10. <spacing>
  11. default = 0.005r
  12. </spacing>
  13.  
  14. # 染色体区域的绘制位置,默认所有染色体都处于远离圆心同样距离的位置
  15. # 这里设置的是图形半径的0.9倍的位置
  16. # 也可以设置绝对像素值
  17. radius    = 0.9r
  18.  
  19. # 染色体区域的宽度,可以是相对图形半径,也可以说绝对像素值
  20. thickness = 20p
  21.  
  22. # 染色体区域填充颜色
  23. fill      = yes
  24.  
  25. # 染色体边的颜色和宽度
  26. stroke_thickness = 2
  27. stroke_color = black
  28.  
  29. # 显示染色体标签名字
  30. # 更多label的调整见
  31. # http://circos.ca/documentation/tutorials/ideograms/labels/lesson
  32. show_label = yes
  33. label_font = default
  34. # ideogram外圈再加总半径的0.05
  35. label_radius = dims(ideogram,radius_outer) + 0.05r
  36.  
  37. # 如果想把label标记在圈里可以写,外圈半径+内圈半径除以2
  38. # label_rdius = (dims(ideogram,radius_outer)+dims(ideogram,radius_inner))/2
  39. label_size = 24
  40. # label与圈平行
  41. label_parallel   = yes
  42. label_case = upper
  43.  
  44. # 显示karyotype中定义的细胞遗传学条带
  45. # fill_bands=yes 表示使用预先定义的颜色
  46. show_bands            = yes
  47. fill_bands            = yes
  48. band_transparency     = 4
  49. </ideogram>
  50.  
  51. chromosomes_units           = 1000000
  52. show_ticks          = yes
  53. show_tick_labels    = yes
  54.  
  55. <ticks>
  56. # ticks块定义了全局水平的tick的属性
  57. # 更多解释见http://circos.ca/documentation/tutorials/ticks_and_labels/basics/
  58. # ticks出现的位置
  59. radius           = dims(ideogram,radius_outer)
  60. # The label multiplier is the constant used to multiply the tick value to obtain the tick label. For example,  if the multiplier is 1e-6,  then the tick mark at position 10, 000, 000 will have a label of 10. The multiplier is applied to the raw tick value,  regardless of the value of chromosomes_unit.
  61. # multiplier是用于获得ticks label的,当前ticks对应的染色体位置乘以multiplier就得到ticks label
  62. # 这个值的设置与chromosomes_units是没有任何关系的
  63. # 比如当前位置是10,000,000, 乘以multiplier (1e-6)就是10
  64. multiplier       = 1e-6
  65. # ticks颜色、粗细、大小
  66. color            = black
  67. thickness        = 2p
  68. size             = 15p
  69. # 默认所有染色体都显示, 放置在ticks块中全局有效
  70. chromosomes_display_default=yes
  71. # 不在任何染色体显示, 放置在tick块中单个tick有效
  72. # 单词拼错无效
  73. #chromosomes_display_default=no
  74.  
  75. # 每个tick定义一种间隔,20u, 5u, 还可增加3u,4u等, 大的刻度会覆盖小的刻度
  76. # 20u的间隔,定义大的ticks,并显示ticks_label
  77. <tick>
  78. # spacing定义多大间距一个tick
  79. spacing        = 20u
  80. show_label     = yes
  81. label_size     = 20p
  82. # label的偏移量
  83. label_offset   = 10p
  84. # %d, %.nf
  85. format         = %d
  86. </tick>
  87.  
  88. # 5u的间隔,定义小的ticks
  89. <tick>
  90. spacing        = 5u
  91. color          = grey
  92. size           = 10p
  93. # 定义在哪些染色体显示ticks,哪些区域不显示
  94. chromosomes=-hs1;-hs2:0-100;-hs3:100-)
  95. </tick>
  96.  
  97. # 30u的间隔,定义中等的ticks
  98. <tick>
  99. chromosomes_display_default=no
  100. spacing        = 30u
  101. color          = red
  102. size           = 15p
  103. chromosomes=hs1
  104. </tick>
  105.  
  106. </ticks>
  107.  
  108. ################################################################
  109. # The remaining content is standard and required. It is imported
  110. # from default files in the Circos distribution.
  111. #
  112. # These should be present in every Circos configuration file and
  113. # overridden as required. To see the content of these files,
  114. # look in etc/ in the Circos distribution.
  115.  
  116. # 这些都是引用文件,暂时不去管什么意思,后面用到再逐个解释。
  117. # 但是绘图时这些必须引用。下面会解释下最关键的引用位置。
  118. <image>
  119. # Included from Circos distribution.
  120. <<include etc/image.conf>>
  121. file* = circos_label_band_tick.png
  122. </image>
  123.  
  124. # RGB/HSV color definitions, color lists, location of fonts, fill patterns.
  125. # Included from Circos distribution.
  126. <<include etc/colors_fonts_patterns.conf>>
  127.  
  128. # Debugging, I/O an dother system parameters
  129. # Included from Circos distribution.
  130. <<include etc/housekeeping.conf>>

 

调整染色体位置、大小

在CIRCOS中chromosome表示karyotype文件中定义的染色体的序列结构信息。ideogramchromosome信息的展示方式。一个染色体可以不展示,也有可能分成多段展示,可以选择图的位置,设置每个染色体的位置、相对大小。

  1. # karyotype定义染色体的名字、ID、起始位置信息,是绘制图的根本
  2. karyotype = data/karyotype/karyotype.human.txt
  3.  
  4. # 必须的部分,控制染色体信息显示
  5. # 更多解释见
  6. # http://circos.ca/documentation/tutorials/reference/ideogram/
  7. <ideogram>
  8.  
  9. # 定义显示的染色体之间的间距,为图形半径的0.5% (r代表radius,半径)
  10. <spacing>
  11. default = 0.005r
  12. </spacing>
  13.  
  14. # 染色体区域的绘制位置,默认所有染色体都处于远离圆心同样距离的位置
  15. # 这里设置的是图形半径的0.9倍的位置
  16. # 也可以设置绝对像素值
  17. radius    = 0.9r
  18.  
  19. # 改变染色体在circos环中内半径大小
  20. # 染色体区域的宽度,可以是相对图形半径,也可以说绝对像素值
  21. thickness = 20p
  22.  
  23. # 染色体区域填充颜色
  24. fill      = yes
  25.  
  26. # 染色体边的颜色和宽度
  27. stroke_thickness = 2
  28. stroke_color = black
  29.  
  30. # 显示染色体标签名字
  31. # 更多label的调整见
  32. # http://circos.ca/documentation/tutorials/ideograms/labels/lesson
  33. show_label = yes
  34. label_font = default
  35. # ideogram外圈再加总半径的0.05
  36. label_radius = dims(ideogram,radius_outer) + 0.05r
  37.  
  38. # 如果想把label标记在圈里可以写,外圈半径+内圈半径除以2
  39. # label_rdius = (dims(ideogram,radius_outer)+dims(ideogram,radius_inner))/2
  40. label_size = 24
  41. # label与圈平行
  42. label_parallel   = yes
  43. label_case = upper
  44.  
  45. # 显示karyotype中定义的细胞遗传学条带
  46. # fill_bands=yes 表示使用预先定义的颜色
  47. show_bands            = yes
  48. fill_bands            = yes
  49. band_transparency     = 4
  50. </ideogram>
  51.  
  52. # 染色体大小调整
  53. chromosomes_scale   = hs1=0.1r;hs14=0.06r;hs6=0.06r
  54. # 个别染色体位置调整
  55. chromosomes_radius  = hs14:0.8r;hs6:0.8r;hs1:0.7r
  56.  
  57. chromosomes_units           = 1000000
  58. show_ticks          = yes
  59. show_tick_labels    = yes
  60.  
  61. <ticks>
  62. # ticks块定义了全局水平的tick的属性
  63. # 更多解释见http://circos.ca/documentation/tutorials/ticks_and_labels/basics/
  64. # ticks出现的位置
  65. radius           = dims(ideogram,radius_outer)
  66. # The label multiplier is the constant used to multiply the tick value to obtain the tick label. For example,  if the multiplier is 1e-6,  then the tick mark at position 10, 000, 000 will have a label of 10. The multiplier is applied to the raw tick value,  regardless of the value of chromosomes_unit.
  67. # multiplier是用于获得ticks label的,当前ticks对应的染色体位置乘以multiplier就得到ticks label
  68. # 这个值的设置与chromosomes_units是没有任何关系的
  69. # 比如当前位置是10,000,000, 乘以multiplier (1e-6)就是10
  70. multiplier       = 1e-6
  71. # ticks颜色、粗细、大小
  72. color            = black
  73. thickness        = 2p
  74. size             = 15p
  75. # 默认所有染色体都显示, 放置在ticks块中有效
  76. chromosomes_display_default=yes
  77. # 不在任何染色体显示, 放置在ticks块中有效
  78. #chromosomes_display_default=no
  79.  
  80. # 每个tick定义一种间隔,20u, 5u, 还可增加3u,4u等, 大的刻度会覆盖小的刻度
  81. # 20u的间隔,定义大的ticks,并显示ticks_label
  82. <tick>
  83. # spacing定义多大间距一个tick
  84. spacing        = 20u
  85. show_label     = yes
  86. label_size     = 20p
  87. # label的偏移量
  88. label_offset   = 10p
  89. # %d, %.nf
  90. format         = %d
  91. chromosomes=-hs1;-hs14;-hs6
  92. </tick>
  93.  
  94. # 5u的间隔,定义小的ticks
  95. <tick>
  96. spacing        = 5u
  97. color          = grey
  98. size           = 10p
  99. # 定义在哪些染色体显示ticks,哪些区域不显示
  100. chromosomes=-hs1;-hs14;-hs6;-hs2:0-100;-hs3:100-)
  101. </tick>
  102.  
  103. # 30u的间隔,定义中等的ticks
  104. <tick>
  105. chromosomes_display_default=no
  106. spacing        = 30u
  107. color          = red
  108. size           = 15p
  109. chromosomes=hs1
  110. </tick>
  111.  
  112. </ticks>
  113.  
  114. ################################################################
  115. # The remaining content is standard and required. It is imported
  116. # from default files in the Circos distribution.
  117. #
  118. # These should be present in every Circos configuration file and
  119. # overridden as required. To see the content of these files,
  120. # look in etc/ in the Circos distribution.
  121.  
  122. # 这些都是引用文件,暂时不去管什么意思,后面用到再逐个解释。
  123. # 但是绘图时这些必须引用。下面会解释下最关键的引用位置。
  124. <image>
  125. # Included from Circos distribution.
  126. <<include etc/image.conf>>
  127. file* = circos_label_band_tick_chromove.png
  128. #画图起始的位置,相对于三点钟方向
  129. angle_offset* = 74
  130. </image>
  131.  
  132. # RGB/HSV color definitions, color lists, location of fonts, fill patterns.
  133. # Included from Circos distribution.
  134. <<include etc/colors_fonts_patterns.conf>>
  135.  
  136. # Debugging, I/O an dother system parameters
  137. # Included from Circos distribution.
  138. <<include etc/housekeeping.conf>>

 

CIRCOS圈图绘制 – 染色体信息展示和调整-图片3

CIRCOS错误信息

  • Dimension [$DIMS->{‘ideogram’}{‘default’}{' radius_outer'}] is not defined in expression [dims(ideogram, default,  radius_outer) + 0.05r]

radius_outer前面多了个空格

  • CONFIGURATION FILE ERROR; Circos could not find the configuration file [simple.confy]]

配置文件不存在,或名字、路径写错了

  • Config::General: Block ““ has no EndBlock statement (level: 2, chunk 4191)!

区块标签不成对

发表评论

匿名网友

拖动滑块以完成验证
加载失败