尧图网站设计 尧图网站设计YAOTU DESIGN
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甚至Q3099%~99.9%既能跨越转座子和中等长度重复又自带很高的单碱基准确度。它解决的是“单碱基对不对”的问题。对于普通物种HiFi深度建议至少30×杂合度高或者基因组大可以加到35-40×。这里有个计算公式可以参考设基因组大小为GHiFi平均读长为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做双单倍型T2Thifiasm阶段经常需要消耗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.fastqVerkko通过构建和解析组装图会输出最终的染色体级或近染色体级序列。它的好处是能利用大量UL-ONT的桥接能力处理重复区域坏处是对数据量、杂合度的容忍度相对低某类数据不足时容易报错或者输出碎片化结果。我建议第一次跑Verkko时用一个较小的测试数据集比如单条染色体深度的数据先跑通流程再全量上。4.4 单倍型分型与染色体挂载让杂乱序列各归其位无论走哪种组装策略最终都需要确认每个contig归属于哪个单倍型并挂载到染色体上。如果使用家系数据做trio分型可以在组装前按亲本来源把读段分开如果依赖Hi-C一般流程是把组装后的contig用bwa等比对到参考或直接用Hi-C信号做无参考挂载用YaHS基于Hi-C互作矩阵进行挂载生成.hic文件和染色体级别的序列在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项目我最深的体验就是数据质量决定上限参数和流程决定能不能达到上限。很多人一上来就追求最前沿的组装工具结果输入数据不合格怎么调参数都白搭。核心还是要围绕“让读段够长、让覆盖度够足、让分型信号够清晰”这三件事做文章。先把这三件事想清楚后面每一步都会顺很多。这个系列一先把概念和整体流程梳理出来后续再针对具体物种、具体区域的坑做更细的拆解。
返回列表