第4章 功能丧失(LoF)变异与PVS1证据:无义、移码、经典剪接位点

做变异解读这些年,我遇到最多的问题就是——"这个无义突变到底能不能算PVS1?" 说实话,这个问题没那么简单。功能丧失(LoF)变异是ACMG框架里权重最高的一类证据,但用不好反而容易翻车。这一章我们就把它彻底说清楚。

4.1 什么是功能丧失(LoF)变异

功能丧失,说白了就是基因产物完全或者大部分失去了正常功能。能造成LoF的变异类型主要有三种:

  • 无义变异(nonsense)—— 直接把氨基酸密码子变成终止信号
  • 移码变异(frameshift)—— 插入或删除的碱基数不是3的倍数,导致阅读框错位
  • 经典剪接位点变异(canonical splice site)—— 破坏内含子两端的GT-AG保守序列

这三种变异,是PVS1证据的主要来源。但不是遇到它们就能直接上PVS1。你得先过三关:位置关、NMD关、功能域关。

核心原则:PVS1的强度取决于LoF变异是否真正导致基因功能丧失,以及这种丧失是否与疾病机制相关。

4.2 无义变异的判定

无义变异就是把编码氨基酸的密码子变成了三个终止密码子之一(TAA、TAG、TGA)。判断标准很明确:参考序列比对后,确认该变异导致p.Ter或p.*提前出现。

但这里有个坑。我在项目里遇到过不止一次——变异虽然是无义的,但位置太靠近3'端。比如在基因的最后一个外显子,或者倒数第二个外显子的最后50bp区域。这时候mRNA可能逃逸NMD(无义介导的降解),翻译出的截短蛋白可能还保留部分功能。

注意:无义变异位于3'端最后一个外显子或最后50bp时,PVS1通常降级为PS1或PM4。千万别无脑上PVS1。

看一个VEP注释的例子:

# VEP输出示例 — 无义变异
#Uploaded_variation  Location        Allele  Consequence       IMPACT  SYMBOL  Protein_change
1-1234567-G-A        1:1234567       A       stop_gained       HIGH    GENE1   p.Arg41*
1-7654321-C-T        1:7654321       T       stop_gained       HIGH    GENE2   p.Gln286*

第一行p.Arg41*位于基因5'端,预期触发NMD,PVS1可用。第二行p.Gln286*如果位于最后一个外显子,PVS1就要降级。

我个人习惯,看到无义变异后第一件事就是查它在转录本上的位置编号,用IGV或Ensembl确认外显子顺序。

4.3 移码变异的判定

移码变异是插入或缺失的碱基数不是3的倍数。判断方法很简单:indel长度 mod 3 ≠ 0。但要注意,有些indel虽然长度是3的倍数,却依然可能破坏阅读框(比如破坏了重要基序)。

判定时我建议用以下流程:

  1. 确认indel的精确长度(用IGV或samtools看CIGAR)
  2. 计算长度 mod 3,不为0 → 移码
  3. 为0 → 框内插入/缺失,通常不触发PVS1
  4. 检查是否位于3'端外显子(NMD逃逸风险)
小技巧:用Python快速判断移码:
def is_frameshift(ins, del):
    net = ins - del
    return net % 3 != 0

我曾经遇到过一个病例,移码变异位于基因的最后一个外显子,理论上逃逸NMD。但后续功能实验证明该截短蛋白确实丧失了功能。这种情况下,PVS1依然适用,但需要额外提供功能实验证据(PS3)。

4.4 经典剪接位点变异的判定

经典剪接位点是指内含子5'端GT和3'端AG这两个保守二核苷酸。变异发生在±1或±2位置,统称为经典剪接位点变异。这类变异通常导致外显子跳跃、内含子保留或隐蔽剪接位点激活。

判定标准:

  • 位于内含子边界±1或±2位点
  • 破坏GT-AG保守序列
  • 预期导致mRNA剪接异常 → 移码或框内缺失

你想想看,一个剪接位点变异如果导致外显子跳跃,而跳跃后阅读框不变(框内跳跃),那就不算LoF,不能上PVS1。反过来,如果跳跃后发生移码,PVS1就成立。

判定口诀:剪接位点看移码,移码才能上PVS1。框内跳跃不算LoF,最多给PM4。

我记得有一次,一个IVS1+1G>A变异,预测导致外显子2跳跃。我查了外显子2的长度,是3的倍数,跳跃后阅读框完整。结果这个变异只能评PM4,而不是PVS1。提交报告的同事差点弄错,还好复核时发现了。

4.5 PVS1证据强度等级

ACMG/AMP指南中PVS1是最强证据等级——Very Strong。但ClinGen后续细化后,PVS1实际上分四个等级:

等级 代码 适用条件
非常强 PVS1 LoF变异位于基因5'端或中部,预期触发NMD,且基因对LoF敏感
强 PVS1_Strong LoF变异位于3'端但仍有部分功能丧失证据,或基因LoF耐受性不确定
中等 PVS1_Moderate LoF变异可能逃逸NMD,或位于基因的3'端,或基因对LoF不敏感
支持 PVS1_Supporting LoF变异位于最后一个外显子,或已经有功能实验提示部分功能保留

实际工作中,80%以上的LoF变异可以直接用PVS1。但剩下的20%,你得多想一步。基因的LoF耐受性评分(pLI、LOEUF)是很好的参考指标。pLI > 0.9的基因,PVS1基本稳;pLI < 0.1的基因,PVS1大概率要降级。

避坑:有些基因本身存在天然LoF变异(如杂合缺失在人群中频率很高),说明该基因对LoF不敏感。这时候即使出现无义变异,也不一定致病,PVS1强度要降低。

4.6 综合判定流程

好了,我们把前面讲的串起来。从发现一个疑似LoF变异,到最终判定PVS1证据强度,我习惯走下面这个决策树:

LoF变异判定与PVS1证据强度决策树 发现疑似LoF变异 无义变异 移码变异 剪接位点变异 是否位于3'端外显子? 是否逃逸NMD? 是否位于3'端外显子? 是否逃逸NMD? 是否导致移码? 外显子跳跃是否框内? 功能域是否被破坏? 基因LoF耐受性如何? 功能域是否被破坏? 基因LoF耐受性如何? 功能域是否被破坏? 基因LoF耐受性如何? PVS1 (Very Strong) PVS1 降级 全部"否" 任一"是" PVS1降级方向: Very Strong → Strong → Moderate → Supporting

这个决策树看起来复杂,实际用熟了就是几秒钟的判断。我个人的工作流程是:拿到变异 → 确认类型 → 查位置 → 查基因耐受性 → 定PVS1等级。整个过程不超过5分钟。

最后提醒一点:PVS1永远不是孤立使用的。它需要和PM2(人群频率极低)、PVS1+PM2+PP3(多种计算预测支持)等证据组合,才能真正达到"致病"的判定阈值。证据组合的权重叠加,我们会在后面的章节展开。