前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【科研猫·绘图】团团“圆圆”,来个不一样的月饼

【科研猫·绘图】团团“圆圆”,来个不一样的月饼

作者头像
用户6317549
发布2019-09-24 17:21:25
9220
发布2019-09-24 17:21:25
举报
文章被收录于专栏:科研猫科研猫

月圆圆月团圆夜,团圆夜里望月圆,

月圆夜圆月圆圆,夜圆月圆夜团圆~

值此中秋佳节到来之际,“科研猫”祝大家节日快乐,还精心给大家备了一份送来圆圆的月饼。

前面三个相信都是大家想要的,最后一个是什么鬼?明显不是月饼啊喂。虽然表示不懂是个啥,但是看上去有点妖娆到摄人心魄啊。

今天,在吃月饼的同时,我们就来聊聊这个圆圆的图。这个图,有人叫它“圈图”(果然很直白),其实它有个很高级的名字,叫做(记好了)-“Circos图”。相信大家之前也在很多高级杂志中看到过这样的图片,但是会画的人并不多。下面,我们就来讲讲Circos图的前生今世,教大家如何画一个简单的Circos图。

Circos-诞生

Circos图诞生于2009年,当时是作为一个绘图工具类的文章发表在Genome Research(最新IF:9.944)上,其作者是Martin Krzywinski,可为“Circos之父”,我们姑且尊称他为“马老师”。从那时出现开始便多次出现在国际知名杂志,比如Nature、Science、Cell上。截止到2019年9月该文章已被引用将近3,500次。

马老师是涉足生物信息学、数学、物理学,虽然是个不折不扣的工科男,但是他在日常生活中是一个很有艺术细胞的人,他还是一名专业的摄影师,这也就决定了我们的马老师对于“图”这个东西是有自己非常独到的看法的。自他手中创造出来的Circos图也是一样绚丽多姿。可以看一下诸多杂志社的封面文章,很多Circos图的身影。

Circos-用途

CIrcos图其实是一个用途非常广泛的图形,可以用于表征基本上任何类型的数据,包括把我们常见的散点图、折线图等都可以整合到Circos当中。特别是,CIrcos尤其适合用来描述生物信息学和基因组学的数据(别忘了马老师本来就是做生物信息的),我们可以看一下Circos官网(http://circos.ca/)对于Circos用途的描述词频汇总:

既然,Circos图这么好用,那么我们该使用什么方法来做图呢?

Circos-做法

Circos图的绘图软件就叫Circos,直奔主题,它的做法有几种,我们从难到易给大家逐一介绍:

方法一:Perl语言

Circos是由Perl语言编写的一个非常庞大的软件,安装起来可以说相当麻烦,首先我们需要安装Perl语言,其次需要下载Circos(如需获取,也可直接联系文末客服),网址如下:

http://circos.ca/software/download/

下载好之后就是安装Circos需要的Perl模块,粗粗统计一下,Windows中的Active Perl如果要运行Circos,需要安装十几个模块。我写过大量的Perl代码,所以对Perl是及其熟悉的,但是就我这样,去安装Circos也要花费一两个小时的时间才能完全调试好。当你装好了以后要运行的话,你会发现,不好意思,没有图形界面,我们需要自己到命令行运行,而且手动修改配置文件。

所以,虽然这是运行Circos最原汁原味、而且功能最为强大的方法,画出来的图都是下面这样的,美但是不方便,但是科研猫温馨提示大家:如果Perl语言没到大神水平,千万不要尝试这种做法。

方法二:R语言

在前面我们的很多文章中都讲过R语言绘图,大家也都见识了R语言的厉害之处,而且我也曾经说过:没有R画不了的图。那么,既然大话都说下了,不能自己打了自己的脸面。

在这里给大家推荐几个R包,可以用来做Circos图。

  • circlize
  • RCircos

具体的代码就不贴出来了,做图来的图是这样色儿的:

在R语言当中画图还算是方便的,不过也要写代码,貌似图不是很美,所以不美也不方便。

方法三:Circos Table Viewer

这个是Circos官方的在线画图工具,网址如下:

http://mkweb.bcgsc.ca/tableviewer/visualize/

这个是目前为止最为简洁的方法,最要上传一个表格就能画图啦,非常简单哦,下面我们就来跟大家一起操作一下,我们举一个最简单的例子。

  • 例题
  • 我们计算了8个基因之间的相关系数,推测他们之间的功能是否有相互作用,有了下面一个表格(由于Circos Tableviewer不接受小数,所以用相关系数*1000表示),现在需要进行可视化做图:

如果是给你这个表格,你该用什么图来描述这些相关性数值呢?箱线图?折线图?散点图?饼图?抑或是热图?貌似都不是很合适啊。这个时候我们来看看Circos图该怎么画。

Step1

进入网站:

http://mkweb.bcgsc.ca/tableviewer/visualize/

打开来是这样的。

Step2

准备数据(如需测试数据,文末联系胖雨小姐姐)。我们的数据非常简单,只需要放到文本文件中,用空格或者制表符(Tab键)隔开就行,如下图所示。

Step3

点击上传文件,然后点击“Visualiza Table”即可。做图来的图片如下,还可以支持矢量图下载哦。

是不是很简单,很方便呢?好的,关于Circos图我们就先讲到这里,大家应该都可以做出来的。再次祝福大家中秋快乐,团团圆圆!

中秋福利!

本期干货

Circos软件及绘图资料

原文详情:“科研猫”公众号

科研猫原创系列,未经许可严禁转载,版权事宜由上海辰明律师事务所提供法务支持。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科研猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档