1、【测序中国-从零学测序】癌症基因组重测序分析第六讲之circos图的绘制,卜德超 微信/QQ: 530242830 邮箱: 中国科学院计算技术研究所 2015-01-07,Circos 是一个Perl语言开发的自由可视化软件,使用GPL协议分发,以绘制输出圈图(原型 Circos 是由加拿大的一位生物信息科学家 Martin Krzywinski 所开发,他同时是一位专业摄影师,最初他主要从事Linux系统管理等工作风格的图)为最大特色,Circos介绍,Circos案例,基因组数据的可视化,Linux内核发展的可视化,影视作品人物关系的可视化,Circos绘图流程,Scatter plot
2、,Circos产生静态图片。这些图片的产生过程是通过一个配置文件来实现的。这个配置文件通常会导入其他配置文件,形成一个个分级结构。设置好这个配置文件,基本上就掌握了circos。,Windows上安装Circos,安装,Unix上安装Circos,安装,在circos/example下执行 perl /path/to/circos/bin/circos conf etccircos.conf,配置语法:变量名=变量值 配置块:,配置文件,形成一个配置块,一些重要的配置块单独写在一个配置文件中,便于其他配置文件的导入。例如ideogram.conf只有ideogram一个配置块。,可以具有多个实
3、例,如此有了全局变量和局部变量,左边fill_color = white对中所有实例都有效,除非实例内部自己用局部变量进行定义,如左边的fill_color = grey。如果实例比较多,全局变量变得格外的事半功倍。,在circos/etc目录下有些现成的设置会经常用到,从不或很少改变,学会运用这些配置文件对学习circos有很大帮助,也省去了很多麻烦,如colors.conf、fonts.conf等。写配置文件的时候可以直接导入使用。,配置文件,还有一些设置是也是经常用到,但会根据个人喜好或绘图要求不同而有细微差别,如ideogram.conf、 ticks.conf等。除此之外,也可以把经
4、常用到的设置写成配置文件,便于其它配置文件反复导入,提高效率。,配置文件,对于上述提到的那些配置文件,主配置文件可以用来导入,这样在主配置文件中就不必再对xxx.conf文件中的变量进行定义了。如此一来,既可以使这些重要配置文件得以重复利用,也大大简化了主配置文件。除此之外,被导入的配置文件它自己也可以导入其它的配置文件。,配置文件导入,嵌套配置文件导入,实例绘制初级:核型图绘制,上面学习了配置文件和配置文件导入的相关知识,现在我们一起来完成一个没有data的circos,即只有染色体的circos图。首先准备好需要被导入的配置文件:circos/etc目录下的文件直接可以用,一般不需要改动。
5、etc/background.black.conf etc/background.white.confetc/colors.brewer.conf etc/colors.confetc/colors.hsv.conf etc/colors.ucsc.confetc/colors_fonts_patterns.conf etc/fonts.confetc/housekeeping.conf etc/image.black.confetc/image.conf etc/image.generic.confetc/patterns.conf etc/patterns.svg.conf除此之外,再创建
6、ideogram.conf和ticks.conf配置文件,与后面创建的主配置文件circos.conf放在同一个目录下,下面是ideogram.conf 和ticks.conf 模板。,default = 0.005rradius = 0.9r thickness = 40p fill = yes fill_color = black stroke_thickness = 2 stroke_color = blackshow_label = yes label_font = default label_radius = 1r + 75p label_size = 30 label_parall
7、el = yes label_case = upper label_format = eval(sprintf(“chr%s“,var(label)show_bands = yes fill_bands = yes band_stroke_thickness = 2 band_stroke_color = white band_transparency = 4,show_ticks = yes show_tick_labels = yesradius = 1r color = black thickness = 2p multiplier = 1e-6 format = %dspacing =
8、 5u size = 10pspacing = 25u size = 15p show_label = yes label_size = 20p label_offset = 10p format = %d,ideogram.conf,ticks.conf,染色体间的空隙,染色体所在位置、厚度、边框厚度及颜色,染色体标签位置、字体等,Bands显示与否、bands边框厚度、颜色、透明度等,主刻度,次刻度(小刻度),刻度所在位置、颜色、厚度等,是否显示刻度,实例绘制初级:核型图绘制,然后,创建一个主配置文件,导入核型文件和其它配置文件:,实例绘制初级:核型图绘制,最后,运行circos:perl
9、 bin/circos -conf circos.conf,实例绘制初级:核型图绘制,画出基本的核型图之后,就要开始往图里面添加需要显示的数据了。circos图形典型的有Scatter Plots、Line Plots、Histograms、Heatmaps 、Connectors 、Highlights、Links。Scatter Plots、Line Plots、Histograms、Heatmaps数据数据格式:chr start end value options,options是在数据内部,单单对它所在行的数据进行设置,多项设置用逗号隔开, options可有可无。, hs1 0 9
10、9999 0.01044 hs1 100000 199999 0.00512 hs1 200000 299999 0.00214 fill_color=red,z=68 hs1 300000 399999 0.00902 hs1 400000 499999 0.00448 hs1 500000 599999 0.00879 ,实例绘制中级:数据图绘制,Scatter Plots,核心配置块:,形成主配置文件:将核心配置块插入到前面实例circos.conf中即可,其它2D数据同样的方法。,Scatter Plots, type = line thickness = 2max_gap = 1u
11、file = data/6/snp.density.250kb.txt color = red min = 0 max = 0.015 r0 = 0.5r r1 = 0.8r fill_color = vdredmax_gap = 1u file = data/6/snp.density.txt color = yellow min = 0 max = 0.015 r0 = 0.25r r1 = 0.45r thickness = 1 fill_color = vdyellow,Line Plots,核心配置块,Histograms,核心配置块,Heatmaps,核心配置块,type = co
12、nnector file = indata/6/connectors.txt r0 = 0.70r r1 = 0.90r connector_dims = 0,0.3,0.4,0.3,0 thickness = 2 color = blacktype = connector file = indata/6/connectors.txt r0 = 0.40r r1 = 0.60r connector_dims = 0,0,0.8,0.2,0 thickness = 2 color = green,Connectors,数据格式:chr firstLocal secondLocal 这两个loca
13、ls需要在同一染色体上,没有要求一个必须大于另一个。, hs22 14743362 14737115 hs22 20339724 20339258 hs22 14758082 14790652 ,核心设置快:,Highlights,数据格式:chr start end fill_color=color, hs1 1298972 1300443 fill_color=blue hs1 1311738 1324571 fill_color=red,r0=0.6r,r1=0.6r+50p hs1 1397026 1421444 fill_color=green,r0=1.1r,r1=1.15r hs
14、1 1437417 1459927 fill_color=green,r0=1.1r,r1=1.15r hs1 1540746 1555847 fill_color=yellow hs1 1560962 1645635 hs1 1624179 1645623 ,核心配置块:有两种设置方式,一种是以是方式,用变量设置type=highlight,实例是;另外一种是以配置块来设置,实例是。一下是两种核心配置块。,file = indata/3/chr.highlights.txt r0 = 0.80r r1 = 0.90rfile = indata/3/h.variation.txt r0 = 0
15、.40r r1 = 0.70r,Highlights,type = highlight file = indata/3/chr.highlights.txt r0 = 0.80r r1 = 0.90rtype = highlight file = indata/3/h.variation.txt r0 = 0.40r r1 = 0.70r,file = huan_chr1_links.txt radius = 0.95r color = red bezier_radius = 0.1r thickness = 1file = human_chr1_links.txt radius = 0.95
16、r color = green bezier_radius = 0.4r thickness = 1,Links,数据格式:firstChr start end secondChr start end,染色体1和染色体2可以相同,也可以不同。, hs1 14759 14759 hs1 14999 14999 hs1 564465 564465 hs1 564652 564652 hs1 564483 564483 hs2 566317 566317 ,核心配置块:,数据综合绘制,所有类型circos图可以穿插在一起,下边的circos是上述图形所用到的数据,综合在一起画的一个circos。,数据综合绘制,教程:http:/circos.ca/tutorials/lessons/ 数据文件下载:http:/circos.ca/tutorials/lessons/configuration/data_files/,谢谢大家!,