史上最全的长读长数据校错方法大比拼

相较于第二代测序技术(the Second Generation Sequencing,SGS)的短读长(short reads,SRs),第三代测序技术(the Third Generation Sequencing,TGS)因其长读长、无GC偏好性等优势能够很好的检测到结构变异、碱基修饰从而解析复杂的基因组和组合的基因组事件,随着数据质量的不断改善,相应的文章产出也逐年攀升(上图以PacBio为例),但其信噪比低而彰显的错误率问题也不可回避。自2012年研发出来的一系列校错方式可以分为两大阵营:自校正和混合校正。自校正通过PacBio或ONT内置的自校正模块进行换装一致性序列(PacBio)或2D reads(ONT)的构建,建立在一定测序深度的覆盖基础上混合校正

使用高精度、低成本的SRs数据即使低深度也可以实现,基于算法设计分为比对类、图像类以及结合两种策略的双重(比对/图像)类三种

那么,针对长读长数据如何选择最合适的校正方法呢?

为了回答这个问题,美国爱荷华大学内科部区健辉副教授及其团队的Shuhua Fu、Anqi Wang等人选取了10款针对长读长数据性能最卓越的校正工具在常规基准下进行灵敏度、准确度、产率、比对率、读长、运行事件、内存占用以及从头组装和单体型序列解析等方面的比较评估,从而基于可用数据大小、计算资源和个体研究目的等给出了全方位的方法选择指南[1],研究成果已于2019年2月4日被Genome Biology在线收录,影响因子为13.214,下面请随组学君先睹为快吧!

———-   数 据 来 源   ———-

基于PacBio或ONT平台的Escherichia coli(大肠杆菌)和Saccharomyces cerevisiae(酿酒酵母)作为“小”数据集;

基于PacBio平台的Drosophila melanogaster(黑腹果蝇)和 Arabidopsis thaliana(拟南芥)作为“大”数据集。

———-   评 估 设 置   ———-

为考察SR覆盖度对错误校正性能的影响,研究对覆盖度为5×、20×、50×、75×以及100×的每一个SR数据集生成随机子数据集;所有的计算均在16核、256G内存的20台设备上进行。

———-   评 估 策 略   ———-

为评估不同校正方法的性能,原始的和校正的reads使用BLASR比对到对应的参考基因组上。真阳性(True Positive,TP)位点为由单个校正工具进行校错的位点,假阴性(False Negative,FN)位点则是没有经过校正的错误位点。TP和FN位点能够通过比较对参考基因组进行原始和错误数据的比较来使用Error Correction Evaluation Toolkit(校错评估工具包)进行计算;错误率通过比对域(alignment)上的插入、缺失和替代总数除以每条read比对上的总长度来计算。统计参数的计算方式如下:

  • 灵敏度:TP/(TP+FN),TP为校错工具校正的错误位点数目,FN为未校正的错误位点
  • 准确度:1 – error rate
  • 输出率:原始数据中reads的比例
  • 比对率:输出数据的reads比对到对应参考基因组上的比例
  • 输出读长:输出reads的长度
  • 运行时间:校错工具消耗的运行时间
  • 内存使用:校错工具占用的峰值存储空间
  • 对输出拆分reads的Jabba、ECTools、pacBioToCA和Nanocorr等,研究使用如TH×TP/(TP+FN)这样的灵敏度计算策略,这里TH是输出碱基的数目相对于原始reads全部碱基数目的比值
  • 运算时间超过20天的工具不计入评估(如比对类的ECTools和LSC)
  • 选用方法:selective method,已知Jabba、ECTools和pacBioToCA丢弃未校正的碱基和剪切片段并输出部分LR数据,因此产量较低,将其称作选用方法,在图中会标注下划线。

十款本研究进行评估的校错工具信息如下表,参数设置还可以参考附件中的Note 1[2]

———-   评 估 结 果   ———-

灵 敏 度
上图显示的是10种校正方法对4个PacBio数据集在5种SR覆盖度时的灵敏度,从结果可以看出大多数校正方法的灵敏度会随着SR覆盖度的提升而升高。FMLRC、Jabba、LoRDEC、HALC、CoLoRMap、ECTools和proovread在达到一定灵敏度时趋于饱和,而当SR覆盖度从5×到20×时,LSC、Nanocorr和pacBioToCA仅呈现轻度的灵敏度提升,可能是因为在SR和LR比对后,LSC等三种方法能在低SR覆盖度校正LR区域,但FMLRC、Jabba、LoRDEC、HALC、CoLoRMap这些图像类策略的方法则需要足够的SR覆盖度以构建图像。LoRDEC、HALC和proovread于20×SR覆盖度时达到灵敏度饱和,而FMLRC和ECTools则是在50×时饱和。在LR数据集的作用下,CoLoRMap与Jabba分别在20-50×和75-100×时饱和。在饱和灵敏度方面,FMLRC在所有LR数据集中的表现相较于其他为最佳,不过有意思的是,当使用仅有5×的SR覆盖度的小数据集时,LoRDEC、 HALC、CoLoRMap、LSC、Nanocorr、 pacBioToCA和 proovread的灵敏度均超过了FMLRC。pacBioToCA的表现则在这次比较中基本上处于最下风。整体来看,除了ECTools在S. cerevisae 数据上的饱和灵敏度表现略胜于E. coli的PacBio数据,其他方法都是E. coli数据表现最佳。再者,对于相同大小的LRs,除了FMLRC, LoRDEC, HALC和 proovread例外,校正ONT数据的灵敏度峰值普遍较PacBio数据要低。与PacBio数据相似,E. coli的ONT数据灵敏度基本上都高于S. cerevisae,但也有ECTools例外。 

准 确 度

和灵敏度的整体趋势相似,准确度基本上也是随着SR覆盖度增高而提升,但是也有Jabba、Nanocorr和pacBioToCA这三种方法例外。当Jabba输出选定比例的LRs,准确度在所有数据集中是最高的,几乎达到了Illumina数据的质量。因此,对于Jabba而言,虽然更多的SRs可以有更好的灵敏度,但是增加SR覆盖度几乎没有其他额外的作用。

同样的原因,pacBioToCA也表现出了高准确度。有趣的是,虽在≥20×的SR覆盖度时,另一个选用方法ECTools的准确度与Jabba近似,但其在5×时却相对要低。总而言之,即便这些选用方法都没有输出全长LRs的全部数据集,它们在足够的SR覆盖度下还是输出了高准确度的LR片段。

研究还对小数据集的准确度饱和作了分析,但相对最引入注意的还是大部分方法都在相同SR覆盖度下达到了灵敏度和准确度的饱和值这一现象,当然也有Jabba、ECTools和Nanocorr例外。

非比对类校正方法能应用于所有四个PacBio数据集中,其在小数据集上的准确度比大数据集要更高或相当。校正前,原始的ONT LRs相较于PacBio的准确度要低,这一劣势在校正后仍复如是(由选用方法校正的除外)。不过在处理小数据集时,不同选用方法输出的PacBio和ONT LRs在准确度上并无本质的差异,因其只剪切并输出高质量的LRs片段。应用了其他方法后发现校正后的ONT和PacBio LRs之间的准确度差异降低,LSC除外。

输 出 率

LRs的错误分布随机,还有一些易出错的LRs因难以校正而使校正工具无法输出数据,因此,评估校错后的数据量很重要。对于PacBio数据,除了Jabba、ECTools和pacBioToCA,其他方法产出都超过输入数据的90%。尤其要指出,FMLRC、HALC和CoLoRMap产出了100%的数据集。LoRDEC和proovread仅剔除了少许零碎的reads,LSC和Nanocorr因比对类方法可能无法校正而只输出含比对SRs的LRs仅丢失小部分的数据,尤其是这类方法的输出率并不取决于SR覆盖度和LR数据大小。高输出率便于用户继续依照自己的研究目的执行分析,而通过改变方法设计和执行方式以保留校正和未校正的LRs可以实现100%的输出率。

相反,Jabba、ECTools和pacBioToCA这三种选用方法只输出校正区域的剪切reads, pacBioToCA在所有测试方法和数据中输出率是最低的。当然也不绝对,如在除E.coli数据外、5×SR覆盖度时的Jabba以及小数据集在5×SR覆盖度时的ECTools,只不过这两个方法多少还是损失了些关键数据。

FMLRC和CoLoRMap在校正ONT数据集时输出率也达到100%,LoRDEC、HALC和proovread同样接近98%。需要引起注意的是,LoRDEC和HALC都没有成功校正长度>100kb的LRs。除开这些高输出率的方法,针对同样的物种,其他方法相较基于pacBio的数据集输出均要低一筹——基本规律是:原始错误率越高的数据,得到校正的LRs就会越少。 

比 对 率

因准确度会影响比对率而比对工具能够接受一定数量的错误,所以这两个指标独立评估。更重要的是,SVs及可变剪切位点的识别对准确度要求严格,而融合基因检测和富集评估等则对高比对率有更高的需求。对基于PacBio的小数据集而言,比对率和输出率形成了鲜明的对比:ECTools、pacBioToCA、LSC和Nanocorr比对率均相对较高,而输出率却十分低。FMLRC、LoRDEC、HALC、CoLoRMap和proovread 则恰好相反。导致这种情况的原因可能是Jabba、ECTools和pacBioToCA等选择性输出容易比对的高质量LR片段,而那些高输出率的方法则包含了未校正的LRs,从而导致比对率较低。总的来说,比对类方法(除proovread外)倾向于获得更高的比对率,因其输出的LRs已经由SRs校正过,反过来,它可以作为种子文件来比对输出的LRs。

另外,在处理小数据集时,LoRDEC、HALC、CoLoRMap和proovread以及LSC、Nanocorr、pacBioToCA等都随着SR覆盖度的增加表现出不同程度的比对率降低,而FMLRC、Jabba和ECTools则没有明显的受SR覆盖度的影响。同时,图像类方法在处理大数据集时的比对率相对于小数据集要低得多。 Jabba在大数据集中得到了最高的比对率。

再者,LoRDEC和CoLoRMap的比对率在SR覆盖度增加时表现出轻度的提升,不过仍只在30%左右。与之相对,FMLRC、Jabba和HALC在SR覆盖度增加时其比对率显著提升,Jabba比对率仍是最高的。

因为准确度相对PacBio要低,ONT原始LRs的比对率也较其低一些。 在校正之后,对于同样的物种,大多数方法输出的ONT数据比对率要明显低于PacBio数据,不过选用方法和Nanocorr除外,它们只输出部分数据集。

输 出 读 长

除了选用方法和Nanocorr,其他所有方法的输出读长和输入读长都相近。整体看来,由于PacBio数据的主要错误类型是插入错误,所以随着SR覆盖度的加深,输出读长普遍会有轻微的减小。与此相对,选用方法输出读长则有着显著的特征:要么远长于、要么远短于输入LRs。这可以用两个原因去解释:①选用方法只输出一小部分LRs;②其输出了含校正区域的剪切后的reads。

对于小数据集,Jabba在5×SR覆盖度处输出读长非常短,随着SR覆盖度升高,读长显著提升,这与输出率的表现一致。虽ECTools在5×SR覆盖度处输出读长中值远小于输入读长中值,但自5×到50×时,读长有明显提升随后达到饱和,同时,50×处的读长中值远超过输入读长。当SR覆盖度足够时,ECTools就会选择性的去除一些短LRs。

PabBioToCA则不一样,输出读长短,即使增加SR覆盖度也没有本质的提升,其在运行时会将LRs剪切成很多小的校正片段。而Nanocorr输出读长就更短了,不过和Jabba相似,随着SR覆盖加深会有提升。只是在低SR覆盖时,Nanocorr输出读长普遍较Jabba长些。尤其是Nanocorr输出率始终在95%左右,而选用方法则从0.40%到88.35%不等,这可能的原因是Nanocorr将每一个LR剪切为小片段如5’和3’末端而丢失了SR覆盖度,选用方法是将单条read剪切为多个校正的片段,而其他的方法输出包含校正和未校正区域的完整reads。

和E. coli的PacBio数据集一样,输出的ONT读长随着SR覆盖加深会有轻度的降低,选用方法和LSC以及Nanocorr例外。LSC输出读长较原始的ONT LRs要长的多,因更长的ONT LRs更有可能进行用于LSC校正的SR比对。

运 行 时 间

对于PacBio LRs而言,图像类方法处理小数据集普遍耗时较比对类方法要少,随着SR覆盖加深,差异更加鲜明,因图像类方法使用SR构建图像而非直接使用校正的SRs,且在SR数据足够时,图像大小也没有明显增加,同时构图阶段比较省时——所以SR覆盖不像对比对类方法影响那么大。

综合比较,处理小数据集时不同SR覆盖度的Jabba表现完胜其他方法,仅32-1041秒,但在处理大数据集时,FMLRC和LoRDEC用时最短。不出预料,结合两种策略的双重类方法HALC和CoLoRMap耗时居于两类方法之间。

对于比对类方法,pacBioToCA耗时最短,但在高深度SR覆盖和处理大数据集时崩溃了;而同为比对类的ECTools、LSC、Nanocorr和proovread方法在处理小数据集时则耗时要久的多——这主要是因为将LRs分离进行SR比对较为耗时。

ONT LRs相对PacBio数据就省时一些,因原理上的差异,比对类和图像类方法处理错误区域的校正方式不一样,因此除了选用方法外,其他方法中图像类均比比对类要省时,双重类方法居中,该趋势和PacBio数据一致。

内 存 使 用

在校正Pacbio LRs时,LoRDEC不受SR覆盖影响成为内存使用最小的方法,无论大、小数据集都只要1-2G,可以理解为其使用GATB内核构建SRs de Bruijn图和图中的遍历路径,这个过程相当节省空间。但Jabba和部分FMLRC的内存使用在处理大数据时就显得受SR覆盖影响较大,如Jabba处理黑腹果蝇(D. melanogaster)数据时由于增强型稀疏后缀数组的存储影响,在100×SR覆盖处占用超过180G内存。

双重类方法JALC和CoLoRMap较图像类和部分比对类方法的存储效率要低。而比对类的ECTools、LSC和pacBioToCA比较节省内存,另两种比对类方法Nanocorr和proovread则比较耗内存,主要由LR数据大小或SR覆盖度的影响。

考虑到实际应用,常规的32G内存可以满足FMLRC、Jabba、 LoRDEC、 ECTools和LSC处理小数据集的需求,CoLoRMap、Nanocorr和proovread则需要更高的配置以应对SR覆盖度的提升。在处理大数据时,除LoRDEC仅需2G内存,FMLRC、Jabba、HALC和CoLoRMap都需要高配置。

总体上,ONT LRs需要的内存较PacBio小。比对类较耗内存的proovread在处理ONT数据时没有像处理PacBio数据时一样崩溃,而图像类方法也比较节约内存。

整 体 性 能

综合评估上述指标,以E. coli的PacBio数据为例,十款方法可以分割为三个大类:图像/双重类,比对/双重类和选用方法。普遍来讲,图像/双重类的综合表现最佳,而FMLRC较其他方法更为突出

对于第一大类,图像类的FMLRC和LoRDEC与双重类的HALC表现相近,无论是灵敏度、准确度、输出率和比对率还是内存占用都比较好,尤其是效率高,仅次于Jabba,虽然Jabba只输出部分数据。不过唯一需要警剔的一点是,它们的灵敏度相当依赖于SR覆盖度。

第二大类由比对类的LSC、Nanocorr和proovread以及双重类的CoLoRMap构成,它们的灵敏度、准确度和输出率较第一大类略低,但比对率要稍高一些,尤其是和LoRDEC及HALC比较而言,不过问题也很明显,那就是计算效率低(较耗内存的LSC除外),从而这一大类都比较耗时,其中的Nanocorr还有输出读长较短的劣势。

第三大类由于仅输出原始数据的部分子集,因而输出读长和输出率都是值得关注的问题,不过胜在内存占用低、准确度和比对率高,且运行时间长(除Jabba外)。

在处理测评用到的两个小数据集时,所有方法表现类似,但在运行大数据集时,图像类和双重类方法都成功,比对类方法却失败了,尤其是,第一大类仍表现出高准确度和高输出率。

很可能是由于计算设计的差异,整体上看,图像类方法相较比对类方法在计算效率上有明显的优势。但另一方面,比对类方法则在低深度的SR覆盖时表现更正常。另外,大部分方法在处理ONT数据时的表现和处理PacBio数据的表现相近,只不过比对率和准确度稍低。

提升从头组装

校错的一个重要目的是为从头组装提供更高质量的LRs,研究人员通过提升从头组装的比较来评估十种方法的校错性能。所有组装统一由Miniasm完成。

1.组装contigs的数目评估

理想状态下,congtig数应该和染色体数目相近或相当。当组装基于PacBio数据的E. coli基因组时,原始的或者校正的LRs都组装出和染色体数目相近的contigs数,但对于复杂的基因组组装,校正后的LRs比原始数据组装出的contigs要多很多,只有选用方法Jabba例外。同时,ONT LRs组装出的contigs数和用对应的PacBio数据组装出来的相近。

2.Contig N50评估

因只输出LRs的小片段,选用方法校正过的LRs装出来的N50比其他方法要小很多,甚至比一些原始数据装出来的还短。对于复杂一些的基因组,选用方法还是不敌其他方法对于提升N50的表现。比较有意思的一点是,原始LRs在校正后组装出的N50反而比不校正还短,有可能是因为混合校正引入了错误导致组装错误。

3.基因组分数评估

基因组分数反映组装完整度。使用包括FMLRC、HALC、CoLoRMap、ECTools以及pacBioToCA等方法进行处理PacBio小数据集后的组装拥有差不多或完整的基因组片段(即基因组分数接近或等于1),而Jabba在SR覆盖达100×时基因组分数仍偏低,即使相对另两种选用方法其输出率要高一些。但对于大数据集而言,不论是原始的还是校正过的LRs,基因组分数都比小数据集要高。另外,ONT LRs校正后组装的基因组分数较PacBio LRs要低。

4.Contig序列准确度

所有的方法都是在校正后会对contig序列准确度有所提升,且都是随SR覆盖加深而提升并在饱和后略有改变。虽Jabba校正后拿到了最高的contig序列准确度,不过其基因组分数较低的事实仍无法忽略。

总的来说,除选用方法外,其他混合校正的LRs组装大部分情况下都改进了contig数、contig N50和基因组分数,且随SR覆盖加深也提升了contig序列准确度。选用方法尤其是Jabba虽拥有最高的contig序列准确度,但是牺牲了组装的完整度和连续性。在SRs足够的情况下,ECTools和pacBioToCA输出数据的组装能达到近1的基因组分数。迄今仅有为数不多的算法开发出内置错误校正模块以组装基因组。

杂合位点碱基校正

杂合度分析对二倍体或多倍体物种非常关键,研究选取父系和母系基因组LRs通过来自这两个单体型、随机混合的SRs进行校正以进行模拟人类基因组数据的杂合位点(314307个)碱基校正并据此评估TGS校错方法的性能。

研究主要展示了资源利用率高并省时的FMLRC和LoRDEC结果——模拟PacBio LRs杂合位点很多错误未被校正,还有一些正确碱基被修改为错误的。研究得到的结论是:在校正过程中,浅层SR深度相对有助于FMLRC维持单体型信息,而LoRDEC则更适合高深度的SR覆盖。

FPR和FNR两个参数在模拟ONT LRs数据中的值要高于PacBio LRs,也就表明校正ONT数据在保有单体型信息上面临更大的挑战。分析还发现,虽然FMLRC和LoRDEC在其他评估中表现卓越,但对于PacBio或ONT LRs,两者都不能复原或维持真实的杂合碱基。因此和SGS基因组数据一样,LRs的杂合位点校错也面临着巨大的困难。

自校正和混合校正比较

分析表明,自校正和混合校正都能提升LRs的准确度。通道数(pass number)表示生成校准一致性序列的原始reads条数,如CCS reads至少有两条reads生成,因而准确度通常较subreads要高,且随着通过通道数的增加而提升,并在通过通道数为5的时候达到饱和。相似的,ONT 2D reads也较原始reads有更高的准确度,但由于原始ONT数据准确度相对低些且仅含两轮通道数,故而2D LRs准确度没有那么高。

混合校正方法下,PacBio reads在≥50×SRs达到准确度的饱和,相当于PacBio CCS reads在≥5轮通道时饱和的准确度。而ONT 2D reads的准确度通常在混合校正的5×和20×SR覆盖度之间远低于≥50×SRs时饱和的准确度。考虑到PacBio CCS reads在读长和通道数之间的平衡,混合校错非常有助于获得高精度的LRs。

总结讨论

1. 长读长数据目前还非常依赖校错工具,自校正和混合校正策略都可以提升原始LRs准确度,但自校正的局限更大,如就PacBio CCS reads而言,加大通道数代价就是损失读长,对于ONT数据,通道数最多也就2轮。相较下,混合校错方法能获得高准确的LRs,尤其是使用SRs进行校错能便于LRs比对、组装,稀释TGS数据成本高的劣势。

2. 本研究在灵敏度、准确度、输出率、比对率、输出读长、运行时间以及内存占用几个方面全方位的比较评估了十种校错方法的性能。综合测评显示,图像类方法优于比对类方法,其中FMLRC综合性能较其他图像类方法又更胜一筹。但需要指出的是,仅有低SR覆盖的数据,图像类并不如比对类有更强的鲁棒性;除了选用方法(指本研究中基于比对的ECTools和pacBioToCA)外,比对类方法通常具有相当甚至略低的灵敏度、准确率、输出率和比对率,主要缺点是运行时间长和内存占用高。ECTools和pacBioToCA与图像类方法内存占用相当,其与Jabba较适于对准确度要求高但对读长和数据损失不太关注的研究。

3. 与SR覆盖度不同,LR覆盖度不是影响混合校错方法性能的关键因素,一些依赖LR覆盖度的进程如布置图生成或一致性推断,混合校错方法几乎不会进行,但自校正方法就需要考虑到。普遍来说,十种方法在小数据集的表现比大数据集要好,推断原因是基因组的复杂性所致,尤其是高重复的区域对校错造成负担。再者,参数设置也是影响校错工具运行的重要因素,并且线程数是影响运行时间的关键。最后就是安装和启用操作,虽无法量化,但在实际应用中也是至关重要的环节。

4. 基于研究目的的差异,用户可以权衡各种方法的不同性能指标,如在单碱基分辨率或者序列分析的研究中,高准确度是首要关注指标,而在检测基因亚型、融合基因和丰度估计上面,即使准确度相对低一些,但是高的比对率也非常有用。因此,在选择校错方法时,用户应始终综合考虑数据大小、计算资源和研究兴趣。另一方面,本研究的性能评估还确定了在今后优化现有纠错方法或开发新的纠错方法具有一定意义的关键因素。

文章内容博大精深,需要更进一步的了解,请参考原文吧!


参考文献:

[1] Fu S , Wang A , Au K F . A comparative evaluation of hybrid error correction

methods for error-prone long reads[J]. 2019.

[2] https://static-content.springer.com/esm/art%3A10.1186%2Fs13059-018-

1605-z/MediaObjects/13059_2018_1605_MOESM2_ESM.pdf

0 回复

发表评论

想参加讨论吗?
请尽情讨论吧!

发表评论

邮箱地址不会被公开。 必填项已用*标注