信息速览
复杂性状的遗传学过去十余年积累了大量汇总统计:一份份「变异编号、效应量、标准误、P 值」的表,动辄几百万行。这些表在变异层面告诉人们信号在哪里,却很少直接回答「哪个基因」。原因很朴素——绝大多数显著位点落在非编码区,离最近的基因可能几十万碱基,也可能同时靠近好几个。
GENEasso 的全部工作就是把这一步替你做掉。它把八千余份经过人工整理的 GWAS 汇总统计收进一个目录,对每一份跑七种基因水平关联方法,再把通过 Bonferroni 校正的基因-性状关联存成可检索、可下载的表。产出是七十余万条显著关联,覆盖 2491 个实验因子本体(EFO)性状与五个千人基因组超人群。它由南京医科大学与南京大学团队构建,2026 年 1 月发表于《核酸研究》数据库专刊。
需要在一开始说清的是它的证据性质:这里的每一条关联都是计算产物,不是文献里被报道过的发现,也不是实验验证过的结论。理解这一点,后面的所有用法与陷阱才有落脚处。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 正式名称 | GENEasso: a curated resource of credible disease-gene associations across complex diseases from GWAS summary statistics |
| 名字来源 | GENE + association 的拼合,指「基因层面的关联」,不是某个既有项目缩写 |
| 中文惯称 | 疾病-基因关联数据库(基因水平重算版) |
| 发布形态 | 网页数据库 + 在线分析服务器 + 整表下载 |
| 论文出处 | Nucleic Acids Research 2026 年数据库专刊,DOI 10.1093/nar/gkaf1097,PMID 41166152 |
| 构建团队 | 南京医科大学信息与生物医学工程学院;南京大学医学院附属鼓楼医院 |
| 通讯作者 | 顾宁(南京大学)、曹晨(南京医科大学)、唐冉冉(南京医科大学) |
| 网站 | https://www.geneasso.net |
| 汇总统计份数 | 8,226 份,其中 UK Biobank 系 4,294、非 UK Biobank 系 3,932 |
| 性状数 | 2,491 个 EFO 性状,归入 14 个大类、22 个亚类 |
| 关联条数 | 726,122 条,去重后配对 225,395 对 |
| 方法数 | 7 种方法,共 12 个模型 |
| 人群 | 五个超人群,欧洲祖先占 95.34% |
| 物种 | 人类(仅此一种) |
| 访问门槛 | 无注册、无登录 |
| 论文许可 | CC BY 4.0 |
§1 它要解决的具体麻烦
1.1 位点层面的显著性,落不到基因这一层
一份典型的 GWAS 汇总统计有数百万行,每行一个变异。研究者拿到它之后最想做的三件事,是按基因汇总、排优先级、找组织,而这三件事没有一件能只靠这张表完成。按基因聚合需要连锁不平衡参考面板,判断效应方向需要处理等位基因的对应关系,定位组织需要表达参考数据。任何一环处理不当,最终得到的基因名都可能是坐标邻近造成的假象。
于是形成了事实上的分工:GWAS 汇总统计的产出方负责统计,基因层面的解释交给后处理工具。后处理工具本身并不难装,难的是统一口径——同一个性状,用三种方法算,可能得到三份互不重叠的基因清单;换一份参考面板,清单又会变。跨研究做元分析的人,往往要在这种口径漂移里耗掉大半时间。
GENEasso 的价值主张就是把这个口径问题一次性锁死:同一套参考面板、同一套质控规则、同一套显著性判定,对全部数据集统一执行,结果并排存放。这种「统一加工」带来的可比性,比单条关联的可信度更有实际操作意义。
1.2 三条常见的错误期待
第一条是把这里的关联当作文献证据。名字里的 curated 容易被读成「从文献审编出来的」,实际上它指的是「对输入数据做了人工整理与质控」。库里的每一条基因-性状关联都是本方重新计算的结果,其中有相当一部分在原始论文里从未被讨论过。用它做候选基因筛选是合适的,用它做「已有研究报告了此关联」的引证则不合适。
第二条是把关联条数当成发现数量。七十余万这个数字是三元组的计数:同一个基因、同一个性状,被三种方法各检出一次,就算三条。官方给出的去重配对数是二十二万余,两者相差三倍多。在写论文的方法部分复述规模时,用错口径会被审稿人直接指出。
第三条是期待它对非欧洲人群同样好用。欧洲祖先数据集占九成五以上,东亚、非洲、南亚、美洲的条目加起来不到百分之五。这不是收集疏漏,而是公开汇总统计本身的分布就长这样。用它做跨人群比较时,能比的是「同一方法在不同人群数据上的表现」,而不是「不同人群的遗传结构差异」。
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 给定性状,拿到一份候选基因清单 | 每个性状的关联基因表,按方法分开,附 P 值与效应统计 | 够用,注意按方法拆开看 |
| 判断某个基因是否被多个方法一致支持 | 同一基因在不同方法下的记录并存,可数方法数 | 够用,这是它相对单方法工具的核心优势 |
| 判断一个基因是否在多个性状上反复出现 | 基因页给出关联性状数,可按此排序 | 够用,但要注意 MHC 区基因会系统性虚高 |
| 直接拿到变异级别的证据强度 | 仅到基因级与对数 P 值的近似展示 | 不够,需回溯原始汇总统计 |
| 判断关联的因果性 | 不提供 | 不够,任何方法都给不了 |
| 拿到组织层面的机制解释 | 提供基于 GTEx 与 deTS 的组织特异性打分 | 参考价值有限,只覆盖有 eQTL 参考的组织 |
| 找到东亚人群的复现证据 | 有 EAS 条目,但占比极低 | 多数性状不够,需另找专门队列 |
| 复用其分析流程处理自有数据 | 在线服务器可直接上传运行,脚本可下载 | 够用,这是被低估的部分 |
| 追溯每条关联的原始论文 | 每个性状条目附 PMID 与出处链接 | 够用,但只到数据集层级,不到关联层级 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 手上有一份自有 GWAS 汇总统计,想知道排在前面的基因是否站得住 | 上传后与库内同一性状的存档结果做一致性比对,标出复现与未复现 | 先确认性状在库内有对应 EFO 条目,再决定是否值得跑全套方法 |
| 正在为一个复杂疾病挑三到五个基因做功能验证 | 给出多方法共识清单,把只被单方法支持的基因排到后面 | 用共识数排序后,再回原始论文核对样本量与人群 |
| 要写一篇方法学比较文章,需要同一批数据上多种方法的表现 | 统一口径的七方法结果可直接横向比较,省去自行复现的工程量 | 注意记录所用版本时间,站点数据在持续更新 |
| 做药物靶点评估,需要基因与疾病的对应关系 | 提供基因-性状对与关联性状数,可作为靶点-适应症假设的起点 | 与专门的有实验支持的靶点库交叉,避免只依赖计算结果 |
| 做孟德尔随机化,需要工具变量与结局的基因层面对应 | 可用来快速筛查结局性状上是否有已知的基因水平信号 | 工具变量仍需自行从汇总统计中挑选,库内不提供 |
| 想复现论文里的图,或验证作者的分析流程 | 下载页提供各方法运行脚本 | 需要自备参考面板与 LD 参考,脚本不含数据 |
1.5 一句话判断
它是「把 GWAS 汇总统计批量折算成基因清单」的工业化流水线,价值在统一口径与横向可比,不在单条关联的可信度。
1.6 不适合谁:四条边界
第一,不适合把它当作文献级证据库的人。如果你的任务是从既有文献中检索「某基因与某疾病是否已被报道相关」,那么应该去用从文献抽取的关联库,而不是这里。这里的关联是计算结果,其中未被任何论文讨论过的占多数,用它引证会把计算产物误标成研究发现。
第二,不适合需要非欧洲人群结论的人。非洲、东亚、南亚、美洲四个超人群合计条目不足百分之五,很多性状在库内只有欧洲祖先版本。做跨人群遗传结构比较、做少数人群的靶点发现,这个库都不是合适起点。
第三,不适合要罕见变异结论的人。库内七种方法全部面向常见变异的汇总统计,罕见变异与基因负荷检验类方法被作者明确列为尚未纳入的方向。以罕见变异为主的疾病,如多数单基因病,用它得不到有效信息。
第四,不适合零基础直接下生物学结论的人。库内每条关联都附方法名与 P 值,但没有为每条关联给出可读的可信度分级。缺少遗传学训练的使用者很容易把「多方法共识」当成「已验证」,把「 Bonferroni 显著」当成「效应大」。作者在多处强调共识只提升可信度,这一限定需要在动手前就读到。
§2 数据构成与规格
2.1 三张表:性状、基因、关联
从站点的分页接口可以直接看到三张主表。性状表的每一行是一份可下载的 GWAS 汇总统计,主键是形如 GA00002 的内部编号。基因表的每一行是一个曾与至少一个性状显著关联的基因,主键是 Ensembl 基因编号。关联表则是二者的组合,一行对应某基因在某性状上由某方法得到的显著结果。
这种三层设计决定了很多使用细节。性状表回答「有哪些数据可用」,基因表回答「这个基因牵扯到多少性状」,关联表回答「具体是哪条」。三者通过内部编号与基因符号相连,编号体系不对外承诺稳定,跨版本比对时应以 PMID 加性状 EFO 编号为锚点,而不是以 GA 开头的数据集编号。
三张表之外还有一张发表表,以 PubMed 编号为主键,记录论文标题、作者、期刊、年份与 DOI。这张表的作用是把数据集回溯到源头——当你怀疑某个性状的样本构成时,可以从这里一路查到原始论文,再判断是否适合你的问题。
2.2 字段与记录的完整字典
| 表 | 字段 | 含义 | 类型/取值 | 备注 |
|---|---|---|---|---|
| 性状表 | daid | 数据集内部编号 | GA 加五位数字 | 站点内唯一,不承诺跨版本稳定 |
| 性状表 | reportedTrait | 原始论文报告的性状名 | 自由文本 | 常带表型编码前缀,如 G20、L72 |
| 性状表 | efoOntologyTrait | 映射后的标准性状名 | EFO 条目名 | 少数条目为症状测量而非疾病 |
| 性状表 | efoCode | EFO 编号 | 形如 EFO:0600011 | 跨版本比对应以此字段为准 |
| 性状表 | sampleSize | 该数据集的样本总量 | 整数 | 有时小于病例加对照之和 |
| 性状表 | ncase | 病例数 | 整数 | 数量性状此字段为空 |
| 性状表 | ncontrol | 对照数 | 整数 | 同上 |
| 性状表 | population | 祖源分层 | AFR/AMR/EAS/EUR/SAS 或混合 | 按原文描述归入千人基因组超人群 |
| 性状表 | pmid | 原始论文编号 | 八位数字 | 与发表表相连 |
| 性状表 | firstAuthor | 首发作者或机构 | 文本 | 部分为数据来源机构名而非人名 |
| 性状表 | year | 发表年份 | 四位数字 | 最早可见 2006 年 |
| 性状表 | url | 上游来源链接 | URL | 多为 Gene ATLAS 等项目站 |
| 性状表 | geneCount | 该性状下的关联基因数 | 整数 | 论文均值约九十 |
| 性状表 | link | 汇总统计压缩包直链 | URL | 对象存储域名,非站点域名 |
| 基因表 | symbol | 基因符号 | HGNC 符号 | 含 lncRNA 与假基因 |
| 基因表 | ensg | Ensembl 基因编号 | ENSG 开头 | 带版本号后缀 |
| 基因表 | fullName | 基因全名 | 文本 | 部分为 NA |
| 基因表 | location | 染色体位置 | 染色体:起-止 | 一基坐标 |
| 基因表 | type | 基因类型 | protein_coding / lncRNA 等 | 与 Ensembl 注释一致 |
| 基因表 | synonyms | 别名 | 分号分隔 | 用于检索 |
| 基因表 | geneGroup | 基因家族归类 | 文本 | 链接到 HGNC 基因家族页 |
| 基因表 | associationCount | 关联总数 | 整数 | 跨方法的计数,非去重 |
| 基因表 | traitCount | 关联性状数 | 整数 | 基因页排序依据 |
| 关联表 | method | 产出的方法名 | 七种之一 | 同一关联可由多方法各自记录 |
| 关联表 | pvalue | 该方法的基因水平 P 值 | 科学计数 | 已过 Bonferroni 阈值 |
| 关联表 | addtionalInfo | 附加统计 | 分号分隔文本 | 字段名拼写如官方所示 |
| 发表表 | doi | 论文数字对象标识 | 10. 开头 | 与 pmid 互补 |
字段命名能看出加工痕迹:addtionalInfo 缺了一个 i,link 字段存放的其实是压缩包直链而不是页面链接。这些不影响使用,但写自动化脚本时需要按实际字符串匹配,不能想当然。
2.3 一条记录的完整解剖
以站点性状表第一页返回的记录为例,完整结构如下。这份记录是理解全部字段关系的最短入口。
daid GA00002
reportedTrait G20 Parkinson's Disease
efoOntologyTrait Parkinson's disease symptom measurement
efoCode EFO:0600011
sampleSize 452264
ncase 1239
ncontrol 451025
population EUR
firstAuthor Roslin Institute
pmid 30349118
year 2018
url http://geneatlas.roslin.ed.ac.uk/
geneCount 190
link https://jlucaochen-1315664645.cos.accelerate.myqcloud.com/GA00002.txt.gz
读这条记录时有三处值得停下。第一处是性状名。reportedTrait 写的是帕金森病,而 EFO 映射结果落在「帕金森病症状测量」这个条目下,两者语义有偏移——数据集实际测量的是与症状相关的表型,映射却挂到了症状测量条目。检索时用疾病名找不到,用 EFO 条目名才能找到,这是实际会遇到的不便。
第二处是样本构成。总量四十五万余,病例仅一千二百余,占比极低。这类病例对照比严重不平衡的设计,检出功效集中在效应量较大的常见变异上,对弱效应位点不敏感。geneCount 显示一百九十,是在这个样本构成与七种方法共同作用下的结果。
第三处是 link 指向对象存储的加速域名,而不是 www.geneasso.net 本身。这意味着下载链路与站点服务是分离的两套系统,站点改版不影响直链,但对象存储的访问策略调整会让直链失效。写批处理脚本时应把这个地址当作可配置项,不要硬编码。
2.4 规模构成
| 维度 | 数值 | 口径来源 |
|---|---|---|
| 汇总统计份数 | 8,226 | 论文正文与摘要一致 |
| 其中 UK Biobank 系 | 4,294 | 论文正文 |
| 其中非 UK Biobank 系 | 3,932 | 论文正文 |
| EFO 性状数 | 2,491 | 论文正文 |
| 表型大类 | 14 | 论文正文 |
| 疾病亚类 | 22 | 论文正文 |
| 关联总数 | 726,122 | 论文正文 |
| 去重配对 | 225,395 | 论文正文 |
| 每基因平均关联数 | 11.37 | 站点介绍页 |
| 每性状平均关联基因数 | 90.44 | 论文正文 |
| 欧洲祖先占比 | 95.34% | 论文正文 |
| 方法数 | 7 种、12 个模型 | 站点介绍页 |
| 性状分页总条数 | 8,546 | 站点接口,与论文口径不同 |
最后一行的差额值得单独说明。论文说的是受治理的数据集有八千二百余份,站点分页接口返回的性状条数是八千五百余条,相差三百二十条。官方没有解释这个差额的构成,可能的来源包括:只有汇总统计而无基因水平结果的条目、状态异常但仍留在表内的条目、或统计口径本身就定义为「全部录入项」而非「全部受治理项」。使用时要记住,论文数字与站点数字是两个口径,不要混用。
2.5 与同类资源的字段差异
| 资源 | 记录粒度 | 证据来源 | 是否含方法字段 | 是否含人群字段 | 主要缺口 |
|---|---|---|---|---|---|
| GENEasso | 基因 × 性状 × 方法 | 计算(七法重算) | 是,且可多值 | 是,五超人群 | 无变异级统计,无因果判定 |
| GWAS Catalog | 变异 × 性状 × 研究 | 文献审编 | 否 | 是 | 无基因水平汇总,需自行聚合 |
| 从文献抽取的基因-疾病关联库 | 基因 × 疾病 | 文献抽取加评分 | 否 | 通常无 | 不区分方法,来源不可重算 |
| 专家审编的单基因病库 | 基因 × 疾病 | 专家判读 | 否 | 不适用 | 只覆盖单基因病,复杂病几乎没有 |
| 表达中介关联库(TWAS 类) | 基因 × 性状 × 组织 | 计算(表达模型) | 是,但只有一类 | 通常单一人群 | 依赖 eQTL 面板,非欧洲组织缺参考 |
| GENEasso | 基因 × 性状 × 方法 | 计算(七法重算) | 是 | 是 | 罕见变异不覆盖 |
这张表最关键的一列是「是否含方法字段」。绝大多数疾病-基因库把关联压成一个二元判断,你无法知道它是怎么算出来的;GENEasso 把方法名留在每条记录上,使「换个方法结论是否还成立」这个问题第一次有了可查的答案。这也正是它在方法学比较类研究里的位置。
§3 核心层 A:它到底在算什么
3.1 从一张百万行的表到一行基因名,中间有六步
第一步是集合。把来自 UK Biobank 三个加工版本与非 UK Biobank 的多个仓储和联盟的汇总统计并到一个目录。UK Biobank 的三个版本分别是 Gene ATLAS、GWAS ATLAS、Neale Lab v3,同一批受试者被不同团队以不同关联模型与质控流程加工过,统计输出并不相同。GENEasso 不择优取一,而是三个版本都收。
第二步是去重。同一次发表如果存在多版汇总统计,只保留统计信息最完整的一版。这一步决定了「一个性状是否会在库内出现多次」——答案是会,因为不同发表、不同数据集版本属于不同记录,去重只针对同一发表的重复版本。
第三步是补齐。缺失的变异坐标要补,rsID 要补,效应等位与非效应等位要明确,次等位基因频率要重新估算,不完整的统计要丢弃。这几步听起来琐碎,却是后续所有计算的前提:等位基因方向搞反,基因水平 Z 值的符号就全反了。
第四步是人群归类。按原文报告的人群信息,把每份统计映射到 AFR、AMR、EAS、EUR、SAS 五个超人群之一,无法归类的记为混合。这一步同时决定了后续连锁不平衡参考面板的选择——不同超人群的 LD 结构不同,用错面板会系统性高估或低估基因水平统计量。
第五步是多方法计算。七种方法在同一份统计上各自独立运行,产出各自的基因水平统计量与 P 值。这一步是最耗算力的部分,也是整个库的生产瓶颈所在。
第六步是入库。取 Bonferroni 校正后 P 小于 0.05 的结果,连同方法名、基因注释、性状注释一起写入关联表。阈值是方法特定的,因为每种方法检验的基因数不同,校正基数也就不同。
3.2 七种方法的分工不是同义反复
七种方法常被误解为「同一件事的七种实现」,实际上它们对「基因关联」的定义并不相同,覆盖的遗传机制也不同。
PASCAL 把变异层面的卡方统计量按 LD 加权归并到基因与通路,依赖解析式而非置换,计算开销低,适合大规模批处理。MAGMA 做基于多元回归的基因与基因集分析,显式建模基因内变异间的 LD,并支持连续基因特征作为协变量。SMR 用汇总数据结合 eQTL 参考,检验基因表达与性状的因果中介关系,是七种里唯一直接建模表达层的。DEPICT 依据预测的基因功能与共表达关系,在性状相关位点内重排基因优先级,同时给出富集组织与通路。CWAS 在染色质开放与调控注释的语境下计算关联,把调控元件信息带进基因取舍。RWAS 基于染色质可及性数据,用于识别候选因果风险变异及其机制。LDAK-GBAT 在灵活遗传力模型下做基因水平检验,对遗传结构异质的性状更稳健。
这种分工带来的直接后果是:方法结论的重叠度天然有限,因为它们在问不同的问题。PASCAL 与 MAGMA 问的是「基因内变异整体是否与性状相关」,SMR 问的是「表达变化是否中介了性状」,CWAS 与 RWAS 问的是「调控语境是否支持这个基因」,LDAK-GBAT 问的是「在给定遗传架构下检验力有多强」。一篇论文若把七种方法的交集当作金标准,会系统性地偏向那些既在编码区附近、又有表达证据的基因,而漏掉纯调控机制起作用的基因。
3.3 共识分数:多方法一致意味着什么,不意味着什么
站点把多方法一致作为可信度信号,复现比对模块也以归档结果为参照。这套设计的逻辑是:不同方法用不同的统计假设,若都指向同一个基因,该基因更可能是真的。
这个逻辑有价值,但有两处需要限定。其一,方法之间并非相互独立。PASCAL 与 MAGMA 都要用 LD 参考、都要用同一套基因边界与窗口参数,两者的相关性明显高于随机。若两者的结论高度重合,其中一部分是共享假设带来的,独立性并不如表面看起来那么强。其二,共识偏向大效应与高 LD 区。一个基因若位于 LD 很长的区域,无论用哪种方法,周围的显著变异都会被归到它头上,于是七种方法同时检出,共识数拉满。主要组织相容性复合体区域的基因就属于这种情形,这正是作者在讨论前二十个高频基因时特意指出有六个在该区之外的原因。
因此共识分数应当这样用:把它当作筛选时的第一道排序,而不是最后一道判据;把它与基因所在的 LD 环境一起看,对位于长 LD 区的基因额外降权。把共识数直接写进模型作为因变量的做法,会把 LD 结构混淆进去。
3.4 组织打分:为什么它只算「参考」
组织特异性计算由两步组成。先用 PASCAL 得到性状关联基因打分,取 P 小于 0.05 的基因集合;再用 deTS 结合 GTEx v8 的四十七个组织参考,计算每个组织与该基因集合的富集程度。输出是每个组织的 P 值,值越小表示该组织与性状的因果关联可能性越高。
这条链条的强弱完全取决于参考面板。GTEx v8 的组织以欧美捐献者为主,非欧洲组织样本极少,因此对东亚或非洲人群特异的组织表达模式,打分结果并不可靠。此外四十七个组织全部来自成人尸检样本,缺少发育阶段与病理状态下的表达,儿科疾病与急性病程的组织定位会失真。
作者在讨论部分也承认,组织计算精度受 eQTL 参考面板可用性与一致性的限制,尤其是非欧洲组织。这句自我限定应被如实传递:组织打分可以帮你从几十个候选组织里挑出两三个有方向的,不能帮你确定「这个基因在哪个组织里起作用」。
3.5 在线分析模块:被低估的那一半
多数使用者只把 GENEasso 当查询库,忽略了它同时是一个可上传数据的服务器。上传流程是:提供汇总统计文件,指定分隔符(系统会自动探测,探测错可手动改),填写人群与样本标识,选择方法与显著性阈值,提交后得到结果表,并可与库内同一性状的归档结果做一致性比对。
这个模块的实际价值在于「同一把尺子量两次」。当你在自己的数据上得到一份基因清单,最想知道的是它是否与既有认识一致。手工实现这件事需要自己搭方法环境、备 LD 参考、对齐等位基因方向,工程量不小;用在线模块则只需要准备一个合规的汇总统计文件。需要注意的边界是:上传的数据不会被长期保存为公共资源,比对参照的是库内同 EFO 性状的归档结果,若你的性状在库内没有对应条目,比对环节就是空的。
§4 核心层 B:质量与特色
4.1 输入端的四道筛子
第一道是有无论文。只有附带同行评议论文、且论文里明确报告了人群构成、样本量与病例对照定义的数据集才会被纳入。这条规则排除了大量仅上传在预印本或机构页面上的汇总统计,也解释了为什么库内数据集的发表年份跨度很大而份数并不爆炸。
第二道是人群可判。祖源信息必须能对应到五个超人群之一或明确标为混合。无法判定的数据集不收,宁可缺失也不猜测。
第三道是去重。同一发表的多个版本只留最完整的一份。这条规则避免了同一批受试者被重复计数,但也带来一个副作用:当较新版本修正了旧版本的错误时,保留规则是「信息最完整」而非「最新」,两者不一定重合。
第四道是质控。补齐坐标与 rsID、判定效应等位、估算频率、丢弃不完整统计,这些步骤在入库前一次性完成,之后不再回溯修改输入。这意味着若原始论文后来发布了勘误,库内对应数据集不会自动更新,需要等下个大版本。
4.2 输出端的三个阈值
第一个阈值是方法的显著性判定,默认取 0.05 除以检验基因数,即 Bonferroni 校正。这是一个严格但保守的标准,对基因数多的方法(如覆盖全基因组的 MAGMA)阈值会很小,对只检验有限基因集的方法阈值会宽一些。
第二个阈值是组织打分中基因集合的入选门槛,P 小于 0.05,未做多重校正。这一步只是为了让后续富集分析有足够输入,不用于结论判断;把它单独拎出来当显著性证据是误用。
第三个阈值是复现比对时的判定标准,站点未公开具体的相似度计算方式,只以「higher replication indicating greater reliability」这样的表述给出方向。这意味着复现比对的结果应当当作参考排序,而不是可否证伪的统计检验。
4.3 案例:GA00002 帕金森病条目走完全程
拿 §2.3 解剖过的那条记录继续往下走,可以看到一条数据从上游到下游的完整轨迹,也能看到每一环的损耗在哪里。
上游是 Gene ATLAS 的帕金森病汇总统计,二〇一八年发表,样本四十五万余,病例一千二百余,欧洲祖先。这份统计进入 GENEasso 后,先经过第四步的人群归类,确定使用欧洲超人群的 LD 参考;再经过第五步的七方法计算,每个方法在各自的基因边界与窗口参数下给出基因水平 P 值;最后按 Bonferroni 阈值筛选,得到一百九十个关联基因。这个数字被写进 geneCount 字段,成为性状表里一个可直接排序的指标。
一百九十这个数需要与论文给出的全局均值对照阅读。论文称每个性状平均关联约九十个基因,这个条目接近均值的两倍。偏高与病例对照比失衡有关:病例仅占样本的千分之三,为达到 Bonferroni 显著,只有效应量足够大的位点才能过线,而这些位点往往集中在少数几个基因区间,于是基因数反而不算多——真正的原因是这份统计的检验力集中在强信号上,弱信号被整体滤掉。把一百九十读成「帕金森病涉及一百九十个基因」,会把检验力不足误当成生物学结论。
下游有两条路。一条是点进性状页看曼哈顿图,图上每个点是基因而非变异,按所选方法着色,可以直观看出哪些染色体区段的信号被多个方法同时点亮。另一条是下载压缩包,拿到的是原始汇总统计而非关联结果——这一点常被误解,link 字段给的是输入数据,不是输出结果。要拿到关联结果,应走导出接口或逐页翻表。
这条记录的 EFO 映射偏移在 §2.3 已经提过,此处再看它如何影响使用:若研究问题明确是帕金森病,这条数据集只能算近似匹配;若研究问题是一组神经退行性表型的合并分析,则应把映射到症状测量类条目的数据集与映射到疾病条目的数据集分开处理,否则表型异质性会被混进同一份清单。
4.4 与既有 TWAS 类数据库的分野
作者在引言里给了一个明确的问题陈述:已有多套转录组关联研究专属数据库,但 TWAS 只是基因水平方法中的一类,且主要依赖表达中介效应;其他基因水平方法在识别疾病相关基因上同样关键,却没有被系统整合。
这句话划出了 GENEasso 的生态位。TWAS 类库的答案是「表达变化能否解释性状关联」,GENEasso 的答案是「把七种不同假设下的基因水平检验结果并排放」。前者的结论集中、解释清楚,但对机制单一敏感;后者的结论分散、覆盖面宽,但需要使用者自己做取舍。
实际工作中,两者互补而非替代。合理的串接方式是:用 TWAS 类库拿到有表达证据支撑的候选基因,用 GENEasso 检查这些基因在其他方法下是否也成立,再用组织打分看表达证据是否落在合理组织上。三步都过仍不构成因果结论,但足以支撑进入功能验证的优先级排序。
4.5 方法学共识的边界条件
有一条无法直接检验、但可以推理的边界:共识分数会随方法数增加而自然上升。一个基因若在七种方法中都被检验并且效应真实,其共识数上限是七;但若某个方法因基因长度、GC 含量或 LD 结构而不适用于该基因,它就永远不会被该方法检出,共识数上限实际低于七。库内并未标注每个基因在每种方法下是否被检验,因此直接比较不同基因的共识数存在偏差——长基因、高 LD 区基因天然更容易被多方法覆盖。
这个偏差无法从现有字段里校正,只能在使用时定性处理:对位于长 LD 区、或处于基因密集区的候选基因,把共识数要求提高一档;对短基因、孤立基因,把要求降低一档。这类经验规则不精确,但比直接用原始共识数排序更接近真实。
§5 核心层 C:怎么取数
5.1 四条取数路径与各自代价
第一条是网页检索。性状、基因、变异、论文四个入口,适合找单个条目,不适合批量。第二条是分页接口,返回 JSON,可按关键词与类别过滤,适合程序化遍历。第三条是导出接口,直接返回表格文件,适合一次性拿全表。第四条是下载页的脚本包,拿到的是各方法的运行代码,不是数据。
四条路径的数据一致性由站点保证,但更新节奏不同。导出接口通常反映最新入库状态,网页缓存可能滞后数小时;压缩包直链指向对象存储,与站点数据库的更新并非同一事务,个别条目的文件可能落后于元数据。
5.2 用分页接口确认总量
下面这段代码读取性状表第一页并打印总数,是核查官方数字与站点数字是否一致的最快方式。
#-- 读取性状表分页接口,打印总数与首条记录的字段
import json
import urllib.request
BASE = "https://www.geneasso.net/api"
def fetch_page(table, page=1, limit=10, keyword=""):
url = (f"{BASE}/{table}/page?page={page}&limit={limit}"
f"&keyword={urllib.parse.quote(keyword)}")
with urllib.request.urlopen(url, timeout=60) as resp:
return json.loads(resp.read().decode("utf-8"))
import urllib.parse #-- 放在此处仅为让上面的 quote 可用,正式脚本应提到顶部
payload = fetch_page("trait", page=1, limit=1)
data = payload["data"]
print("total =", data["total"])
print("pages =", data["pages"])
print("first daid =", data["records"][0]["daid"])
print("trait =", data["records"][0]["efoOntologyTrait"])
返回的 total 是八千五百四十六,与论文口径的八千二百二十六相差三百二十。这个差额在 §2.4 已经讨论过,此处只需记住:写报告时引用哪一个,取决于你在描述「论文声称的规模」还是「站点当前的实际条目数」。
5.3 按性状拉取关联基因清单
拿到 daid 之后,可以按性状拉取关联记录。下面的写法假定站点提供按性状过滤的关联查询接口,实际字段名以接口返回为准,解析时应先打印一条记录确认键名。
#-- 先看性状详情接口的结构,确认返回字段后再写解析
curl -s "https://www.geneasso.net/api/trait/detail?daid=GA00002" | head -c 800
echo
#-- 若详情接口不返回关联基因,改走基因表按性状过滤
curl -s "https://www.geneasso.net/api/gene/page?page=1&limit=20" | head -c 800
在没有公开接口文档的前提下,最稳妥的做法是先抓一条样本,把键名抄下来再写解析逻辑,而不是照着猜测的字段名直接写。站点接口的字段命名不统一,性状表里叫 reportedTrait,基因表里叫 symbol,关联表里叫 method,三张表的键名风格各不相同。
5.4 下载单份汇总统计
压缩包直链可以从性状表的 link 字段直接取到。单个文件的大小差异很大,常见规模在数十兆到数百兆字节之间。下面的写法先取直链再下载,并校验压缩包完整性。
#-- 取 GA00002 的直链并下载,随后校验 gzip 完整性
LINK=$(curl -s "https://www.geneasso.net/api/trait/page?page=1&limit=1" \
| python3 -c "import sys,json;print(json.load(sys.stdin)['data']['records'][0]['link'])")
echo "$LINK"
curl -L --retry 3 -o GA00002.txt.gz "$LINK"
gzip -t GA00002.txt.gz && echo "gzip ok"
ls -lh GA00002.txt.gz
下载后要做的第一件事是看表头与首行,确认列名与分隔符。汇总统计的列名没有强制标准,常见的有 SNP、A1、A2、BETA、SE、P,也有写成 marker、effect_allele 之类的。列名对不上就会在后续等位基因对齐时出错,而这类错误在结果上是静默的——程序能跑通,结论却是反的。
5.5 批量遍历与断点续传
全量拉取需要遍历数百页。下面的写法用固定的页大小循环,遇到空记录即停,并把结果写到本地文件,便于中断后从上次的页码继续。
#-- 分页遍历性状表,写入本地 jsonl,支持按已有行数续传
import json
import os
import urllib.parse
import urllib.request
BASE = "https://www.geneasso.net/api"
OUT = "geneasso_traits.jsonl"
LIMIT = 100
start_page = 1
if os.path.exists(OUT):
with open(OUT, encoding="utf-8") as fh:
done = sum(1 for _ in fh)
start_page = done // LIMIT + 1
with open(OUT, "a", encoding="utf-8") as fh:
page = start_page
while True:
url = f"{BASE}/trait/page?page={page}&limit={LIMIT}"
with urllib.request.urlopen(url, timeout=120) as resp:
payload = json.loads(resp.read().decode("utf-8"))
records = payload["data"]["records"]
if not records:
break
for rec in records:
fh.write(json.dumps(rec, ensure_ascii=False) + "\n")
print("page", page, "cumulative", (page - 1) * LIMIT + len(records))
if page >= payload["data"]["pages"]:
break
page += 1
分页接口的 size 字段反映的是服务端实际采用的页大小,可能与请求的 limit 不同,续传时的页码计算应以返回的 size 为准,不能假定等于请求值。
5.6 用在线模块跑自有数据
在线模块的流程在网页上完成,但如果不希望把数据上传到第三方服务器,可以下载站点的脚本包在本地复现。脚本包提供各方法的包装,参考面板与 LD 参考需要自备。
#-- 本地复现的最小步骤:取脚本包,准备参考,按方法逐个跑
curl -L -o geneasso_scripts.zip "https://www.geneasso.net/downloads/geneasso_scripts.zip"
unzip -o geneasso_scripts.zip -d geneasso_scripts
ls geneasso_scripts
#-- 参考面板常见来源:千人基因组相位文件、GTEx v8 eQTL、基因注释 GTF
#-- 这些文件不随脚本分发,需从各自上游下载,注意版本与本库一致
脚本包内的文件名与调用方式随版本变化,使用前应先读包内的说明文件。若不读说明直接按论文里的方法名调用,很容易因为参数默认值不同而得到与站点不一致的结果——尤其是基因窗口大小与显著性阈值,这两项在论文中有默认值说明,在不同方法间并不统一。
§6 与库内条目的关系
6.1 关系图谱
GENEasso 在库内的位置可以用一句话概括:它站在「变异层汇总统计」与「基因层结论」之间,因此与两侧的条目都是邻接而非重叠关系。
上游一侧是同名或近名的资源。区间最左是变异-性状层面的目录型数据库,收录研究记录与显著位点,粒度到变异;中间是表现为汇总统计的队列与项目,提供原始统计量;右侧才是基因层面的关联库。GENEasso 把中间与左的部分来源拿来做加工,输出落在右侧。
下游一侧是解释型资源。组织表达参考提供 eQTL 面板,本体资源提供性状标准化,功能注释资源提供基因家族与通路信息。GENEasso 在加工时调用了这些资源,所以在库内它们是「被依赖」的关系;使用 GENEasso 的结果时,往往又需要回到这些资源去做解释,形成闭环。
| 库内条目 | 与 GENEasso 的关系 | 两者不可互换的原因 |
|---|---|---|
| 变异-性状目录库(GWAS Catalog 类) | 上游来源之一,粒度更细 | 目录库到变异与论文,GENEasso 到基因与关联;目录库不做基因水平重算 |
| 表达调控参考(GTEx 类) | 组织打分与 SMR 的参考面板 | 参考库给组织与表达,不给疾病关联;GENEasso 给关联,但组织覆盖受参考库限制 |
| 文献抽取型基因-疾病库(DisGeNET 类) | 证据来源互补,粒度同为基因-疾病 | 文献库的证据是报道,GENEasso 的证据是计算;前者可引证,后者可复算 |
| 专家审编单基因病库(Gene2Phenotype 类) | 覆盖互补,几乎不重叠 | 审编库只收单基因病且有临床判读,GENEasso 只收复杂性状的统计关联 |
| 组织特异性关联库(Spatial2GWAS 类) | 方法学相近,空间维度不同 | 后者以组织区域为单位,前者以基因为单位;后者的信号不能直接当基因清单用 |
| 东亚人群单一性状汇总统计(DEP-EAS 类) | 优质输入源的样例 | 单队列研究提供一个性状的深挖,GENEasso 提供跨性状的广度 |
| 单细胞语料库(CELLxGENE Census 类) | 下游解释资源 | 单细胞给细胞类型分辨率,GENEasso 给基因-疾病对;两者在注释层级上不对齐 |
| 基因功能本体(Gene Ontology 类) | 注释来源 | 本体给功能定义,不给疾病关联 |
| 三维基因组浏览器(3D Genome Browser 类) | 机制解释的上游 | 浏览器给调控构象,GENEasso 不给构象证据 |
| 手术视频理解数据集(GraSP 类,同名不同物) | 无关系 | 名字相近纯属巧合,前者是机器人手术场景数据,与遗传学无关 |
最后一行需要单独说明。库内存在一个名称拼写极为接近的条目,是机器人前列腺癌手术视频的多粒度场景理解基准。两者在任何维度上都没有交集,检索时若只按拉丁字母前缀匹配会串库。以 slug 为准是最稳妥的区分方式。
6.2 检索路径
按使用目的分四种走法。要查「某个基因是否与某疾病相关」,从基因表进入,用基因符号检索,看关联性状数与具体性状列表。要查「某疾病有哪些候选基因」,从性状表进入,按 EFO 条目名检索(不要用疾病俗名,见 §2.3 的映射偏移问题),再进关联表。要查「某份汇总统计的来源」,从发表表进入,按 PubMed 编号或 DOI 检索。
要在库内做方法学比较,走导出接口拿全表,按 method 字段分组。这条路径最能体现 GENEasso 的独特价值,也是最容易被忽略的路径——大多数人只做前三件事。
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
评估这个库时最容易出现的一种误判,是拿文献库的标准来打分:看它有没有同行评议支撑、有没有专家判读、有没有置信度分级。按这三条打,GENEasso 得分会很低,因为它一条都不具备,也不打算具备。
正确的评估框架应当换成计算型资源的四条:输入是否可追溯、加工是否可复现、口径是否统一、结论是否随参数漂移。按这四条打,它的位置会完全不同:输入逐条挂 PMID,加工流程有论文与脚本,七种方法共用一套质控,结论随测试人群与参考面板漂移且这一点被作者写明。本节的所有评分都在这个框架下进行,若你关心的是文献证据强度,请直接看 §1.6 的第一条边界,不必往下读。
7.1 五维评分
DAIMS 是一套面向数据集可用性的五维评分框架,分别衡量可发现性、可访问性、可互操作性、可维护性与可持续性。下表按这五个维度给出本库的位置与依据。
| 维度 | 评分 | 依据 |
|---|---|---|
| 可发现性 | 4/5 | 有同行评议论文与专刊收录,站点可被常规检索命中;但页面为单页应用,抓取型检索对其内容收录有限 |
| 可访问性 | 5/5 | 无注册、无登录、无申请,压缩包直链可直接下载,论文明确声明对学术与商业用户免费 |
| 可互操作性 | 3/5 | 用 Ensembl 编号与 EFO 编号做锚点,互操作基础好;但无批量 API 文档,字段命名不统一,导出格式未声明版本 |
| 可维护性 | 3/5 | 论文称持续更新,但无公开版本号与变更日志,跨版本比对只能靠时间戳推断 |
| 可持续性 | 3/5 | 由高校团队与基金支持,作者列出了明确的扩展方向;但经费周期与人力集中度是常见风险点 |
五个维度的加权不宜简单平均。对多数使用者而言,可访问性权重最高(决定能不能用),可互操作性次之(决定接入成本),可维护性最低(多数研究是一次性取数)。按这个权重,它的综合位置在「好用但不适合长期依赖」这一档。
7.2 解读结果的三条纪律
第一条,先看方法再看基因。同一个基因在不同方法下的记录是分开的,只看到一个方法就下结论,等于放弃了库的核心信息。合理的读法是先数方法数,再看这些方法的假设是否相互独立(见 §3.2),最后才看基因本身。
第二条,先看人群再看效应。九成五以上是欧洲祖先,这意味着任何基因的频率与效应估计都带有强烈的祖先特异性。把库内的效应量直接外推到其他人群,会同时犯两个错误:等位基因频率不同导致的可比性丧失,以及 LD 结构不同导致的统计量偏差。
第三条,先看性状映射再看结论。EFO 映射是按字符串或人工判断做的,存在语义偏移的条目(§2.3 的帕金森病条目即为例子)。用疾病俗名检索会漏,用 EFO 条目名检索可能框进来一批语义相近但测量不同的数据集。合并分析前应逐条核对 reportedTrait 与 efoOntologyTrait 的一致性。
7.3 已知的、可枚举的偏差
| 偏差 | 具体表现 | 影响方向 | 可否校正 |
|---|---|---|---|
| 祖源偏差 | 欧洲祖先占 95.34%,其余四人群合计不足 5% | 非欧洲结论不可靠,跨人群比较样本极不均衡 | 不可,受限于公开数据分布 |
| 数据集重复计入 | 同一性状可有多个数据集版本,UK Biobank 三个版本并存 | 关联条数被放大,性状间可比性下降 | 可,按 EFO 编号加人群去重 |
| 方法冗余 | PASCAL 与 MAGMA 共享 LD 参考与基因边界 | 共识分数被高估,独立性不如表面 | 部分可,按方法族分组计数 |
| 长 LD 区偏置 | 主要组织相容性复合体区基因系统性高频出现 | 免疫相关性状的候选清单被该区占据 | 可,排除该区后重排 |
| 病例对照失衡 | 部分数据集病例占比不足百分之一 | 只有强效应位点能过阈值,基因数偏少但偏稳 | 不可,输入固有 |
| 罕见变异缺失 | 七种方法均面向常见变异汇总统计 | 单基因病与罕见变异病几乎无覆盖 | 不可,方法层面未纳入 |
| 组织参考单薄 | GTEx v8 以欧美成人尸检组织为主 | 儿科、非欧洲、病理状态的组织定位失真 | 不可,参考库限制 |
| 性状映射偏移 | 疾病名被映射到症状测量类 EFO 条目 | 检索命中率下降,合并分析异质性上升 | 部分可,逐条人工核对 |
7.4 外部验证矩阵
| 验证角度 | 验证方式 | 结论 |
|---|---|---|
| 与论文摘要一致性 | 摘要称关联数七十一万六千余,正文称七十二万六千余 | 两个口径并存,正文与站点一致,摘要数值偏低 |
| 与站点分页一致性 | 性状分页总数与论文数据集数对比 | 相差三百二十条,官方未解释 |
| 内部字段自洽 | 样本量、病例数、对照数三者关系 | 部分条目三者不等,多为数量性状或分层设计所致 |
| 下载链路可用性 | 直接请求压缩包直链 | 返回 200,文件大小数十至数百兆不等 |
| 方法学引用完整性 | 七种方法是否都有对应原始文献 | 七种齐全,站点逐条列出文献 |
| 组织打分可复现性 | 是否有参考面板版本说明 | 论文明确 GTEx v8、四十七组织、deTS 算法 |
| 与上游目录的关系 | 非 UK Biobank 来源是否可回溯 | 论文列出 GWAS Catalog、LD Hub、GRASP、PhenoScanner、dbGaP 及各联盟 |
摘要与正文的数值差异在数据库类论文里并不罕见,通常是投稿与修回之间数据更新所致。引用时应以正文与站点为准,并在方法部分注明所用版本时间——这一点对任何持续更新的数据库都适用。
7.5 它为何能持续:靠上游数据的自然增量与加工流程的复用活着
这类资源不靠用户付费,也不靠独家数据。它活着的方式是:上游每年新增大量汇总统计,加工流程已经跑通,增量成本主要是算力;同时方法社区不断推出新的基因水平方法,每加一种方法就能让全部存量数据重新产出一次结果,边际收益可观。作者在讨论中列出的路线图——补非欧洲数据、加罕见变异方法、引入甲基化与染色质可及性注释——正是这一逻辑的延伸。风险也在这里:一旦方法迭代停滞或上游数据格式发生结构性变化(如某几个主要仓储改版),维护成本会陡增。
§8 生态位与历史
8.1 历史沿革与名称核实
先把名字说清。GENEasso 是 GENE 与 association 的直接拼合,没有采用缩略语,也不是某个既有项目的缩写。中文里容易被误读成「基因关联」的泛称,实际上它特指「基因水平关联分析的结果库」。检索时要注意,库内另有一个名称拼写接近的手术视频数据集(§6.1 最后一行的说明),两者无关。
时间线上,这个库是二〇二六年一月随《核酸研究》数据库专刊发布的,论文投稿与修回集中在二〇二五年下半年。它出现的背景是基因水平关联方法在二〇一五年后密集成熟:PASCAL 与 MAGMA 在二〇一五至二〇一六年间确立了通路与基因集分析的范式,SMR 同期把表达中介引入,LDAK-GBAT 在二〇二三年补上了灵活遗传力模型下的基因检验。方法齐备之后,把同一批数据用全部方法跑一遍这件事第一次有了可操作性,GENEasso 正是这一时点的产物。
8.2 它不做的事,决定了它在生态里的边界
不做变异层面的事。库内不存变异级 P 值,曼哈顿图上的点也是基因。想知道具体哪个变异驱动了信号,必须回到汇总统计或原始目录库。
不做文献抽取。关联不是从论文里抄出来的,因此不能用它回答「有没有被报道过」。
不做实验验证。任何方法都只是统计推断,库内也没有标注哪些关联后来被功能实验证实。
不做因果推断。SMR 与孟德尔随机化的思路接近,但 SMR 检验的是表达中介,不是完整的因果链,且依赖 eQTL 工具变量的有效性假设。
这四件不做的事,划出了它与相邻资源的边界,也解释了为什么它在生态里既不是上游也不是下游,而是中间加工层。中间层的位置意味着它天然依赖两侧:左侧数据质量决定它的输入质量,右侧解释资源决定它的输出能否被理解。这种位置的好处是复用性强,坏处是被替代的门槛低——任何人只要有算力与流程,都能做出一个功能相近的库。它真正的护城河是「已经做完并免费开放」这一事实,而不是技术独占。
8.3 与三个近邻的逐项对照
| 对照项 | GENEasso | 变异-性状目录库 | 文献抽取型关联库 |
|---|---|---|---|
| 记录单位 | 基因 × 性状 × 方法 | 变异 × 性状 × 研究 | 基因 × 疾病 |
| 证据来源 | 七种方法重算 | 原始研究报道 | 论文文本抽取 |
| 可否复算 | 可以,脚本已公开 | 不可,依赖原文 | 不可,依赖判读规则 |
| 方法可比性 | 强,同一套口径 | 无方法维度 | 无方法维度 |
| 人群分层 | 五超人群 | 按研究记录 | 通常无 |
| 置信度分级 | 无,靠共识数 | 有显著性分级 | 有评分体系 |
| 更新动力 | 上游数据增量加方法迭代 | 文献增量 | 文献增量加人工审编 |
| 典型误用 | 把关联当因果 | 把显著位点当基因 | 把抽取当验证 |
三方对照里最能说明问题的是「可否复算」这一栏。目录库与文献库的结论一旦生成就无法重算,只能核对原文;GENEasso 的每一条关联都可以用公开脚本与公开输入重跑一遍。这在可重复性危机被反复讨论的领域里是实打实的加分项,代价是解释责任被转移给了使用者。
8.4 它在方法学谱系里的坐标
把基因水平方法按「用什么信息」轴排开,可以看到一条清晰的谱系:只用汇总统计的(PASCAL、MAGMA、LDAK-GBAT)、加表达参考的(SMR)、加功能预测与共表达的(DEPICT)、加调控注释的(CWAS、RWAS)。GENEasso 把这五类放在一起,等于提供了同一批数据在五种信息条件下的答案。
这个设计对方法学研究者格外有用:想知道「加一层注释能让结论改变多少」,可以直接比较 CWAS 与 MAGMA 在同一性状上的基因清单差异。
§9 使用指引
9.1 三种角色的路径
临床遗传或转化医学研究者,路径应最短:从一个明确的疾病出发,按 EFO 条目找到性状,导出关联基因清单,按共识数排序,取前十到前二十个进入文献与功能数据库核对。全程不需要写代码,站点导出即可完成。需要注意的只有两件事:核对性状映射是否准确,以及记住清单不等于结论。
生物信息学方法开发者,路径应偏向复现:下载脚本包,选一个性状,按论文参数在本机重跑,与站点结果比对。差异若出现,优先检查参考面板版本与基因窗口参数,这两项是最常见的漂移来源。这条路径的产出往往是「某方法在某类性状上的稳定性评估」,而不是基因发现。
药物靶点与转化研究团队,路径要跨库:用 GENEasso 拿到基因-疾病对,用专门的有实验证据的靶点库筛掉纯计算产物,用组织打分确认表达落点,再进入可成药性评估。这条路径里 GENEasso 提供的是广度与方向,深度判断必须由其他资源完成。
9.2 一条最短的可用流程
下面这段代码覆盖从检索到落地的最小闭环:找一个性状、拉它的关联基因、按共识度降序取前若干、输出可读清单。
#-- 最短闭环:性状检索 -> 关联基因 -> 按共识数排序 -> 输出
import json
import urllib.parse
import urllib.request
BASE = "https://www.geneasso.net/api"
def get(path, **params):
url = BASE + path + "?" + urllib.parse.urlencode(params)
with urllib.request.urlopen(url, timeout=90) as resp:
return json.loads(resp.read().decode("utf-8"))
#-- 第一步:按关键字找性状,确认 efoCode
hits = get("/trait/page", page=1, limit=20,
keyword="Parkinson")
for rec in hits["data"]["records"]:
print(rec["daid"], rec["population"], rec["sampleSize"],
rec["efoOntologyTrait"])
#-- 第二步:取第一个命中的 daid,按其关联基因组装清单
target = hits["data"]["records"][0]["daid"]
print("target =", target)
#-- 第三步:关联明细的接口名以站点实际为准,先探一条
detail_url = f"{BASE}/trait/genes?daid={target}"
try:
genes = json.loads(urllib.request.urlopen(detail_url, timeout=90).read())
rows = genes.get("data", genes)
except Exception as exc: #-- 接口名变化时退回手动导出
print("detail endpoint unavailable:", exc)
rows = []
#-- 第四步:按方法去重后计数,得到共识度
from collections import Counter
consensus = Counter()
for row in rows:
if isinstance(row, dict) and row.get("symbol"):
consensus[row["symbol"]] += 1
for symbol, n in consensus.most_common(15):
print(f"{symbol}\t{n}")
这段代码有两处需要按实际情况调整:第三步的接口路径在站点上可能是 trait/genes,也可能并入 detail 返回;第四步按 symbol 计数得到的是「方法数」,不是「数据集数」,若想按数据集计数,应改用 daid 作为去重键。把两种情况都打印出来对照,可以快速判断该性状在库内的跨数据集一致性。
9.3 引用方式
引用这个库时建议同时给出三层信息:数据库本身的论文、你取数的时间、以及你所取的具体性状编号。第三层最容易被省略,却最影响可复现性——库在持续更新,同一性状在不同时间的关联基因数可能不同,写明编号与时间才能让别人复现你的清单。
论文引用格式应包含期刊、年份、卷期、页码与 DOI。若你的研究实质使用了库内的计算成果(而不只是查阅),按学术惯例还应在方法部分说明所用的方法名与显著性阈值,因为这两项直接决定了你拿到的清单。
9.4 与在线模块配套使用的注意事项
在线模块的上传功能涉及把自有数据送到第三方服务器。多数汇总统计本身不含个体级信息,风险不高;但若你的汇总统计来自受控访问的原始数据(例如经批准后自行计算得到的统计量),在上传前应确认原始数据的使用协议是否允许二次分发。库方并未在此处设置额外的数据使用协议声明,这意味着责任落在上传方。
比对结果的解读也要谨慎。站点以「复现程度越高越可信」表述,但没有公开相似度的具体算法。这意味着它是一个方向性参考:高复现通常意味着你的分析口径与库一致,低复现可能来自口径差异,也可能来自真实的方法敏感性。把低复现直接解读为「我的结果不可靠」是过度解读。
§10 AI 使用声明
| 项目 | 内容 |
|---|---|
| 数据是否可用于模型训练 | 数据可自由下载,论文为 CC BY 4.0;但上游部分来源(尤其是来自受控访问仓储的统计量)的条款需逐条回溯,不能一概视为可训练 |
| 训练前需要的授权 | 站点本身不要求注册;若训练语料包含 dbGaP 来源的统计量,应查阅该来源的数据使用协议 |
| 适合的训练任务 | 基因-疾病关联预测、方法一致性建模、性状本体映射、跨方法结果融合 |
| 不适合的训练任务 | 因果推断、临床决策支持、以关联作为标签的致病性预测 |
| 已知的标签噪声 | 关联为计算结果,多方法共现不等于真值;长 LD 区基因系统性虚高 |
| 建议的切分方式 | 按 EFO 性状切分而非随机切分,避免同性状不同数据集泄漏到测试集 |
| 需要披露的偏差 | 祖源高度偏向欧洲,罕见变异缺失,组织覆盖限于成人尸检组织 |
| 输出物的责任边界 | 模型若基于此库给出「某基因与某疾病相关」的判断,应标明证据层级为统计关联,并附方法与人群 |
这张表的核心在最后两行。DAIMS 框架强调数据集的可追溯性与使用边界应当随数据一起传递,而 AI 训练场景最容易丢失的恰恰是这一点:模型从关联里学到的是「共现」,输出时却常常以「因果」或「已知」的口吻呈现。把证据层级与人群限制写进输出规范,是使用这个库做训练时最该做的一件事。
常见误读(避坑清单)
| 常见说法 | 实际 | 证据 |
|---|---|---|
| 「这是从文献里审编出来的关联库」 | curated 指对输入数据的人工整理,关联本身是重算结果 | 论文方法部分描述的是七种方法在汇总统计上的运行,不是文本抽取 |
| 「七十二万条关联就是七十二万个发现」 | 关联按方法展开计数,去重后仅二十二万余对 | 论文同时给出两个数并说明差额来源 |
| 「多方法一致就等于验证过了」 | 方法间共享 LD 参考与基因边界,非完全独立;共识受 LD 长度影响 | 论文方法部分对各方法共享的参考资源有说明 |
| 「Bonferroni 显著说明效应大」 | 校正只控制假阳性率,与效应量无关 | 阈值取 0.05 除以检验基因数,是保守的显著性标准 |
| 「可以用它做因果推断」 | 关联为统计关联,SMR 只检验表达中介 | 论文摘要与讨论均未主张因果 |
| 「组织打分能告诉我基因在哪个组织起作用」 | 只给出与 GTEx 参考组织的富集程度,非因果定位 | 论文明确组织计算依赖 eQTL 参考面板 |
| 「库内的数据都是欧洲人的,所以不能用于亚洲研究」 | 有 EAS 条目,只是占比低 | 论文列出五个超人群,EAS 在列但份额小 |
| 「性状检索用疾病俗名就行」 | 需用 EFO 条目名,俗名会漏;部分条目映射到症状测量类 | 帕金森病条目的 reportedTrait 与 efoOntologyTrait 不一致 |
| 「下载的就是关联结果表」 | 压缩包内是原始汇总统计,关联需走导出接口 | 直链文件名为数据集编号加 txt.gz,内容为变异级统计 |
| 「站点数字与论文数字一致」 | 性状分页总数比论文数据集数多三百二十条 | 分页接口返回总数与论文正文数值对比 |
FAQ
Q1:GENEasso 是基因-疾病关联知识库吗?
不是传统意义上从文献抽取的关联库。它的关联是计算出来的:取公开 GWAS 汇总统计,用七种基因水平方法重算,再把显著结果存起来。证据层级是计算预测,不是文献审编或实验验证。
Q2:它和变异-性状目录库是什么关系?
上游与下游。目录库收录变异层面的研究记录,GENEasso 把其中一部分连同其他来源的汇总统计拿来做基因水平重算,输出基因-性状层面的关联。两者粒度不同,不可互相替代。
Q3:七十余万条关联里有多少是独立的疾病-基因对?
官方给出两个数:关联总数与去重后的配对数二十二万余。差额来自同一配对在多个方法与多个数据集上分别检出。做富集或建模时应使用配对口径。
Q4:可以下载原始 GWAS 汇总统计吗?
可以。每个性状条目都挂压缩包直链,单个文件可达数百兆字节。但这些是二次分发的副本,使用前应回溯原始论文条款,尤其是来自受控访问仓储的部分。
Q5:需要注册或申请权限吗?
不需要。浏览、查询、导出与压缩包下载均无登录墙,论文也明确写明无需注册或登录。
Q6:能拿它替代转录组关联数据库吗?
部分可以。它包含 SMR 这一表达中介类方法,但主力是不依赖表达参考面板的方法。若研究问题明确是表达中介,专门的 TWAS 库覆盖更全。
Q7:为什么前二十个高频基因里有很多在主要组织相容性复合体区?
该区连锁不平衡长、免疫调控变异密集,多个相关信号容易被同一种方法同时归到邻近基因上,跨方法共识也随之升高。作者明确指出该现象并说明前二十个中有六个在此区之外。
Q8:能不能用它做孟德尔随机化?
不能直接做。孟德尔随机化需要工具变量、暴露与结局的对应统计量,库内只给基因水平关联,不提供满足工具变量假设的变异集合。
Q9:库内的关联会随时间变化吗?
会。站点持续更新,新数据集与新方法加入后,同一性状的关联清单可能变化。作文本复现时务必记录取数时间与性状编号。
Q10:可以用它训练模型吗?
可以,但需逐源核对上游条款。来自受控访问仓储的统计量,其再分发条件可能限制训练用途。建议在训练前把来源层级标注清楚。
Q11:组织打分的数值可以直接写进论文吗?
可以作为参考结果报告,但必须同时写明参考面板版本与组织数量,并说明其局限。把它当作机制结论则超出了该方法的能力范围。
Q12:中文名应该怎么叫?
叫「基因水平疾病关联数据库」最贴近原意,避免与文献型「基因-疾病关联库」混淆。直译成「基因关联」会丢掉「关联是在基因层面重算出来的」这层关键信息。
术语表
| 术语 | 解释 |
|---|---|
| GWAS 汇总统计 | 全基因组关联研究的聚合结果表,逐变异记录效应量、标准误与 P 值,不含个体基因型 |
| 基因水平关联 | 把变异层统计量按基因边界与连锁不平衡结构聚合后得到的基因层检验结果 |
| 连锁不平衡 | 邻近变异在人群中非随机共现的现象,决定了变异能否被独立统计 |
| 超人群 | 千人基因组计划划分的五大祖源分组:非洲、美洲、东亚、欧洲、南亚 |
| EFO | 实验因子本体,用于把自由文本的性状名规范化为可比对的条目 |
| Bonferroni 校正 | 用显著性阈值除以检验次数来控制族错误率的方法,保守但简单 |
| PASCAL | 基于解析式卡方统计的基因与通路打分方法,计算开销低 |
| MAGMA | 基于多元回归的基因与基因集分析方法,显式建模基因内变异连锁不平衡 |
| SMR | 用汇总数据结合 eQTL 检验表达中介的方法 |
| DEPICT | 基于预测基因功能与共表达关系做基因优先级排序的方法 |
| CWAS | 在染色质调控注释语境下计算基因关联的方法 |
| RWAS | 基于染色质可及性数据识别候选因果变异及其机制的方法 |
| LDAK-GBAT | 在灵活遗传力模型下做基因水平关联检验的方法 |
| deTS | 组织特异性富集分析工具,用于把基因集合映射到组织 |
| GTEx | 人类多组织表达与调控参考图谱,提供 eQTL 面板 |
| 主要组织相容性复合体 | 免疫相关基因密集区,连锁不平衡极长,关联分析中易产生聚集信号 |
| 功效 | 检验在真实效应存在时能检出它的概率,受样本量与病例对照比影响 |
| 表达中介 | 遗传变异通过改变基因表达进而影响性状的机制路径 |
| 共识分数 | 多个方法对同一基因-性状对同时给出显著结果的程度 |
| 精细定位质控 | 入库前对汇总统计做的坐标补齐、等位基因判定与频率估算等步骤 |
| 负荷检验 | 把同一基因内多个罕见变异合并检验的方法,本库未纳入 |
| 祖源分层 | 按人群遗传背景分组分析,避免群体分层造成的假关联 |
| 单页应用 | 由浏览器端脚本渲染页面的网站架构,对抓取型检索不友好 |
| 加速域名 | 对象存储的下载加速入口,与站点主域名分离 |
| 数量性状 | 以连续数值而非病例对照形式测量的表型,如身高、血压 |
附录 A:核心数字核对表
| 项 | 值 | 来源 | 来源层级 |
|---|---|---|---|
| 汇总统计份数 | 8,226 | 论文正文与摘要 | 论文 |
| UK Biobank 系份数 | 4,294 | 论文正文 | 论文 |
| 非 UK Biobank 系份数 | 3,932 | 论文正文 | 论文 |
| EFO 性状数 | 2,491 | 论文正文 | 论文 |
| 表型大类数 | 14 | 论文正文 | 论文 |
| 疾病亚类数 | 22 | 论文正文 | 论文 |
| 关联总数 | 726,122 | 论文正文、站点介绍页 | 两处一致 |
| 去重配对数 | 225,395 | 论文正文、站点介绍页 | 两处一致 |
| 每基因平均关联数 | 11.37 | 站点介绍页 | 官方页面 |
| 每性状平均关联基因数 | 90.44 | 论文正文 | 论文 |
| 欧洲祖先占比 | 95.34% | 论文正文、站点介绍页 | 两处一致 |
| 方法数 | 7 种 12 个模型 | 站点介绍页 | 官方页面 |
| 性状分页总数 | 8,546 | 站点接口 | 官方页面 |
| 组织参考 | GTEx v8,47 组织 | 论文正文 | 论文 |
| 论文 DOI | 10.1093/nar/gkaf1097 | 期刊页面 | 论文 |
| 论文许可 | CC BY 4.0 | 论文版权声明 | 论文 |
附录 B:数字的来源分层
第一层,官方页面。指 www.geneasso.net 的站点文案与分页接口返回值。这一层的数字反映站点当前状态,会随时间变化,包括性状总数、单条记录的字段值、每基因平均关联数。使用于描述「现在的库」。
第二层,论文摘要与正文。指《核酸研究》正式发表版本中的数值。这一层的数字在发表后固定不变,包括数据集份数、性状数、关联总数、去重配对数、人群构成、组织参考版本。使用于描述「论文所述的库」。
第三层,未核实。指以下事项:年度更新频率的具体数值、后续版本计划的时间表、站点导出接口的字段稳定性承诺、压缩包内统计量的具体列名与来源版本。这一层在正文中均已标注为未核实或未声明,引用时不应补全。
附录 C:完整参考文献
- Jiang T, Shao M, Wang J, et al. GENEasso: a curated resource of credible disease-gene associations across complex diseases from GWAS summary statistics. Nucleic Acids Research. 2026;54(D1):D1415–D1424. doi:10.1093/nar/gkaf1097.
- The 2026 Nucleic Acids Research database issue and the online molecular biology database collection. Nucleic Acids Research. 2026;54(D1). doi:10.1093/nar/gkaf1427.
- Lamparter D, Marbach D, Rueedi R, et al. Fast and rigorous computation of gene and pathway scores from SNP-based summary statistics. PLoS Computational Biology. 2016;12(1):e1004714.
- Zhu Z, Zhang F, Hu H, et al. Integration of summary data from GWAS and eQTL studies predicts complex trait gene targets. Nature Genetics. 2016;48(5):481–487.
- de Leeuw CA, Mooij JM, Heskes T, Posthuma D. MAGMA: generalized gene-set analysis of GWAS data. PLoS Computational Biology. 2015;11(4):e1004219.
- Pers TH, Karjalainen JM, Chan Y, et al. Biological interpretation of genome-wide association studies using predicted gene functions. Nature Communications. 2015;6:5890.
- Grishin D, Gusev A. Allelic imbalance of chromatin accessibility in cancer identifies candidate causal risk variants and their mechanisms. Nature Genetics. 2022;54(6):837–849.
- Berrandou TE, Balding D, Speed D. LDAK-GBAT: fast and powerful gene-based association testing using summary statistics. American Journal of Human Genetics. 2023;110(1):23–29.
- Baca SC, Singler C, Zacharia S, et al. Genetic determinants of chromatin reveal prostate cancer risk mediated by context-dependent gene regulation. Nature Genetics. 2022;54(9):1364–1375.
- Pei G, Dai Y, Zhao Z, et al. deTS: tissue-specific enrichment analysis to decode tissue specificity. Bioinformatics. 2019;35:3842–3845.
- Lonsdale J, Thomas J, Salvatore M, et al. The Genotype-Tissue Expression (GTEx) project. Nature Genetics. 2013;45:580–585.
- Leslie R, O’Donnell CJ, Johnson AD. GRASP: analysis of genotype-phenotype results from 1390 genome-wide association studies and corresponding open access database. Bioinformatics. 2014;30:i185–i194.
- Kamat MA, Blackshaw JA, Young R, et al. PhenoScanner V2: an expanded tool for searching human genotype-phenotype associations. Bioinformatics. 2019;35:4851–4853.
- Tryka KA, Hao L, Sturcke A, et al. NCBI’s database of Genotypes and Phenotypes: dbGaP. Nucleic Acids Research. 2014;42:D975–D979.
- MacArthur J, Bowler E, Cerezo M, et al. The NHGRI-EBI Catalog of published genome-wide association studies. Nucleic Acids Research. 2017;45:D896–D901.
附录 D:任务代码
下面这段代码做一件在方法学比较里很常见的分析:给定一个性状,把各方法的候选基因做成集合,两两计算重叠率,看看方法之间的独立性到底有多强。
#-- 方法两两重叠率:同一性状下,七种方法的基因集合交并与 Jaccard 系数
import json
from itertools import combinations
#-- rows 为某性状下的关联明细,每行至少含 symbol 与 method 两个键
def load_rows(path):
rows = []
with open(path, encoding="utf-8") as fh:
for line in fh:
line = line.strip()
if line:
rows.append(json.loads(line))
return rows
def jaccard_matrix(rows):
by_method = {}
for row in rows:
by_method.setdefault(row["method"], set()).add(row["symbol"])
names = sorted(by_method)
out = []
for a, b in combinations(names, 2):
sa, sb = by_method[a], by_method[b]
inter = len(sa & sb)
union = len(sa | sb)
out.append({
"method_a": a,
"method_b": b,
"n_a": len(sa),
"n_b": len(sb),
"overlap": inter,
"jaccard": round(inter / union, 4) if union else 0.0,
})
return out
rows = load_rows("trait_genes.jsonl")
pairs = jaccard_matrix(rows)
pairs.sort(key=lambda r: -r["jaccard"])
for rec in pairs[:10]:
print(rec["method_a"], rec["method_b"], rec["overlap"], rec["jaccard"])
判读这份矩阵时有两点:Jaccard 高不必然意味着两个方法一致,也可能是两者共享了同一条输入偏差;重叠为零也不必然意味着结论冲突,很可能是两者覆盖的基因集本就不同(例如只检验有限基因集的方法不会覆盖全基因组基因)。把这个矩阵与方法的基因覆盖范围一起看,才能得出「方法是否冗余」的结论。
附录 E:如果只记五件事
一、它把 GWAS 汇总统计压成基因清单,证据是计算出来的,不是文献报道的。
二、七种方法共用一套质控与参考,这是它相对任意单方法工具的核心优势。
三、关联数按方法展开计数,独立配对只有约三分之一,引用规模时务必区分口径。
四、欧洲祖先占九成五以上,非欧洲结论薄弱,罕见变异完全未覆盖。
五、免注册、可整表下载、可上传自有数据比对,接入成本低,但不提供版本号与变更日志。
编辑说明
本篇为数据集维基词条,非评测报告,不含分布类统计与空值率分析。核心数字取自论文正文与站点官方页面两处,凡两者不一致处均在正文注明两个口径而不作裁决。站点为单页应用,主页不含可读正文,文案取自同域前端脚本与分页接口返回值,这一点在附录 B 的未核实项中已声明。写作时间二〇二六年十月二十八日,库内自述数据仍在持续更新,取数时应记录时间。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- jogo — 共享标签:基因组学与多组学 / GWAS / 变异与注释
- imgt — 共享标签:基因组学与多组学 / 变异与注释 / 药物-靶点相互作用
- spatial2gwas — 共享标签:基因组学与多组学 / GWAS / 药物-靶点相互作用
- hgdp — 共享标签:基因组学与多组学 / GWAS / 变异与注释
- sgdp — 共享标签:基因组学与多组学 / GWAS / 变异与注释
- gnomad — 共享标签:基因组学与多组学 / GWAS / 变异与注释
- igvf-catalog — 共享标签:基因组学与多组学 / 变异与注释
- clinmave — 共享标签:基因组学与多组学 / 变异与注释
- oncokb — 共享标签:基因组学与多组学 / 变异与注释 / 药物-靶点相互作用
- superagers-family-study — 共享标签:基因组学与多组学 / GWAS / 变异与注释
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

