Circos是什么
Circos (http://circos.ca) 基于perl开发,最早是用于基因组学领域的研究结果呈现,目前越来越多的用于很多其他行业和领域。官网内容大概已经停更了6-7年,访问速度也很慢,但是确定的是这个软件还活着,它有活跃的用户社区,最近的版本更新是在2019年,所以准备下手的童鞋可以先不用当心它已经过时。
所有figure中最sexy的就它了
▲上下滑动查看更多;更多见官网
为什么选Circos
我们做功能连接的时候会加一个简易的circos图,展示node和node之间或者network和network之间的连接,这样的图matlab/python/R都能实现,发paper也没问题,但是还是觉得不如circos高大上。
Matlab的circularGraph可以做出这样的效果,但它很丑,可能是配色的问题,饱和度太高。
Python的networkx可以做成这样,我曾想把直线掰弯,发现难度太大~
spring layout
其实R的igraph已经好很多了
但是想展示更多的统计信息,比如每一个node的activiation, degree等信息,使用以上这三个package实现,无异于自己造轮子。R里的两个工具circlize和Rcircos可以生成和circos类似的图片,还有基于circlize的懒人包shinycircos,直接上传数据,调整参数即可作图。
shinycircos
虽然R这几个工具可以直接在R中调用非常诱人,而且几乎可以实现所有circos的功能,但是总觉得可能在灵活性上会有所欠缺,而且都是零基础入门,最终还是决定入坑circos。可能还有一部分原因是Circos的官网有毒。
安装
安装会劝退90%的非刚需用户,特别是用window系统的。Window不是安装不了[几年前成功过],只不过玄机太多,可能会浪费太多时间。Macos用homebrew是最快捷的安装方式,但是由于官网的教程一部分已过时,安装过程问题不断,以下流程2020年亲测有效。Linux也可以用brew进行安装,是不是最简单,能不能成功不得而知。
1. 升级homebrew
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow
brew update
2. 因为系统升级了big sur,这里需要安装最新的xcode
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
3. 安装perl语言和配置环境
brew tap brewsci/bio
brew remove gd
brew install gd
brew install cpanminus
sudo chown "$USER":admin /Library/Perl/5.28 # perl的版本是5.28
cpanm Config::General Font::TTF::Font Math::Bezier Math::VecStat Readonly Set::IntSpan Text::Format
# cpanm --force GD::Polyline 会报错,需要先安装pkg-config
brew install pkg-config
cpanm --force GD::Polyline
4. 安装circos
用brew install circos安装,circos用不了
brew install --build-from-source circos
brew test circos #测试是否可用
5. 为circos建立一个快捷命令,方便以后直接调用
alias circos=/usr/local/Cellar/circos/0.69-9/bin/circos
6. 试试能不能用
circos -conf test.conf
—然后就可以愉快地画圈圈了—
[此处应有一个点赞引导]