如果您在学习本教程中存在困难,可能因为缺少背景知识,建议先阅读本系统前期文章
宏基因组研究中,你想不想知道那些序列来自那些菌,想不想拼出末知菌的基因组呢?
其实这些可以有,很多高水平文章中都有,这个过程就叫Binning(我习惯将其翻译为分箱),是宏基因组分析提升档次的关键步骤。
想了解Bining的背景知识,请阅读《一文读懂宏基因组binning》。想全面了解哪些软件可以Binning,请看《精选30余款宏基因组分析软件》。想知道更全面的Bin软件及评估,可以阅读本月刚发表的Nature Method(http://dx.doi.org/10.1038/nmeth.4458),或阅读之前写的导读《Nature Method: 史上最权威宏基因组软件评估—人工重组宏基因组基准数据集》,其中有9款Bin软件的简介和比较。
https://2017-cicese-metagenomics.readthedocs.io/en/latest/binning.html
宏基因组拼接以后,接下来常用的分析就是分箱(binning),即将组装的叠连群(contigs)进行分组或分箱,这些组内可能来自相近的分类学单元。有许多工具可用于Binning,详细介绍和评估见Nature Method: Critical Assessment of Metagenome Interpretation—a benchmark of metagenomics software。本文只介绍两款易用且高引的软件 ——MaxBin (引用105次) 和MetaBAT (引用123次)。为了进行分箱,我们先要使用bwa比对原始序列到拼接结果,估计叠连群的相对丰度。对于分箱的结果,我们要使用VizBin进行检查。
MaxBin安装
# 进入工作目录
wd=~/test/metagenome17
cd $wd
# 下载Maxbin
curl https://downloads.jbei.org/data/microbial_communities/MaxBin/getfile.php?MaxBin-2.2.2.tar.gz > MaxBin-2.2.2.tar.gz
# 解压并安装
tar xzvf MaxBin-2.2.2.tar.gz
cd MaxBin-2.2.2/src
make
cd $wd
git clone https://github.com/COL-IU/FragGeneScan.git
cd FragGeneScan
make clean
make fgs
cd $wd
git clone https://github.com/loneknightpy/idba.git
cd idba
./build.sh
sudo apt-get install bowtie2 hmmer
export PATH=$PATH:$wd/idba/bin
export PATH=$PATH:$wd/FragGeneScan
export PATH=$PATH:$wd/MaxBin-2.2.2
MetaBAT安装
cd $wd
# 此处如下载不成功,自己下载吧。百度云链接已经被和谐了
curl -L https://bitbucket.org/berkeleylab/metabat/downloads/metabat-static-binary-linux-x64_v0.32.4.tar.gz > metabatv0.32.4.tar.gz
tar xvf metabatv0.32.4.tar.gz
现在开始分箱(Binners)的时间到,注意MaxBin运行时是非常耗时的。本文为了演示,采用牺牲质量而换取时间的方式来让大家演示。
Maxbin考虑每个contig的序列覆盖度和四碱基频率,以记录每个bin的标志基因数量.
将count文件传递给MaxBin
mkdir binning
cd binning
mkdir maxbin
cd maxbin
ls $wd/mapping/*coverage.tab > abundance.list # 需要完成第7节:比对
开始bin
run_MaxBin.pl -contig $wd/mapping/subset_assembly.fa -abund_list abundance.list -max_iteration 5 -out mbin
此步会产生一系列文件。看一下文件,会发现产生一系统*.fasta
的按数字排列的文件,这些就是预测的基因组bins。
先查看less mbin.summary
的总体情况
Bin name Completeness Genome size GC content
mbin.001.fasta 15.0% 228392 31.0
mbin.002.fasta 15.9% 404710 33.3
mbin.003.fasta 64.5% 1252476 55.1
mbin.004.fasta 81.3% 1718948 53.5
mbin.005.fasta 82.2% 2737044 37.0
mbin.006.fasta 69.2% 2106585 50.3
mbin.007.fasta 87.9% 1932782 46.1
将所有的bin文件链接起来,并将文件名作为序列名
for file in mbin.*.fasta
do
num=${file//[!0-9]/}
sed -e "/^>/ s/$/ ${num}/" mbin.$num.fasta >> maxbin_binned.concat.fasta
done
我们还要生成一个用于可视化的列表
echo label > maxbin_annotation.list
grep ">" maxbin_binned.concat.fasta |cut -f2 -d ' '>> maxbin_annotation.list
MetaBAT分箱考虑三点:测序reads覆盖度(read coverage)、覆盖度变异(coverage variance)、和四碱基频率(tetranucleotide frequencies)。
cd $wd/binning
mkdir metabat
cd metabat
ln -fs $wd/mapping/*abundtrim*sorted.bam .
# 统计contig覆盖度
$wd/metabat/jgi_summarize_bam_contig_depths --outputDepth depth_var.txt *bam
运行MetaBAT script
$wd/metabat/metabat -i $wd/mapping/subset_assembly.fa -a depth_var.txt --verysensitive -o metabat -v > log.txt
合并所有的bin结果
for file in metabat.*.fa
do
num=${file//[!0-9]/}
sed -e "/^>/ s/$/ ${num}/" metabat.$num.fa >> metabat_binned.concat.fasta
done
生成bin编号注释文件
echo label > metabat_annotation.list
grep ">" metabat_binned.concat.fasta |cut -f2 -d ' '>> metabat_annotation.list
我们现在有MaxBin, MetaBin两种结果,首要先做的是质量评估。最常用的工具是CheckM。但是由于时间有限,今天只介绍VizBin使用。
安装VizBin
cd $wd
sudo apt-get install libatlas3-base libopenblas-base default-jre
curl -L https://github.com/claczny/VizBin/blob/master/VizBin-dist.jar?raw=true > VizBin-dist.jar
java -jar VizBin-dist.jar
想要显示图型界面,需要Xmanager安装成功。也可以在Windows上运行jar程序。
按选择(choose),菜单中选择$wd/mapping/binning/maxbin_binned.concat.fasta
,可以直接点开始(Start)。
看到了什么,具体可以阅读VizBin原文。
同样分析metaBAT的结果。
比较两种方法:
- 分别有多少bins?
- 有多少个明显的bins?
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外七十多位PI,七百多名一线科研人员加入。参与讨论,获得专业指导、问题解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职务”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
点击阅读原文,跳转最新文章目录阅读
https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA