证据整合基础:变异解读框架与 ACMG/AMP 标准概述
大家好,今天我们来聊点硬核的。变异解读这活儿,说白了就是给一个基因变异「定罪」或者「平反」。但怎么定?根据什么定?总不能拍脑袋吧。
嗯,ACMG/AMP 标准就是我们手里的那本「法典」。不过这本法典也挺厚的,刚开始看确实头大。我刚开始接触这个领域时,也是拿着标准一条条对着看,看完还是不会用。后来慢慢摸出门道——咱们得先理解它背后的框架。
为什么需要一套解读框架?
你想想看,一个变异,落在基因组里哪个位置?是错义还是截断?人群里有没有?数据库里报没报过?家里有没有共分离?这些信息杂乱无章,如果没有一个框架把它们串起来,我们就没法做出一致的判断。
- 不同实验室的判断标准不一样,结果就打架
- 同一份数据,不同人解读可能得出相反结论
- 临床报告没法标准化,医生看了也懵
所以,ACMG/AMP 标准在 2015 年诞生了。它不是一个「死规则」,而是一个证据组合的游戏。说白了,就是把散落一地的拼图碎片,按规则拼成「致病性」或「良性」的完整图像。
五类证据,简单明了
标准把所有证据分为五类:
| 证据类别 | 表示法 | 典型来源 |
|---|---|---|
| 致病性非常强 | PVS1 | 无义、移码、经典剪接等导致功能丧失的变异 |
| 致病性强 | PS1-4 | 已知致病变异、新发、功能研究阳性等 |
| 致病性中等 | PM1-6 | 热点区域、人群频率低、反式隐性、共分离等 |
| 致病性支持 | PP1-5 | 共分离数据弱、已报道但未确认等 |
| 良性/良性支持 | BA1 / BS1-4 / BP1-6 | 人群频率高、功能研究阴性、同义变异等 |
证据强度:不是只有「是」和「否」
很多新手容易忽略——证据是有「强度级别」的。同样的信息,不同场景下发挥的作用完全不同。
- 非常强(Very Strong):一个证据就够定致病,比如 PVS1
- 强(Strong):比如新发变异,或者功能研究明确
- 中等(Moderate):比如位于功能域内,或者与已知致病变异同氨基酸位置
- 支持(Supporting):边缘证据,单独用不顶事,但可以凑数
我遇到过不少新手,看到一个 PM2(人群频率低)就激动得不行。但请你记住,PM2 只是支持级别,不能单凭这个就说致病。这就像你不能因为一个人没犯罪记录就断定他是好人——逻辑不对。
组合规则:从证据到结论
有了证据,怎么组合?这是最核心的部分。ACMG/AMP 给出了一个组合套路:
- ≥2 个强 + ≥1 个中等 → 致病
- 1 个强 + ≥3 个中等 → 致病
- ≥2 个强 → 可能致病
- 1 个强 + 1-2 个中等 → 可能致病
- 良性侧:频率高或功能阴性直接给良性
我记得有次审核一个报告,对方用了 4 个 PM 级别的证据,硬说要判定「致病」。我说不对,4 个 PM 加起来等效于 2 个强证据?No。PM 再多个,也只是在「可能致病」这个级别上徘徊,除非你有 PS 或 PVS 级别的东西。
贝叶斯框架:背后的数学逻辑
为什么标准这样定?其实背后有贝叶斯统计的影子。简单说,我们有一个先验概率(基因背景下变异致病的可能性),每加一个证据,就更新一次后验概率。
我个人习惯用下面这个框架图来理解整个过程:
从这张图可以看到,整个流程不是线性的,而是多路证据同时汇入,经过强度分级和组合规则,最终输出五个分类之一。嗯,这里要注意,我们最终其实只输出 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'])) # → 可能致病
好了,以上就是证据整合的基础框架。说白了,就是把你手里的证据,按照 ACMG/AMP 的规则,归类 -> 分级 -> 组合。看起来简单,但每步都有学问。我记得有一次,一个团队争论一个 PM2+PM3+PP4 的组合能不能判「致病」,吵了三天。最后我们坐下来,重新捋了一遍逻辑——没有 PS 级别证据,顶多是「可能致病」。这就是框架的力量:它让你吵得有依据,而不是凭感觉。