主题
共定位:阳性可信,但阴性不能当真阴性
一句话结论
coloc.abf 的 PP.H4 > 0.8(32 对)可信、照常报;但 PP.H3 高的那批在大区域里不可信—— 最大区域档 37 对里 PP.H3 全为 1.000、PP.H4 全为 0.000、0 对通过, 那是「每个性状一个因果变异」这一假设撞墙,不是生物学阴性。
本该用来解决这个问题的 coloc-SuSiE,因外部 LD 面板失配 32 对中 20 对未收敛, 故降为方法学说明,不参与任何判定。 ★ 2026-08-03 已补算 estimate_s_rss 证实失配(蛋白侧 s 中位 0.827、32/32 对 >0.3), 且收敛的 16 对 s 同样高,故 SuSiE 的全部结果均不采用。
三个 A 级候选不受影响(PP.H4 = 0.926–0.967)。
一、诊断:PP.H3 随区域宽度系统性上升
results/hyprcoloc_R9_dm/coloc_limitation_diagnosis.csv
把 142 对按区域内 SNP 数分成四档:
| 档 | SNP 数范围 | PP.H3 中位 | PP.H4 中位 | PP.H4>0.8 | 其中 MHC 区 |
|---|---|---|---|---|---|
| Q1 最小 25% | 880–3,660 | 0.235 | 0.579 | 10/36 | 0/36 |
| Q2 | 3,702–4,984 | 0.152 | 0.709 | 15/35 | 6/35 |
| Q3 | 4,990–7,184 | 0.721 | 0.219 | 7/35 | 7/35 |
| Q4 最大 25% | 7,250–22,605 | 1.000 | 0.000 | 0/36 | 36/36 |
Spearman(区域 SNP 数, PP.H3) = 0.594(全部 142 对)
★ 2026-08-03 两处订正
① 此前记的 Spearman = 0.671 复现不出来。 在当前产物、7-30 快照、coloc_abf_pairs.csv 上分别得 0.594 / 0.622 / 0.594,各种子集与 Pearson 变体也都试过,均非 0.671。 以可复现的 0.594 为准。 通过数(10/15/7/0)与旧表完全一致,故结论不受影响。
② Q4 对数由 37 改为 36。 四分位切点约定不同所致(36/35/35/36 = 142), 边界差异不改变任何通过数。
★★ 更重要的新发现:这条局限几乎完全是 MHC 现象(任务 3 实测)
按哨兵表自带的 MHC 列(权威口径,非手写名单)拆开:
| 子集 | 对数 | Spearman(SNP 数, PP.H3) |
|---|---|---|
| 全部 | 142 | 0.594 |
| 仅非 MHC | 93 | 0.056 ← 基本为零 |
| 仅 MHC | 49 | 0.396 |
- 最宽档 36 对,100% 来自 MHC 区蛋白(非 MHC 一对都没有)
- 非 MHC 的对跨 Q1–Q3(880–7,184 个 SNP,8 倍宽度范围),相关仍只有 0.056
⇒ 「区域越宽 PP.H3 越高」这个关系几乎全由 MHC 区驱动——MHC 既超宽又本就难共定位。 这条局限不影响任何非 MHC 结论,包括三个 A 级候选。
为什么这不是生物学结果
coloc.abf 假设每个性状在每个区域只有一个因果变异。区域越宽,越容易装进多个独立信号; 一旦装进去,模型只能把它们判成「不同的因果变异」(H3)。
最大档一个区域有 22,605 个 SNP——在这个宽度下 H3=1.000 是模型撞墙的必然结果, 与两个性状之间到底共不共享因果变异无关。
对写法的直接要求
| 结果 | 可以怎么写 | 不可以怎么写 |
|---|---|---|
| PP.H4 > 0.8 | 「共定位支持」 | — |
| PP.H3 高(尤其大区域) | 「在该区域宽度下无法判定」 |
二、三个 A 级候选不受影响
它们的区域都落在中等宽度,H3 极低:
| 候选 | 疾病 | 区域 SNP 数 | PP.H3 | PP.H4 | H4/(H3+H4) |
|---|---|---|---|---|---|
| IFNAR1 | 黄斑病变 | 3,854 | 0.046 | 0.940 | 0.953 |
| ERMAP | 黄斑病变 | 3,978 | 0.019 | 0.967 | 0.981 |
| APOL1 | 黄斑病变 | 4,515 | 0.062 | 0.926 | 0.937 |
主结论不受本页局限影响。
三、一个备选判据(供参考,未采用)
文献中处理 H3 膨胀的常见做法是报告 H4/(H3+H4)——即条件于两侧确实都有信号时, 倾向「共享」的比例。
| 判据 | 通过对数 |
|---|---|
| PP.H4 > 0.8(现用) | 32 |
| H4/(H3+H4) ≥ 0.8 | 48 |
为什么没有采用
它只能缓解、不能替代缩小区域:Q4 那批 H3=1.000 的对,比值恒为 0,一个都救不回来。 多出来的 16 对集中在中间档。故本课题仍以 PP.H4>0.8 为判据,此列仅在补充材料备查。
四、coloc-SuSiE:降为方法学说明,不参与判定
SuSiE 允许一个区域内存在多个因果变异,正是第一节那个问题的标准解法。我们跑了,但没跑成。
results/hyprcoloc_R9_dm/coloc_susie_pairs.csv(32 对进入)
| 状态 | 对数 |
|---|---|
| 收敛并出结果 | 8 |
| 未收敛 | 20 |
| credible set 不足(疾病侧为 0) | 4 |
4.1 未收敛是 LD 失配的已知表现,不是我们跑错了
外部 LD 参考面板与 GWAS 样本的 LD 结构不一致时,即使同一祖先人群也会出问题: SuSiE 在先验估计与迭代选择两步都依赖 LD,失配时两步都可能给不出合理结果 (susieR 官方诊断文档)。 针对该问题已有专门的方法学工作 (Robust fine-mapping in the presence of LD mismatch, bioRxiv 2024) 以及 DENTIST、SLALOM 等 QC 工具。
我们的具体情形:参考面板是 1000G EUR(n=503),而结局来自 FinnGen(芬兰人群,LD 结构特殊)、 暴露来自 UKB。n=503 对 SuSiE 而言偏小,LD 估计噪声大。
4.2 收敛的 8 对也呈退化分布
PP.H4_susie 的全部取值:
1, 1, 1, 1, 3.37×10⁻¹⁵, 1.43×10⁻²⁰, 3.44×10⁻⁶⁵, 8.14×10⁻¹⁶⁸要么是 1,要么小于 10⁻¹⁰,中间没有任何过渡值。 一个行为正常的后验不会这样分布。 这一条比引用某个诊断统计量更有说服力,而且完全可核实。
4.3 ★ 已补算实测:LD 失配不再是推断
先更正一处我们自己的判断
本页初稿曾写「流水线从未记录过 susieR 的失配诊断量 s」——这句话是错的。 s 在 2026-07-31 就对 4 个位点算过并写进了汇报 PPT,只是没有落成 results/ 里的产物文件, 26_coloc_susie.R 也未记录(该脚本第 105 行的 s <- sub$sgn 是等位符号,确实不是诊断量)。 当时判成「不可核实」,是因为只在产物目录里找、没去交付物里找。
★ 08-03 的补算不仅把范围扩到全部 32 对并落成产物,还复现了当时那 4 个值:
| 位点 | 7-31 PPT 上的 s | 8-3 实测 |
|---|---|---|
| IFNAR1 × 黄斑 | 0.925 / 0.717 | 0.9249 / 0.7171 |
| ERMAP × 黄斑 | 0.877 / 0.735 | 0.8770 / 0.7355 |
| APOL1 × 黄斑 | 0.676 / 0.393 | 0.6759 / 0.3931 |
三个吻合到小数点后 3–4 位,等于交叉验证了新脚本。
2026-08-03 用 analysis/27_estimate_s_rss.R 对全部 32 对补算完毕。
results/hyprcoloc_R9_dm/susie_s_diagnostic.csv
| 侧 | s 中位 | s 范围 | s>0.3 |
|---|---|---|---|
| 蛋白侧 | 0.827 | 0.546–0.958 | 32/32 |
| 疾病侧 | 0.596 | 0.279–0.875 | 30/32 |
理想值应接近 0。
决定性对照——未收敛组的 s 是否系统性更高:
| 侧 | 收敛组 s 中位 | 未收敛组 s 中位 | Mann-Whitney |
|---|---|---|---|
| 蛋白侧 | 0.775(n=16) | 0.871(n=16) | z = −2.22,p = 0.026 |
| 疾病侧 | 0.529(n=16) | 0.634(n=16) | z = −1.55,p = 0.121 |
三条判读,第三条最要紧
- 全部 32 对的 s 都远离 0,蛋白侧 32 对全部 >0.3 → 外部 LD 参考面板与实际样本 存在严重失配,这已是实测,不再是推断。
- 未收敛组的 s 系统性高于收敛组(蛋白侧达统计学显著)→ 「未收敛源自 LD 失配」这一归因得到数据支持。
- ★★ 即便收敛的那 16 对,s 中位也高达 0.775 —— 不只是未收敛的不能用,连跑出结果的那 8 对同样不可信。
所以这次补算不是给 SuSiE 平反,反而更彻底地支持了把它整体降级。
补充:另有一个独立信号——
estimate_s_rss运行时对每个区域都报The matrix R is not positive semidefinite,即 LD 矩阵本身已非正定, 与上述失配结论一致。
4.4 处置
| 位置 | 处置 |
|---|---|
| 方法学 | 保留一句:另用 coloc-SuSiE 放松单因果变异假设 |
| 结果 | 不报 SuSiE 的任何判定 |
| 局限 | 写明 20/32 未收敛、并给出实测 s 值(不再是推断,见 §4.3) |
| 正文图 | 已换成两法版 coloc_method_tiles_2m / coloc_method_agreement_2m(仅 HyPrColoc + coloc.abf) |
| 补充材料图 | 三法版 coloc_method_tiles / coloc_method_agreement 保留——它们已把"未评估"与"不支持"分开(图注原文:Pairs SuSiE could not evaluate are absent from the SuSiE sets rather than counted as negative),不会误导 |
汇报 PPT 的同步改动(2026-08-03)
原先有三页把 SuSiE 与另两法并列,已按上表改:
| 页 | 原标题 | 现标题 |
|---|---|---|
| 23 | 三种共定位方法的逐对判定 | 两种共定位方法的逐对判定(图换两法版) |
| 24 | 三法一致性汇总 | 两法一致性汇总(图换两法版) |
| 27 | SuSiE 层的定位:只作敏感性检查 | SuSiE 不参与任何判定:LD 失配已实测 |
| 11 | ② 三种共定位方法并行 | ② 两种共定位方法并行推断 |
| 28 | (三条结论) | 加第 ④ 条:即便"救回来"也没有意义 |
五、两处局限是同一个问题的两面
必须连起来写,否则不自洽:
- 单因果变异假设在大区域里被破坏(第一节,Spearman 0.594、Q4 的 0/36)
- 本该解决它的 SuSiE 因 LD 失配没跑成(第四节,20/32)
- 所以大区域的 H3 只能记为「无法判定」,不能记为「不共定位」
★ 但影响面已用任务 3 界定清楚(analysis/41_coloc_undetermined.R): 最宽档 36 对 100% 来自 MHC 区蛋白,而这些蛋白因 MHC 一票否决本就归 C 级、 与共定位结果无关。把 Q4 的阴性全部改判为「未评估」,A/B/C/D 分层一个不变(3/4/11/13)。 非 MHC 的 93 对里宽度与 PP.H3 的相关仅 0.056。 ⇒ 这条局限只影响 MHC 区蛋白的表述,不影响任何候选靶点的分层结论。
六、可以做但尚未做的
| 方案 | 预期 | 成本 |
|---|---|---|
| 缩小区域窗口(哨兵 ±100–250 kb 而非 ±1 Mb) | 直接对着病根;Q4 那 37 对有望变为可判定 | 需重跑 coloc(区域缓存已在) |
| 换更大 / 更匹配的 LD 面板 | 可能救回部分 SuSiE | 较高 |
estimate_s_rss | ✅ 2026-08-03 已完成,见 §4.3 |