Genome Biology|通过HERO实现long reads的混合-混合纠错

文摘   科学   2023-12-03 10:39   芬兰  


尽管目前使用二代测序 (NGS) reads对三代测序 (TGS) reads纠错的混合方法有着较好的效果,但会将单倍型特有的variants误判成多倍体和混合样本中的错误。如何更好的利用NGS 和 TGS reads 各自的优势,实现TGS reads 的纠错至关重要。


2023年12月1日,湖南大学和德国比勒菲尔德大学研究人员合作在Genome Biology杂志在线发表题为“ Hybrid-hybrid correction of errors in long reads with HERO”的研究论文, 该文章提出了HERO算法,其作为第一个“hybrid-hybrid”的方法,通过同时利用de Bruijn graphs和overlap graphs,更好地利用NGS和TGS reads 各自的优势,解决了如何避免将phase-specific variants误判为测序error,导致过度纠错,实现了TGS reads更为精准的纠错广泛的基准测试实验表明,HERO算法分别将indel和mismatch纠错水平平均提高了65%(27%~95%)和20%(4%~61%)。在基因组组装之前使用HERO可以大大改善组装结果。


原文链接:https://genomebiology.biomedcentral.com/articles/10.1186/s13059-023-03112-7

研究内容总结


  • 作者首次提出,同时利用de Bruijn graph和(full-length)multiple alignments(以及overlap graphs)对三代测序reads纠错。而过往的纠错方法,仅会利用其中一种。

  • 由此,作者建立了第一个能集成融合两个互补维度的混合纠错(HEC)方法——HERO

  • 它一方面结合de Bruijn graphs和overlap-based结构,另一方面发挥二代测序数据和三代测序数据reads的各自优势。是第一个double hybrid (“hybrid-hybrid”)方法。

  • HERO是第一个能准确为TGS read覆盖度低的基因组纠错的方法。

  • HERO是第一个准确为具有相似单倍型的基因组(比如在宏基因组中引用相同物种的不同菌株)纠错的方法。



HERO 介绍


HERO 是一种混合纠错方法,它利用short reads来校正long reads。

HERO 结合了de Bruijn graphs(DBG) 和overlap graphs (OG)的优点。通过 phasing reads with SNPs 来过滤掉源自其他菌株/单倍型的reads,避免过度校正。


Github:https://github.com/HaploKit/HERO


图1.HERO工作流程

黑色:long read r 为待纠正的read。黄、蓝、红:short reads,不同颜色表示不同的单倍型。红叉:表示errors。三角标记(蓝色、红色):表示单倍型特异性variants。


HERO工作流程:

第一阶段,采用目前已有的高质量DBG-based HEC 工具(例如Ratatosk、FMLRC和 LoRDEC )校正long reads。

第二阶段,基于(multiple) alignment (and also overlap graph)的校正,这个校正过程在方法上具有一定的创新性,由六个主要步骤组成。这六个主要步骤对应 图1中的数字。




  • 步骤 1,计算每个 NGS reads和每个 TGS reads之间的minimizer-based all-vs-all overlaps。这里,作者使用 Minimap2,实现这一过程。


    步骤 2-5 反映了HERO read phasing 和基于 MA/OG 纠错程序的技术核心。示例见图 1。


  • 步骤 2,HERO 选择一个 TGS reads作为target read,然后计算所有与target read重叠的short reads。作者根据overlap过程中获得的 SNP 信息,对 NGS reads phasing,并过滤掉源自其他菌株的reads。在图 1中,蓝色和红色NGS读数被过滤掉,因为可以识别出特征SNP(蓝色和红色三角标记)。

  • 步骤3,将清理后的“phase-unique”的short reads按照一小段一小段的区域进行分割。

  • 步骤4 ,对于上一步分割的每一个区域中的subreads,通过计算 partial order alignment(POA)和consensus序列,从而得到target subreads的校正版本。

  • 步骤 5,校正后的 target subreads被重新扩展为full-length reads。由于 target subreads已被成功校正,因此full-length reads也完成校正。

  • 步骤6,收集所有已校正的target reads。




纠错结果评估


在文中作者使用多个数据集,清楚地展示了HERO在宏基因组中,二倍体/多倍体基因组中都能有效的降低indel error 与mismatch rates。


在这里由于篇幅有限,我们仅跟大家展示一下宏基因组中HERO的纠错水平


测试数据集:

测试数据集作者选用了3个模拟宏基因组数据与4个真实的宏基因组数据集。

模式数据集:

  • 模拟数据集1(3 Salmonella strains):由 3 种沙门氏菌菌株组成的PacBio CLR reads;

  • 模拟数据集2(20 bacterial strains):由来自10个物种的20个菌株组成的PacBio CLR reads;

  • 模拟数据集3(100 bacterial strains):由来自30个物种的100个菌株组成的PacBio CLR reads。


真实数据集(都具有可用的参考基因组用于后续评估):

Bmock12数据集:包含9个物种的11个菌株,复杂度较低。

NWC数据集:包含了3种细菌物种(Streptococcus thermophilus、Lactobacillus delbrueckii、Lactobacillus helveticus),每种物种有两个菌株。这些菌株之间的平均核酸相似性指数(Average Nucleotide Identity,ANI)分别是99.99%,99.24%和98.03%。


  • 真实数据集1(Bmock 12 PacBio):数据集Bmock 12对应的PacBio CLR reads

  • 真实数据集2(Bmock12 ONT):数据集Bmock 12对应的ONT reads

  • 真实数据集3(NWC PacBio):数据集NWC 对应的PacBio CLR reads

  • 真实数据集4(NWC ONT):NWC 对应的对应的ONT reads


HERO的纠错水平:

图2、表1、表2详细比较了不同工具纠错水平,以及HERO纠错后的indel error rates与mismatch error rates 等评估指标。


可见对于同一数据集来说,经过HERO矫正后,Indel error rates都会明显降低,同时mismatch error rates也均有降低。


如表1,图2a,在模拟数据集1(3 Salmonella strains)中,对于软件Ratatosk来说,使用HERO后的Indel error rates降低了10倍(110.75vs11.77/100kBP),对于软件FMLRC,Indel error rates降低5倍(83.26vs17.47);对于软件LoRDEC,Indel error rates降低5.5倍(59vs11.58)。

mismatches 的纠错效果不像indel纠错效果那么显著,不过实际上INDELS是影响TGS reads中的主要错误来源。在模拟数据集1(3 Salmonella strains)中,R-HERO产生93.9/100KBP的mismatch errors,比Ratatosk只有25%的改进(128.23 per 100 kbp)。


对于真实的4个数据集,我们可以看到NWC数据集的校正结果比Bmock 12和模拟数据集的校正结果更差。这是因为这个数据集在菌株的相似性方面存在困难(如大ANI所导致的,见上文)。此外,原始TGSreads的初始错误率比Bmock 12大得多。尽管如此,相对于仅使用DEG方法的软件,HERO依然可以更出色地完成Indel error与mismatch error的纠错(图2b,表2)。




图2.PacBio CLR和ONTreads在使用针对不同数据集的不同工具进行校正后(x轴)的Indel error rates(y轴)。Ratatosk、FMLRC 和 LoRDEC 指的是各自方法的 8 次迭代;R-HERO、F-HERO 和 L-HERO 分别指的是 Ratatosk、FMLRC 和 LoRDEC 的 3 次迭代,随后是 HERO-OG 的 5 次迭代。a模拟的 PacBio CLR reads。b PacBio CLR和ONT均读取4个真实数据集.


Indels/100KBP:每100,000个碱基indel errors的平均数。Mismatches/100 kBP:每100,000个aligned碱基平均mismatch errors的数量。基因组分数(GF):反映了校正后的reads覆盖了每个菌株特定基因组的多少。N/100kBP:表示read中每100,000个碱基中未知碱基(NS)的平均数。MC:错误组装contigs的比例。


表1.模拟数据集中纠错的基准测试结果。

表2.真实数据集中纠错的基准测试结果。



感谢阅读!

欢迎批评指正。



撰文|徐嘉潞


计算基因组学
分享计算基因组学与生物信息学相关的知识,研究进展等