美文网首页circos
circos 学习手册(八)

circos 学习手册(八)

作者: 名本无名 | 来源:发表于2020-12-14 17:26 被阅读0次

ideogram(三)

4、ideogram 修剪

如果你不想绘制整条染色体,则可以选择创建一个轴断点并从中删除一个区域

可以通过两种方法实现:

  • 指定要绘制的内容
  • 指定不要绘制的内容

注意:永远不要用核型文件来修剪染色体,也就是说,在核型文件中,染色体的开始和结束位置反映的是实际的染色体大小,而不是你希望绘制的区域。

4.1 指定染色体范围

若要指定绘制的染色体区域,语法为:

chromosomes = ...;ID:START-END;...

来个例子

chromosomes_units = 1000000
chromosomes       = hs1:0-100;hs2:50-150;hs3:50-100;hs4;hs5;hs6;hs7;hs8

将会绘制 8 条染色体,但是 hs1 只有0-100Mbhs250-150Mbhs350-100Mb,起始和终止之间范围单位为 chromosomes_units

4.2 chromosomes_units

这个参数定义了一个乘数,该乘数可以应用于配置文件中的许多其他变量值,一些值会自动应用此乘数(如染色体范围),另外一些则需要显示指定后缀 u,例如

spacing = 5u

在这里,刻度间隔为 5u,如果 chromosomes_units=1000000,那间隔是 5Mb

可以使用绝对值定义染色体单位,如 1000000 (1Mb),也可以使用相对值,如 0.005r

这里相对的意思是所有染色体总大小的相对值

例如,你在图片中显示了整个人类基因组(3Gb),设置 chromosome_units=0.001r,就相当于 chromosome_units 的值设置为 3Mb (0.001 * 3Gb)

使用相对值,可以在图像中的染色体数量和大小发生变化是,用 chromosomes_unit 值在元素之间保持相对恒定的间距

4.3 压缩范围

除了指定要绘制的内容外,还可以通过参数 chromosomes_breaks 来限制范围

chromosomes = hs1;hs2;hs3;hs4;hs5;hs6;hs7;hs8
chromosomes_breaks = -hs1:100-200;-hs2:0-50;-hs2:150-);-hs3:0-50

chromosomes_breaks 定义的染色体都要加上 - 以及从图像中排除的范围

你可以用为染色体指定多个范围,用 ( 表示染色体的起始端,用 ) 表示染色体的末端

4.4 组合区域声明

你可以在 chromosomeschromosomes_breaks 字段中进行组合区域声明,如

chromosomes = hs1:0-100;hs2:0-100;hs3:0-100;hs4:0-100;hs5;hs6;hs7;hs8
chromosomes_breaks = -hs1:25-75;-hs2:25-75;-hs3:25-75;-hs4:25-75;-hs5:75-);-hs6:75-);-hs7:75-);-hs8:75-)

5、间距和轴断点

不同染色体之间的间隔通过 <ideogram><spacing> 块中的 default 参数来控制

5.1 ideogram 间距
5.1.1 绝对间距

可以用相对染色体单位来设置该参数,例如,如果 chromosomes_units=1000000 且间距值为 10u,则图像上实际间隔为 10Mb

<ideogram>
 <spacing>
  default = 10u
 </spacing>
</ideogram>
5.1.2 相对间距

你也可以将参数设置为相对于染色体的总大小.

当你想要进行添加或删除 ideograms 操作时,能够保持 ideogram 之间具有固定的间距

<ideogram>
 <spacing>
  default = 0.01r
 </spacing>
</ideogram>

将间距设置为所有染色体总大小的 1%,接近圆周图形的 1%.

当你创建染色体布局并希望调整间距值,使用绝对值格式

当你可能需要从图像中添加或删除 ideograms,又不想让间距值波动时,使用相对值格式

5.2 更改指定 ideograms 之间的间距

特定 ideograms 之间的间距可以通过 <pairwise> 块进行调整

<ideogram>
 <spacing>
  default = 10u

  <pairwise hs1>
   spacing = 5u
  </pairwise>

  <pairwise hs3 hs4>
   spacing = 0.25r
  </pairwise>

 </spacing>
</ideogram>

当指定某一 ideogram 的名称时,其两侧的间距都会受到影响

第一个 pairwisehs1 周围创建 5u 的间距

当指定两个 ideogram 的名称时,它们之间的间距将会受到影响

如果使用相对间距,则其含义为相对于默认间距的大小。因此, hs3hs4 之间的间距将为 2.5u,即 0.25 * 10u

为图例留出空间

为了给图例腾出空间,可以使用 <pairwise> 块在图像顶部调整 ideograms 之间的间距,然后使用 angle_offset 参数旋转图像,使间距沿垂直线居中

# ideogram.conf
<ideogram>
 <spacing> 
  # 设置默认间距
  default = 0.001r 

  <pairwise hsy hs1>
   # 设置 hsY 和 hs1 之间的间距为图像的 50 x 0.1% 
   spacing = 50r 
  </pairwise>

 </spacing>
</ideogram>

# circos.conf
<image>
 # 覆盖在 etc/image.conf 中定义的 angle_offset
 angle_offset* = -82
 <<include etc/image.conf>>
</image>

这个例子假定 hsYhs1 是图像中的最后一条和第一条染色体,间隔位于 12 点钟位置

默认 angle_offset=-90,表示 ideograms 的起始在 12 点钟位置。通过减小此偏移量,图像会稍微顺时针旋转,你需要自己根据数据确定这个偏移量

5.3 轴断点

当只要绘制染色体的一个子区域时,你可以选择在 ideogram 上放置轴断点,以表明染色体范围大于图示范围

有两种轴断点的样式,其属性在 <break_style> 块中定义

轴断点的大小由 break 参数控制,可以使用绝对单位 u 或者相对单位 r

<ideogram>
  <spacing>

  default = 10u
  break   = 2u

  axis_break         = yes
  axis_break_style   = 2
  axis_break_at_edge = yes

  <break_style 1>
    stroke_color = black
    fill_color   = blue
    thickness    = 0.25r
    stroke_thickness = 2
  </break_style>

  <break_style 2>
    stroke_color     = black
    stroke_thickness = 3
    thickness        = 1.5r
  </break_style>

  </spacing>
</ideogram>

如果 ideogram 不是从其染色体的开始或结尾位置开始,则可以选择在边缘放置一个轴断点 axis_break_at_edge=yes

thickness 参数定义了断裂的径向范围,可以用相对于 ideogram 的厚度来表示(如,0.25r),或者用绝对像素大小设置

通常,断裂样式 1 的厚度 thickness 应该 <1r,样式 2 的厚度 thickness 应该 >1r

样式 1 定义的轴断点使用矩形来连接 ideogram 的断点,样式 2 使用两条径向线表示断点。断点的大小与两个 ideogram 之间的间距无关,因此,如果两个相邻的 ideogram 在相邻末端都有断点,则他们之间的总空间就是断点大小和 ideogram 间距之和。

6、标识(tags)

到目前为止,ideogram 仅由其对应的染色体 ID 定义,

例如,在你的核型文件中定义了 hs1,hs2,hs3 等等,然后在 chromosomes, chromosomes_orderchromosomes_breaks 参数中使用同样的 ID

ideogram 标识允许你使用唯一的标签来标识 ideogram 区域,并允许对来自同意染色体的不同区域进行自定义排序

来看一个例子

chromosomes        = hs1;hs2;hs3
chromosomes_breaks = -hs1:50-150;-hs2:50-150

将会以默认顺序绘制 hs1:0-50, hs1:150-), hs2:0-50, hs2:150-)hs3

如果要调整 hs1hs2 的顺序,则必须在 chromosomes 字符串中明确定义这些区域,并为其分配标签

chromosomes = hs1[a]:0-50;hs1[b]:150-);hs2[c]:0-50;hs2[d]:150-);hs3[e]

现在,每个区域都与一个唯一标识(a b c d e)相关联,标识的名字可以是任意的

标识可用于指定裁剪后的 ideogram 区域的顺序

chromosomes_order = ^,a,c,e,|,b,$

此命令字符串要求图形以 a c e 标记的 ideogram 开头,c 标记的 ideogram 结尾。最后的顺序为:a c e d b

默认情况下,标识(tag)会被添加到 ideogram 的标签(label)中,如果不想这样做,可以设置

<ideogram>
label_with_tag = no
</ideogram>
DEBUGGING

如果在使用标识和裁剪时 circos 的行为看起来很奇怪,那么,你可以在命令行中使用 -debug_group chrfilter 来详细地了解发生了什么

$circos -debug_group chrfilter

或者在配置文件中设置 debug_group 参数的值

<<include etc/housekeeping.conf>>
debug_group* = chrfilter

然后再命令行中运行不带参数的标签

$circos -debug_group

(未完待续...)

相关文章

  • circos 学习手册(八)

    ideogram(三) 4、ideogram 修剪 如果你不想绘制整条染色体,则可以选择创建一个轴断点并从中删除一...

  • 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/hjtbgktx.html