QUAST安装及使用(Bioinformatics工具-022)

01 背景

QUAST(Quality Assessment Tool for Genome Assemblies)是基因组质量评估工具,基于python开发,matplotlib绘图。

QUAST 代表质量评估工具(QUality ASsessment Tool)。它通过计算各种指标来评估基因组/元基因组组装。当前的 QUAST 工具包包括通用的基因组组装工具 QUAST,元基因组数据集扩展 MetaQUAST,用于大基因组(如哺乳动物)的扩展 QUAST-LG,以及用于这些工具的交互式可视化工具 Icarus。通过计算各种指标来评估基因组的组装,包括N50,L50,GC含量等contig基本信息。

QUAST 工具包可以在有无参考基因组的情况下工作。然而,如果提供至少一个接近的参考基因组,则它会更具信息性。该工具接受多个组装,因此适合比较。

02 参考
https://github.com/ablab/quast         #官网
 03 安装
wget -c https://github.com/ablab/quast/releases/download/quast_5.2.0/quast-5.2.0.tar.gz
tar -zxvf quast-5.2.0.tar.gz
04 使用及常用命令行
用法:python /quast-5.1.0rc1/quast.py [选项] <包含contigs的文件>

选项:
-o  --output-dir  <目录名>       用于存储所有结果文件的目录 [默认:quast_results/results_<日期时间>]
-r                <文件名>       参考基因组文件
-g  --features [类型:]<文件名>  参考基因组中特征坐标的文件(GFF、BED、NCBI或TXT)
                                可选的“类型”可以指定用于仅从GFF中提取特定的特征类型
-m  --min-contig  <整数>         contig长度的下限 [默认:500]
-t  --threads     <整数>         最大线程数 [默认:CPU的25%]

高级选项:
-s  --split-scaffolds                 通过连续的N片段分割组装并将这些“contigs”添加到比较中
-l  --labels "标签, 标签, ..."        在报告中使用的组装名称,用逗号分隔。如果包含空格,请使用引号
-L                                    从其父目录名中获取组装名称
-e  --eukaryote                       基因组是真核生物(主要影响基因预测)
    --fungus                          基因组是真菌(主要影响基因预测)
    --large                           使用最佳参数评估大型基因组
                                      特别是,施加 '-e -m 3000 -i 500 -x 7000'(可以手动覆盖)
-k  --k-mer-stats                     计算基于k-mer的质量指标(建议用于大型基因组)
                                      这可能会显著增加大型基因组的内存和时间消耗
    --k-mer-size                      用于--k-mer-stats的k大小 [默认:101]
    --circos                          绘制Circos图
-f  --gene-finding                    使用GeneMarkS(原核生物,默认)或GeneMark-ES(真核生物,使用--eukaryote)预测基因
    --mgm                             使用MetaGeneMark进行基因预测(代替默认的预测工具,见上文)
    --glimmer                         使用GlimmerHMM进行基因预测(代替默认的预测工具,见上文)
    --gene-thresholds <整数,整数,...> 用逗号分隔的基因长度阈值列表,使用基因发现模块进行搜索
                                      [默认:0,300,1500,3000]
    --rna-finding                     使用Barrnap预测核糖体RNA基因
-b  --conserved-genes-finding         使用BUSCO计算保守的直系同源基因数量(仅在Linux上)
    --operons  <文件名>               参考基因组中操作子的坐标文件(GFF、BED、NCBI或TXT)
    --est-ref-size <整数>             估算的参考基因组大小(用于在没有参考的情况下计算NGx指标)
    --contig-thresholds <整数,整数,...> 用逗号分隔的contig长度阈值列表 [默认:0,1000,5000,10000,25000,50000]
    --x-for-Nx <整数>                 用于Nx、Lx等指标的'x'值,除了N50、L50等之外还会报告这些指标(0, 100) [默认:90]
-u  --use-all-alignments              计算基因组片段数、基因数、操作子数,采用QUAST v1.*风格。
                                      默认情况下,QUAST会过滤Minimap的比对结果,仅保留最好的
-i  --min-alignment <整数>            最小比对长度 [默认:65]
    --min-identity <浮点数>            最小比对身份(80.0, 100.0) [默认:95.0]
-a  --ambiguity-usage <none|one|all>  当所有比对几乎同样好时,使用none、one或all比对 [默认:one]
    --ambiguity-score <浮点数>        定义单个contig的同样好的比对的评分S。所有比对按LEN * IDY%值降序排序。
                                      所有LEN * IDY% < S * best(LEN * IDY%)的比对将被丢弃。S应在0.8到1.0之间 [默认:0.99]
    --strict-NA                       在计算NAx和NGAx时,在任何误组装事件中分割contigs。
                                      默认情况下,QUAST仅通过广泛的误组装(而不是局部的)分割contigs
-x  --extensive-mis-size  <整数>      广泛误组装大小的下限。所有不一致性小于广泛误组装大小的重定位被视为局部误组装 [默认:1000]
    --scaffold-gap-max-size  <整数>   允许的最大scaffold间隙长度差异。所有不一致性小于scaffold间隙大小的重定位被视为scaffold间隙误组装 [默认:10000]
    --unaligned-part-size  <整数>     检测部分未比对contigs的下限。这样的contig应至少有一个未比对片段≥阈值 [默认:500]
    --skip-unaligned-mis-contigs      不将未比对碱基≥50%的contigs区分为单独的组
                                      默认情况下,QUAST不会在它们中计算误组装
    --fragmented                      参考基因组可能被分成小片段(例如,已组装的参考基因组)
    --fragmented-max-indent  <整数>   如果两个比对都位于参考片段末端N碱基以内,则将其标记为假转位 [默认:85]
                                      需要 --fragmented 选项
    --upper-bound-assembly            基于参考基因组和reads模拟上限组装
    --upper-bound-min-con  <整数>     将上限contigs连接成scaffold所需的最小“连接reads”数
                                      [默认:2用于mate-pairs,1用于长reads]
    --est-insert-size  <整数>         在上限组装模拟中使用提供的插入大小 [默认:从reads或255自动检测]
    --plots-format  <字符串>          以指定格式保存图表 [默认:pdf]。
                                      支持的格式:emf, eps, pdf, png, ps, raw, rgba, svg, svgz
    --memory-efficient                使用一个线程运行所有操作,分别对每个组装进行。
                                      这可能显著减少大型基因组的内存消耗
    --space-efficient                 仅创建报告和图表文件。不会创建辅助文件,包括.stdout、.stderr、.coords文件。
                                      这可能显著减少大型基因组的空间消耗。Icarus查看器也不会被构建
-1  --pe1     <文件名>                包含正向配对reads的文件(FASTQ格式,可压缩)
-2  --pe2     <文件名>                包含反向配对reads的文件(FASTQ格式,可压缩)
    --pe12    <文件名>                包含交织的正向和反向配对reads的文件(FASTQ格式,可压缩)
    --mp1     <文件名>                包含正向mate-pair reads的文件(FASTQ格式,可压缩)
    --mp2     <文件名>                包含反向mate-pair reads的文件(FASTQ格式,可压缩)
    --mp12    <文件名>                包含交织的正向和反向mate-pair reads的文件(FASTQ格式,可压缩)
    --single  <文件名>                包含未配对短reads的文件(FASTQ格式,可压缩)
    --pacbio     <文件名>             包含PacBio reads的文件(FASTQ格式,可压缩)
    --nanopore   <文件名>             包含Oxford Nanopore reads的文件(FASTQ格式,可压缩)
    --ref-sam <文件名>                通过将reads比对到参考基因组文件获得的SAM比对文件
    --ref-bam <文件名>                通过将reads比对到参考基因组文件获得的BAM比对文件
    --sam     <文件名,文件名,...>     通过将reads比对到组装文件获得的SAM比对文件的逗号分隔列表
                                      (使用与contigs文件相同的顺序)
    --bam     <文件名,文件名,...>     通过将reads比对到组装文件获得的BAM比对文件的逗号分隔列表
                                      (使用与contigs文件相同的顺序)
                                      Reads(或SAM/BAM文件)用于结构变异检测和
                                      在Icarus中构建覆盖率直方图
    --sv-bedpe  <文件名>             

 包含结构变异的文件(BEDPE格式)

加速选项:
    --no-check                        不检查和纠正输入fasta文件。风险自负(见手册)
    --no-plots                        不绘制图表
    --no-html                         不构建html报告和Icarus查看器
    --no-icarus                       不构建Icarus查看器
    --no-snps                         不报告SNPs(可能显著减少大型基因组的内存消耗)
    --no-gc                           不计算GC%和GC分布
    --no-sv                           不运行结构变异检测(仅在指定reads时有意义)
    --no-gzip                         不压缩大的输出文件
    --no-read-stats                   不将reads比对到组装文件
                                      reads将比对到参考基因组并用于覆盖率分析、
                                      上限组装模拟和结构变异检测。
                                      如果您不需要组装的read统计数据,请使用此选项。
    --fast                            所有加速选项的组合,除--no-check外

其他:
    --silent                          不打印关于每个步骤的详细信息到stdout(日志文件不受影响)
    --test                            在test_data文件夹中的数据上运行QUAST,输出到quast_test_output
    --test-sv                         在test_data文件夹中的数据上运行QUAST并检测结构变异,
                                      输出到quast_test_output
-h  --help                            打印完整的用法信息
-v  --version                         打印版本

在线QUAST手册可在 http://quast.sf.net/manual 查看
4.1 常用命令行
1 ./quast.py contigs.fas   #即可得到结果

2 ./quast.py test_data/contigs_1.fasta \
           test_data/contigs_2.fasta \
        -r test_data/reference.fasta.gz \
        -g test_data/genes.txt \
        -1 test_data/reads1.fastq.gz -2 test_data/reads2.fastq.gz \
        -o quast_test_output
总结用法:
python /quast-5.1.0rc1/quast.py [选项] <包含contigs的文件>

选项:
-o  --output-dir  <目录名>       用于存储所有结果文件的目录 [默认:quast_results/results_<日期时间>]
-r                <文件名>       参考基因组文件
-g  --features [类型:]<文件名>  参考基因组中特征坐标的文件(GFF、BED、NCBI 或 TXT)
                                可选的“类型”可以指定用于仅从 GFF 中提取特定的特征类型
-m  --min-contig  <整数>         contig 长度的下限 [默认:500]
-t  --threads     <整数>         最大线程数 [默认:CPU 的 25%]

这些是基本选项。要查看完整列表,请使用 --help

在线 QUAST 手册可在 http://quast.sf.net/manual 查看。
4.2 输出结果解读 
输出

report.txt      汇总表
report.tsv      制表符分隔版本,用于解析或电子表格(Google Docs、Excel等)
report.tex      LaTeX版本
report.pdf      包括所有统计表格和图表的PDF版本
report.html     包含所有内容的交互式HTML文件
icarus.html     Icarus主菜单,带有指向交互式查看器的链接
contigs_reports/        [仅在提供参考基因组时]
  misassemblies_report  详细的误组装报告
  unaligned_report      详细的未比对和部分未比对contigs报告
k_mer_stats/            [仅在指定--k-mer-stats时]
  kmers_report          详细的基于k-mer的指标报告
reads_stats/            [仅在提供reads时]
  reads_report          详细的mapped reads统计报告


仅基于contigs的指标:
- 大contigs(即长度超过500 bp)的数量及其总长度
- 最大contig的长度
- N50(某一长度的contig,使得至少相同长度的所有contigs一起覆盖至少50%的组装)
- 预测基因的数量,通过GeneMark.hmm(原核生物)、GeneMark-ES或GlimmerHMM(真核生物),或MetaGeneMark(元基因组)发现

当提供参考基因组时:
- 各种误组装的数量(倒位、重定位、易位、跨物种易位(仅限metaQUAST)或局部)
- 未比对contigs的数量和总长度
- 组装和每100 kb上的错配和插入缺失(indel)数量
- 基因组百分比,组装的参考基因组部分
- 重复率,组装中比对碱基的总数除以参考基因组中的总数。如果组装包含许多覆盖相同区域的contigs,其重复率将显著超过1。这是由于多种原因引起的,包括重复数量估计过高和contigs之间的重叠。
- 在组装中完全或部分覆盖的基因数量,基于用户提供的参考基因组中的基因位置列表
- NGA50,参考感知版本的N50指标。它使用比对块而不是contigs计算。这些块是在移除未比对区域后获得的,然后在误组装断点处分割contigs。因此,NGA50是某一长度的块,使得至少相同长度的所有块一起覆盖至少50%的参考基因组。
05 参考文献

Gurevich A, Saveliev V, Vyahhi N, Tesler G. QUAST: quality assessment tool for genome assemblies. Bioinformatics. 2013 Apr 15;29(8):1072-5. doi: 10.1093/bioinformatics/btt086. Epub 2013 Feb 19. PMID: 23422339; PMCID: PMC3624806.

Islam T, Ranjan D, Zubair M, Young E, Xiao M, Riethman H. Analysis of Subtelomeric REXTAL Assemblies Using QUAST. IEEE/ACM Trans Comput Biol Bioinform. 2021 Jan-Feb;18(1):365-372. doi: 10.1109/TCBB.2019.2913845. Epub 2021 Feb 3. PMID: 31056507; PMCID: PMC6940546.

上一篇:Linux shell编程基础-二、注释


下一篇:C 语言实现在终端里输出二维码