宏基因组实战10. 绘制圈图-Circos安装与使用

前情提要 如果您在学习本教程中存在困难,可能因为缺少背景知识,建议先阅读本系列前期文章 宏基因组分析理论教程微生物组入门圣经+宏基因组分析实操课程1背景知识-Shell入门与本地blast实战2...

前情提要

如果您在学习本教程中存在困难,可能因为缺少背景知识,建议先阅读本系列前期文章

Circos安装与使用

Circos是不款功能强大的可视化软件,可以使用环状图形展示基因数据比较。可以添加多种图展信息,如热图、散点图等。

本教程目标:

  • 在Ubuntu上安装circos
  • 可视化宏基因组数据

注: 除了本文的简短教程,circos官网有非常详细的教程

安装Circos

sudo apt-get -y install libgd-perl

wd=~/test/metagenome17
cd $wd
mkdir circos
cd circos
curl -O http://dib-training.ucdavis.edu.s3.amazonaws.com/metagenomics-scripps-2016-10-12/circos-0.69-3.tar.gz
tar -xvzf circos-0.69-3.tar.gz

# 安装模块
circos -modules > modules
grep missing modules |cut -f13 -d " " > missing_modules
for mod in $(cat missing_modules);
do
sudo cpan install $mod;
done

# 检查模块是否安装好,全部出现OK则全部安装成功
circos -modules

# 运行演示数据
cd $wd/circos/circos-0.69-3/example
bash run

Use of uninitialized value in join or string at /mnt/bai/yongxin/test/metagenome17/circos/circos-0.69-3/bin/../lib/Circos/Heatmap.pm line 75. 上面报错信息,但并没有影响结果生成 将会产生``circos.png`

attachments-2017-11-LKVG9wGN5a180abb258e4.jpg

可视化基因覆盖度和方向

mkdir ${wd}/circos/plotting
cd ${wd}/circos/plotting

# 链接prokka注释文件,salmon定量文件
ln -fs ${wd}/annotation/prokka_annotation/metagG.gff .
ln -fs ${wd}/annotation/final.contigs.fa .
ln -fs ${wd}/quant/*.counts .

# 下载脚本辅助绘图
curl -L -O https://github.com/ngs-docs/2016-metagenomics-sio/raw/master/circos-build.tar.gz
tar -xvzf circos-build.tar.gz
curl -L -O https://s3-us-west-1.amazonaws.com/dib-training.ucdavis.edu/metagenomics-scripps-2016-10-12/subset_assembly.fa.gz
gunzip subset_assembly.fa.gz
# 上步无法下载可翻墙或从上节位置复制 cp $wd/anvio-work/subset_assembly.fa .
mv subset_assembly.fa final.contigs.fa
  
使用khmer包提取长contigs可视化(太多人类不可读)

# 进入python3虚拟环境
. ~/py3/bin/activate
extract-long-sequences.py  final.contigs.fa -l 24000 -o final.contigs.long.fa

# 生成circos需要的文件
python parse_data_for_circos.py

python2.7.12报错File "/usr/local/lib/python2.7/dist-packages/pandas/core/indexing.py", line 1390, in error (key, self.obj._get_axis_name(axis))) KeyError: 'the label [count] is not in the [index]'

python3.5.2报错信息 KeyError: 'the label [count] is not in the [index]' 脚本应该是好脚本,只是不知道那里出了错。

# 手动运行脚本
mkdir -p org_gff
grep '>' final.contigs.long.fa |cut -f1 -d ' '|cut -f2 -d '>' > org_list
"for org in `cat org_list`; do grep -w $org metagG.gff > $org.subset.gff; done
mv *subset.gff org_gff
# 后面只有不多的python代码,只是我看不懂了,大神来帮忙看看问题吧parse_data_for_circos.py

Circos主要操作三类文件:

  1. 配置文件,包括样式和输出的图
  2. 核型文件,定义染色体大小布局
  3. 图中的具体配置属性

上面的脚本产生核形文件和另外四个文件,它们都是什么,从那来的吗?

我们进入circos-build并打``circos`:

cd circos-build
circos

此命令会产生circos.svg and circos.png看结果吧。

attachments-2017-11-wuJ9QBxE5a180af5266d1.png

我们仔细看一下circos.config,可以按帮助尝试修改,如颜色、半径 大小,看看有那些变化?

参考文献

猜你喜欢


  • 发表于 2017-11-22 23:37
  • 阅读 ( 6577 )
  • 分类:其他组学

0 条评论

请先 登录 后评论
不写代码的码农
刘永鑫

工程师

64 篇文章

作家榜 »

  1. 祝让飞 118 文章
  2. 柚子 91 文章
  3. 刘永鑫 64 文章
  4. admin 57 文章
  5. 生信分析流 55 文章
  6. SXR 44 文章
  7. 张海伦 31 文章
  8. 爽儿 25 文章