1、官网简介

http://cab.spbu.ru/software/quast-lg/

QUAST- lg是QUAST的一个扩展,用于评估大型基因组装配(直至哺乳动物大小)。QUAST- lg从5.0.0版本开始包含在QUAST包中(下载最新版本)。像往常一样运行QUAST,不要忘记在您的命令中添加‐large选项!

新功能的简短列表(参见所有更改):

  • 通过使用新的快速比对(minimap2)和重构对齐分析模块,显著提高了速度
  • 新的基于k-mer的评估基因组完整性和正确性度量
  • BUSCO增加了无参评估
  • 上限装配(upper bound)的概念(对给定基因组和读数集的装配完整性和连续性的理论限制)

我们对QUAST-LG的六个真核数据集进行了基准测试,这些数据集由领先的基因组组装软件组装而成。下面您将找到有关数据集、原始读取和就绪程序集的链接以及QUAST-LG报告(使用预发布的github分支创建)的信息:

  1. Yeast (S. cerevisiae, genome size: 12.1 Mbp, reference: 4 Mb): reads (Illumina pair-ends and PacBio); assemblies (5 +UpperBound, 22 Mb); report
  2. Yeast (S. cerevisiae, genome size: 12.1 Mbp, reference: 4 Mb): reads (Illumina pair-ends and Oxford Nanopore from Istace et al., 2017); assemblies (4 +UpperBound, 18.5 Mb); report
  3. Worm (C. elegans,genome size: 100.3 Mbp, reference: 30 Mb): reads (Illumina pair-ends and PacBio); assemblies (5 +UpperBound, 182.5 Mb); report
  4. Fruit fly (D. melanogaster, genome size: 137.6 Mbp, reference: 42 Mb): reads (Illumina pair-ends and mate-pairs); assemblies (6 +UpperBound, 283.5 Mb); report
  5. Human HG004 (H. sapiens, genome size: 3 Gbp, reference: 938 Mb): reads (Illumina pair-ends and mate-pairs, see links and description in ABySS 2.0 study github page); assemblies are from Jackman et al., 2017 (FTP link to the assemblies);  our UpperBound assembly, 874 Mbreport
  6. Human HG001 (H. sapiens, genome size: 3 Gbp, reference: 938 Mb): reads (Illumina pair-ends and Oxford Nanopores, see links and description in MaSuRCA blog); assemblies made by Canu developers (direct link to the assembly), MaSuRCA developers (direct link to the assembly), and Flye developers (direct link to the assembly); our UpperBound assembly, 875 Mbreport

2、介绍

尽管QUAST包被广泛使用,但它很难作为一种通用的基因组装配评估工具。其原因是最初的设计是针对细菌和小型真核生物装配,主要应用基因组小于100兆的基因组,这限制了工具的使用。在这项工作中,我们提出QUAST- lg,一个显著升级版的QUAST能够分析大型基因组序列。我们的工具可以在常规服务器上在几个小时内评估哺乳动物大小的程序集。QUAST-LG包括加速改进和考虑真核生物基因组特定特征(如转座子的丰度)的新质量指标。在缺乏已知参考基因组的情况下,最初的QUAST受到了限制。QUAST-LG通过将无参考工具作为其管道的一部分,使对新物种的评估成为可能;然而,无参分析并不是QUAST-LG的主要用例。QUAST-LG的另一个改进是上限(upper bound)组装的概念,它基于这样一个事实,即由于基因组重复长和覆盖区域低,参考基因组不能完全从原始reads重建。之前的研究最优装配问题的研究在散弹测序数据的一些理论假设下,估计成功重建基因组所需的读取长度和覆盖深度。我们用相反的方法来处理:给定一个数据集,QUAST-LG估计从这个特定的读取集组装软件理论上可以达到的完整性和连续性的上限。此外,我们的方法考虑到一个数据集可能由多个由NGS和LRS生成的测序库组成。

材料方法:

1、基于参考基因组和read集构建上限组装

图a:

首先,构造算法将所有reads映射到参考基因组,并检测零覆盖区域。Minimap2比对长序列(PacBio and Nanopore);BWA-MEM 比对短的illumina序列 (paired-ends and mate-pairs).。

然后, lightweight Red (Girgis, 2015) de novo repeat finder软件用于标记参考中较长的基因组重复。We call a repeat long if its length exceeds the median insert
size of a paired-end library (when several paired-end libraries are available, the maximum median value is used)。在检测到的重复序列中,我们只选择那些在基因组偏远部分至少出现两次的序列。这样的长重复会在组装期间造成歧义,而歧义只能通过长读或配对来解决。其他以红色标记的长区域似乎是在同一基因组位点具有多个拷贝的短串联重复序列。据我们所知,这种串联重复不会引起歧义,组装可以在不使用 long-range information的情况下近似地解决这些问题(Bruijn graph topology)。

通过覆盖度间隙(coverage gaps)和长重复(long repeats)来分割参考序列( reference sequence)会得到一组独特的基因组片段,称为上限片段(upper bound contigs),但这并不能反映整个数据集的最佳组装结果。

图b:

为了获得更真实的上界,我们检测那些通过长读长(long reads)或mate-pairs连接的contigs,如果连接数超过小的阈值n,则将其进一步连接成上限scaffolds(upper bound scaffolds).这里使用n =1 for long reads(即一个long read连接两个contigs,如果它与两个contig有overlap) and n = 2 for mate-pairs(即左端reads与一个contig有overlap,右端reads与另一个contig有重叠)。该分析中忽略read pairs that map inconsistently or with abnormal insert size (in the first or the last decile)。为了在reads和upper bound contigs,实现高效的重叠检测( overlap detection),我们根据它们的mapping位置对所有reads进行排序。因此该算法(scaffold construction algorithm)需要的时间为O(N log N) time来进行read sort,  O(N) time 来寻找overlaps。这里N是指总的long and mate-pair reads used for scaffolding。

图c:

一旦upper bound contigs 被连接成 scaffolds,相邻片段之间的间隙(gap)由参考基因组中相应的基因组序列填充,或者,在覆盖间隙的情况下( coverage gaps),用N的延伸。剩下的未解决的repeats作为单独的序列添加到最终的upper bound assembly。

2、适用于传统的大基因组

组装质量的关键特征是组装的完整性(基因组组装的比例),正确性(组装结果含多少错误),连续性(组装结果包含多少个 fragments以及它们有多长)。完整性和正确性都可以通过
QUAST-LG只有在有高质量的参考基因组时才可精确评估使用(Both completeness and correctness can be accurately measured by QUAST-LG only when a high-quality reference genome is available.)。一些连续性统计信息,例如著名的N50度量,不需要参考基因组。然而,当基因组大小的估计值知道时,就可以计算出更合适的 analogues(同源序列),即NG50。如果参考序列可用,我们将基于无错误对齐的装配片段而不是初始的contigs/scaffold的连续度量,通过计算类似NGA50的统计信息提供更相关的见解。

与参考基因组比对似乎是装配评估中最耗时的步骤,尤其是对大型基因组。为了解决这一瓶颈,我们用更快的Minimap2比对软件对原始QUAST中的精确但缓慢的比对软件( slow NUCmer aligner,MUMmer v3.23)进行了替换。尽管MUMmer 4速度比MUMmer v3.23大幅度提高,但在测试中提高幅度没有Minimap2大。因此我们已经彻底选择了Minimap2选项,以便在不同的场景中保持对齐速度-准确率。在标准模式下,QUAST-LG的准确率可与NUCmer媲美(NUCmer适用于小基因组)。在' -large '模式下,QUAST-LG配置Minimap2,为大型和复杂的输入实现足够的运行时间。

组装的正确性通常以大量的组装错误(misassemblies)为特征。将错误组装断点( misassembly breakpoint)定义为已组装的连续序列中的一个位置,其中侧翼序列与相反的链对齐(inversion),或与不同的染色体对齐 (translocation),或者在参考基因组上左右侧翼序列的对齐之间的不一致性大小d(a gap or an overlap)大于预定义的断点阈值X(relocation)。同一条染色体的同一条链,且d < X被认为是小错误,属于局部错配。

真核生物基因组通常含有大量的转座因子(transposable elements, TEs),这可能导致参考基因组与实际装配的基因组之间存在差异。如果按照上面给出的定义计算,这些短的变化会导致大量的假阳性组装错误。为了区分真正的组装错误和TEs导致的组装错误,QUASTLG对每个relocation 和 inversion执行额外的检查,以识别可能的TEs。识别过程取决于断点阈值X的大小,X的最优值应该略大于基因组中最大TE的长度(串联TE插入和删除的处理超出了本文的范围)。因此,最佳值取决于目标物种,我们允许用户手动设置它。为了一致性,我们使用相同的X=7 kb基准实验研究中,这也是默认值在QUAST-LG中,相比常规QUAST使用X=1 kb。

3、 Best set of alignments selection

长连续序列很少作为一个明确的对齐完美地比对到参考基因组。对齐软件通常报告来自基因组不同位置的alignment fragments。这可能是由于参考基因组中存在基因组重复和TEs,在某些情况下是由于装配或/和校准软件中的算法问题。QUAST-LG试图准确地评估每个contig,并选择一组不重叠的 alignments,以最大化总的 alignment score,该得分被定义为对齐长度(alignment lengths)、map质量(mapping qualities)和并排不一致性(错配), side by side inconsistencies (misassemblies)的函数。

4、 K-mer-based quality metrics

如上所示,真核生物基因组的许多TEs和其他特定特征的存在显著地使装配评估复杂化。虽然QUAST-LG调整的常规完整性和正确性措施改善了评价,但仍不足以形成真核生物装配质量的全貌。在这里,我们建议使用一种完全不同的策略来评估程序集,该策略受到Putnam et al.(2016)和Chapman et al.(2016)的评估程序的启发,并推广到QUAST-LG中的任意基因组分析中。这种策略是基于对参考基因组和组装中独特的k-mers(长度为k的非重复序列)的分析。如果k值足够大(QUAST-LG默认使用101-mers),那么独特的k-mers似乎在整个基因组中广泛存在。例如,果蝇基因组包含1.22亿个独特的101-mers,而总数为1.37亿个101-mers。这种k-mers在装配体中的存在和位置描述了其完整性和正确性。我们使用KMC 3 (Kokot et al., 2017)检测参考基因组中所有独特的k-mers。在组装中检测到的这些k-mers的百分比被报告为其k-mer完整性。与基因组片段完整性度量相比,基于k-mer的值考虑了组装的每个碱基质量,这对于基因组注释等下游分析通常非常重要。基准测试表明,由于高度不匹配和indel错误率(mismatch and indel error rates),与基因组片段非常相似的组装,可能具有完全不同的k-mer完整性。基于k-mer的正确性计算是基于所有唯一k-mers(unique k-mers)的一个小正态分布的子集,以加快计算速度。我们选择子集的方式是,在参考基因组R中,子集中任意两个k-mers之间的间隔至少为1kb。该子集提供给KMC,并标识具有至少两个k-mers的contigs。我们进一步将基于k-mer的易位和重定位称为基于k-mer的错误连接,以排除与常规QUAST错误组装的混淆。基于k -mer的错误连接本质上类似于常规的错误组装度量,只是它们关注的是最关键的错误组装。

这些措施的主要好处是它们能够容忍由于TEs造成的不一致,因为TEs主要对应基因组重复,因此缺乏独特的k-mers。例如,基于k-mer的重定位可以成功地解决在常规错误组装检测算法中,当一个连续集以TE开始或结束时导致歧义的情况。

5、Evaluation without a reference genome

在大多数实际组装项目中,没有参考基因组序列,装配质量评估必须依赖于其他信息源。QUAST-LG的主要目的是基于有参的分析,但我们还包括一些针对真核生物的完整性从头开始度量,以使我们的工具在更广泛的应用程序中有用。QUAST-LG提供GeneMark-ES 软件用来真核生物基因组denovo基因预测。然而,尽管基因发现在评估下游分析视角方面具有相关性,但它的启发式本质可能会在某些实验中导致误导输出(a misleading output)。例如,一个组装可能包含一个基因的多个副本,该副本将被报告多次。为了解决这个问题,我们还使用了BUSCO (Simao et al., 2015)来寻找在单拷贝中几乎普遍存在于真核生物中的组装的保守基因的数量。为了演示BUSCO完整性如何与更精确的基于参考基因组的质量度量相关,我们在所有的基准测试中添加了它的计算。注意,无引用的正确性度量超出了QUAST-LG范围,我们建议对这个场景使用专门的从头评估工具。

6、Results

详细结果在文献中一下文献

7、 Discussion

由于我们的基准表明上限估计比完成的参考基因组统计数据更现实,我们发现它们很有用。然而,值得注意的是,所提出的方法是启发式的,并且有一些重要的局限性。上限装配构造算法(The algorithm for upper bound assembly construction)依赖于第三方软件Minimap2、BWA-MEM和Red,这是作者根据自己的专业知识选择的工具。使用另一组工具可能会导致不同的上限程序集:例如,用户可能希望使用它来预测基因组重复。为了确保组装集确实是上界,我们对Red使用相当保守的设置来排除假阳性重复,而对比对软件使用宽松的设置来保留所有可能的maping。在此基础上,我们使用了一种非常简单的搭建策略,只需要一个长读或两个matepairs就可以将上限contigs连接到一个搭建中。真实scoffold算法通常不要利用这些薄弱的证据。同样,非常低的读取覆盖率在实践中可能会阻止源序列的重建,而我们只罚分完全没有覆盖的片段,认为1倍的覆盖率就足够了。因此,我们的正确性和完整性评估是实际装配度量的乐观上限,并且可能会得到加强。例如,我们为用户提供了一个选项,用于设置连接上限连接所需的最小连接数。上界估计仅与基于排列的度量相关,如基因组片段、NGA50等。同时,也不可能计算出这些质量指标的无参考类似物的理论极限,即总装配长度、NG50等。例如,组装可能会随机地将contigs连接到一个scaffold中,这个scaffold可能包含许多错误的组装。这项工作的主要好处是开发了QUAST-LG,一个用于大规模基因组组装评估的通用工具。QUAST-LG可以很容易地在未来复制这个或类似的基准测试,并在任何其他LRS或NGS数据集上比较任何其他基因组组装程序。

 

我们相信该工具也适用于正在进行的真核生物基因组研究中的日常质量控制。

 

RepeatMasker

参考文献:
Alla Mikheenko  Andrey Prjibelski  Vladislav Saveliev  Dmitry Antipov  Alexey Gurevich Versatile genome assembly evaluation with QUAST-LG Bioinformatics,2018

quast-lg的更多相关文章

  1. Linux下安装性能测试负载机LG

    系统:CentOS release 6.6 (Final)  x86_64 安装包: 1.LRLG_00031.iso [Load Generator Standalone (Linux 64-bit ...

  2. bootstrap 之 xs,sm,md,lg && 主要颜色

    mobile – xs ( <768px ) tablet – sm ( 768~991px ) desktop – md ( 992~1170px ) large desktop – lg ( ...

  3. boostrap中lg,md,sm,xs

    boostrap中lg,md,sm,xs分别表示多少px? .col-xs- 超小屏幕 手机 (<768px).col-sm- 小屏幕 平板 (≥768px).col-md- 中等屏幕 桌面显示 ...

  4. LG 2.2.1 P350安卓系统刷机,问题总结,希望对需要的朋友有助

    手机误删软件导致短信,键盘等无声音提醒 我的手机前几天被我误删了一个软件,导致电话接不了,别人打电话的时候,老提示我在通话中,但是我可以在通话中看到对方的打电话记录.短信,键盘,USB连接,等等都没有 ...

  5. 美版nexus 5 LG D820才支持CDMA,国际版LG D821不支持

    我们都知道nexus 5其实是有两个不同的版本的,分别是LG D820和LG D821,它们在几乎所有的配置和外观上都没有任何的区别,主要区别在通讯模块上,一个支持GSM/CDMA/WCDMA/LTE ...

  6. git lg 使用 转

    命令: git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yello ...

  7. git lg 配置

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d ...

  8. 国行 lg g3 D858 刷 lg g3 D858hk 教程(备忘)

    纯手打,转载请注明出处~ 刷机有风险,出现问题概不负责! 本着自娱自乐的宗旨 ,分享一下,出了问题不负责! 准备的材料: 1,手机一枚(废话)国行lg g3 d858 2,root 工具 用来root ...

  9. LG Optimus L90 [D415] T-Mobile 刷机

    1 先使用[ROOT大师]ROOT手机. 2 执行以下ADB命令. adb shell su //备份 dd /by-name/laf of=/sdcard/laf.img. //清除 dd /by- ...

  10. 约合¥1720 LG法国称G Watch将于6月开卖

    近来LG法国官方透露音讯称旗下首款智能手表G Watch将于本年6月份正式出售,预定报价为199欧元(约合¥1720). 这就意味着这款智能手表会在googleI/O大会完成之后就会开端出售,从goo ...

随机推荐

  1. JVM总结-java基本类型

    为什么要引进基本类型? Java 引进了八个基本类型,来支持数值计算.Java 这么做的原因主要是工程上的考虑,因为使用基本类型能够在执行效率以及内存使用两方面提升软件性能. Java 虚拟机的 bo ...

  2. Java并发编程:Java Thread方法join的简单总结

    虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间 ...

  3. android 开发 RecyclerView 横排列列表布局

    1.写一个一竖的自定义布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  4. css hack 用法注意

    CSS hack 分类:CSS属性前缀法.选择器前缀法以及IE条件注释法 1.属性前缀法(即类内部Hack):例如 IE6能识别下划线""和星号" * ",IE ...

  5. Android 8.0 新特性

    Android 8.0 (Android Oreo(奥利奥))新特性介绍 通知渠道 - Notification Channels 通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对 ...

  6. c#调用带输出参数的存储过程

    sql server中编写一个存储过程: CREATE PROCEDURE ProGetPWD @username varchar(20), @password varchar(20) OUTPUT ...

  7. JVM虚拟机宕机_java.lang.OutOfMemoryError: unable to create new native thread

    原因:当前用户的系统最最大程序数数已达到最大值,使用ulimit -u可以看到是1024   解决办法:在当前用户下使用ulimit -u 65535 然后再执行jsp,一切ok     功能说明:控 ...

  8. leetcode1003

    class Solution: def isValid(self, S: str) -> bool: n = len(S) if n % 3 != 0: return False while n ...

  9. linux指令tar笔记

    tar 工具常用选项如表所列. 选项  说明 -c  创建存档文件,与-x相斥 -t  列出档案文件的文件列表 -x  解包存档文件,与-c相斥 -A  合并存档文件 -d  比较存档文件与源文件 - ...

  10. confusing c++ 重写 与 重定义 记录1

    class parent { public: void f() { cout << "parent f()" << endl; } void f(int i ...