Genome assembly in the telomere-to-telomere era
T2T时代的基因组组装,李恒大神的综述,昨天刚出刊,李恒也是samtools、seqtk等的核心作者。
seqtk安装与使用-seqtk-1.4(bioinfomatics tools-012)
Samtools安装与使用-samtools-v1.17(bioinfomatics tools-007)
摘要
de novo组装是从测序reads中重构生物体基因组序列的过程。基因组序列对于生物学至关重要,组装问题在生物信息学领域已经成为一个核心难题长达四十年之久。直到最近,基因组通常仅能组装成几兆碱基的片段,但是长读测序技术的技术进步现在使得许多生物体能够进行接近完整染色体水平的组装,也被称为端粒到端粒组装。本文回顾了最近有关组装算法和方案的进展,着重介绍如何得出接近端粒到端粒组装,并探讨未来可能的发展方向。
引言
当前的测序技术通常产生长度为几十个碱基对(bp)到几十千碱基对(kb)的连续序列读数,很少超过一百万碱基对(Mb)。相比之下,多细胞生物中的大部分染色体长度超过10 Mb,并且可以达到十亿碱基对(Gb)。为了获取生物体的基因组序列,我们需要获取能够覆盖基因组多次的序列读数,并根据它们之间的重叠将它们拼接在一起。从序列读数中重构基因组的过程被称为de novo组装。在本文中,为简单起见,我们经常简称为组装。
在历史上,整个基因组组装有两种主要策略:层级测序和全基因组散装测序(WGS)。采用第一种策略,我们首先将基因组分成大小为几十到几百千碱基对的克隆片段,并且对每个克隆进行序列测定和组装,通过基因组的物理或遗传图谱来确认克隆序列的顺序。最早组装的多细胞基因组C. elegans就是通过这种方式组装的。常用的人类参考基因组GRCh38也主要是基于克隆测序获得的。然而,构建和维护全面的克隆库成本高且劳动密集,因此这种方法如今很少使用。采用第二种策略WGS时,我们将基因组随机切割成片段,对这些片段进行测序,然后重构基因组。由于我们必须考虑整个基因组中读数之间的可能重叠,而不仅仅是来自相对较短的定位克隆的较小读数集之间的重叠,基于WGS的组装在计算上更具挑战性。尽管如此,随着改进的组装算法和数据质量,WGS已成为基因组组装的主导测序策略。
组装的测序读数的三个关键特性是长度、准确性和均匀性。设计组装策略时出现的许多问题涉及到这些特性之间的权衡。
许多模式生物的参考基因组最初是在大约20年前使用长度为几百到一千个碱基对的Sanger测序读数进行组装的。虽然高通量短读数的产生成本要便宜几个数量级,但由于短读数长度较短,导致组装更加分段。单分子测序技术的出现允许了更长的读数,标志着序列组装中的一个转折点。随着2010年代噪声长读数的出现,我们可以常规地组装完整的细菌基因组,并开始自动化人类参考基因组的组装。纯短读数组装在连续性和连贯性方面已经无法与使用长读数的组装竞争。
然而,在2019年底,我们仍然无法组装大多数多细胞生物的整个基因组。此外,几乎所有真核生物都具有二倍体或多倍体基因组,在每个活体中由两个或多个单倍体基因组组成。通常情况下,除非生物体是杂交的,例如实验室模型或其他实验操作,否则这些单倍体拷贝是相似但不完全相同的。截至2020年开发的组装器要么折叠单倍体基因组集合,失去50%或更多的基因组序列,要么产生比参考基因组质量低得多的分段组装。 2019年准确长读数(accurate long reads)的出现彻底改变了序列组装领域。随着最近的组装器利用高精度的长读数,我们可以常规地为新的非模式研究物种生成高质量的参考基因组组装。我们今天自动产生的平均人类组装与经过20年的筛选工作获得的人类参考基因组GRCh38相匹配或超过它。这使得全基因组新生代测序和系统性地对一整组物种进行序列测序成为可能,包括最终所有真核生物。现在我们成功地完成了一个人类基因组,每个染色体从端粒到端粒完整(T2T)。我们预计在未来几年内会有越来越多的物种达到这个水平。
在本文中,我们将回顾大型真核生物高质量组装的当前实践,最终实现端粒到端粒的完整组装。我们将描述常见的数据类型,细致解析最近的组装算法,解释评估组装的方法,并在最后讨论开放性挑战和未来方向。
影响基因组组装的属性
决定基因组组装难易程度的主要因素不是基因组的大小,而是其重复结构(见方框1)。重复序列可以通过长于重复部分的读数来解决。然而,也存在更长的重复区域。例如,人类染色体1的着丝点区域包含20 Mb的重复序列,远远超过当前测序技术产生的读数。尽管如此,我们仍然可以利用准确的长读数来组装这一区域。虽然它和其他类似的区域由相似的重复拷贝组成,但它们随着时间的推移积累了突变,很少在10 kb以上的重复序列中重复相同的序列。借助长且无错误的读数,我们可以区分不同的重复拷贝并成功地将它们组装起来。读数从来都不是完全无错误的,但当读数错误率足够低且测序错误足够独立时,我们可以纠正大多数错误并实现高质量的组装。
重复序列和de novo组装
重复序列或重复是指在基因组中出现多次的序列。重复拷贝不必完全相同;它们可能略有不同。重复序列在真核基因组中非常丰富,是使de novo组装变得复杂的主要因素。通过长读数计算可以解决重复序列,这些读数在两侧不重复序列之间进行桥接,或者长读数足够精确,可以区分不完全的重复拷贝(在重复之间架起桥梁)。
重复序列可以大致分为三类:分散重复、串联重复和区段重复。分散重复主要是分散在基因组中的转座元件。它们几乎都比现代长读数短,因此不再是组装的主要障碍。大多数染色体上的串联重复都比长读数短,因此也容易组装。然而,卫星重复是一种特别难以组装的超长串联重复,通常富集在着丝点上,因为长的读数无法跨越整个卫星数组。区段重复指的是在基因组中重复的非常长的DNA片段,通常比长甚至超长读数还要长。它们中的许多是聚集在一起的,可以串联。虽然古老的固定区段重复易于解决,因为自它们的共同祖先以来已经积累了变异差异,但长的多态性复制难以处理。核糖体DNA(rDNA)可能组织成包含高度相似拷贝的长串联数组。长的rDNA数组是最难组装的区域之一。
一个二倍体样本中的两个同源单倍型也可以视为彼此的重复。正确分离这两个拷贝(对于多倍体来说可能是两个以上)被称为“相位分离”。对于二倍体或多倍体样本,端到端组装还意味着所有染色体都被正确相位分离。相位分离单倍型和组装重复序列是相关问题。能够解决相似重复的组装器自然具有高分离同源单倍型的能力。相反,无法进行单倍型相位分离的组装器无法解析相似的重复拷贝。尽管传统的组装算法会合并同源单倍型,但目前的实践通常在百万碱基对的尺度上保留单倍型相位分离,并且可以根据多种数据类型生成染色体尺度的单倍型分辨组装。
长读长和长距离测序技术
获得近似端到端组装通常需要多种测序技术(表1)。长读取技术产生连续的读取序列,通常长度≥10 kb。Pacific Biosciences(PacBio)和Oxford Nanopore Technologies(ONT)是领先开发长读取技术的两家公司。2019年,PacBio推出了高保真度(HiFi)读取,长度为10-20 kb,误差率低于0.5%。这些读取有效地替代了PacBio旧的连续长读取(CLR),其错误率超过10%。目前,高保真度读取是高质量组装的核心数据类型。
在进行此评论时,大众市场上可用的ONT产品的准确度大致在90-95%之间。对于高质量的组装来说,超长读取是一种重要的ONT数据类型,其长度可以达到≥100 kb。尽管其准确度较低,但这些超长读取有助于解决那些无法通过HiFi读取进行组装的剩余重复序列。最新的ONT v14化学方法可以使用最新的Dorado basecaller生成98-99%准确度的单链读取。ONT正在积极开发双链测序技术,可以测序DNA片段的两条链。ONT双链数据的准确度接近PacBio HiFi,并且长度可以更长。一旦技术成熟,它将成为一种引人注目的数据类型。
即使超长读取也很少跨越数百千碱基。为了可靠地获得染色体长度的支架和相位信息,我们需要长程数据。最常用的长程数据类型是Hi-C22,它包括从同一染色体上不同位置获取的短读取对。这些数据提供了关于兆碱基的相位和连续片段排序信息。Pore-C23与Hi-C类似,但是使用的是ONT测序。Strand-seq24是另一种特别适用于染色体分组和片段定向的技术。然而,它更昂贵且不商业化。亲本序列数据,或称为三联体数据,对于全基因组相位化非常有用,也可以视为一种长程数据类型。
包括stLFR27、TELL-seq28和haplotagging29在内的链读取技术产生的短读团簇来自约100 kb的基因组片段。它们需要很少的DNA输入,并且制作成本较低。BioNano光学限制性消化图提供了长程信息。然而,这些技术不如ONT超长读取或与HiFi连续片段结合使用的Hi-C强大,并且在组装中很少使用。
近端到端组装的方法
虽然第一个完成的人类染色体(X染色体)是使用ONT超长读取进行组装的,但只有在PacBio HiFi读取20出现后,整个人类基因组才能完成。目前,对于二倍体样本的端到端组装的努力主要集中在准确的长读取与ONT超长、三联体和Hi-C数据的组合上。通常观察到,每个等位型至少需要≥15倍的读取覆盖度才能得到连续的组装。即使是>100 kb的超长数据,以约10倍的覆盖度也明显改善了组装效果,但更高的覆盖度仍然更好。通常,30倍的Hi-C或三联体覆盖度就足够了。
上面已经解释了从二倍体或多倍体个体组装大多数真核基因组时涉及相位化两个或多个同源染色体集合的情况。下面我们首先考虑这些集合是相同的,或者是纯合的简单情况,因此我们实际上只组装一个单倍体基因组。然后,我们继续处理异合的二倍体样本的更复杂情况。通过重复交配,可以获得纯合基因组,这在自交性植物和两性动物(包括线虫C. elegans)等自交繁殖的物种中可以自然发生,或者可以在实验室小鼠和果蝇品系中进行实验。最近,第一个完整的T2T人类基因组组装是从一个纯合细胞系CHM13hTERT获得的,该细胞系源自一种罕见的水泡性葡萄胎,它复制了一个单倍体基因组。
组装纯合基因组
对于纯合基因组,接近端到端组装的最可靠解决方案是使用PacBio HiFi读取和ONT超长读取(图1a)。我们使用HiFi读取构建初始组装图,该图由不包含长精确重复的线性片段(unitigs)组成,其中可能存在取决于重复结构的连接。这里的“长”约为10kb,具体细节取决于使用的算法。高度重复的区域被表示为复杂的子图,我们将其称为纠缠。然后我们可以将超长读取锚定到unitigs并将其穿过纠缠以解决大部分纠缠。超长读取还可以修补由偶尔出现的HiFi覆盖不足引起的组装间隙。人类T2T-CHM13基因组是在没有其他长程数据的情况下组装的。然而,当染色体在组装图中分离得不好或不连续时,额外的Hi-C数据将有助于生成染色体长度的支架。
图1|近端到端组装策略。
a、组装单倍体或纯合基因组。在修正准确长读取的测序错误后,无误差的读取被组装成初始组装图,其中粗箭头表示序列,细线连接序列。超长读取随后穿过组装图,解决纠缠亚图并填补小的组装间隙。Hi-C等长程数据有助于在剩余的间隙上进行支架化。
b、组装异合二倍体基因组。在错误校正过程中保留两个等位型之间的异质性差异。组装图通常由一系列“气泡”链组成,代表等位型之间的多态性。超长读取和长程数据可用于相位化等位型以及解决纠结。
目前,verkko15,33和hifiasm可以整合PacBio HiFi和ONT超长数据。它们基本上遵循图1a中的工作流程,但在每个步骤中使用不同的算法。仅使用HiFi数据就可以实现纯合基因组的良好组装。Verkko、hifiasm、HiCanu10和LJA13都可以仅使用HiFi读取从端到端地组装多个人类染色体。当需要支架化时,YaHS34已取代SALSA35成为具有Hi-C数据的高质量HiFi组装的推荐方法。它是脊椎动物基因组计划(VGP)和达尔文生命树项目(DToL)都使用的首选支架化工具。
组装异合二倍体基因组
组装异合二倍体基因组采用类似的策略(图1b)。对于具有长的纯合区域的基因组,包括人类基因组,仅使用HiFi和超长数据可能无法相位整个染色体。在这种情况下,建议使用可以提供整个基因组准确相位信息的三联数据。当无法获取父本样品时,我们可以使用Hi-C。Hi-C只提供连续片段之间的相对相位信息,在纠结亚图中不如三联数据强大。尽管如此,Hi-C仍然是可靠地支架化染色体的关键数据类型。VGP和DToL通常为它们测序的大多数物种生成Hi-C数据。
目前,ONT超长数据相对较昂贵,并且需要大量的输入DNA(通常为数十微克)。许多测序项目不生成超长数据。仅使用HiFi,我们可以生成一个主要/备选组装对37或一个双组装对(图2)。对于得到单一参考序列,通常更喜欢使用主要组装,因为主要连续片段通常更长。备选组装是碎片化的且容易出错;通常在下游分析中被忽略。对于在二倍体样本中表示两个基因组,双组装对支持基于组装的变异位点调用,并且还可以在全基因组构建中使用两个等位型。然而,由于连续片段较短,支架化可能更加复杂。无论采用哪种方法,区分拷贝串联重复和同源等位型重复的问题往往存在困难,特别是在连续片段的末端,这可能导致虚假的重复。对于主要组装方法,许多但并非所有这些问题可以通过启发式方法找到和修复,例如在purge_dups41中实现的方法。
图2|二倍体样本的相位组装类型。
a、从图1b的组装图可以进一步处理成不同类型的组装。
b、主要/备选组装对。主要组装表示一个完整的单倍体基因组,偶尔会有相位切换。备选组装是碎片化的。
c、双组装对。每个双组装与主要组装类似。
d、染色体相位组装对。来自同一单倍体染色体的连续片段被分配给同一个组装。
e、具有支架化的染色体相位组装对。在组装间隙中将连续片段连接成染色体。
通过将HiFi与三联数据、Hi-C或Strand-seq等长程数据结合,我们可以生成一对相位分辨组装(图2)。这种组装对的连续性与双组装对相当。它不仅保留了相位信息,还可以通过Hi-C进一步支架化为相位分辨的染色体。即使没有父本数据,已经证明可以使用印记甲基化标记物44来确定这些染色体的亲本起源,如果这些标记物已知并且足够频繁地标记每一对同源连续片段。
对于异合基因组,verkko和hifiasm都可以整合PacBio HiFi、ONT超长和长程数据,并能够从端到端地组装多个人类染色体的单倍体解决方案。它们也适用于仅使用HiFi数据,并生成双组装或主要组装。HiCanu也可以使用HiFi数据生成主要组装,并达到可比较的质量。
到目前为止,所有提到的组装器都针对PacBio HiFi数据进行了优化。它们可能可以组装具有类似准确性的ONT双工数据,但在广泛的生物体范围内普适性尚不清楚。尚未证明它们可以处理其他ONT数据类型,包括由v14化学方法产生的最新的单端读取。Shasta-GFAse流程是仅使用ONT数据进行连续性相位分辨组装的可行选择。
核心组装算法
现代长读组装器是基于图形的。它们从输入读取中构建一个组装图,可以是重叠图或de Bruijn图。在这个图中,一个顶点表示一个序列,一条边表示从读取中推断出的可能连接。组装图理想情况下保留了所有读取中没有冗余的信息。然而,由于重复和多倍体性,它往往是非线性的。我们整合其他数据类型或依赖图遍历来解决图中剩余的模糊性,并获得长的线性contigs。
虽然有关基于图形的组装算法的理论已经有了评论,但它们的表述不同。为了完整起见,我们将在此描述基本理论。此外,DNA是双链的。因此,与图形理论中的经典图形不同,组装图是双向的,每个边缘都有两个方向。为了简化我们的表述,我们假设DNA序列只有一个链。在这种假设下,组装图是有向图。
读取错误校正
虽然PacBio HiFi和ONT双工读取精度高,但它们并不是无误差的。剩余的错误与遗传变异混合在一起,可能会阻碍同源单倍型或重复拷贝的正确分离,从而导致碎片化的组装。所有T2T能力的组装器都尝试在读取上纠正测序错误。HiCanu、verkko和hifiasm将所有读取互相对齐。对于每个读取,如果它在同一位置对齐的其他重叠读取中很少出现,则会纠正一个碱基。LJA构建了一个没有错误校正的初始组装图,将每个原始读取与图形对齐,并以高k-mer覆盖的图形路径作为校正后的读取序列。虽然HiCanu、Verkko和LJA在读取的同源聚合物压缩空间中压缩同源聚合物并纠正读取,但hifiasm在原始碱基空间中进行纠正。这些组装器可以纠正大多数错误。
很可能,在相同数据上,不同组装器的结果差异在很大程度上取决于错误校正的变化,而不是组装算法的变化,但这很难确定,因为这些步骤通常是集成的。如果方法开发人员将其错误校正步骤与组装步骤分离,则会有所帮助。
使用重叠图进行组装
在重叠图中,每个顶点都是一个读取。如果A的后缀可以与B的前缀对齐,则我们从A向B添加一个有向边缘;在这种情况下,我们说A和B有重叠。图3a显示了如何从读取中构建组装图。该示例结果为单个unitig。
图3| 使用重叠图进行组装。
a、简单的重叠图组装。找到所有读取之间的重叠部分,识别可以从其他重叠部分推断出的传递性重叠部分(虚线箭头),去除传递性重叠部分,并合并具有一个入边和一个出边的顶点,以获得最终的unitig。
b、图形清理。未经校正的测序错误(黄色六边形)可能导致应该修剪掉的末端(read 3)。重复序列(红色区域)可能导致重复拷贝之间的重叠,可以通过图形清理进行切割。
c、组装长于读取长度的串联重复。禁止不精确的重叠(红色箭头)将该区域解析为一个简单的图形。
d、组装二倍体样本。允许不精确的重叠导致杂合差异的丧失,并使两个等位基因发生崩溃。仅使用精确的重叠消除了等位基因之间的比对,从而保留了杂合等位基因及其局部相位。
e、去除包含的读取(黄色线)会导致红色等位基因上的组装间隙。
实际的重叠图并非如此简洁,需要进一步处理。特别是,当重复长度长于重叠长度时,不同重复拷贝之间会存在重叠(图3b)。对于人类来说,如果我们将重叠保持在几千个碱基以下,那么在约6kb的LINE1重复序列之间将会有很多重叠。尽管如此,鉴于比LINE1更长的读取长度,我们预计涉及唯一区域的重叠会比重复区域的重叠更长。如果一个读取具有两个重叠(例如,图3b中的读取2与3和4重叠),那么较短的重叠更有可能是由于重复引起的,可以被切除。同时,未经校正的测序错误可能导致额外的“末端”(例如,图3b中的读取3)或“气泡”。这些也在图形清理过程中被移除。
大多数基于重叠的组装器遵循图3a/3b中的流程。HiCanu10和hifiasm11是为HiFi读取优化的两个基于重叠的组装器,与其他组装器不同之处在于它们只允许完美的重叠。这个看似微小的差异是它们区分重复拷贝(图3c)和分阶段单倍体(图3d)的主要来源。通过这种方式,与给定准确长读取的老组装器相比,它们实现了更连续和更准确的组装。
值得注意的是,hifiasm正在实现字符串图48来准确表示。字符串图是重叠图的另一种表达方式。这两种图可以在不丢失信息的情况下互相转换。我们省略了理论细节,并将它们视为相同的方法。
使用de Bruijn图进行组装
构建de Bruijn图(DBG)有两种方法:节点中心或边中心53(图4a)。在节点中心图DBGv(k)中,每个顶点是读取中的一个k-mer,如果两个k-mer重叠k-1个碱基,则它们之间有一条边。在边中心图DBGe(k)中,每个边是读取中的一个k-mer,每个顶点是一个(k-1)-mer。从数学上讲,DBGe(k+1)是DBGv(k)的子图,而DBGv(k)是DBGe(k)的线图。在文献中,这两个定义都很常见。由于与重叠图的关联,本综述采用节点中心视角。
图4|de Bruijn图。
a,不同k-mer长度的节点(顶点)中心de Bruijn图。b,多路复用DBG改进组装。使用6-mer作为节点的紧凑de Bruijn图,DBGv(6),被分解成两个unitig。DBGv(5)有一个连通分量,但图中存在一个环。使用6-mer作为节点,从DBGv(5)和DBGv(6)的组合unitig构建了一个多路复用de Bruijn图,DBGv(5,6)。c,然而,多路复用DBG无法解决所有情况。在这种情况下,多路复用DBG仍然是分割的,而基于重叠的方法(需要≥4bp的重叠)可以组装成单个contig(与b中一样)。
节点(顶点)中心的de Bruijn图是一个由顶点上的k-mer组成的重叠图,边对应于k-1个碱基的重叠。它不包含包含的reads或传递性边,因此更简单。用于重叠图的策略通常也适用于de Bruijn图。
基本的de Bruijn图丢弃了比k-mer大小更长的信息。这降低了其在相位和重复序列解析中的能力。选择一个大的k以保留长程信息可能很诱人,但使用大的k会增加低覆盖区域出现contig断点的机会(图4b)。对于所有情况来说,并没有单一最佳的k-mer大小。多路复用的DBG为k-mer选择的困境提供了一个很好的解决方案。概念上,多路复用的DBG可以看作是使用不同k-mer大小构建的多个DBG的合并(图4b)。它在重复区域中自适应地选择大的k,在低覆盖区域中选择小的k。然而,使用多路复用的DBG并不能解决DBG中的所有模糊性(图4c)。实际的组装器在不同的子图中启发式地使用不同的k-mer大小。它们检索用于子图的reads,并在新的子图更简单且保持连续的情况下,用使用较长k-mer构建的新子图替换原子图。这个过程与“read threading”50更接近,而不是图4b中演示的算法。
基于minimizer的稀疏化是现代组装器中使用的另一种技术。我们只在内存中保留minimizer57或closed syncmers58(所有k-mer的一个小子集),而不是存储reads中的每个k-mer。这种策略极大地减少了内存使用量并加速了构建过程。一个相关但独立的构造称为minimizer空间的de Bruijn图(mDBG)使用k个连续的minimizer作为“k-mer”来构建一个de Bruijn图。MetaMDBG59实现了接近图4b中多路复用de Bruijn图概念定义的多路复用mDBG。
虽然大多数短读组装器使用了de Bruijn图方法,但没有组装器使用de Bruijn图来组装误差率超过5%的嘈杂长读取数据,因为为保留长程信息所需的长k-mer大多是错误的。然而,使用准确的长读取数据,我们可以纠正大部分测序错误并使用超过10 kb长度的k-mer。de Bruijn图再次成为可行的选择。Verkko和LJA13是基于de Bruijn图的组装器,可以实现与HiCanu和hifiasm大致相当的组装质量。
整合多种数据类型
对于二倍体样本,只有当存在一个包含两个位点的读取时,我们才能将两个杂合位点分开。人类和许多其他物种的二倍体基因组包含许多长度超过HiFi读取并且不包含任何杂合位点的区域。仅凭HiFi读取,我们无法对人类基因组进行分型。同时,在过去几千年内发生的分段重复很可能在数十kb范围内保持一致,也无法通过HiFi读取解析。我们需要额外的数据类型来获得整条染色体的分型并组装最近的重复序列。
最强大的辅助数据类型是ONT超长读取,仅仅因为它们具有较长的读取长度。Verkko将超长读取与初始组装图进行比对,并识别图中的路径。然后,它使用与构建多个DBG相同的读取串联算法简化初始图。Hifiasm则使用类似于minigraph的算法对超长读取与图进行比对。它将超长读取编码为单位格序列,并在单位格空间中应用基于重叠的组装算法。这两种组装器都可以通过整合超长数据实现更高质量的组装,但它们仍然无法对整个染色体进行分型。
三联体数据,即对样本的父母进行测序获得的数据,是全基因组分型最可靠的数据类型。通过三联体数据,我们可以识别仅在其中一个父本中出现的k-mer,并使用这些k-mer来标记组装图中单位格的亲本来源。例如,我们可以连接父本单位格和未标记的单位格以获得长的父本contig。Verkko和hifiasm都可以利用这种信息。然而,在实践中,由于伦理问题或野生动物的父母不可用,往往难以获取父母数据。原则上,来自其他近亲的数据可以提供类似的信息,但很少用于组装新物种。
最常见的辅助数据类型是Hi-C。它在组装中起到两个关键作用:支架化和分型。如果Hi-C片段在细胞核中空间上接近,它们就会连接两个位点。由于染色体的组织方式,同一染色体上更接近的位点也更有可能在3D空间中相互作用。因此,如果一对contig之间的Hi-C读数密度很高,这对contig很可能在同一染色体上靠近。支架构建器使用这些信息将contig分组并排序为染色体。
同时,由于我们更有可能看到Hi-C片段桥接同一单倍体染色体上的两个位点,而不是不同的同源染色体上,Hi-C还提供了长范围的分型信息。Hifiasm和GFAse针对新组装进行了适应基于参考的Hi-C分型算法。简单来说,具有相同Hi-C片段的contig会相互吸引归于同一个分型组;具有高序列相似性的contig会相互排斥,分到相反的分型组。Hifiasm和GFAse试图在吸引力和排斥力之间找到一个平衡,来进行contig的分型。Verkko可以选择使用GFAse的分型,并生成一个染色体分型的组装结果。
评估序列组装
要使一个组装结果真正实现端粒至端粒,它必须覆盖整个染色体,没有缺失,并且不包含大规模的组装错误。在得出端粒至端粒的结论之前,严格评估组装质量是至关重要的。
基本指标
为了对组装结果有第一印象,我们计算组装大小(所有contig长度的总和),以及N50,它被定义为不短于N50长度的contig覆盖了一半的组装长度。对于二倍体样本的常染色体而言,我们期望双重组装(图2c)或染色体分型组装(图2d)中的两个组装结果具有相似的大小。不平衡的常染色体组装结果可能表明分型不完整,需要手动参数调整或进行筛选。当然,在异染性性别(例如哺乳动物的XY雄性)中,性染色体的大小很可能会不同。物种内的其他倍性变异也可能发生,例如由于体细胞染色体缺失或减少。
评估基因完整性
BUSCO65仍然是评估组装完整性的黄金标准。它通过将保守的单拷贝蛋白质与基因组比对,并计算缺失、断裂或重复的比对数来工作。组装不完整的情况下,未对齐的蛋白质会更多。需要注意的是,BUSCO可能会低估大型基因组的完整性。例如,在注释的人类基因上运行BUSCO将得到99.2%的完整性,但在人类基因组序列上运行BUSCO将得到95.7%的完整性。这种差异是由于将蛋白质与人类基因组比对的困难导致的。Compleasm66是BUSCO的最近重新实现,它通过更准确的蛋白质-基因组比对来解决了这个问题。
minimap2软件包中的“asmgene”工具是BUSCO的替代方案,当存在高质量的参考基因组时,也可解决低完整性问题。该工具基于cDNA与参考基因组的比对,识别单拷贝基因。如果基因对目标组装结果的比对都很好,则认为该基因完整。该“asmgene”工具还评估了参考基因组中的多拷贝基因是否组装为目标组装结果中的多个拷贝。嘈杂的读取组装程序可能会使单拷贝基因组装正常,但通常会漏掉多拷贝基因。
基于K-mer的评估
考虑到均匀的读取覆盖率和读取的完美组装,我们期望组装中k-mer的计数与读取中的计数成正比。如果组装中的某个k-mer出现的频率比读取中更高,这表明组装中存在虚假重复,而如果某个k-mer在读取中频率很高但在组装中不存在,这表明存在缺失的序列。KAT69是一个强大的工具,利用这些简单的观察来评估组装。
现在,使用k-mer来估计contig序列的碱基准确性已经成为一种常见做法,通常以Phred量化值70(QV,Quality Value)来衡量。该方法通过计算从读取中缺失的contig k-mer的比例来工作。较高的比例表明较低的QV。目前有两种实现,Merqury71和yak11。Yak不同之处在于它试图在高读取深度时纠正被高估的QV。值得注意的是,由于QV估计取决于输入读取的质量和深度,基于不同输入读取的QV估计不能严格比较。我们不能轻易得出一个物种的QV比另一个物种的QV更高的结论。当存在三联体数据时,Merqury和yak还可以使用特定于父本的k-mer来评估组装的相位准确性。
基于比对的评估
理想情况下,当我们将序列读取与其组装进行比对时,我们希望在每个contig位置都有均匀的覆盖。长区域的过低或过高覆盖都表明可能存在组装错误。我们还期望contig在碱基水平上能够得到读取的良好支持。当我们从读取到组装的比对中调用变异时,孤立的可信小变异调用可能表明contig一致性错误,而聚集的杂合变异调用可能来自于合并的分段重复。这些信号在评估同源CHM13基因组中发挥了关键作用。对于二倍体基因组,我们可以合并两个单倍体组装,并将读取映射到合并后的组装。我们应该观察到类似的信号。Flagger、Asset72和Inspector73是基于读取到组装比对的用户界面评估工具。
对于一个具有接近完美精心策划的组装的样本,例如CHM13,我们可以将现有的组装作为基本事实来评估使用较少数据类型或较低读取覆盖率生成的自动化组装。QUAST74是用于此目的的常用工具。基于组装到组装的比对的这类方法对于组装程序开发人员来调整组装算法非常有价值,但在应用于新物种或“真实”组装和评估组装来自不同菌株或不同样本的情况下则不适用。在后一种情况下,QUAST经常会将结构变异报告为组装错误。在复杂区域中组装更完整的组装看起来会具有更高的错误率。例如,如果我们将人类参考基因组GRCh38作为基本事实来评估端到端的CHM13组装,QUAST将报告超过20,000个组装错误11。
新基因组序列的拼装面临一些挑战。
理论挑战:
1.重叠图和De Bruijn图是两种常见的拼装范式,但它们都存在一些问题。在构建重叠图时,如果一个较长的读取包含了另一个读取,我们会将后者舍弃。然而,当读取长度变化时,这个步骤可能导致拼装缺失。虽然这种情况不常见,但现代拼装结果非常连续,因此由于被包含的读取而引起的额外拼装缺失很明显。为了解决这个问题,hifiasm尝试在能够填补拼装缺失的情况下保留被包含的读取。这种启发式方法在简单情况下有效,但并不总是可靠。处理被包含关系是基于重叠的拼装算法的弱点,仍然是一个未解决的关键问题。
2.使用多重De Bruijn图(multiplex DBG)的拼装器,如SPAdes、Verkko和LJA,不同于教科书中所描述的基本De Bruijn图。构建固定的k-mer集合对所有输入读取的多重De Bruijn图已经有了深入研究,但现代拼装器没有使用这些算法,因为一个k-mer集合可能不能在所有子图中达到最优效果。因此,它们只能依靠启发式方法,在图的连续性和复杂性之间寻求平衡,缺乏坚实的理论支持。将不同长度尺度的信息更加顺畅地结合起来,可能需要探索新的拼装范式。
实践挑战:
1.使用Hi-C作为长程数据进行拼装比使用三联体数据更加困难。没有三联体数据,现有的拼装器在相对较小的染色体或微小染色体的相位分离上可能会遇到问题。对于具有不同性染色体的样本(例如XY系统中的男性或ZW系统中的女性),它们通常无法清晰地分离性染色体。然而,通过检查Hi-C比对结果,人工操作员通常可以识别这些问题并进行手动修复。这表明在使用Hi-C数据时还有进一步的改进空间,可能可以采用机器学习方法来解决这个问题。
2.当前的端粒对端粒策略强调使用长读取,并且准确度要高于99%。事实上,它们依赖于预组装错误校正进行操作,以使大部分读取是完美的。通过最新的v14 ONT化学技术,ONT单倍型读取可以达到98-99%的准确度。我们怀疑可能可以为新的ONT单倍型读取设计纠错策略,使其可以使用当前或适应的长读组装算法,这些算法需要精确匹配。如果成功,就有可能从单一数据类型中进行准确的端粒对端粒组装,这将极大地简化高质量基因组组装。
实验挑战在实践中通常比计算挑战具有更大的影响。长读生成的标准协议需要大量DNA(超过微克),这可能很难或不可能从小生物或临床样本中获取。对于PacBio,有低输入文库协议可无扩增工作至0.1微克77,但在此之下需要全基因组扩增,这引入了覆盖度偏差和缺失。长读也存在覆盖度偏差。例如,PacBio HiFi读取无法穿过长的富含GA重复序列。ONT读取则在端粒序列上存在问题78。ONT双链读取还可能具有序列相关的覆盖度下降。这些覆盖度偏差在最近的一项研究中导致了超过25%的组装间隙。
超越二倍体样本
虽然最近在二倍体基因组的端粒对端粒组装方面取得了出色的进展,但我们还没有对多倍体基因组有满意的解决方案。最近已经有两个四倍体马铃薯的单体型相位组装,使用单细胞测序数据80或遗传图谱81进行分相位处理,但这些方法无法大规模部署。我们更倾向于使用常见的数据类型来推导多倍体组装;在原则上,HiFi长读取、超长读取和Hi-C数据中应该存在必要的信息。
癌症基因组在某种程度上是多倍体的,染色体内或之间的倍性会变化。它们更难组装。除了癌症外,我们还想组装包含大量不同物种(通常是微生物)的宏基因组样本,相对丰度差异很大。宏基因组也可以被认为是一种具有更高倍性变异的多倍体基因组。尽管如此,当我们组装宏基因组样本时,与多倍体基因组组装相比,门槛较低:例如,通常不期望对高度相似的基因组进行相位处理。有专门的宏基因组组装器,例如MetaFlye82、hifiasm-meta83和metaMDBG59,可以从深度测序的宏基因组样本中重构多达几百个封闭的细菌基因组,尽管它们仍然缺少基于16S或k-mer分析可检测到的物种84。要实现完整的宏谢组组装还有很长的路要走。
前景与结论
由于PacBio HiFi读取和ONT超长读取的可用性,过去两年中de novo组装的质量有了显著提高。现在,全自动组装器可以对二倍体哺乳动物和其他基因组庞大的物种中的一些染色体从端粒到端粒进行相位分离和组装。这在2020年中期是不可想象的。
我们能否使用当前的数据自动组装所有染色体的端粒到端粒?我们认为一般的答案是“不能”。我们相信,过去几年的大部分进展都是因为数据质量的改善,当前的组装器大多数信息都来自于可用的输入数据。仅仅通过算法改进可能无法可靠地解决所有组装间隙。我们期待继续推进测序技术的新进展,以实现不需要人工干预就能真正完整地组装基因组。
需要注意的是,完整的组装只是下游生物学发现的开端。虽然基因组组装已经快速进展,但基因组比对和注释工具远远落后。我们希望未来看到这些工具的持续发展,以实现(接近)完整组装的全部力量。