Record of circos usage
来源:互联网 发布:it服务外包最大 编辑:程序博客网 时间:2024/06/07 19:17
欢迎关注微信公众号生信宝典:http://mp.weixin.qq.com/s/2E1Y5-cEdptkQGVm0bxKbQ Circos
是绘制圈图的神器,在http://circos.ca/images/页面有很多CIRCOS可视化的示例。
Circos可以在线使用,在线使用时是把表格转为圈图,不过只允许最大75行和75列;做一些简单的示意图会比较好,最后时会介绍下在线的tableviewer
的使用。
也可以安装在本地,在本地可以绘制基于基因组的更复杂的图。
Circos由Perl写成,安装相对简单,只要Perl的包都装好了就可以了。
Circos安装
从http://circos.ca/software/download/circos/下载Circos安装包,并解压,把安装包内的bin目录加载到环境变量。
wget http://circos.ca/distribution/circos-0.69-6.tgztar xvzf circos-0.69-6.tgzln -s `pwd`/circos-0.69-6/bin/* ~/bin #make sure ~/bin is in $PATHor# 注意pwd两侧的反引号export PATH=$PATH:`pwd`/circos-0.69/bin
安装依赖的Perl包
配置CPANM (CPANM是一个文件,下载下来,增加可执行属性,放到环境变量中即可使用)
# 若无根用户权限,也可放入自己家目录下在环境变量内的目录中就可以 wget https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm -O /sbin/cpanmchmod +x /sbin/cpanm
获得依赖的Perl包,
circos -module
ok 1.11 Carpmissing Clonemissing Config::Generalok 3.3 Cwdok 2.124 Data::Dumperok 2.55 Digest::MD5ok 2.77 File::Basenameok 3.3 File::Spec::Functionsok 0.22 File::Tempok 1.50 FindBinmissing Font::TTF::Fontmissing GDmissing GD::Polylineok 2.38 Getopt::Longok 1.14 IO::Filemissing List::MoreUtilsok 1.21 List::Utilmissing Math::Bezierok 1.60 Math::BigFloatmissing Math::Roundmissing Math::VecStatok 1.01_03 Memoizeok 1.17 POSIXmissing Params::Validateok 1.36 Pod::Usagemissing Readonlymissing Regexp::Commonmissing SVGmissing Set::IntSpanmissing Statistics::Basicok 2.20 Storableok 1.11 Sys::Hostnameok 2.0.0 Text::Balancedmissing Text::Formatok 1.9721 Time::HiRes
获取缺失模块并安装
# 第一句话的目的只是查看需要运行的命令,直接运行第二句就好circos -module | grep 'missing' | awk '{a=a" "$2;}END{print "cpanm"a}'circos -module | grep 'missing' | awk '{a=a" "$2;}END{system("cpanm"a);}'
再运行
circos -module
发现GD
和GD::Polyline
没安装上,查看错误信息是No package 'gdlib' found
# 根用户yum install gd-devel
然后再用
cpanm
安装GD
和GD::Polyline
。
最简单出图
把下面的内容存储到任意目录下的任意文件比如ehbio.conf
下,然后运行circos -conf ehbio.conf
就可以获得circos的图circos.png
和circos.svg
。
karyotype = data/karyotype/karyotype.human.txt<ideogram><spacing>default = 0.005r</spacing>radius = 0.9rthickness = 20pfill = yes</ideogram>################################################################# The remaining content is standard and required. It is imported # from default files in the Circos distribution.## These should be present in every Circos configuration file and# overridden as required. To see the content of these files, # look in etc/ in the Circos distribution.<image># Included from Circos distribution.<<include etc/image.conf>></image># RGB/HSV color definitions, color lists, location of fonts, fill patterns.# Included from Circos distribution.<<include etc/colors_fonts_patterns.conf>># Debugging, I/O an dother system parameters# Included from Circos distribution.<<include etc/housekeeping.conf>>
上述命令是怎么运行的呢?
# karyotype定义染色体的名字、ID、起始位置信息,是绘制图的根本karyotype = data/karyotype/karyotype.human.txt# 必须的部分,控制染色体信息显示<ideogram># 定义染色体之间的间距,为图形半径的5% (r代表radius,半径)<spacing>default = 0.005r</spacing># 染色体区域的绘制位置,默认所有染色体都处于远离圆心同样距离的位置# 这里设置的是图形半径的0.9倍的位置# 也可以设置绝对像素值radius = 0.9r# 染色体区域的宽度,可以是相对图形半径,也可以说绝对像素值thickness = 20p# 染色体区域填充颜色fill = yes</ideogram>################################################################# The remaining content is standard and required. It is imported # from default files in the Circos distribution.## These should be present in every Circos configuration file and# overridden as required. To see the content of these files, # look in etc/ in the Circos distribution.# 这些都是引用文件,暂时不去管什么意思,后面用到再逐个解释。# 但是绘图时这些必须引用。下面会解释下最关键的引用位置。<image># Included from Circos distribution.<<include etc/image.conf>></image># RGB/HSV color definitions, color lists, location of fonts, fill patterns.# Included from Circos distribution.<<include etc/colors_fonts_patterns.conf>># Debugging, I/O an dother system parameters# Included from Circos distribution.<<include etc/housekeeping.conf>>
最开始看CIRCOS的配置文件时,不理解其是如何查找用到的数据和配置目录时,不过上面配置文件中被注释掉的一句话泄露了天机look in etc/ in the Circos distribution
。配置文件和数据文件默认先在当前目录查找,若没有则去CIRCOS的安装目录下查找。
下面列出了CIRCOS搜索配置文件时查找的目录(搜索数据时也类似)
../etc/MPATHB/soft/circos-0.69-6/bin/etc/MPATHB/soft/circos-0.69-6/bin/../etc/MPATHB/soft/circos-0.69-6/bin/../MPATHB/soft/circos-0.69-6/bin
不得不敢写CIRCOS的日志输出,很详细,每次都刷屏。当我们运行CIRCOS失败时,看下日志信息,会得到很多提示。
数据和配置文件都在CIRCOS安装目录下,那么先看看它的目录结构吧。
circos安装目录介绍
bin
: 目录下是circos
可执行程序,加入环境变量即可
data
: 目录下有一个文件夹karyotype
,里面收录了几个物种染色体信息文件。
karyotype.chimp.txt karyotype.arabidopsis.tair10.txtkaryotype.human.hg38.txt karyotype.human.hg19.txtkaryotype.mouse.mm10.txt karyotype.yeast.txt karyotype.zeamays.txt
这个是绘制CIRCOS图所必须的一个文件 (文件的内容虽然通常是染色体的信息,但不局限于染色体信息,其它的区域信息、时间序列信息都可以使用)
文件内容如下 (#
后面是注释,会被忽略)
前两列是固定的,chr -
。chr
表示定义一条染色体;-
表示指定这个区域的父区域,染色体没有父区域,用-
代替。
ID
是当前区域的名字,其子区域的父区域列都使用这个名字。如果同时绘制多个物种,可在ID中包含物种的代号。
LABEL
是当前区域显示的名字。
START END
是当前区域的范围,必须是整个的区域。如果想显示部分区域,可在后续配置中修改。
COLOR
是当前区域的颜色,CIRCOS为每个染色体有定义好的颜色,存储于etc/colors.conf
。除了预先定义了染色体的颜色,还定义了一些颜色变量可以直接使用。
#chr - ID LABEL START END COLORchr - hs1 1 0 248956422 chr1chr - hs2 2 0 242193529 chr2chr - hs3 3 0 198295559 chr3chr - hs4 4 0 190214555 chr4chr - hs5 5 0 181538259 chr5chr - hs6 6 0 170805979 chr6chr - hs7 7 0 159345973 chr7chr - hs8 8 0 145138636 chr8chr - hs9 9 0 138394717 chr9
etc
目录下是配置文件,前面引用到了3个。
image.conf
内容如下
<<include image.generic.conf>><<include background.white.conf>>
image.generic.conf
内容如下,定义了输出的图形的名字、格式、大小等,这些都可以在自定义配置文件,即前面提到的ehbio.conf
中覆盖。
dir = . #dir = conf(configdir)file = circos.pngpng = yessvg = yes# radius of inscribed circle in imageradius = 1500p# by default angle=0 is at 3 o'clock positionangle_offset = -90#angle_orientation = counterclockwiseauto_alpha_colors = yesauto_alpha_steps = 5
background.white.conf
只定义了背景是白色。
colors_fonts_patterns.conf
引用了颜色、字体、预定义的图形文件信息的配置
<colors><<include etc/colors.conf>></colors><fonts><<include etc/fonts.conf>></fonts><patterns><<include etc/patterns.conf>></patterns>
colors.conf
及其引用文件内容摘录如下,利用RGB组合设置了颜色变量、系列颜色和染色体的颜色。(染色体的名字全部使用小写)
dpblue = 0,153,237vdpblue = 0,136,220vvdpblue = 0,120,204vvlpurple = purples-7-seq-1vlpurple = purples-7-seq-2gpos100 = 0,0,0gpos = 0,0,0gpos75 = 130,130,130chr1 = 153,102,0chr2 = 102,102,0chr3 = 153,153,30
patterns.conf
定义特殊小图形的信息
# pattern fills for PNG filesvline = tiles/vlines.pngvline-sparse = tiles/vlines-sparse.pnghline = tiles/hlines.pnghline-sparse = tiles/hlines-sparse.pngchecker = tiles/checkers.pngchecker-sparse = tiles/checkers-sparse.pngdot = tiles/dots.pngdot-sparse = tiles/dots-sparse.pngsolid = tiles/solid.png
housekeeping.conf
必须在最上层自定义配置文件中(也就是ehbio.conf
)中引用。这个文件名字起的很生物,持家配置,必须要,而且不建议修改。具体内容就不列出了,感兴趣的自己去看。
下一篇开始复杂点的绘图了。
生信宝典,一起学生信
http://mp.weixin.qq.com/s/i71OMaUu6QtcY0pt1njHQA
生信宝典,生物信息学习系列教程,转录组,宏基因组,外显子组,R作图,Python学习,Cytoscape视频教程
http://mp.weixin.qq.com/s/d1KCETQZ88yaOLGwAtpWYg
生信宝典,最好的生物信息培训课程,培训课程资料
www.ehbio.com/Training
- Record of circos usage
- Circos
- Usage of Pseudocode
- Usage of MFC CRectTracker
- Usage of awk
- effective usage of strtok
- Usage of Protocol Buffer
- Usage of pmake
- Usage sample of SSL
- usage of >>>、>> and << operators
- Extensive usage of Make
- Usage of Oracle Block
- Usage of TKPROF
- Usage of Ftp
- Usage of Func delegate
- Usage of Vmstat
- Usage Of TRCA
- Usage of #pragma
- StringBuilder,ArrayList等常用数据结构扩容大小
- win10下Anaconda3配置环境变量
- 使用 CLI 创建 Azure VM 的自定义映像
- LAMP环境搭建系列之一:Oracle VM VirtualBox 安装 CentOS 6.9
- Android Studio打包时,已经混淆的jar文件报错(Unknown verification type [*] in stack map frame)
- Record of circos usage
- 如何使用可用性集
- 声码器简介
- TabLayout和banner与XLISTView混合运用
- OpenGL – Lighting
- selenium之 chromedriver与chrome版本映射表(更新至v2.33
- java调用打印机
- jemeter如何下载安装
- XlistView刷新加载和Banner轮播