software

miniprot 实跑|蛋白从第 1 到第 300 位都比上了,为什么基因模型里仍有一次移码?

作者:发布于 2026-11-15约 6 分钟阅读
覆盖 300 个氨基酸,仍有移码。保留 1800 bp 内含子,在第二个外显子中删除一个碱基。完整输入,蛋白覆盖 1–300,两个 CDS 均完整匹配,没有移码。少一个碱基,蛋白覆盖仍为 1–300,一致性 0.9967,第二个 CDS 检出一次移码。核对位置,先找异常所在外显子,再回到原始 DNA 和跨位点读段。

在新组装上寻找已知蛋白时,最先看的通常是覆盖率和一致性。一条三百氨基酸的蛋白从头比到尾、一致性超过百分之九十九,是否可以直接据此认定编码序列完整?我们安装 miniprot,人工造出含一个内含子的完整基因,再从编码区去掉一个核苷酸。两条结果都覆盖同一蛋白的全部三百个氨基酸,只有第二条在基因模型中报告移码。这个对照可以帮助区分三个不同的问题,蛋白有没有找到、剪接位置是否合理、阅读框是否连续。miniprot 官方项目

为什么蛋白比对会容许移码

把一条基因组 DNA 直接翻译,三个核苷酸对应一个氨基酸。若在外显子中间少了一个碱基,从这一处继续每三位往后读,后面的密码子组合通常都会改变。一个考虑移码的蛋白到基因组比对器,可以在局部位置付出惩罚,沿另一阅读框继续寻找下游同源片段。这样做有助于在组装错误、疑似假基因或不完整预测中识别同源蛋白。也正因为它能跨过障碍,完整的蛋白查询覆盖率不能单独作为开放阅读框完整的证据。作者发布的 miniprot 手册

还要分清内含子和外显子内部的异常。跨越长内含子时,基因组坐标会向前跳很多,蛋白查询仍可以连续。对于正常的剪接,正确拼接后的转录本可以维持阅读框。外显子内部少一个核苷酸,则发生在应被翻译的序列里,要检查读段、组装和转录本能否解释。两种信号都可以出现在一份长距离比对中,只看基因组起止坐标和覆盖率很难把它们分开。

实跑经验|保留 1800 bp 内含子,只删除一个编码碱基

我们用固定种子生成三百氨基酸的人工蛋白,为每个氨基酸指定一个标准遗传密码表中的密码子,得到九百碱基编码区。将编码区从中间分成两段,插入一千八百个碱基的人工内含子,保留常见的 GT 供体和 AG 受体,在末端另外放置终止密码子。对照组只从第二个外显子删去原编码区一开始计数的第六百零一个碱基。两次都用同一条蛋白、同一版本 0.18-r281 和相同参数实际比对。

检查指标 完整基因 缺一个编码碱基
查询覆盖 1–300,全部 1–300,全部
两个 CDS 对应的蛋白区间 1–150、151–300 1–150、151–300
mRNA 一致性与移码 1.0000,移码计数 0 0.9967,移码计数 1
比对操作串 150M1800N150M 150M1800N49M2G100M

两版都找到了长度相同的内含子,首个编码区的基因组坐标也一样,从第一千二百零一到第一千六百五十位。删碱基后,第二个编码区仍从第三千四百五十一位开始,末端比完整组提前一个碱基。缺失组的详细 GFF 中,第一段 CDS 的一致性仍为一,第二段变为零点九九三三,并单独带上一次移码标记。模型总分从一千六百九十六减到一千六百六十九。将全模型和各外显子的指标放在一起,才可以直接定位应回查哪一段序列。

覆盖 300 个氨基酸,仍有移码。保留 1800 bp 内含子,在第二个外显子中删除一个碱基。完整输入,蛋白覆盖 1–300,两个 CDS 均完整匹配,没有移码。少一个碱基,蛋白覆盖仍为 1–300,一致性 0.9967,第二个 CDS 检出一次移码。核对位置,先找异常所在外显子,再回到原始 DNA 和跨位点读段。
保留 1800 bp 内含子,在第二个外显子中删除一个碱基。

谁的坐标,谁的长度

miniprot 的 PAF 样式输出有蛋白查询与基因组目标两种单位。示例中目标是 DNA,查询是氨基酸,操作串还会表达剪接与移码。不能把其中每个数字都照短读段核苷酸比对的习惯解释。这里的 1800N 与建模时插入的内含子长度一致,左右的 150M 在完整对照中分别对应一百五十个氨基酸。缺失对照里的 2G 是这版蛋白比对对局部异常的特定编码,不应读成 DNA 里又出现了两个新增突变。可信的已知变化只有脚本删掉的一个碱基。miniprot 对蛋白比对和移码操作的定义

miniprot --gff --aln -t 1 intact.fa protein.fa > intact.gff
miniprot --gff --aln -t 1 deletion.fa protein.fa > deletion.gff
awk -F '\t' '!/^#/ && ($3=="mRNA" || $3=="CDS")' deletion.gff

如果从 GFF 提取基因组序列做验证,还要核对末端终止密码子的处理。这次完整组的第二段 CDS 坐标到第三千九百零三位,最后三位又单独在 stop_codon 行给出。两条记录的碱基在坐标上重叠。若把终止密码子当作额外一段再拼一次,会在末尾人为多出三个碱基。用参考 FASTA 按坐标和链方向提取,先检查各段拼接后的总长,再翻译并对齐原蛋白,能及早发现重复拼接、坐标起点偏移和方向处理错误。

另一个实用检查是把异常所在的外显子同时放到替代组装或另一条单倍型上比对。两份序列需要先确认来源个体与基因拷贝,避免把旁系同源基因的插入缺失误认成同一位点的测序错误。若只在一个组装版本上看到异常,再回查该版本的局部共识和两侧锚点,比直接换一个蛋白库重跑更容易定位原因。

在真实组装里如何验证移码

先看该位点在基因组上位于普通序列还是同聚物、短串联重复等难测区域,打开原始读段,核对是否有多条独立分子同时支持少一个碱基,同时注意读段方向和边缘比对质量。若多条读段在同一位置支持保留该碱基,问题可能出在共识序列。若原始分子一致支持缺失,再查组织对应的转录本、其他个体或近缘物种,观察是否有恢复阅读框的替代剪接或真实的功能改变。把单个蛋白比对结果直接写作基因失活,会省略这些决定性证据。

最后,比较两个注释版本时,除百分比外保留每段蛋白覆盖、供体受体边界、移码和内部终止数,以及可疑区域的原始读段支持。远缘蛋白的比对也可能在低复杂度或序列差异大的位置给出不确定结构。优先用近缘可信蛋白及表达证据验证目标区域,再决定是否要改动正式注释。实验里能控制只变一个碱基,真实项目里通常得同时排除多个解释。

需要在多个基因组版本间重新核实蛋白投影时,可以在云生信的生物信息分析服务器一起保存组装、蛋白库和每版带详细操作串的比对。

把知识用于当前任务

下一步可以直接开始分析

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

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