lyao222lll的个人博客分享 http://blog.sciencenet.cn/u/lyao222lll

博文

使用BUSCO评估基因组组装完整性

已有 6666 次阅读 2019-2-28 20:24 |个人分类:Software/Pipeline/Script|系统分类:科研笔记| _生信工具, _基因组评估

使用BUSCO评估基因组组装完整性

 

在得到组装好的基因组序列之后,首先要做的就是使用多种方法来对组装结果的质量进行评估。这里介绍一款可用于基因组组装质量评估的软件,BUSCOBUSCO 全称Benchmarking Universal Single-Copy Orthologs,利用OrthoDB直系同源数据库构建了六种主要的系统进化分枝(BacteriaEukaryotaProtistsMetazoaFungiPlants)的基因集,通过同源基因数据库从基因完整度层面上评估基因组的组装质量。除了应用于基因组,也常使用BUSCO评估转录本的拼接结果质量。

虽然每个物种的基因组各不相同,但对于亲缘关系较近的物种来讲,它们之间总存在一些保守的序列。基于这个特征,BUSCO根据OrthoDB数据库,针对几个大的进化分支分别构建了单拷贝基因集。在得到某物种组装后的基因组或者转录本序列后,可以将组装结果与该物种所属进化分支的基因集中的保守序列进行比对,鉴定组装的结果是否包含这些序列,包含单条、多条还是部分或者不包含等情况给出结果。其中,对于基因组,BUSCO首先调用Augustus软件进行基因结构预测,再使用HMMER3比对参考基因集;对于转录本,则在鉴定出最长读码框架之后,再使用HMMER3比对参考基因集。最终根据比对上的序列比例、完整性等,评估组装结果的准确性和完整性。

BUSCO官网:https://busco.ezlab.org

OrthoDB数据库官网:https://www.orthodb.org/

 

在本文,展示使用BUSCO评估某细菌基因组组装结果完整度的一个例子,介绍BUSCO的使用。

基因组组装草图fasta测试数据(无提取码):https://pan.baidu.com/s/1yYQNxty5hBdcpoA8xkrQUg

BUSCO结果文件示例(提取码xsji):https://pan.baidu.com/s/11CzjbTcYF_wtd6CDIdHPaQ

 


BUSCO安装



BUSCO程序


BUSCO的正常使用需要配置Blast+(用于序列比对)、HMMER(用于序列比对)以及Augustus(用于在基因组评估中预测基因),因此手动编译较为麻烦。手动编译方法此处就不再列出了,想了解的话可百度。

所幸BUSCO已经打包在Bioconda中,因此在Linux系统下,推荐使用conda安装。

conda install quast

 

数据库(单拷贝基因集)


视情况下载合适的单拷贝基因数据集。

BUSCO所有的单拷贝基因数据集共可划分为BacteriaEukaryotaProtistsMetazoaFungiPlants六大进化分支,六大进化分支中又各自包含了一些小类。在BUSCO官网(https://busco.ezlab.org)中找到“Datasets”,点击“Download all datasets”,即可根据命令行提示选择下载所需要的数据集。

1.png

2.png

 

例如,在本示例中使用的测试数据为某细菌基因组,该细菌物种名称为“Bacillus subtilis”(枯草芽孢杆菌),系统分支大类属于“Firmicutes”(厚壁菌门)或“bacteria”(细菌),因此我们可选下载“firmicutes_odb9 或直接使用“bacteria_odb9”。

wget http://busco.ezlab.org/v2/datasets/firmicutes_odb9.tar.gz
#或者
wget http://busco.ezlab.org/v2/datasets/bacteria_odb9.tar.gz

 


使用BUSCO评估基因组组装完整度


接下来使用网盘中的草图基因组测试数据,展示BUSCO的使用,并对结果进行简要描述。

首先,在BUSCO官网(https://busco.ezlab.org)“BUSCO software”,可以下载BUSCO pdf说明文档。该文档中包含了详细的BUSCO工作原理、命令行参数说明、以及运行结果解释说明等内容。若在后续存在疑问,可参阅此文档。

3.png

 

BUSCO评估示例命令


对于BUSCO主程序,我们可先查看参数说明。

python BUSCO.py -h

4.png

主要参数说明如下(更多更详细的参数说明可参见BUSCO说明文档):

-i,输入基因组fasta文件;

-o,输出结果目录的名称,会在当前工作路径下生成结果目录,不支持使用绝对路径;

-m,评估模式,包含3种类型:geno or genome,基因组序列;tran or transcriptome,转录本序列;prot or proteins,蛋白氨基酸序列;

-l,指定单拷贝基因数据集;

-c,程序运行线程数;

-e,比对e值;

-f,强制覆盖先前的结果得到新结果;

-sp,当使用基因组评估模式时,需要指定Augustus物种基因训练集,用于在基因组中较为准确地预测基因序列。

 

接下来使用BUSCO,对网盘附件中的示例数据,组装基因组草图“Bacillus_subtilis.scaffolds.fasta”的完整度进行评估。由于“Bacillus subtilis”(枯草芽孢杆菌)的系统分支大类属于“Firmicutes”,因此此处使用“firmicutes_odb9”单拷贝基因参考数据集。

python BUSCO.py -i Bacillus_subtilis.scaffolds.fasta -o busco -l firmicutes_odb9 -m genome -c 7 -e 1e-05

输入组装基因组草图“Bacillus_subtilis.scaffolds.fasta”,参考数据集“firmicutes_odb9”,评估类型为基因组类型“genome”,程序运行线程数为7以提升运行速率,比对e1e-5

作为示例,此处不再为Augustus指定明确的物种基因训练集,直接使用默认物种(E_coli_K12,某大肠杆菌菌株,Augustus物种基因训练集不匹配会导致基因结构预测出现一定误差,由于此处仅为示例故请忽略预测基因的准确性)的基因结构预测本示例中枯草芽孢杆菌基因组中的基因。注意,在真实情况中,对于原核生物,由于原核生物基因结构相似,可以不指定明确的物种名称;而在真核生物的基因组完整度评估中,由于不同类型的真核生物基因结构相差较大,为了结果的准确性一定指定明确的物种名称;Augustus中缺少对应的物种时,还需寻找近源物种的基因进行模型训练。

 

上命令“-o busco”指定了结果目录的名称,因此程序运行完毕后,在当前路径下会看到生成了结果目录“run_busco”。该目录下即为本次BUSCO评估结果,我们可进入查看评估详情。

此时可使用BUSCO自带的作图脚本“BUSCO_plot.py”,绘制评估结果图以便于我们直观地查看评估统计结果。脚本使用方法很简单,直接指定BUSCO评估结果路径即可(-wd命令),得到的统计图也生成在该结果路径中。

python BUSCO_plot.py -wd run_busco

 

主要结果简要说明


如前所述,BUSCO在对基因组完整度的评估中,首先调用Augustus软件进行基因结构预测,再使用HMMER3将预测得到的基因序列比对至保守序列参考数据集中。根据预测基因序列与参考序列的对齐程度、覆盖次数等,鉴定组装基因组中是否包含这些保守基因序列,统计包含单条、多条还是部分或者不包含等情况给出结果。据此,即可评估组装基因组的完整度。

BUSCO评估结果中主要统计以下几个指标:

Complete:完整性,在被评估的基因组中BUSCO基因的预测分数以及比对上的长度打到了要求,可具体划分为Complete and single-copyComplete and duplicated

Complete and single-copy:完整且在该基因组中只有一个拷贝的数目,该指标越高说明组装效果越好。

Complete and duplicated:完整且在该基因组中有多个拷贝的数目,由于BUSCO基因集中的基因都是单拷贝的基因,因此如果出现了多个拷贝,就说明在单体型组装过程中出现了错误,因此该指标越高说明组装效果越差。另外如果是多倍体组装的话,该值也可能大。

FragmentedFragmented的基因虽然达到了预测分数,但是长度并没达到要求。有可能基因组组装过程中没有将该片段组装出来,也有可能是基因预测的时候由于基因结构的特殊性没能完整地将该基因预测出来。该指标越低越好。

MissingFragmented的基因在基因组中完全没有找到,或者预测分数低于要求。有可能基因组组装过程中没有将该片段组装出来,也有可能是基因预测的时候由于基因结构的特殊性没能完整地将该基因预测出来。该指标越低越好。

以下是对结果中的几种主要文件的简要说明,更详细的结果内容描述可参见BUSCO说明文档

 

结果文件“short_summary_busco.txt”中,为本次BUSCO评估结果的简要统计结果,内容如下。

5.png

Complete BUSCOs (C) :多少个BUSCO测试基因被覆盖;

Complete and single-copy BUSCOs (S):多少个基因经过比对发现是单拷贝;

Complete and duplicated BUSCOs (D):多少个基因经过比对发现是多拷贝;

Fragmented BUSCOs (F):多少个基因经过比对覆盖不完全,只是部分比对上;

Missing BUSCOs (M):没有得到比对结果的基因数;

Total BMissingUSCO groups searched (n):测试基因的总条目。

 

结果文件“full_table_busco.tsv”中,记录了组装基因组序列与BUSCO测试基因的详细比对结果,内容如下。

6.png

Busco idBUSCO参考数据集中测试基因的id

Status:比对结果类型,包含CompleteFragmented等;

Contig:基因组组装结果中的contigs/scaffolds id

Start/End:组装基因组中与测试基因对齐的序列(预测基因)在contigs/scaffolds中的起始/终止位置。

Score:比对结果的score值;

Length:对齐长度。

 

同样地,若存在“Missing”比对结果,则会额外将这些结果展示在“missing_busco_list_busco.tsv”文件中。在本示例中,因不存在“Missing”结果,故该文件内为空。

 

busco_figure.png”为BUSCO默认样式的结果展示图,使用自带的“BUSCO_plot.py”脚本绘制。

7.png

在该图中,将Complete and single-copyComplete and duplicatedFragmentedMissing四种类型的数量及占比展示出,便于我们直观地查看基因组完整度。

若觉得此图排版不整齐,影响结果解读的话,可在原脚本中修改作图样式(作图脚本调用Rggplot2包进行绘制),不再多说。

 

8.png

结果文件夹“augustus_output”中,为使用Augustus软件在组装基因组中预测得到的基因序列信息。

blast_output”和“hmmer_output”分别为使用BlastHMMER,将组装基因组中的预测基因与BUSCO参考数据集中的单拷贝基因的比对结果信息。

single_copy_busco_sequences”,为组装基因组中能够与BUSCO参考数据集中的单拷贝基因对齐的序列信息。

这些结果均不再细说,细节信息可参考BUSCO说明文档。

 

总的来说,通过上述信息,我们可知在一般情况下对于完整度较好的基因组组装结果来讲,Complete and single-copy越多越好,而Complete and duplicatedMissing越少越好,对于Fragmented也尽可能地少一些。

并且最好在使用BUSCO的同时结合其它评估软件一起,如统计组装结果的总大小、contigs/scaffolds总数及各自的长度分布、N50N90GC含量等,对基因组组装结果进行综合评估。

 


参考资料


文献:

Simão F A, Waterhouse R M, Ioannidis P, et al. BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs. Bioinformatics, 2015, 31(19):3210-3212.


博文:

BUSCO-组装质量评估

用BUSCO来评估基因组完整性




http://blog.sciencenet.cn/blog-3406804-1164809.html

上一篇:QUAST在评估基因组组装质量中的使用简介
下一篇:基因组GC含量-测序reads深度分布图(GC-Depth分布图)评估基因组组装质量

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-8-12 18:58

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部