Circos软件学习
circos 是一款perl 语言开发的画图软件,提供了染色体相关数据的一种可视化方式。其制作的图表精美,被科研工作者广泛使用。Circos可以对染色体相关数据进行可视化,以每条染色体为一个扇区,组成一个圆形,如图1所示。也可以对其他表格形式的数据进行可视化,以每个样本作为扇区,以其上的特征作为图形层次。如图2所示,可以以物种作为扇区,展示物种间的关系。Circos图最初以Perl语言开发,后来又有一些R包被开发用来绘制Circos图。今天的学习主要学习Perl开发的Circos软件。没错,下边这两个美图都是Circos的结果了。
图1
图2
1.Circos软件安装
Circos软件由Perl语言开发,所以使用circos之前需要安装Perl语言才能执行circos。在Windows环境下推荐使用草莓Perl即Strawberry Perl,它的优势是本身自带了CPAN,方便后续安装Perl的模块。
从Strawberry Perl网站http://strawberryperl.com/下载64位msi执行文件,并安装。安装完毕,添加环境标量。在DOS窗口下,使用CPAN –i module 命令就可以进行模块安装。
从Circos网站http://circos.ca/下载软件的压缩文件,Circos在Windows下不需要安装,直接解压即可。把bin路径添加环境变量,使用circos –module命令可以查看Circos所需要的Perl模块,然后使用上述方法进行安装即可。
测试:circos提供了example,在example/etc路径下有circos.conf文件,运行命令为circos –conf circus.conf,运行此命令则会在该文件夹下生产circos.png和circos.svg,图片如图3所示。如果正确出图,则说明软件安装正确。
图3
2.软件说明
Circos采用circos –conf circos.conf的方式运行,其中circos.conf为配置文件。Circos.conf文件中可以分为染色体配置和内圈图形配置两部分。染色体部分为图形中最外圈的部分,为图形的基本部分,该部分指定所需要绘制的染色体,扇区比例,每个扇区半径大小等。内圈图形部分指除了染色体外的其他图形区域,在这部分需要使用<plots> </plots>进行限定。<plots> </plots>限定了所有的内圈图形,每一层图形需要再使用<plot></plot>进行限定。
2.1circos.conf
染色体配置部分如图4所示。Karyotype指定染色体数据文件;chromosomes_units指定染色体长度单位,需要注意的是,染色体长度需要大于chromosomes_units,否则染色体扇区之间会产生空缺;chromosomes_display_default指定是否显示默认,默认状态下展示文件内所有染色体,颜色为黑色,每个扇区面积相等,且下边对染色体的具体配置信息不起作用;chromosomes指定要显示的染色体;chromosomes_scale指每个扇区占圆周的比例,例如chr1=0.5r,指染色体1占圆周的一半。chromosomes_radius指每个扇区的半径,指定不同的半径,可以使图形展示出发射或内陷的状态,起到内容强调的作用;文件中使用<<>>来指定需要调用的其他配置文件,如<<include ideogram.conf>>指定染色体条带的配置信息。在circos.conf文件中,默认会出现<<include ideogram.conf>>、<<include ticks.conf>>、<image><<include etc/image.conf>></image>、<<include etc/colors_fonts_patterns.conf>> 、<<include etc/housekeeping.conf>>等,可以通过修改ideogram.conf和ticks.conf获得想要的效果,其余几个文件基本不用修改。
图4
内圈图形配置内容使用<plots></plots>限定,每个<plot></plot>限定每一层的图形,如图5所示。其中type指定该层图形所展示的图形类型,如histogram展示了柱状图;file指定要画图的数据文件,r1和r0分别指定图形在圆圈内所占的半径范围,如r1=0.97r,r0=0.88r,即该层柱状图会出现在0.88半径到0.97半径之间的位置;thickness指定柱状图边框的宽度,0p指定不显示边框;orientation指定柱状图方向向内/向外;
图5
2.2 ideogram.conf
该配置文件对最外圈染色体进行配置,内容如图6所示。设置内容由<ideogram></ideogram>进行限定。<spacing></spacing>设置了每个染色体条带之间的间隔,设置的值为圆周的比例;radius设置染色体半径占整个图形的比例,可以通过设置不同的radius对图形进行缩放;thickness指定染色体图形边框的宽度;fill指定是否填充颜色;stroke_color设置刻度颜色;stroke_thickness设置刻度宽度;show_ticks设置是否显示刻度;show_label是否显示标签,即每个染色体的名字;label_font、label_radius、label_size分布显示染色体名称的字体,位置,大小等;label_parallel指定染色体名称是否与染色体条带平行。
图6
2.3 数据文件
数据文件同样分为外圈染色体数据和内圈图形数据。外圈染色体数据基本格式如图7所示。其中第三列、第四列、第七列为染色体名称,第五列和第六列为该染色体长度,该长度在展示的时候会根据设置的单位长度进行刻度标注。
图7
内圈图形数据会根据不同的图形类型有不同的格式,在此以柱状图和标注文字,即type= histogram和type=text为例。柱状图的数据文件如图8所示。第一列为染色体名称;第二列和第三列为柱子展示区间;第四列为柱子高度;第五列为柱子颜色。该数据展示的是在每个染色体对应三个柱子,每个柱子区间分别为0-300000,300001-600000,600001-100000。
图8
标注文字的数据文件格式如图9所示。第一列为染色体名称,第二列和第四列为文字位置,第四列为文字内容。
图9
2.4 软件配色
软件有一套自己的颜色系统,颜色及对应的名称在解压后的文件夹内,文件名字为gddiag.png,内容如图10所示。该文件给出了可以使用的颜色,没以后有一个名字,对应一个系列,每行又有多个子系列。可以用指定行名和子系列的方式使用颜色,例如rdylbu-3-div-3,指rdylbu- div所对应的行的第三个子系列的第三个颜色。知道了颜色及使用方式就可以在配置文件或数据文件中对图形设置不同的颜色了。
图10
3.结果
在本次学习中使用一个SNP相关的数据进行展示,分别对不同的文件进行配置,并进行绘图,绘图结果如图11所示。
图11
Circos软件学习的更多相关文章
- lotus domino 软件学习网站(自己收藏的)
lotus domino 软件学习网站(自己收藏的) 我学习lotus domino时间也不是很长,相比较学习lotus,学习java的时间还是比较长的,刚开始看网上的说法都是不看好lotus的, 但 ...
- 【平差软件学习---科傻】四、科傻二等水准平差(参数设置和in1文件讲解)
[平差软件学习---科傻]四.科傻二等水准平差(参数设置和in1文件讲解) 这个算是最后一集了,也可能不是如果我想到不足的地方我会在补上一集视频,或者是文章页.总感觉自己操作的很熟练,到自己真正讲的时 ...
- 【软件学习】怎么在Word里面设置MathType分隔符,使公式按照章节自动编号
前提 确保已安装好了MathType,且在设置为Word加载项 若没有安装或设置为加载项,请转至博客另一篇文章: [软件学习]如何下载安装Mathtype,并将其加载至Word 第一步 点击MathT ...
- 【分享】LateX排版软件学习教程合集
来源于:http://www.hejizhan.com/html/xueke/416/x416_13.html LATEX2e科技排版指南.pdf 8.3 MB An Example LaTeX ...
- 优秀开源软件学习系列(一)——从零学习Spring4以及学习方法分享
一.目的1.掌握Spring4怎样使用,以便将这个框架作为自己的一项技能.2.掌握Spring官网是怎样介绍其产品的,在心中对Spring有最官方的.最直观的了解.在Spring的相关领域,能够知道怎 ...
- beyond compare 软件学习
beyond compare 软件可以实现基本的文件对比,这点和 NotePad++ 的功能一样.但是在实现文件夹与文件夹之间的对比的话,就要使用 beyond compare 进行对比,效率是成倍提 ...
- 烂泥:gpg加解密软件学习
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 为什么要学习gpg呢?因为要在Linux下把一个邮箱的密码加密,不让其他人看到该邮箱真 ...
- [XMPP]iOS聊天软件学习笔记[一]
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 安装软件 学习linux命令
nm -D /usr/lib64/libstdc++.so.6 | grep GLIBCnm dumps named symbols, -D for dynamic libs, and grep fo ...
- UI_UE在线就业班(2)(Adobe Illustrator软件学习)
Adobe Illustrator软件的使用 认识AIUI_UE在线就业班(2) . ▼ AI是Adobe Illustrator的英文缩写,是Adobe公司旗下推出的一款基于矢量图形制作 ...
随机推荐
- Redhat 7.6安装11G RAC GI时遇到此类报错
环境:Redhat Linux 7.6 + Oracle 11.2.0.4 RAC 现象:图像化安装过程中,按照提示执行root.sh脚本,报错中断. 1. 具体现象 2. 定位问题 3. 解决问题 ...
- 大疆消费级无人机调参软件 Assistant 2 与模拟器
0 大疆消费级无人机调参 Assistant 2 无人机调参软件常用来为无人机的某些参数做校准.大疆的无人机调参软件分为行业级版和消费级版. 行业级版本基本为每个适配机型都添加了与之对应的模拟器功能. ...
- nginx实现资源文件动静分离的记录
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat ...
- 鸿蒙NEXT开发案例:光强仪
[引言] 本文将介绍如何使用鸿蒙NEXT框架开发一个简单的光强仪应用,该应用能够实时监测环境光强度,并给出相应的场景描述和活动建议. [环境准备] 电脑系统:windows 10 开发工具:DevEc ...
- x-easypdf 初始
一.概述 一个 java 语言简化处理 pdf 的框架 项目主页 https://x-easypdf.cn 项目概述 x-easypdf是一个java语言简化处理pdf的框架,包含fop模块与pdfb ...
- TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
前言 前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用.但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用 ...
- 前端每日一知之css选择器
脑图在线链接 本文内容依据[js每日一题]公众号精彩文章总结而来
- uni-app中使用svg
标签: svg js uni-app 前情 uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni- ...
- R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解
对于分类预测模型的表现评估我们最常见的指标就是ROC曲线,报告AUC.比如有两个模型,我们去比较下两个模型AUC的大小,进而得出两个模型表现的优劣.这个是我们常规的做法,如果我们的研究关注点放在&qu ...
- 在 Azure AI Studio 中创建项目并使用聊天演练场
在 Azure AI Studio 中创建项目并使用聊天演练场 See: Create a project and use the chat playground in Azure AI Studio ...