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

前情提要

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

  • 宏基因组分析理论教程
  • 微生物组入门圣经+宏基因组分析实操课程
  • 1背景知识-Shell入门与本地blast实战
  • 2数据质控fastqc, Trimmomatic, MultiQC, khmer
  • 3组装拼接MEGAHIT和评估quast
  • 4基因注释Prokka
  • 5基于Kmer比较数据集sourmash
  • 5基于Kmer比较数据集sourmash
  • 6不比对快速估计基因丰度Salmon
  • 7bwa序列比对, samtools查看, bedtools丰度统计
  • 8分箱宏基因组binning, MaxBin, MetaBin, VizBin
  • 9组装assembly和分箱bin结果可视化—Anvi’o
  • MetaPhlAn2分析有参宏基因组

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

可视化基因覆盖度和方向

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看结果吧。

宏基因组实战10. 绘制圈图-Circos安装与使用_第1张图片

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

参考文献

  • 英文版 https://2017-cicese-metagenomics.readthedocs.io/en/latest/circos_tutorial.html
  • 文章链接 http://genome.cshlp.org/content/early/2009/06/15/gr.092759.109.abstract
  • 官方教程 http://circos.ca/documentation/tutorials
  • 官方课程 http://circos.ca/documentation/course/

猜你喜欢

  • 一文读懂:1微生物组 2进化树 3预测群落功能
  • 热文:1图表规范 2DNA提取 3 实验vs分析
  • 必备技能:1提问 2搜索 3Endnote
  • 文献阅读 1热心肠 2SemanticScholar 3geenmedical
  • 扩增子分析:1图表解读 2分析流程 3统计绘图 4群落功能 5进化树
  • 科研团队经验:1云笔记 2云协作 3公众号
  • 系列教程:1Biostar 2微生物组 3宏基因组
  • 生物科普 1肠道细菌 2生命大跃进 3细胞的暗战 4人体奥秘

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外七十多位PI,七百多名一线科研人员加入。参与讨论,获得专业指导、问题解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职务”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
image

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
image

点击阅读原文,跳转最新文章目录阅读
https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA

你可能感兴趣的:(宏基因组,宏基因组分析)