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.