拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

单倍型T2T基因组组装:技术原理、核心流程与实战经验

单倍型T2T基因组组装:技术原理、核心流程与实战经验

这两年被问得最多的问题,已经从“要不要做三代测序”变成了“能不能把基因组拼到T2T级别”。再往深一点,就是“单倍型级别的T2T该怎么搞”。这个题目前前后后带过不少项目,从人类样本到动植物的完整基因组,踩过的坑比看过的文献还要多。单倍型T2T基因组(Haplotype-resolved Telomere-to-Telomere genome)说白了就是:把二倍体基因组里来自父本和母本的两套染色体,分别、完整、从一端端粒到另一端端粒地组装出来,中间没有任何缺口。这篇先用一篇文章的篇幅,把单倍型T2T到底解决什么问题、依赖哪些技术、整体流程怎么走讲清楚,适合刚接触基因组组装的生信人员、想升级参考基因组的课题组,以及想搞清“T2T与单倍型是什么关系”的朋友。

1. 单倍型T2T基因组到底在解决什么问题

1.1 从“有缺口的参考基因组”说起

长期以来,我们使用的参考基因组并不“完整”。以人类参考基因组为例,旧版GRCh38在着丝粒、核糖体DNA区、节段重复区域等位置存在大量缺口(gap),整个基因组有一大片区域其实处于“黑箱”状态。着丝粒区域是高度重复的卫星序列,长度通常在几百万碱基对(Mb)级别,传统的二代短读长测序(如Illumina)读长只有150bp左右,无法跨越这些重复单元,因此组装时会卡死在这里。类似的情况也出现在rDNA(核糖体DNA)串联重复区、免疫球蛋白基因座等复杂区域。

T2T技术就是针对这些“历史遗留问题”来的。Telomere-to-Telomere,意思是每条染色体从一端的端粒(Telomere)到另一端的端粒,连续无缺口的完整装配。2022年人类T2T联盟发布的首个人类完整基因组T2T-CHM13,在GRCh38基础上新增了大约200Mb以前完全未知的序列,补齐了所有染色体上的缺口。这个里程碑让整个领域意识到:重复区域并不是“垃圾”,着丝粒里有大量与细胞分裂、基因调控相关的线索,只是以前我们看不到而已。

传统参考基因组除了“有缺口”,还有另一个更隐蔽的问题,那就是它的序列其实是一份“混合体”。因为人类和二倍体动植物都有两套同源染色体,一套来自母本,一套来自父本。测序时读段(reads)来自两套染色体,组装软件默认把它们混在一起拼成一套序列。最终得到的参考基因组,在某些位点可能是母源的,在另一些位点可能是父源的,中间偶尔还会出现“嵌合”——两个单倍型片段被错误地拼接在一起。过去不觉得这是大问题,是因为我们只用它当比对参考,用来找变异也基本够用。但如果你关心“两个等位基因是否真的存在差异”“某个基因的两个拷贝是否功能不同”,这种混合序列就会掩盖真实信息。

1.2 单倍型:把两本手册分别拼出来

我给非生信的朋友打过一个比方:二倍体基因组像一个人手里握着两本内容相近但不完全一样的说明书,一本来自父亲,一本来自母亲。过去做基因组组装,相当于把两本说明书撕碎了混在一起,然后拼出了一本书。这本书每个章节可能来自第一本,也可能来自第二本,虽然读起来通顺,但如果想查某个特定条款在两本书里到底有什么不同,就无从下手。

单倍型T2T要做的,就是把这两本说明书分别重新拼出来——第一本完整拼好,第二本也完整拼好。这里有两个关键词:单倍型(haplotype)和分型(phasing)。单倍型指一条染色体上成套遗传变异组合,可以简单理解成“一套完整的那本说明书”;分型就是把来自两条同源染色体的序列区分开来的过程。

有人会问:T2T-CHM13不也是完整的吗?它算不算单倍型T2T?这里要区分清楚。CHM13来自一种特殊的细胞系(完全性葡萄胎),这个细胞系的基因组两条染色体拷贝几乎完全一致,本质上近乎“单倍体”,所以它的T2T组装是在一个“天然单倍型”背景下完成的,最终给出的是一条代表序列。我们常说的单倍型T2T更多指普通二倍体样本:通过算法或实验手段,把杂合位点上的两个等位基因分别归属于两个单倍型,再对每个单倍型分别做完整组装。注意,这两个单倍型之间往往存在大量结构差异(插入、缺失、倒位、重复拷贝数差异),不是简单把混合序列“拆开”就行,必须针对每条单倍型分别跨越复杂区域。

单倍型T2T的价值在于,它同时解决了“完整性”和“二倍体分辨”两个问题。既看到所有看不到的重复区域,也分清楚每一段序列到底属于哪个亲本来源,为后续的变异检测、等位基因表达、结构变异分型提供真正的“黄金标准”。

2. 单倍型T2T在科研和应用中能带来什么

2.1 等位基因差异:同一个基因,两个版本可能完全不同

人类基因组里两个单倍型之间的差异远不止单个碱基突变(SNP),更大的差异来自结构变异(SV)。比如一个基因在母源单倍型上完整存在,在父源单倍型上却缺失了一段或者多了一段重复,甚至整个基因拷贝数都不同。传统混合组装把两个版本混在一起,会导致两种后果:一是该区域的序列出现断裂,二是比对到这个区域的读段无法准确定位到哪个单倍型,变异检测结果变成一团乱麻。

当有了单倍型T2T后,两条单倍型的序列摆在那里,等位基因的差异一目了然。在疾病研究中,如果一个致病突变只在某个单倍型上出现,另一个单倍型是正常的,那患者的表型差异很可能取决于这个位点处于杂合还是纯合状态。过去只能通过长片段测序加统计学分型推断,现在直接能从完成图上看到,准确性和效率都有很大提升。

2.2 医学基因组:复杂区域不再是变异检测盲区

医学基因组里有一类区域长期困扰大家,比如主要组织相容性复合体(MHC/HLA)区域、同源基因家族、倒位热点区等。这些区域重复度高、多态性极强,传统短读长很难在这里做准确的变异分型。HLA基因分型做错一个位点,在器官移植和药物基因组学里就是大问题。单倍型T2T可以把这个区域的父源、母源序列分别完整组装,直接把HLA分型做到“基因型即序列型”,还能看到传统方法根本看不到的大段结构变异。

不少临床研究团队正在尝试把T2T参考基因组应用到罕见病诊断上,尤其是那些反复查找都找不到致病位点的“未诊断病例”。这些病例里相当一部分致病变异可能就藏在着丝粒周边、亚端粒或复杂重复区域——也就是旧参考基因组缺失的地方。单倍型级别的组装能把这些区域变成可查询、可比对的序列,意义不言而喻。

2.3 动植物育种:挖掘亲本特异性优良等位基因

在农业育种领域,单倍型T2T同样很有价值。很多作物的基因组杂合度高,传统组装出来的“混合单倍型”在后续育种里难以直接应用。比如杂交水稻、杂交玉米、果树等,杂种优势在很大程度上来自两个亲本单倍型的互补效应。如果能分别拿到父本和母本的完整T2T,就可以精确判断哪些基因是杂合优势位点,哪些结构变异在不同品种间造成了表型差异。育种家可以把优良单倍型作为“设计图谱”,结合基因编辑或分子标记辅助选择,把目标单倍型整体导入。

动物方面,一些经济动物、宠物和模型动物的参考基因组也在往单倍型T2T升级。包括小鼠、猪、牛等重要物种,目前都在陆续发布高质量完成图。这个趋势很明显:传统参考基因组的“混沌”状态已经不能满足精细解析需求,单倍型T2T基本就是下一代参考基因组的标准形态。

从参考基因组本身来看,单倍型T2T还意味着我们可以构建“泛基因组”(pangenome):不同个体、不同品种的单倍型序列放在一起,形成一个能代表整个物种多样性图谱。而不是让所有人都比对到一条固定的参考序列上。今后做变异检测,比对到泛基因组会比比对到单一参考更准确,尤其是在结构变异丰富的区域。

3. 单倍型T2T依赖哪些核心技术

3.1 HiFi、超长ONT与Hi-C:三类数据缺一不可

要做单倍型T2T,测序策略和以前有本质区别。短读长(NGS)基本退居辅助验证角色,主力是三类数据。

第一类是PacBio HiFi(高保真长读长)测序。HiFi读长通常在15-25kb,准确率达到Q20甚至Q30(99%~99.9%),既能跨越转座子和中等长度重复,又自带很高的单碱基准确度。它解决的是“单碱基对不对”的问题。对于普通物种,HiFi深度建议至少30×;杂合度高或者基因组大,可以加到35-40×。这里有个计算公式可以参考:设基因组大小为G,HiFi平均读长为L,覆盖率C=总测序碱基数/G。要保证每条杂合单倍型都有足够的覆盖,建议C≥30。过低的覆盖会导致组装图断裂严重,后续补洞成本极高。

第二类是Oxford Nanopore超长读长(UL-ONT)。它的单碱基准确度不如HiFi,但因为读长经常可以达到100kb-1Mb以上,可以跨越HiFi无法跨越的长串联重复区域,尤其是着丝粒、rDNA簇和复杂结构变异区域。UL-ONT的作用主要是“搭桥”,把HiFi组装产生的contig骨架之间的缺口连接起来。这类数据深度通常做到50×-100×,具体取决于目标物种的重复程度和基因组大小。需要特别强调:UL-ONT并非只是“加量”,它的片段长度太重要了。实际测序时,提取高分子量DNA、温和裂解、尽量不做机械打断,目的就是让读长冲到尽可能长。DNA完整性差一点,整个T2T项目的难度就上一个台阶。

第三类是Hi-C(染色体构象捕获)数据。Hi-C的核心用途有两个:一是把组装出的contig挂载(scaffold)到染色体级别,二是辅助单倍型分型。因为同一染色质空间内,同一条染色体上的序列在空间上更接近,可以通过互作信号判断哪些contig属于同一条染色体,甚至帮助区分两个单倍型。Hi-C数据量一般做到50-100×,覆盖度不足时,挂载结果会出现大量错挂和反转,后面处理起来非常痛苦。

3.2 核心组装策略:先组装后分型 vs 先分型后组装

单倍型T2T的组装路线,概括起来有两大类,现实里经常配合使用。

“先组装后分型”的思路是:先把所有HiFi数据混在一起做双单倍型组装(dual assembly),软件会把杂合位点分成两个单倍型输出,然后再用UL-ONT、Hi-C等把缺口补上并挂载到染色体。代表工具是hifiasm,它可以直接输出hap1和hap2两套组装结果。这个方案的优势是流程相对简单,对数据要求相对宽松,在中等杂合度的物种上表现稳定。缺点是如果两个单倍型之间的亲缘关系非常近(例如近交系),分型可能分不干净,软件会误把一个单倍型当成另一个,导致两个输出高度相似、丢失杂合信息。

“先分型后组装”的思路是:在使用组装软件前,先借助外部信息把读段分到两个亲本组,再对每个亲本组分别做T2T组装。外部信息通常来自三种途径:遗传家系数据(Trio-binning,即对父母本也做低深度测序,利用孟德尔遗传规律把子代读段分成两堆)、Hi-C数据分型(Hi-C phasing)、以及直接用已知单倍型图谱(如有参考基因组)做序列分型。在这个模式下,Verkko等专用组装工具可以直接化用超长读长数据,产生组装图并处理重复区域。这种方案的优点是对杂合度的适应性更强,两个单倍型能真正独立组装;缺点则是需要额外的建库和测序成本,家系样本尤其不容易拿到(很多临床样本根本没有父母样本)。

两种方案并非水火不容,我实际做过的一种组合方式是:用hifiasm先产出双单倍型contig,再把UL-ONT数据作为辅助输入做缺口闭合,最后用Hi-C把结果挂载到染色体。整个过程结合了多个策略的长处,也避免单一工具在某些点位的盲区。

3.3 工具选型与计算资源规划

工具链上,目前最常用的组合包括:

  • 组装:hifiasm(重点参数为-ul,用于输入超长ONT数据;另外可选用--lohi等参数适配不同杂合度),或者Verkko(专为T2T设计,推荐用于高杂合或复杂物种)。
  • 挂载:YaHS(基于Hi-C挂载,速度快、输出格式友好)、SALSA2(同样基于Hi-C,对多倍体或高杂合有一定适应性)。
  • 补洞与polish:需要把UL-ONT数据重新比对到组装结果上,用medaka、NextPolish等做序列修正。
  • 质量评估:Merqury(用k-mer评估组装准确度和完整性)、BUSCO(评估基因区完整性)、QUAST(常规组装指标)、端粒/着丝粒motif检查脚本等。

计算资源也要提前算。一个哺乳动物大小的基因组(约2.5-3Gb)做双单倍型T2T,hifiasm阶段经常需要消耗500-1000GB内存,Verkko因为要处理组装图,内存需求往往更高,达到1TB级别都不奇怪。运行时间受覆盖度和杂合度影响很大,从几天到两三周都很正常。规划项目时,建议至少准备大型计算节点(单个节点内存尽可能大),同时预留足够的临时磁盘空间,因为中间文件非常庞大,动不动就是几个TB。

4. 实操过程与核心环节实现

4.1 测序数据设计:怎么定深度和读长

在开始跑组装之前,先把数据计划定清楚。以一个约3Gb的二倍体物种为例,我的习惯是:

  • HiFi数据至少30×,争取35×,读长N50达到15kb以上;
  • UL-ONT数据至少60×,尽量让读长N50在50kb以上(理想情况100kb以上);
  • Hi-C数据约50×-100×,建库质量要检查“有效互作比例”,低于30%基本不合格;
  • 如果走trio分型,父母本或近缘亲本各做10-20×的低深度测序即可。

深度直接决定的,其实是覆盖度和成本之间的平衡。T2T项目最忌讳的就是“测深不够,后面狂补”。一个简单估算:测序成本=基因组大小×覆盖度×单位测序成本。比如3Gb基因组,30×HiFi就是90Gb数据,50×UL-ONT就是150Gb数据。后面每缺一块测序数据,补做的成本和时间都远超一开始测到位的情况。

4.2 数据质控:预处理不能马虎

拿到原始数据后,第一个环节就是对读段进行质控和过滤。HiFi数据一般检查是否含有接头(adapter)、是否来自宿主污染;UL-ONT数据还要做比对前的长度筛选和质量筛选,一般要求读长不低于10kb,质量平均Q值不低于Q20(具体阈值因工具而异)。

这里很容易踩一个坑:UL-ONT数据质量分布不均,如果一股脑把低于Q10的短片段也丢进组装,会增加组装图的复杂性,甚至导致错误的连边。实际处理时,可以先用filtlong等工具,按“最少长度+最低平均质量”双重标准过滤,保留长且高质量的核心数据。同时把同一批数据进行一次k-mer统计,看看有没有明显污染信号(例如未知物种的独特k-mer峰)。

4.3 核心组装执行:hifiasm和Verkko的实际经验

hifiasm的运行命令看似简单,实际参数调整空间很大。常规双单倍型组装:

hifiasm -o sample.hifiasm -t 48 --ul sample.ul.fastq.gz sample.hifi.fastq.gz

其中--ul就是让hifiasm使用超长ONT数据来辅助组装,它能起到跨越重复、帮助合拢gap的作用。输出目录里,.p_ctg.fasta是主组装,.hap1.p_ctg.fasta和.hap2.p_ctg.fasta是分型后的两套序列。运行结束后,我还会看一下组装图统计(.gfa),检查是否存在明显未闭合的“气泡”结构,同时看N50指标。双单倍型N50如果远大于染色体臂的长度,说明组装质量很可能不错。

Verkko则更“激进”一些,直接把HiFi和UL-ONT一起喂进去:

verkko -d outdir --hifi sample.hifi.fastq --nano sample.ul.fastq

Verkko通过构建和解析组装图,会输出最终的染色体级或近染色体级序列。它的好处是能利用大量UL-ONT的桥接能力处理重复区域;坏处是对数据量、杂合度的容忍度相对低,某类数据不足时容易报错或者输出碎片化结果。我建议第一次跑Verkko时,用一个较小的测试数据集(比如单条染色体深度的数据)先跑通流程,再全量上。

4.4 单倍型分型与染色体挂载:让杂乱序列各归其位

无论走哪种组装策略,最终都需要确认每个contig归属于哪个单倍型,并挂载到染色体上。如果使用家系数据做trio分型,可以在组装前按亲本来源把读段分开;如果依赖Hi-C,一般流程是:

  1. 把组装后的contig用bwa等比对到参考(或直接用Hi-C信号做无参考挂载);
  2. 用YaHS基于Hi-C互作矩阵进行挂载,生成.hic文件和染色体级别的序列;
  3. 在JuiceBox(现已更新为JuiceTools相关的可视化工具)里检查染色体互作热图。

很多人挂载完不看热图,这是非常危险的。Hi-C热图质量不合格时,明明contig是错接的,软件也能给出看似完整的染色体序列。做好挂载后,一定要人工抽查:染色体两端是否有明显的“交互边界”,不同染色体之间是否出现大范围颜色块。如果热图上有比较多的副对角线信号,很可能说明有过多的倒位或错接,需要拆分后重新挂载。

4.5 缺口闭合与最终验证:T2T的“2T”要靠证据支撑

挂载完成后,所谓“T2T”的验证并不能只看有没有N(未知碱基),更严格的标准是:每条染色体的序列两端都能检测到端粒重复基序(如人和其他脊椎动物的TTAGGG重复),着丝粒区域有对应的卫星重复结构并且组装连续,且没有未解开的gap。

实际检查时,我一般会把序列拆成小块,搜索端粒重复和着丝粒单体重复(例如人类HSat1/HSat2/HSat3或物种特有着丝粒卫星),如果没有找到完整的着丝粒结构,说明重复区域还是没组装到位,需要进一步用UL-ONT回补或重新闭合。这一步不建议纯自动化,一定要配合可视化的比对信息和信号强度做人工判断。

完整性评估上,Merqury的QV值(质量值)一般要求30以上(即碱基准确率99.9%以上),BUSCO的完整率尽量达到95%以上。对于单倍型特异性指标,可以先把两组单倍型序列互相比对,检查杂合差异是否保留下来,避免出现“两条序列其实是同一条”的尴尬情况。

5. 常见问题与排查技巧实录

5.1 组装后两个单倍型高度相似,杂合信息丢失

做了双单倍型组装后,用SNP密度检查两次序列,发现两套序列几乎一模一样,那基本可以判定分型失败了。常见原因有两种:一是样本本身近交程度高、杂合度太低,两条同源染色体差异太小,软件无法有效区分;二是测序深度不够,软件在低覆盖区域找不到足够的杂合位点做分型信号。

排查思路:先看全基因组SNP密度,如果整体杂合度低于0.1%(人类平均杂合度约0.1%),就需要考虑用遗传家系数据辅助分型。如果没有家系样本,也可以尝试Hi-C数据辅助分型,或者直接接受当前的单倍型T2T结果,并把它作为“代表单倍型”使用。不要硬撑着声称“两份都组装出来了”,这会让后续分析站不住脚。

5.2 UL-ONT读长不够长,着丝粒区域始终合不拢

很多项目做到最后,其他区域都拼好了,就是着丝粒附近有一两个缺口补不上。最常见原因是UL-ONT读长分布不理想,大部分读长集中在20-50kb,超长读长比例太低。着丝粒区域的重复单元长度在500bp-5kb之间,但整段重复可延伸到几百kb到几Mb,必须要有足够长的跨膜读段才能拼起来。

处理手段包括:重新提取高分子量DNA并跑一次UL-ONT文库(专门的超长建库方案和普通的Nanopore文库不同),或尽量提高上机量,以得到更多超长读段。如果暂时无法补测,也可以尝试用现有的ONT数据做更深入的基因组图挖掘(例如在Verkko图里手动合拢路径),但成功率不稳定,要有后续补数据的心理准备。

5.3 Hi-C数据导致染色体错挂或方向错误

Hi-C挂载中,最容易出现的问题是Rao/Hunt分级不够准确导致大块contig错挂到另一条染色体上。我遇到过好几次,N50很高、热图却出现明显的跨染色体信号。这时候不要盲目相信软件给的染色体号,要回到热图上逐条染色体核验。可视化时区块颜色应该呈沿主对角线的规则矩阵,如果出现侧向对称块或模糊块,基本警示有错接。

解决方法:先对挂载结果做“split”操作,把可疑的大contig拆开,再用YaHS重新挂载,并加长挂载迭代次数。热图质检过关之前,绝对不要进入下游分析。这个步骤做得越细致,后面分析越省心。

5.4 计算资源不足导致程序中途被OOM杀掉

组装阶段内存需求峰值很容易超出预期。hifiasm在符号绘制图阶段峰值内存约为测序深度×基因组大小的某个倍数,实际经验里,3Gb基因组的双单倍型组装用700GB内存跑是靠谱的,Verkko则需要更多。如果你的节点内存只有512GB,建议先降低线程数、关闭一些辅助参数(如--ul模式可酌情延后),或者拆到小染色体级别试运行,不要一上来就全基因组硬压。

运行中多做检查点保存和日志监控。很多组装软件支持断点续跑,但前提是你没有删除中间文件。出现过马大哈把中间文件清理了,最终不得不重跑整个组装的情况,那真是欲哭无泪。

5.5 常见问题速查表

问题现象可能原因排查与解决建议
两个单倍型结果几乎相同杂合度低或测序深度不足增加HiFi深度,改用trio分型或Hi-C分型辅助
着丝粒/rDNA区域存在缺口UL-ONT超长读长不足重新建库制备超长DNA,提高UL-ONT深度,或利用组装图局部合拢
Hi-C热图出现明显错挂挂载参数不当或数据质量差拆分可疑contig,重新挂载,人工检查热图
组装结果产生大量嵌合序列数据覆盖度不均衡、参数不适合高杂合物种调整hifiasm参数,降低k-mer大小,检查污染和杂合峰
端粒motif缺失或仅单侧存在测序读长未覆盖染色体末端补充UL-ONT数据,检查染色体两端序列方向
OOM或运行时间过长内存或线程规划不足分步运行,使用大型节点,清理不必要日志

做单倍型T2T项目,我最深的体验就是:数据质量决定上限,参数和流程决定能不能达到上限。很多人一上来就追求最前沿的组装工具,结果输入数据不合格,怎么调参数都白搭。核心还是要围绕“让读段够长、让覆盖度够足、让分型信号够清晰”这三件事做文章。先把这三件事想清楚,后面每一步都会顺很多。这个系列(一)先把概念和整体流程梳理出来,后续再针对具体物种、具体区域的坑做更细的拆解。

返回列表