Circos is a software tool that lets you make beautiful circular figures, which are increasingly a common feature of genome-related papers (here are some examples). Circos, which is free to use, is built on Perl and requires a lot of Perl modules to be installed in order to work.
This is not always as straightforward as one might imagine, though Circos helps you by providing a tool to quickly see which modules you already have and which still need to be installed. I've previously set up Circos on Mac OS X, but today I had to install it on our Linux box (running CentOS 6). These are the steps I went through in order to get Circos up and running. Hopefully, this might be useful to others in the same situation.
### Installing Circos on CentOS ### # These instructions assume that you are installing Circos in # a '/Bioinformatics/Packages' directory and also that you have root access # Preparatory steps su mkdir /Bioinformatics/Packages/Circos cd /Bioinformatics/Packages/Circos # Download the latest *.tgz release and copy to Circos directory wget http://circos.ca/distribution/circos-0.64.tgz tar -xvzf circos-0.64.tgz cd circos-0.64 # To test what modules we will need to install, use Circos' built-in tool cd bin ./test.modules # This leads to having to install: perl -MCPAN -e 'install Clone' perl -MCPAN -e 'install Config::General' perl -MCPAN -e 'install Font::TTF::Font' perl -MCPAN -e 'install GD' # GD module installation failed and so I had to to also install gd library: yum install gd gd-devel # now back to the Perl modules perl -MCPAN -e 'install GD' perl -MCPAN -e 'install List::MoreUtils' perl -MCPAN -e 'install Math::Round' perl -MCPAN -e 'install Math::VecStat' perl -MCPAN -e 'install Params::Validate' # Params::Validate didn’t seem to install properly, so I tried a manual approach cd wget http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Params-Validate-1.07.tar.gz tar -xvzf Params-Validate-1.07.tar.gz cd Params-Validate-1.07 perl Build.PL # This failed because I needed a newer version of some other Perl modules # even though the ./test_modules script reported everything was okay perl -MCPAN -e 'install Module::Build' perl -MCPAN -e 'install Module::Implementation' # Can now hand install Params-Validate ./Build ./Build test ./Build install # And back to the Perl modules perl -MCPAN -e 'install Readonly' perl -MCPAN -e 'install Regexp::Common' perl -MCPAN -e 'install Text::Format' # Tidy up and set up symbolic links rm -rf ~/Params-Validate-1.07 rm ~/Params-Validate-1.07.tar.gz cd /Bioinformatics/Packages/Circos ln -s circos-0.64 current cd /Bioinformatics/bin ln -s ../Packages/Circos/current/bin/circos # Try running circos ./circos # This still wasn’t enough!!! # Running circos complained that I needed 2 more Perl Modules! perl -MCPAN -e 'install Math::Bezier' perl -MCPAN -e 'install Set::IntSpan' # Try running circos again ./circos # Success! And by 'success' I mean that you can now get to a point where you are # seeing errors from the Circos program (i.e. you need to set up your Circos # configuration file).