Fork me on GitHub

Circos教程(一):安装

一、简介

首先,CIRCOS官网:这里
什么是CIRCOS,简单的说,CIRCOS是一个将数据和信息可视化的工具包,它可以在一个圆形的布局中可视化数据,这就能够使CIRCOS很理想的研究物体或者位置之间的关系。
下面是使用Circos绘制的一些图:
Circos介绍

二、下载和安装

首先,下载地址:这里
这里面有几个包,根据需要下载:

软件 介绍
circos-0.69-2.tgz 这是用来绘图的主要的安装包程序文件(版本根据自己需要,一般选择最新的)
circos-tutorials-0.67.tgz 这里面是用户的教程,详细的配置说明,解释,每一个图对应的相应的Circos配置文件和数据文件(个人觉得很重要,我的学习主要来自这里)
circos-tools-0.22.tgz 这里面是一些工具,根据需要选择

其中Circos是基于perl脚本的程序,所以它的安装难度也主要集中在安装好perl和相应的模块。而Circos的这个安装包,下载下来之后,直接解压就可以使用。

下面是Circos安装最重要,也可能是困难的部分,perl模块的安装。主要是非root用户的perl使用安
下面详细讲解一下perl的模块安装。(我这里以基于Linux的服务器来进行讲解)
首先,我们没有root权限,所以我们需要自己安装一个perl(官网下载,source源码编译安装),或者ActiveState Perl,我这里一源码编译安装做讲解。

其中我也尝试过ActiveState Perl,但是由于它提示报错: perl/bin/perl: /lib64/libc.so.6:
version `GLIBC_2.14’ not found (required by perl/bin/perl)
解决方法:参考ghui’s world 事先说明,我没有通过他的方法成功解决问题。
主要原因是glibc的版本不够,在网上找了一些教程,但是没有解决,最好的方法还是管理员直接升级glibc,但是这可能很麻烦,引起很多问题。所以放弃了,其实要是能够下载到低版本的ActivePerl就可以直接安装了,但是我在官网上没有找到低版本(最好是5.18),就放弃了。

然后就是perl的本地安装了,这个网上的教程很多,基本上没有什么问题所以就省略了。
在本地安装完成之后,然后修改环境变量,然后查看perl安装好了没有:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ which perl
~/bin/perl/bin/perl
$ perl -v
This is perl 5, version 22, subversion 2 (v5.22.2) built for x86_64-linux-thread-multi

Copyright 1987-2015, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

这样,我们就可以进入到模块的安装:
首先,我们看一下需要安装安装那些文件:
首先进入到我们解压后的circos目录下的bin目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$ cd /your/path/circos/bin
$ ls
circos circos.exe compile.bat compile.make gddiag list.modules test.modules
[xxyi@login bin]$ ./list.modules
Carp
Clone
Config::General
Cwd
Data::Dumper
Digest::MD5
File::Basename
File::Spec::Functions
File::Temp
FindBin
Font::TTF::Font
GD
GD::Image
Getopt::Long
IO::File
List::MoreUtils
List::Util
Math::Round
Math::Trig
Math::VecStat
Memoize
Params::Validate
Pod::Usage
POSIX
Readonly
Regexp::Common
Statistics::Basic
Storable
Sys::Hostname
Text::Balanced
Text::Format
Time::HiRes

接下来要做的就是一个个安装这些软件:
主要有三种方法:
第一种方法:
perl -MCPAN -e shell

1
2
3
4
5
6
$ perl -MCPAN -e shell
Redundant argument in sprintf at /public/home/xxyi/bin/perl/lib/5.22.2/CPAN.pm line 314.
cpan shell -- CPAN exploration and modules installation (v2.10)
Enter 'h' for help.

cpan[1]> install Bundle::CPAN Bundle::LWP

建议大家安装以上两个包,这可以解决我们安装时需要的一些安装包的依赖包。

通过同样的方法可以安装其他的安装包:
当然对于有些安装的时候 test不通过的模块可以使用force install安装包,强制安装软件,还有一些软件因为依赖包的关系,不能安装,所以可以通过先安装它的依赖包,再安装这个包,同样的不能安装的包可以尝试强制安装。

进入到安装界面:
举个例子:
Readonly安装失败,就是一个依赖包的安装,在test的时候没有通过,导致安装失败。因此Readonly安装会你首先安装这个依赖包,出错,然后强制安装
perl -MCPAN -e shell
force install 依赖包
再安装Readonly

对于Perl GD 模块的安装,必须先安装ligd:
libgd网站:http://libgd.github.io/
下载地址:https://github.com/libgd/libgd/releases
安装方法:见我另一篇博客:这里

第二种方法:
举个例子:

1
$ cpan -i Config::General

这个方法跟第一个方法差不多

第三种方法:
对于其中一直安装不上的软件可以尝试手工安装
举个例子:
就是我在安装Font::TTF::Font,安装一直报错,所以本地安装,在http://search.cpan.org/下载发现,解压出来不对,可能是这个原因才导致安装出错。报错如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ cpan -i Font::TTF::Font  
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: Storable loaded ok (v2.53_01)
Reading '/public/home/xxyi/.cpan/Metadata'
Database was generated on Wed, 25 May 2016 11:17:02 GMT
Running install for module 'Font::TTF::Font'
CPAN: Digest::SHA loaded ok (v5.95)
CPAN: Compress::Zlib loaded ok (v2.069)

Checksum mismatch for distribution file. Please investigate.

Distribution id = M/MH/MHOSKEN/Font-TTF-1.05.tar.gz
CPAN_USERID MHOSKEN (Martin Hosken <martin_hosken@sil.org>)
CALLED_FOR Font::TTF::Font
CHECKSUM_STATUS
CONTAINSMODS Font::TTF Font::TTF::AATKern Font::TTF::AATutils Font::TTF::Anchor Font::TTF::Bsln Font::TTF::Cmap Font::TTF::Coverage Font::TTF::Cvt_ Font::TTF::DSIG Font::TTF::Delta Font::TTF::Dumper Font::TTF::EBDT Font::TTF::EBLC Font::TTF::Fdsc Font::TTF::Feat Font::TTF::Features::Cvar Font::TTF::Features::Size Font::TTF::Features::Sset Font::TTF::Fmtx Font::TTF::Font Font::TTF::Fpgm Font::TTF::GDEF Font::TTF::GPOS Font::TTF::GSUB Font::TTF::Glat Font::TTF::Gloc Font::TTF::Glyf Font::TTF::Glyph Font::TTF::GrFeat Font::TTF::Hdmx Font::TTF::Head Font::TTF::Hhea Font::TTF::Hmtx Font::TTF::Kern Font::TTF::Kern::ClassArray Font::TTF::Kern::CompactClassArray Font::TTF::Kern::OrderedList Font::TTF::Kern::StateTable Font::TTF::Kern::Subtable Font::TTF::LTSH Font::TTF::Loca Font::TTF::Maxp Font::TTF::Mort Font::TTF::Mort::Chain Font::TTF::Mort::Contextual Font::TTF::Mort::Insertion Font::TTF::Mort::Ligature Font::TTF::Mort::Noncontextual Font::TTF::Mort::Rearrangement Font::TTF::Mort::Subtable Font::TTF::Name Font::TTF::OS_2 Font::TTF::OTTags Font::TTF::OldCmap Font::TTF::OldMort Font::TTF::PCLT Font::TTF::PSNames Font::TTF::Post Font::TTF::Prep Font::TTF::Prop Font::TTF::Segarr Font::TTF::Silf Font::TTF::Sill Font::TTF::Table Font::TTF::Ttc Font::TTF::Ttopen Font::TTF::Utils Font::TTF::Vhea Font::TTF::Vmtx Font::TTF::Win32 Font::TTF::Woff Font::TTF::Woff::MetaData Font::TTF::Woff::PrivateData Font::TTF::XMLparse
UPLOAD_DATE 2015-01-26
incommandcolor 1
localfile /public/home/xxyi/.cpan/sources/authors/id/M/MH/MHOSKEN/Font-TTF-1.05.tar.gz
mandatory 1
negative_prefs_cache 0
prefs HASH(0xe4a1550)
reqtype c

I'd recommend removing
/public/home/xxyi/.cpan/sources/authors/id/M/MH/MHOSKEN/Font-TTF-1.05.tar.g
z. Its
checksum is incorrect. Maybe you have configured your 'urllist' with
a bad URL. Please check this array with 'o conf urllist', and
retry.

所以搜索,在github上找到这个包
然后解压安装

1
2
3
$perl Makefile.PL PREFIX=/your/local/path/to/perl INSTALLDIRS=perl
$make
$make install

这样就OK了,其他的安装包也可以这样

就使用如上的方法,一直到所有的模块安装成功:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$ ./test.modules 
Circos can now list its own modules.

> circos -modules
$ circos -modules
ok 1.38 Carp
ok 0.38 Clone
ok 2.61 Config::General
ok 3.62 Cwd
ok 2.154 Data::Dumper
ok 2.55 Digest::MD5
ok 2.85 File::Basename
ok 3.62 File::Spec::Functions
ok 0.2304 File::Temp
ok 1.51 FindBin
ok 0.39 Font::TTF::Font
ok 2.56 GD
ok 0.2 GD::Polyline
ok 2.48 Getopt::Long
ok 1.16 IO::File
ok 0.415 List::MoreUtils
ok 1.45 List::Util
ok 0.01 Math::Bezier
ok 1.999722 Math::BigFloat
ok 0.07 Math::Round
ok 0.08 Math::VecStat
ok 1.03 Memoize
ok 1.53_01 POSIX
ok 1.24 Params::Validate
ok 1.69 Pod::Usage
ok 2.04 Readonly
ok 2016020301 Regexp::Common
ok 2.64 SVG
ok 1.19 Set::IntSpan
ok 1.6611 Statistics::Basic
ok 2.53_01 Storable
ok 1.20 Sys::Hostname
ok 2.03 Text::Balanced
ok 0.59 Text::Format
ok 1.9733 Time::HiRes
$

成功之后,运行命令,如果显示如下的信息,则你成功的安装了Circos。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$ circos -man
NAME
____ _
/ ___(_)_ __ ___ ___ ___
| | | | '__/ __/ _ \/ __|
| |___| | | | (_| (_) \__ \
\____|_|_| \___\___/|___/

round is good

circos - generate circular data visualizations

SYNOPSIS
# without -conf Circos will search for configuration
circos

# use specific configuration file
circos -conf circos.conf

# diagnose required modules
circos -modules

# detailed debugging for code components
# see http://www.circos.ca/documentation/tutorials/configuration/debugging
circos -debug_group GROUP1,[GROUP2,...]

# full debugging
circos -debug_group _all

# absolutely no reporting
circos ... [-silent]

# configuration dump of a block (or block tree) of
# any parameters that match REGEXP (optional)
circos -cdump [BLOCK1/[BLOCK2/...]]{:REGEXP}
circos -cdump ideogram
circos -cdump ideogram:label
circos -cdump ideogram/spacing

# override configuration parameters
circos -param image/radius=2000p -param ideogram/show=no

# for fun - randomize all colors in the image except for
# COLOR1, COLOR2,...
circos -randomcolor COLOR1,[COLOR2,...]
circos -randomcolor white,black

到这里,恭喜你,你的circos安装成功,你可以开始你的绘图工作了。

热评文章