Circos中ideogram中的意义

ideogram有着不同的意义;chromosomes是karyotype文件中的染色体;而ideogram则是展示染色体的一部分区域,或者完整的一条染色体

它主要的格式例如

前面两个字段chr和-总是固定的,
id字段是用来表明这个chr的身份的
label字段则是用来在图片上进行表示的文字信息
start和end在keryotype中尽量覆盖全长,而在其他的conf文件中来控制它的画出来的长度


除了chromosomes的数据类型还存在着band类型

与chromosomes的数据定义类似,只不过前两列是band和对应的父染色体的id名
接着就是band的id编号与label名称,以及坐标和颜色信息

当然Circos官网还给出了许多可以参考的图片,用到你的数据中 published examples from the literature

直接看一下band的具体效果是什么样子吧!

关于染色体的过滤选项filtering

主要使用到chromosomes和chromosomes_display_default两个参数 当chromosomes_display_default=yes的时候,默认是展示karyotype中的所有染色体
当为no的时候,就可以结合chromosomes参数自定义选择要展示染色体

下面是几种常见的过滤方式 使用-号排除不需要展示的ideogram

修改ideogram的出现顺序

绝对顺序的就不做延伸了,来了解一下相对顺序吧
这是因为hs5作为锚固定在整个字符的第5位,而要让hs4在其后则需要交换hs4和hs6的位置 同样hs3固定在第3号位置
这个的实现原理则是先把3和2确定后在填充-符,并且一次从hs3前填充两个字符,剩下的都填写到hs2后面 另一种类似于正则表达式

具体的的顺序实现效果

对ideogram进行修剪

主要使用chromosomes=hs1:0-100
和chromosomes_breaks=-hs1:25-75;hs2:25-75;
接下来主要就是关于break这条线的修饰 它会放在ideogram的spacing标签内,做为一类分割线

效果图:

这里的axis_break和axis_break_at_edge参数是控制分割线的显示
axis_break_at_edge当染色体不是从karyotype中它的开始到结束时,就会加上分割线 break控制裂缝的宽度
而具体到每个线的设计,又在break_style标签里使用thickness控制长度
stroke_thickness控制线的厚度,

修改染色体ideogram的位置

这里的计算方法主要是在ideogram中设置radius参数,为整个图片的0.9
紧接着在chromosomes_radius参数中可以分别设置每个染色体的半径,
也就是hs1: radius*chromosomes_radius =0.9r*0.4r 也就是hs1的半径为正常图片半径的0.36!

理解tag标签的含义,当整条chromosomes被break成多个ideogram时,这些ideogram就可以通过tag来进行区分
如果想要在被分开的ideogram上加上label只需要使用 label_with_tag=yes即可

这里使用到C语言中的if判断语句A?B:C ;

最后就是关于ideogram的orientation的问题里,主要有两个参数

emmm ideogram这部分就学习到这里啦!这些主要都是参考 官网手册,加上自己动手实践总结的,有些地方还不是很完善,有错误的地方还请指正!