首先我们通过下图从整体上了解下Circos的工作流程,其中核心的是config配置文件,它决定了Circos的每一圈读入什么样的数据,并且决定它们以什么方式展示,是柱状图还是散点图,也包括颜色、字体等等。为了便于模块化,config文件又分为多个子config文件,我们在作图时可以在主config文件中调用这些子config文件,最后将整理好的config文件传递给Circos,即可做出各式各样的Circos图。
我们以cosmic网站的一幅Circos图为例,一个典型的Circos图最外圈一般是染色体的示意图(ideogram),上面的刻度表示染色体的坐标位置。以第一条染色体为例,由于chr1的length=249250621,我们以1Mbp为单位,那刻度范围就为0~249。
染色体示意图完成以后,内圈开始便是我们所要展示的数据,每一圈都是以最外圈为坐标,展示相应位置发生的突变等信息,常见的展示方式有scatter散点图 、line、histogram直方图、heatmap、links等。
如下图即是用了同样的数据,而只是展示方式不同而已。我们再看cosmic的图,从外向内,第二三圈为scatter,第四圈向内均是histogram。
看着Circos一圈一圈挺复杂的样子,其实我们可以将它跟平时看惯的x-y直角坐标系类比,只不过我们平时看到的坐标是类似(22,39545),而在Circos中,这个坐标变为(hs1 28000000 28999999 0.002489),其中第一个字符表示人染色体编号,等同于chr1,28000000表示染色体起始位置,28999999表示终止位置,由这三个值便确定了突变信息所在的坐标位置,相当于x-y轴坐标体系中x的值已经确定了,而0.002489则表示该坐标处所对应的值,相当于y轴的值也定下来了,很多行这样的值通过点或者线的方式连起来,就构成了上面的图。
那你可能又有问题:
一、我们熟悉的坐标中x轴都是一个确定的值,如22,为什么在Circos中会有三个值,而且是坐标上的一段范围,怎么想象它在图上也不可能是一个点呀;
二、这里0.002489到底是什么含义。
我们不妨这么理解,其实hs1 28000000 28999999确实表示一个范围,横跨了999999个碱基(近似于1Mb),而在这个范围内的值都是0.002489,连起来其实是一条横线,但由于染色体太长,我们不可能以1bp为单位去展示,正如上面提到的,我们用1Mb为单位(chr1的长度范围为0-249),因此这个范围在染色体示意图上实际也就成了一个点;
而0.002489在我们这个例子中是表示这个范围内snp的密度(这一范围内snp的数目有2489个,而2489/(28999999-28000000)=0.002489),在不同的文章中,这个值会被赋予完全不同的含义,但是只要我们掌握了理解方式,也就不难读懂图了。
看完以上的介绍,也许你还觉得似懂非懂,那你可以自己安装Circos,体会一下Circos图是怎么作出来的,也许会对Circos有更深刻的了解。
我们下期将教大家如何在Wondows系统下安装Circos并作图,欢迎感兴趣的朋友来围观……