判定:尚不确定
数据源与对照规模:FinnGen R13 公开 GWAS 汇总统计、10 个 phenocode(流式读取,共同参考骨架 283340 个位点),8 个实验臂(2 基线 + 4 部位臂 + 阳性对照 + 阴性对照)× 3 个种子,分析阶段 16.0 秒
主要结论:判定 inconclusive:预测的前提本身没成立。合并内异症表型在类风湿锚点独立位点上的方向一致性只有 0.463(比 0.5 还低),经验 p = 0.796,连「合并表型与类风湿存在方向性共享」这一步都没测出来,因此部位特异性的问题无从谈起。
这些结果不支持:不支持「部位特异性不存在」,也不支持「内异症与炎性关节炎无共享遗传基础」——本轮是样本量不足以回答,不是回答了否定。不支持外推到非芬兰人群:FinnGen 是单一祖先队列,跨人群的结论需要 UK Biobank 一类的独立队列再做。不支持任何具体位点、基因或机制层面的结论。
代码 / 原始结果 / 日志:代码、原始 results.json、运行日志、图齐全;GWAS 汇总统计为流式读取,未落盘完整文件。
提交方向: 不同位置的子宫内膜异位与炎性关节炎之间的关键与共享位点 交付时间: 2026-08-07 这一轮真跑了: FinnGen R13 公开 GWAS 汇总统计、10 个 phenocode(流式 curl|zcat|mawk 读取,未落盘完整文件;共同参考骨架 283340 个位点)· 8 个臂(2 个基线 + 4 个部位臂 + 1 个阳性对照 + 1 个阴性对照)· 3 个种子(0 / 1 / 2)· 分析阶段 runtime_sec = 16.0 秒(取数阶段为流式下载,逐个文件的真实耗时见 work/logs/run.log 的 done in Xs 时间戳)。代码、日志、图、原始结果随附。
这条路我们替你试了:不是"部位特异性不存在",而是这一问在 FinnGen 现有样本量下问不出答案——预测的前提本身就没成立。 我们预注册的预测是"合并内异症表型在类风湿(M13_RHEUMA)的独立位点上,方向一致性显著高于 MAF 匹配零分布;而四个部位亚型的 Δ 全部覆盖 0"。真跑出来:合并表型的 sign_concordance = 0.463415,比 0.5 还低,经验 p = 0.795871(三个种子 0.784216 / 0.802198 / 0.801199),连"合并表型与类风湿存在方向性共享"这个前提都没测出来。因此 prediction_outcome 判为 inconclusive(不是 confirmed,也不是 refuted),negative_result = true。
不是流水线坏了,两个对照都通过。 阳性对照(子宫肌瘤锚点,111 个 lead SNP)sign_concordance = 0.810811、经验 p = 0.000999(已达 1000 次抽样的下限,三个种子一致)——流水线有效能;阴性对照(近视锚点,7 个 lead SNP)sign_concordance = 0.571429、经验 p = 0.514819——没有假阳性。
下一步该往哪拐(本轮最有复用价值的产出):四个部位臂算出的最小可检出 Δ 是 0.203152 / 0.213237 / 0.244140 / 0.234467,而观测到的 |Δ| 除子宫腺肌症外都在 0.05 以下。这就是"要在部位层面得出结论,样本量还差多远"的量化答案——不是再调参数能解决的,是病例数不够。建议把资源从"再跑一遍 FinnGen 部位分层"转到扩队列(meta / 独立队列)或转到 SCOPE.md 里的缺口 B(手术中介),理由见第 3 节。
一句话设计:以关节炎性状的独立位点(p < 5e-08、1000kb 距离剪枝、排除 MHC)为锚点,看内异症各表型在这些位点上的效应方向是否与锚点一致,再问四个部位亚型相对合并表型有没有额外的一致性。
基线是什么、为什么公平:这一轮有两条基线,缺一不可。
baseline-pooled-endometriosis:合并内异症表型(N14_ENDOMETRIOSIS)在同一批 41 个类风湿 lead SNP 上的统计量。四个部位臂的 Δ 都以它为参照,所以部位臂和基线用的是同一批位点、同一套骨架、同一批种子,唯一变的是内异症表型。baseline-maf-matched-null-snps:从共同骨架里抽 MAF 匹配(±0.02)、距任一 lead SNP ≥1Mb 的随机位点,1000 次抽样 × 3 个种子,构造经验零分布(零位点池 null_pool_size = 275779)。这条臂承受完全相同的 FinnGen 共享对照结构却没有真实共享,所以经验 p 已经把"共享对照造出来的相关"这项偏倚吸收掉了——这是第 3 节里审稿人最先要打的那一刀。两个主统计量:sign_concordance(lead 位点上两个 β 同号的比例,零假设 0.5)与 ivw_slope(以 1/se²_内异症 为权重、过原点的加权最小二乘斜率)。选 ivw_slope 是因为 β 的期望不随样本量变化,只有它的标准误变,这样病例数少的部位亚型不会被系统性压低——这是本设计能公平比较病例数悬殊的亚型的关键。
注意读表方式:观测统计量(sign_concordance、ivw_slope)在三个种子下完全相同、std = 0,这是对的——种子只控制零分布抽样和 bootstrap 重抽,不影响观测值本身。有离散度的是经验 p 和 bootstrap Δ。
| 臂 | sign_concordance(种子 0/1/2 相同) | 经验 p(种子 0 / 1 / 2) | 经验 p 均值 ± std |
|---|---|---|---|
| baseline-pooled-endometriosis | 0.463415 | 0.784216 / 0.802198 / 0.801199 | 0.795871 ± 0.008251 |
| proposed-site-ovary | 0.439024 | 0.840160 / 0.852148 / 0.868132 | 0.853480 ± 0.011458 |
| proposed-site-pelvicperitoneum | 0.463415 | 0.743257 / 0.776224 / 0.778222 | 0.765901 ± 0.016033 |
| proposed-site-uterus-adenomyosis | 0.658537 | 0.045954 / 0.028971 / 0.044955 | 0.039960 ± 0.007781 |
| proposed-site-rectovaginal | 0.512195 | 0.566434 / 0.549451 / 0.557443 | 0.557776 ± 0.006937 |
| control-positive-leiomyoma(锚点 = 子宫肌瘤,111 个 lead SNP) | 0.810811 | 0.000999 / 0.000999 / 0.000999 | 0.000999 ± 0.0 |
| control-negative-myopia(锚点 = 近视,7 个 lead SNP) | 0.571429 | 0.503497 / 0.512488 / 0.528472 | 0.514819 ± 0.010328 |
| 臂 | ivw_slope(三种子相同) | 经验 p(种子 0 / 1 / 2) | 经验 p 均值 ± std |
|---|---|---|---|
| baseline-pooled-endometriosis | -0.023577 | 0.880120 / 0.896104 / 0.888112 | 0.888112 ± 0.006525 |
| proposed-site-ovary | -0.074310 | 0.744256 / 0.740260 / 0.761239 | 0.748585 ± 0.009095 |
| proposed-site-pelvicperitoneum | -0.031667 | 0.893107 / 0.872128 / 0.908092 | 0.891109 ± 0.014750 |
| proposed-site-uterus-adenomyosis | 0.053939 | 0.831169 / 0.825175 / 0.837163 | 0.831169 ± 0.004894 |
| proposed-site-rectovaginal | -0.030226 | 0.935065 / 0.924076 / 0.928072 | 0.929071 ± 0.004542 |
| control-positive-leiomyoma | 0.302131 | 0.557443 / 0.553447 / 0.575425 | 0.562105 ± 0.009559 |
| control-negative-myopia | -0.000104 | 1.0 / 1.0 / 1.0 | 1.0 ± 0.0 |
| 指标 | 种子 0 / 1 / 2 | 均值 ± std |
|---|---|---|
| null_mean_sign_concordance | 0.514122 / 0.519902 / 0.517341 | 0.517122 ± 0.002365 |
| null_mean_ivw_slope | 0.041660 / 0.047679 / 0.043602 | 0.044313 ± 0.002508 |
| null_pool_size | 275779 / 275779 / 275779 | 275779 ± 0.0 |
| 部位臂 | 观测 Δ(sign) | bootstrap Δ 均值 ± std | 95% CI | 覆盖 0 | 观测 Δ(ivw) | ivw 的 95% CI | 最小可检出 Δ |
|---|---|---|---|---|---|---|---|
| ovary | -0.024390 | -0.024220 ± 0.004156 | [-0.170732, 0.121951] | 是 | -0.050733 | [-0.122364, 0.003183] | 0.203152 |
| pelvicperitoneum | 0.0 | 0.000398 ± 0.002908 | [-0.146341, 0.146341] | 是 | -0.008089 | [-0.082755, 0.050883] | 0.213237 |
| uterus-adenomyosis | 0.195122 | 0.195073 ± 0.000363 | [0.024390, 0.365854] | 否 | 0.077517 | [0.018511, 0.160838] | 0.244140 |
| rectovaginal | 0.048780 | 0.047512 ± 0.002464 | [-0.121951, 0.219512] | 是 | -0.006649 | [-0.089809, 0.081877] | 0.234467 |
汇总口径(results.json 的 headline):合并表型 0.463415,四个部位臂均值 0.518293,差 0.054878;标注的结论是"结果不确定:primary anchor (rheuma) vs pooled endo did not reach significant concordance"。
数据完整性:所有臂的 scaffold_retention_frac = 1.0006(10 个文件之间 1.0000–1.0006),说明 FinnGen R13 不同表型的变异集合几乎完全一致,流水线没有系统性丢变异。

figs/ 目录。这些数支持的结论(只有三条):
这些数不支持的结论(写论文时别越界):
logs/run.log 里)。另外它的观测 Δ = 0.195122 还低于同一臂算出的最小可检出 Δ = 0.244140。所以我们把它当多重比较噪声报告,没有写成阳性发现。规模限制导致、放大后可能变的部分:四个部位亚型的病例数只有合并表型的一个零头(逐个数字见随附 SCOPE.md 的数据表),Δ 的 CI 宽度基本由此决定;而且亚型病例嵌套在合并表型里,Δ 会被系统性衰减、方向上偏保守。换句话说,本轮的阴性不能外推到更大队列。
本轮相对原计划的全部偏离(results.json.deviations 逐条):
logs/run.log,用于交叉检验子宫/腺肌症在类风湿锚点下的孤立信号是否可复现;但未整合进 results.json 的 arms/headline(schema 的 headline 只认单一 baseline/proposed 口径)。结论见 NOTES.md:不可复现,判定为多重比较下的偶然结果。prediction_outcome 判为 inconclusive 而非 confirmed/refuted,细节见 NOTES.md。先别投的一步:不要再在 FinnGen 部位分层上加参数、换锚点、扩 sweep。 本轮的最小可检出 Δ(0.203152–0.244140)已经把话说死了——限制来自病例数,不来自口径。同一批数据上再调,得到的任何 p < 0.05 都会落在多重比较噪声的量级里(子宫/腺肌症那条就是活例子:CI 不覆盖 0,换锚点即消失)。
值得投的最短路径,按性价比排两条:
审稿人最可能打的三处(SCOPE.md 第 3 节,本轮已部分堵上):
随附的 candidate_shared_loci.csv 是各锚点 lead 位点上五个内异症表型的 β 明细,只能当候选、假设生成用,不是发现——本轮既没做共定位也没做独立复现。
全部在本目录下,一个都没删:
| 文件 | 是什么 |
|---|---|
work/run_experiment.py | 全部分析代码:流式取数、clump、观测统计量、MAF 匹配零分布、配对 bootstrap、出图、写 results.json |
work/run.sh | 一条命令复现:bash run.sh。取数阶段用 .done 标记做幂等跳过,中断可续跑 |
work/scripts/self.awk、work/scripts/lookup.awk | 流式过滤用的 awk 脚本(取显著行 + 建 10kb 窗口骨架 / 在骨架位点上查 β) |
work/logs/run.log | 完整运行日志,逐行带时间戳;包含两个次要锚点的 Δ 与 CI(偏离 2 提到的那部分) |
work/results.json | 原始结果。本报告里每一个数字都能在这里逐个查到 |
work/figs/site_specificity.png | 左:五个锚点 × 五个内异症表型的 sign concordance 热图;右:类风湿锚点下四个部位相对合并表型的 Δ 森林图(含 95% CI) |
work/candidate_shared_loci.csv | 各锚点 lead 位点上五个内异症表型的 β 明细,含最近基因;候选,非发现 |
work/NOTES.md | 实验过程记录:工程决定、抓取结果、为什么判 inconclusive、那个没扛住复现的信号 |
work/data/*.tsv | 流式过滤后的中间文件(显著行 + 骨架 join),FinnGen 原始完整汇总统计文件未落盘 |
SCOPE.md | 方向判断与文献查新全文 |
环境与复现:Python 3.12.3、torch 2.13.0+cpu(纯 CPU,不需要 GPU)、种子固定为 0/1/2、无额外依赖包。bash run.sh 可从零重跑;数据全部从 FinnGen R13 公开桶实时流式读取,不需要我们这边的任何缓存。
关于数据与合规:我们不要你的数据、不要你的代码、不要你的稿子。证据全部用公开数据集自己造,任何人拿到这份材料都能自己复查、也能反驳。使用 FinnGen 数据前请自行完成其在线登记表并在成果中引用 Kurki 2023 Nature。
(以下为方向判断要点,具体计数与样本量数字见 SCOPE.md 原文,不是本轮实验结果。)
参考来源(原样保留):
本文档由 JouleBeat · DeepGraph 出具。实验代码、日志与原始结果随附,结论可被复查与反驳。