software

Liftoff 实跑|未映射基因数为零,为什么一个真实存在的额外拷贝仍然没有注释?

作者:发布于 2026-11-15约 6 分钟阅读
源基因全映射,也会漏拷贝。同一个两外显子模型,三种条件下未映射数都是零。单拷贝目标,开启额外搜索也只有 1 个基因,两个外显子均落在主染色体上。双拷贝默认,仍输出 1 个基因、2 个外显子,额外序列完整存在,但没有第二条模型。开启复制搜索,得到 2 个基因、4 个外显子,额外位置在 extra 的 5801–9300。

把旧参考的基因注释迁移到新组装,结果显示源基因全部映射成功、外显子覆盖率百分之百。此时提交新组装的全套基因数,会不会少报?我们用一个两外显子的基因构造三组对照,让同一段基因序列在目标参考里出现一次或两次,再独立改变是否搜索额外拷贝。三次运行的未映射名单全部为空,输出里却分别只有一个、一个和两个基因。原因可以在 GFF 第九列和外显子的父子关系中追到。Liftoff 官方项目

两种完整度对应两张不同的清单

常规注释迁移从来源参考已有的基因模型出发,尝试在目标组装中为它们找到对应位置,并尽量保留外显子和转录本结构。未映射基因名单关注的是源清单中有多少基因没有成功找到对应。若来源清单只有一个基因,它在目标中只要有一个合格位置,未映射名单就可以为空。目标里另有第二份几乎相同的完整序列,是否会再输出一份注释,取决于任务是否搜索额外拷贝,以及证据是否满足相应条件。Liftoff 方法论文

因此要在开始时写清研究目标。给近缘组装提供一份能和参考逐基因对照的初稿,和寻找某个家族在新品系中是否扩张,需要的条件不同。前者重点看每个原基因是否落到正确的位置、剪接结构是否保留。后者还要寻找没被主映射占用的候选位置,并确认这些额外位置确实属于不重复的目标区段。单一的“百分之多少基因映射成功”无法代替目标组装的基因家族拷贝数统计。

实跑经验|同一目标文件,切换额外拷贝搜索

我们生成一个跨度三千五百碱基的人工基因。左右外显子各七百五十碱基,中间相隔两千碱基,来源 GFF 明确写出一个基因、一个转录本和两个外显子。第一份目标只有和源一致的染色体。第二份除这条染色体外,还包含另一条命名为 extra 的序列,里面放入相同的整段基因,两侧则是独立生成的随机侧翼。使用 Liftoff Python 包 1.6.3.2 和 minimap2 2.26,分别跑单拷贝目标加额外搜索、双拷贝目标默认搜索、双拷贝目标加额外搜索。

目标与运行模式 输出基因 / 转录本 / 外显子 未映射源基因 第二个位置
单拷贝目标,开启额外搜索 1 / 1 / 2 0 无
双拷贝目标,默认 1 / 1 / 2 0 未报告
双拷贝目标,开启额外搜索 2 / 2 / 4 0 extra 的 5801–9300

在第三次结果中,原始基因仍报告在 chrR 的 5001–8500,基因属性中的 extra_copy_number 为零。额外记录位于另一条序列,基因名加了后缀,拷贝属性为一。两个转录本各自指向自己的父基因,四条外显子也分别连到相应转录本,主基因两个外显子没有被错误挂到新基因下面。三个计数都按 GFF 特征类型分别计算,若直接把八行注释当成八个基因,就算没有任何技术错误也会把结果放大四倍。

源基因全映射,也会漏拷贝。同一个两外显子模型,三种条件下未映射数都是零。单拷贝目标,开启额外搜索也只有 1 个基因,两个外显子均落在主染色体上。双拷贝默认,仍输出 1 个基因、2 个外显子,额外序列完整存在,但没有第二条模型。开启复制搜索,得到 2 个基因、4 个外显子,额外位置在 extra 的 5801–9300。
同一个两外显子模型,三种条件下未映射数都是零。

coverage 等于一,覆盖的是哪一段

两条基因记录都给出 coverage=1.0 和 sequence_ID=1.0。作者定义这两个基因指标时关注外显子区域的比对覆盖及序列一致性。在我们手工构造的例子里,整段基因连同内含子也是逐字复制的,真值早已知道。真实项目不能因为两列都是一,就顺势写出内含子和基因两侧调控区也完全相同。应先按外显子坐标从目标组装取序列,再独立查看内含子、侧翼与来源区间是否连续对应。Liftoff 输出字段定义

这里的外显子坐标采用 GFF 的一开始计数且包含两端的规则。例如额外位置的第一段是 5801–6550,第二段是 8551–9300,各自都恰好有七百五十个碱基。若转成 BED 再提取 FASTA,应将起点减一,终点保留,同时保存链方向和父转录本。不要用整段基因的跨度去代替表达产物长度。两个外显子之和只有一千五百碱基,剩余两千碱基在本模型中位于内含子里。

liftoff target.fa ref.fa -g ref.gff3 -o main.gff -u main.unmapped -dir work_main -p 1
liftoff target.fa ref.fa -g ref.gff3 -o copies.gff -u copies.unmapped \
  -dir work_copies -p 1 -copies
awk -F '\t' '$3=="gene"{print $1,$4,$5,$9}' copies.gff

做版本比较时最好保存一个由来源编号到目标编号的一对多对照表。主结果只有一个目标编号时,下游数据库常把这一列设计成唯一值。开启额外搜索后,若仍按来源名作为唯一键写入,新加的第二条就可能覆盖第一条,或在去重时悄悄被丢掉。用来源编号、目标序列名和目标坐标标识一次放置,同时保留转录本与外显子的层级,才能让分析人员和后续注释系统看到同一套候选。对于重复出现的模型,再独立判断它们应怎样命名和编号。

什么时候可以把额外记录叫作真实复制

先比较两份候选基因两侧的邻居和非重复序列。若两份基因各有能唯一定位的侧翼,再找分别跨过这些边界的长读段,更容易支持组装中确实存在两个位置。若两个基因和两边很长一截序列都近乎相同,尤其分别位于两条相似的单倍型 contig,可能是两份等位或冗余组装。样本倍性、组装分相策略和局部深度都需要一起判断。仅凭注释程序给了第二个编号,无法自动确定它是同一单倍型上的新增拷贝。

最后区分序列证据与功能证据。这个例子特意只设置基因、转录本和外显子,没有给出编码区或表达数据,因此两份输出只代表两套外显子布局能被投射。真实家族扩张还可能涉及假基因、不完整的开放阅读框、表达差异和组织特异性。把两条候选各自的坐标、外显子一致性、侧翼支持和功能待核事实分开写,既能直接复核运行结果,也让后续实验知道应针对哪个拷贝设计引物。

需要在多个近缘组装上同步比较主注释与额外拷贝时,可以在云生信的生物信息分析服务器按品系保留参考版本、两套 GFF 和原始映射证据。

把知识用于当前任务

下一步可以直接开始分析

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

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