PS1:与已知致病突变相同的氨基酸改变
PS1这个证据,说白了就是「你手里的这个错义变异,跟数据库里已经确认致病的那个突变,改出来的氨基酸一模一样」。我刚开始接触ACMG的时候,觉得这个证据挺直接的——蛋白层面改了同一个氨基酸,那致病性应该差不多吧?但实际用起来,坑比想象的多。
记得我第一次做WES分析,遇到一个BRCA1的错义变异,p.Cys61Gly。我查了一下ClinVar,好家伙,另一个p.Cys61Arg被标了致病。我当时觉得「都是61位的半胱氨酸被替换,PS1稳了」。后来导师拿ACMG原文拍我桌上:「你仔细看看,PS1要求的是相同氨基酸改变,Cys61Gly和Cys61Arg能一样吗?」嗯,从那以后我再也没犯过这个错。
判断标准:三个必须核对的核心点
要踩上PS1,你得同时满足三个条件。少一个都不行。
- 突变类型一致:已知突变和你手里的变异,必须都是错义突变。如果是移码或剪接位点,PS1不适用。
- 氨基酸改变完全相同:比如已知的是p.Val600Glu(V600E),你手里的也得是p.Val600Glu。p.Val600Gly(V600G)就不行,哪怕只差一个碱基。
- 该氨基酸改变已经被明确报道为致病性:注意「明确报道」四个字。不是所有ClinVar上标了Pathogenic的都能用——你得确认评估来源可靠,最好是经过专业团队评审的。
个人习惯提醒:我会额外加一道检查——确认已知突变的证据等级不是孤立的。如果那个已知突变只靠一个PVS1或PS1自己撑起来,我会把PS1的权重调低一点,避免做「证据套娃」。
PS1 与 PM5 的区别:一个表格说清楚
这是新手最常搞混的地方。我之前就遇到过有人把PM5当PS1用,结果在分类会议上被质疑。它们的核心区别在于「氨基酸改变是否完全一致」。
| 对比维度 | PS1 | PM5 |
|---|---|---|
| 定义 | 与已知致病突变具有相同的氨基酸改变 | 在同一个密码子上产生不同的氨基酸改变 |
| 突变关系 | 相同氨基酸改变(如p.Val600Glu vs p.Val600Glu) | 不同氨基酸改变(如p.Val600Glu vs p.Val600Gly) |
| 解读强度 | 强(Pathogenic Strong) | 中等(Pathogenic Moderate) |
| 适用条件 | 已知致病的错义突变,且氨基酸改变完全相同 | 已知致密的错义突变在同一个密码子,但氨基酸改变不同 |
| 常见误用 | 误把PM5当PS1用 | 误把PM5当PS1用 |
你想想看,PS1要求的是「完全一致」,PM5要求的是「同一个位置但不一样」。说白了就是一个是正版,一个是代餐。
案例演示:BRCA1 p.Cys61Gly 的实战路径
我们用一个具体案例串一遍。假设你手里有个BRCA1的错义变异,c.181C>G (p.Cys61Gly)。数据库里搜到一个已知致病突变 c.181C>T (p.Cys61Arg)。
第一步:核对密码子位置。都是61号密码子,这一点没问题。
第二步:核对氨基酸改变。已知突变是Cys→Arg(半胱氨酸→精氨酸),你手里是Cys→Gly(半胱氨酸→甘氨酸)。氨基酸改变不同。
第三步:判定。PS1不适用。但你能不能用PM5?可以,因为密码子相同,氨基酸不同,PM5是合适的。
避坑指南:我曾经见过有人把PS1用在「已知突变是p.Cys61Arg,手里的变异是c.181C>G(也是p.Cys61Arg)但来自不同家系」的情况。当时分析员认为「氨基酸一样,PS1没问题」。但实际上,PS1不要求家系来源相同,只要求氨基酸改。但我在实践中会额外确认这个已知致病突变的证据是否稳固——如果它本身只靠一个PS1或PM2撑起来,我会在报告里注明「PS1证据来源可靠性需进一步验证」。
SVG 流程图:PS1 判断决策路径
下面是判断PS1是否适用的逻辑图。跟着这个走,一般不会跑偏。
实际解读时的注意事项
最后聊几个我在项目中踩过的坑。
- ClinVar 版本问题:不同版本的ClinVar对同一突变的分类可能不同。我习惯用最近的Release版,并在报告中注明版本号。
- 人种特异性:一个致病突变在东亚人群中可能频率不同。我之前遇到一个已知致病突变在亚洲人群里被观察到多次但无表型,这种情况下使用PS1要打折扣。
- 外显率问题:有些致病突变外显率不高。PS1是强证据,但如果你发现突变携带者无表型,不要轻易给Pathogenic。
- 报道来源质量:我只看同行评审的文献或ClinVar上经过「专业评审(Expert Panel)」的条目。个人提交的、没有功能数据的条目,我会在报告中注明「证据强度需谨慎」。
实用技巧:我在做批量分析时,会用脚本先筛选出所有错义变异,再跟已知致病突变做氨基酸级别的精确匹配。这样能快速锁定可能符合PS1的候选位点,然后人工复核。你可以在Python里用 transvar 或 VEP 做这个匹配。