证据整合基础:变异解读框架与 ACMG/AMP 标准概述

大家好,今天我们来聊点硬核的。变异解读这活儿,说白了就是给一个基因变异「定罪」或者「平反」。但怎么定?根据什么定?总不能拍脑袋吧。

嗯,ACMG/AMP 标准就是我们手里的那本「法典」。不过这本法典也挺厚的,刚开始看确实头大。我刚开始接触这个领域时,也是拿着标准一条条对着看,看完还是不会用。后来慢慢摸出门道——咱们得先理解它背后的框架。

为什么需要一套解读框架?

你想想看,一个变异,落在基因组里哪个位置?是错义还是截断?人群里有没有?数据库里报没报过?家里有没有共分离?这些信息杂乱无章,如果没有一个框架把它们串起来,我们就没法做出一致的判断。

  • 不同实验室的判断标准不一样,结果就打架
  • 同一份数据,不同人解读可能得出相反结论
  • 临床报告没法标准化,医生看了也懵

所以,ACMG/AMP 标准在 2015 年诞生了。它不是一个「死规则」,而是一个证据组合的游戏。说白了,就是把散落一地的拼图碎片,按规则拼成「致病性」或「良性」的完整图像。

五类证据,简单明了

标准把所有证据分为五类:

证据类别表示法典型来源
致病性非常强PVS1无义、移码、经典剪接等导致功能丧失的变异
致病性强PS1-4已知致病变异、新发、功能研究阳性等
致病性中等PM1-6热点区域、人群频率低、反式隐性、共分离等
致病性支持PP1-5共分离数据弱、已报道但未确认等
良性/良性支持BA1 / BS1-4 / BP1-6人群频率高、功能研究阴性、同义变异等
小技巧: 我一般会先把 PVS1 和 BA1 筛一遍。这两个是「一票否决」级别的,先处理它们,后面的工作量直接减半。

证据强度:不是只有「是」和「否」

很多新手容易忽略——证据是有「强度级别」的。同样的信息,不同场景下发挥的作用完全不同。

  1. 非常强(Very Strong):一个证据就够定致病,比如 PVS1
  2. 强(Strong):比如新发变异,或者功能研究明确
  3. 中等(Moderate):比如位于功能域内,或者与已知致病变异同氨基酸位置
  4. 支持(Supporting):边缘证据,单独用不顶事,但可以凑数

我遇到过不少新手,看到一个 PM2(人群频率低)就激动得不行。但请你记住,PM2 只是支持级别,不能单凭这个就说致病。这就像你不能因为一个人没犯罪记录就断定他是好人——逻辑不对。

组合规则:从证据到结论

有了证据,怎么组合?这是最核心的部分。ACMG/AMP 给出了一个组合套路:

  • ≥2 个强 + ≥1 个中等 → 致病
  • 1 个强 + ≥3 个中等 → 致病
  • ≥2 个强 → 可能致病
  • 1 个强 + 1-2 个中等 → 可能致病
  • 良性侧:频率高或功能阴性直接给良性
坑: 这里要小心「叠加效应」。不是简单的 1+1=2。PVS1 加上一个强证据,可能直接拉到「致病」级别,但两个支持证据加起来仍然只是「可能致病」。证据的组合不是做算术,是做逻辑。

我记得有次审核一个报告,对方用了 4 个 PM 级别的证据,硬说要判定「致病」。我说不对,4 个 PM 加起来等效于 2 个强证据?No。PM 再多个,也只是在「可能致病」这个级别上徘徊,除非你有 PS 或 PVS 级别的东西。

贝叶斯框架:背后的数学逻辑

为什么标准这样定?其实背后有贝叶斯统计的影子。简单说,我们有一个先验概率(基因背景下变异致病的可能性),每加一个证据,就更新一次后验概率。

我个人习惯用下面这个框架图来理解整个过程:

变异解读:证据整合核心逻辑 变异位点 群体数据 计算预测 功能数据 共分离数据 证据强度分类:PVS > PS > PM > PP / BA > BS > BP 贝叶斯证据组合 先验概率 ⟶ 证据加权 ⟶ 后验致病概率 判读结论 致病 ❘ 可能致病 ❘ 意义不明确 ❘ 可能良性 ❘ 良性 证据流

从这张图可以看到,整个流程不是线性的,而是多路证据同时汇入,经过强度分级和组合规则,最终输出五个分类之一。嗯,这里要注意,我们最终其实只输出 5 种结果之一:致病、可能致病、意义不明确、可能良性、良性。没有「灰色地带」?不,意义不明确就是灰色地带,而且是最多的那个。

实战中的避坑指南

我曾经掉进过的坑:
  • PVS1 滥用: 不是所有截断变异都自动 PVS1,必须考虑 NMD 逃逸和功能域位置。一个位于最后一个外显子的无义突变,可能根本不会触发 NMD,PVS1 就得降级。
  • PM2 双标: 很多人给一个新变异直接上 PM2,但 PM2 的前提是该基因是高度保守且功能重要,而且数据库足够大。如果数据库只有几百人,PM2 请慎用。
  • 忘记良性证据: 常见错误:只找致病证据,忽略了良性侧。一个变异可能同时有 1 个 PM 和 1-2 个 BS,这时需要权衡。不能只堆致病证据。

小工具:证据整合速查表

我一般会在本地放一个小脚本,用来快速计算当前证据组合的等效级别。它的核心逻辑是这样的:

# 证据权重映射(简化版)
weights = {
    'PVS1': 8, 'PS1': 4, 'PS2': 4, 'PS3': 4, 'PS4': 4,
    'PM1': 2, 'PM2': 2, 'PM3': 2, 'PM4': 2, 'PM5': 2, 'PM6': 2,
    'PP1': 1, 'PP2': 1, 'PP3': 1, 'PP4': 1, 'PP5': 1,
    'BA1': -8, 'BS1': -4, 'BS2': -4, 'BS3': -4, 'BS4': -4,
    'BP1': -2, 'BP2': -2, 'BP3': -2, 'BP4': -2, 'BP5': -2, 'BP6': -2
}

def score_variant(evidence_list):
    total = sum(weights.get(e, 0) for e in evidence_list)
    if total >= 8: return '致病'
    elif total >= 4: return '可能致病'
    elif total <= -8: return '良性'
    elif total <= -4: return '可能良性'
    else: return '意义不明确'

# 举例
print(score_variant(['PVS1', 'PS1']))  # → 致病
print(score_variant(['PM2', 'PM3']))   # → 可能致病
提醒: 这个脚本只是辅助思考,不能替代专业判断。真正的解读还要结合基因特异性、疾病模式、家系信息等。ClinGen 后续会推出更精细的贝叶斯打分工具,但底层逻辑不变。

好了,以上就是证据整合的基础框架。说白了,就是把你手里的证据,按照 ACMG/AMP 的规则,归类 -> 分级 -> 组合。看起来简单,但每步都有学问。我记得有一次,一个团队争论一个 PM2+PM3+PP4 的组合能不能判「致病」,吵了三天。最后我们坐下来,重新捋了一遍逻辑——没有 PS 级别证据,顶多是「可能致病」。这就是框架的力量:它让你吵得有依据,而不是凭感觉。