software

Cactus 的 HAL 文件怎么用|同一个 55 bp 区间投影后还有记录,为什么只找回 30 bp?

作者:发布于 2026-11-15约 6 分钟阅读
55 个源碱基,找回了多少。目标少 25 个碱基后,四条输入仍能产生四行输出。跨越区间,相邻两行落在目标序列上,回投后分别对应源坐标 [90,100) 和 [125,145)。单独查询,中间 25 bp 没有任何映射,若只读输出表,整条未匹配特征会消失。统计方式,按源特征求覆盖区间的并集,跨越区间的可回投覆盖是 30 / 55。

把一个物种的调控区投影到近缘物种,得到坐标就算成功了吗?如果指标只写“有结果的区间占比”,一个五十五碱基的区间仅剩两侧三十个碱基,它也可能被计为一次成功。我们用 Cactus 正式发行包中的 HAL 工具构造两份已知答案的全基因组比对,实际做正向投影和反向回投。两份报告都有四行输出,但其中一份把中间的一段完全丢掉了。看清这件事,要在每行坐标之外保留源区间的身份。Cactus 官方使用说明

对齐文件能告诉我们哪些事

Cactus 可以把多个基因组之间的对应关系保存在 HAL 文件中。给定来源基因组、目标基因组和来源区间,工具沿现有比对寻找相对应的目标位置。这种做法的好处是多个样本可以共享同一套比对关系。限制也来自同一个地方,输入区间中哪些碱基在目标里有对应,需要由已有比对支持。一个来源区间可能对应多个目标片段,一个基因组的重复拷贝也可能造成多处匹配,不能先假定区间一进一出。HAL 项目文档

评估前最好先选定单位。若问题是“这个基因附近有没有任何可对齐序列”,有一个短匹配就可能值得报告。若问题是“引物覆盖的结合位点能否完整地转到另一份组装”,两端之间每个关键碱基的对应都很重要。若问题是“同一段序列在另一个基因组是否只有一份”,还要统计去重后命中几个不同位置。三类结果都能从坐标表入手,但不能把输出行数直接填入同一个成功率栏。

实跑经验|给目标比对留一段恰好 25 bp 的缺口

我们取三百碱基的人工参考,设置两个对照。第一个目标与参考完全相同。第二个目标省去原来从零开始计数的第一百至第一百二十五之间的二十五个碱基,余下碱基仍按原顺序相连。用这两个已知的成对比对分别生成 HAL,再调用发行包中的正向和反向坐标投影。实际安装的是 Cactus 4.0.0 发行包,本次运行其附带的 HAL 2.2 工具。因为希望提前知道每一个对齐列的正确对应,输入从构造好的比对起步,没有让 Cactus 重新推断整套多基因组比对。

我们送入四条带唯一名称的半开区间。一条横跨整段差异,三条分别位于它的左侧、中间和右侧。以从零计数、左端包含并排除右端的规则书写,区间长度就是右端减左端。第四列名称让跨越区间的两行输出可以重新聚到一起,也防止几条坐标部分重叠的测试记录在统计时被误认作同一条。UCSC 对 BED 坐标的定义

源区间 完全相同的目标 目标少 25 bp 时的输出 回到源坐标后覆盖
跨越 [90,145) [90,145) [90,100) 与 [100,120) 30 / 55 bp
左侧 [90,100) [90,100) [90,100) 10 / 10 bp
中间 [100,125) [100,125) 无对应记录 0 / 25 bp
右侧 [125,145) [125,145) [100,120) 20 / 20 bp

第二个目标上,跨越区间得到的两段刚好相邻。若立刻把相邻片段合并,它们会成为一条连续三十碱基的目标记录。随后沿同一份比对回到源基因组,两段分别落在原始的九十到一百,以及一百二十五到一百四十五,正中间没有回来。若为回投结果只记最小起点和最大终点,得到的外包区间又会长达五十五个碱基,足以造成完整转移的错觉。要计算实际覆盖,应取回投区间的并集后求长度,保留内部空档。

55 个源碱基,找回了多少。目标少 25 个碱基后,四条输入仍能产生四行输出。跨越区间,相邻两行落在目标序列上,回投后分别对应源坐标 [90,100) 和 [125,145)。单独查询,中间 25 bp 没有任何映射,若只读输出表,整条未匹配特征会消失。统计方式,按源特征求覆盖区间的并集,跨越区间的可回投覆盖是 30 / 55。
目标少 25 个碱基后,四条输入仍能产生四行输出。
maf2hal --refGenome ref known.maf known.hal
halStats --genomes known.hal
halLiftover known.hal ref source.bed alt target.bed
halLiftover known.hal alt target.bed ref back.bed

对已有注释还要注意记录层级。一个基因的不同外显子可能分布在相距很远的区间,只用整条基因的起止投影,会把原本不属于外显子的碱基算进去。把外显子分别带上稳定编号投影,再按链方向重建转录本顺序。此时能够回答的是编码区哪些碱基有对应、边界是否保留,以及哪一个外显子先出现断点,这比只比较基因两端坐标更接近功能判断所需的证据。

如何从一个成功率还原成能用的结果

本例两份正向文件恰好都有四行。第一个对照是四个来源标签各出一行,另一个是三个来源标签有结果,其中跨越标签出两行,中间标签零行。检查原始清单时一定把未出现在输出中的标签补回,按原始记录给它的覆盖填零。只从输出文件分组,缺失最彻底的那一条反而不会进入评价。两个目标即使拥有相同行数,在“有任意映射的特征数”和“完整映射的特征数”上都不相同。

实际项目可以为每个来源特征保留以下项目,输入长度、覆盖碱基数、目标染色体数、目标片段数、匹配链方向和是否可回投。多次命中同一源碱基时,它对源覆盖只贡献一次。若有两套完全不同的目标坐标都能覆盖大部分源片段,还应分别列为备选,检查两侧共线顺序与基因家族拷贝。这样既能找到“覆盖低但定位唯一”,也能找到“覆盖高却难以选定拷贝”两类最容易被单个百分数掩盖的结果。

最后,问清楚能不能据此称某段序列在另一个物种中丢失。这个人工对照里缺失是输入时写进去的,所以我们知道真值。真实项目中,无投影还可能来自目标组装断点、重复导致的无法定位,或比对模型在高度分歧区域未能建立对应。若要支持演化上的丢失,应回到目标组装和原始读段核对断点,并比较邻近基因或更近物种中的对应区域。对一段调控元件,还要另行验证留下的碱基是否覆盖贴近实验问题的功能核心。HAL 坐标投影实现

下载本篇实验脚本与结果(12 篇合集 ZIP),解压后打开 081-cactus 目录。

需要在多套大型基因组间反复投影和回查注释时,可以在云生信的生物信息分析服务器保留同一版 HAL 比对,供不同特征清单复用。

把知识用于当前任务

下一步可以直接开始分析

按研究目标查找在线工具、课程、计算资源或完整分析服务。

按目标找方案仍有疑问,联系客服 ↗