信息速览

OMIM — 人类基因与遗传病权威知识库 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | OMIM(在线人类孟德尔遗传) |
|---|---|
| 英文全称 | Online Mendelian Inheritance in Man®(OMIM®) |
| 别名/简称 | MIM;Mendelian Inheritance in Man;OMIM.org;Morbid Map(派生表) |
| 疾病分类 | ICD-11 覆盖第 4 章免疫(4A00 起)、第 5 章内分泌营养代谢(5A00 起)、第 15 章神经系统(8A00 起)、第 17 章先天畸形与染色体异常(LA00-LD5A,如 LD40.0 唐氏综合征)等章节的遗传病全域;条目内嵌 ICD-10-CM 映射(ICD+ 链接区) |
| SNOMED CT | 经 UMLS Metathesaurus CUI 桥接与 HPO→SNOMED CT 等价映射间接对齐(官方无直连参考集) |
| 数据模态 | 结构化自由文本综述 + 表格数据(TSV);无影像/信号/组学原始数据 |
| AI 任务类型 | 表型-基因关联预测;表型驱动基因优先级排序;HPO 术语对齐;医学 NER 与关系抽取;知识图谱构建;RAG 知识源 |
| 样本总数 | 约 27,500 条 MIM 条目(基因约 17,400 + 表型约 10,300,截至 2025-09) |
| 数据大小 | 轻量级:全部下载文件(TSV + 全量文本)合计 <100 MB(截至 2025) |
| 数据格式 | TXT(结构化自由文本)、TSV(mimTitles.txt / genemap2.txt / morbidmap.txt / mim2gene.txt) |
| 许可证 | JHU OMIM Use Agreement(版权 1966-2026 Johns Hopkins University) |
| 访问级别 | 注册后开放(学术/非营利/政府免费注册审核;商业需付费许可) |
| 语言 | 英语 |
| 首发日期 | 1966(印刷版 MIM 首版);1987 在线化;2011-01 OMIM.org 上线 |
| 最后更新 | 每晚更新(nightly);本页统计快照截至 2025-12-29 |
| 发布机构 | 约翰霍普金斯大学 McKusick-Nathans 遗传医学研究所 |
| 官方主页 | https://omim.org |
| 下载地址 | https://omim.org/downloads/(注册审核制) |
| DOI | 10.1093/nar/gku1205(数据集描述论文,2015) |
| 引用次数 | 1,855+(Europe PMC,截至 2026-06) |
| AI 就绪度评分 | ⭐⭐(2/5)— 表级 TSV 规整可直接挂接,但条目正文为结构化自由文本需 NLP/LLM 二次加工,且每晚更新、无版本标签、再分发受许可限制抬高工程门槛 |
| 页面状态 | published |
§0 E-E-A-T 审核声明
- 医学审核:[千方病案医学编辑部] 交叉审核:§2 医学背景(遗传病分类学、MIM 编号语义、ICD-11 章节映射)、§7 偏倚分析(文献选择偏倚、molecularization 进度偏倚)。
- 数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
- 审核日期:2026-09-05
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。OMIM 要求学术用户在 omim.org/downloads 以机构邮箱注册审核后获取受限文件,禁止未经许可的商业使用、再分发与衍生数据库开发。本页对许可条款的摘要仅供参考,具体使用限制以 JHU 官方 Use Agreement 为准。
§1 数据集概览
§1.0 📌 30 秒速览
这是什么? OMIM(Online Mendelian Inheritance in Man,在线人类孟德尔遗传)可以理解为"孟德尔遗传病的维基百科",但它比维基百科权威得多——每一篇条目都由约翰霍普金斯大学的 MD/PhD 科学作家与生物策展人逐篇撰写、逐条核对参考文献,60 年来持续更新。每个基因和每种遗传病都有一个永久的六位"MIM 编号",就像遗传学界的身份证号。
为什么重要? 当一位临床遗传科医生面对一名疑难罕见病患儿时,OMIM 是回答"这个表型组合可能由哪个基因的突变引起"的第一权威入口。它收录了 7,673 种已知分子基础的遗传表型(截至 2025-12),几乎每一篇基因发现论文都会引用它。全球每年超过 270 万独立用户访问,NCBI、ClinVar、HPO 等几乎所有基因组资源都以它为基准知识源。
我能用它做什么? 构建基因-表型关联知识图谱、训练表型驱动的候选基因排序模型(如 Exomiser、Phen2Gene 的知识底座)、为大模型提供临床遗传学 RAG 语料、将临床文本中的疾病名映射到标准 MIM 编号。注意:它不是影像或队列数据集,而是一份需要 NLP/LLM 加工的"文本金矿",且下载与再分发有严格的许可约束(详见 §6.5 坑点 4)。
§1.1 摘要
OMIM 始于 1966 年 Victor A. McKusick 主编的印刷版目录《Mendelian Inheritance in Man》,1987 年前后在线化,2011 年 1 月启用官方新站 OMIM.org,现由 McKusick-Nathans 遗传医学研究所 Ada Hamosh 团队维护、每晚基于新文献更新。其方法论是"专家策展的综述型条目":基因条目(前缀 *)与表型条目(前缀 #/%/无)分立、以稳定的六位 MIM 编号标识,条目正文为带固定标题(Description、Mapping、Molecular Genetics、Allelic Variants、References 等)的结构化自由文本;派生的表格文件(Morbid Map、Gene Map、mim2gene.txt)把"哪个基因与哪个表型相关、遗传方式是什么、分子证据到什么程度"压缩为机器可读的一行行关联记录。截至 2025-12,分子基础已知的表型达 7,673 种、对应 5,040 个致病基因;基因条目约 17,400 条。对 AI 而言,OMIM 的价值在"关联的权威性"——它是 GenCC、ClinGen、HPO 等现代策展体系的源头活水;代价则是正文自由文本带来的解析成本与许可合规成本。
§1.2 战略价值
维度一:知识权威性与历史纵深(不可替代的"事实标准"地位)。OMIM 的策展团队约 90% 以上的运营开支用于 MD/PhD 科学作家与生物策展人的人力薪金,每条基因-表型关联背后都是对原始文献的逐篇评审,而非文本挖掘自动抽取。它同时保存了知识的历史演化:一条 1966 年收录的表型条目会保留当年的遗传方式描述与今日的分子解释,形成"文献时间轴"。对 AI 训练而言,这意味着以 OMIM 为标签源的关联数据集噪声远低于自动挖掘型资源(如 DisGeNET 的 text-mining 分数);对大模型评测而言,OMIM 编号提供了稳定 60 年的实体消歧锚点——从 Hemoglobin S(141900.0243)到 2025 年新增的 146 条基因-疾病关系,同一编号永远指向同一实体。
维度二:生态网络中心性(几乎所有基因组资源的挂接枢纽)。OMIM 通过 mim2gene.txt 无缝对接 NCBI GeneID、Ensembl 与 HGNC 符号;其 Allelic Variants 每晚同步至 ClinVar;Clinical Synopsis 经 UMLS、HPO(Human Phenotype Ontology)与 Elements of Morphology 术语增强;OMIM 团队同时深度参与 ClinGen Lumping & Splitting 工作组与国际 Gene Curation Collaboration(GenCC)。换言之,把 OMIM 接入 pipeline 就等于接通了 HPO、ClinVar、Orphanet、GenCC 的整个策展生态——这是任何单一替代数据集无法提供的"全网中心节点"效应。
§1.3 同类数据集横向对比
| 数据集 | 规模 | 模态/形态 | 标注方式 | 与 OMIM 的差异化 |
|---|---|---|---|---|
| OMIM | 约 27,500 条目;7,673 种分子化表型 | 专家综述自由文本 + TSV 派生表 | 人工策展(MD/PhD 团队,逐条评审文献) | 权威性最高、历史最长;正文非结构化、许可最严 |
| HPO | 约 13,000 表型术语、关联 7,000+ 疾病(2017 口径) | 本体(OWL)+ 注释文件 | 社区策展(以 OMIM/ClinVar/Orphanet 为注释源) | 提供结构化术语层,但疾病定义依赖 OMIM 编号作锚 |
| ClinVar | 200 万+ 变异记录(含提交冲突) | 变异-疾病断言数据库 | 提交者+人工复核分级 | 变异粒度而非表型粒度;质量分层(星级)机制 |
| Orphanet/ORDO | 6,000+ 罕见病 | 罕见病专用本体+百科 | 专家网络(欧洲) | 罕见病覆盖更深但谱系窄于 OMIM;与 SNOMED CT 有官方映射 |
| GeneReviews | 900+ 章(2024 口径) | 结构化长文(章节固定) | 专家撰写+同行评审 | 深度临床管理指南向,更新慢、规模小 |
| DisGeNET | 100 万+ 基因-疾病对 | 文本挖掘+策展混合分数 | 自动抽取为主(GDA score) | 覆盖极广但噪声高;OMIM 关联是其最高置信子集来源 |
| PanelApp(Genomics England) | 数千 panel | 专家评审基因面板 | 绿/红点置信分级 | 面向诊断 panel 实操,粒度粗、无综述文本 |
§1.4 版本时间轴
| 时间 | 里程碑 | 说明 |
|---|---|---|
| 1966 | 印刷版 MIM 第 1 版 | Victor A. McKusick 主编,Johns Hopkins University Press 出版 |
| 1985-1987 | 首次在线化 | 经 Welch Medical Library/NLM 提供计算机化检索 |
| 1995 | 万维网版上线 | 经 NCBI 全球分发(Entrez OMIM),延续至今的 NCBI 镜像 |
| 1998 | 印刷版停印 | 第 12 版为最后一版,此后纯电子化 |
| 2000 | NCBI 独家服务期 | 日均 5,300 用户(当年口径) |
| 2011-01 | OMIM.org 官方新站上线 | Lucene Solr 全文检索、基因组坐标搜索、Phenotypic Series 视图 |
| 2014-2015 | genemap2/mim2gene 文件体系定型 | 注册制下载 + REST API + MIMmatch 服务 |
| 2018 | PheneGene 图形视图 | 基因-表型关系的线性/放射状交互可视化 |
| 2020 | 疫情期使用量跃升 | 日均 20,000+ 用户、年独立用户 270 万+、API 日调用 12 万+ 次 |
| 2025-12 | 统计快照 | 7,673 种分子化表型、5,040 个致病基因、年内新增 146 条基因-疾病关系 |
§1.5 典型应用场景
- 表型驱动候选基因排序:以 OMIM 基因-表型关联表为训练/评测金标准,构建 Exomiser、Phen2Gene 类工具的 HPO→基因打分知识库,服务罕见病外显子组诊断(见 §8 基准)。
- 临床遗传学知识图谱:以 MIM 编号为实体锚,融合 HPO 术语、ClinVar 变异与 HGNC 符号,构建多对多"基因-变异-表型"图,支撑多跳推理问答。
- 大模型 RAG 与评测:将 OMIM 条目切分为段落级语料注入向量库,用于遗传咨询问答生成;同时以 OMIM 关联对构造"模型是否知道 BRCA1-乳腺癌"式的事实性评测集。
- 电子病历术语归一化:将病历文本中的遗传病名(含历史别名)消歧到 MIM 编号,再经映射文件对齐 ICD-10-CM/HPO/SNOMED CT,用于队列构建。
- 基因发现研究的前沿盘点:按 MIM 号段(6 开头新条目)与 update log 追踪新报告的疾病基因,辅助 panel 设计与阴性家系的再分析。
§2 医学背景
§2.1 ICD-11 编码映射
OMIM 覆盖遗传病全域而非单一病种,其与 ICD-11 的关系是"源-目标映射":OMIM.org 条目页内嵌 ICD+ 链接区提供 OMIM-ICD10-CM 映射,ICD-11 侧则通过 WHO 与策展生态(HPO/Orphanet)承接。下表按遗传病大类给出 ICD-11 章节级锚点:
| OMIM 覆盖大类 | 代表 MIM 条目 | ICD-11 锚点 | 映射说明 |
|---|---|---|---|
| 遗传性代谢病 | #219700 囊性纤维化;#261600 苯丙酮尿症 | 第 4 章 4A40 代谢性肌病、第 5 章 5C50-5D4x 遗传性代谢缺陷域 | 经 Orphanet/ORDO 与 ICD-11 MMS 章节承接 |
| 神经遗传病 | #607423 肌营养不良-糖基化障碍 A1 型 | 第 15 章 8A00-8E7Z 神经系统疾病域 | 肌营养不良 2017 年经 OMIM 参与重分类(LGMD 家族) |
| 血液遗传病 | #603903 镰状细胞贫血;*141900 HBB 基因 | 第 1 章 3A50-3A53 血红蛋白病域 | 条目 ICD+ 区直接给出 ICD-10-CM 码,可 GEMs 转换 |
| 染色体病 | #190685 唐氏综合征样关联域、LD40.0 唐氏综合征 | 第 17 章 LD40 常染色体三体、LD41 常染色体缺失等 | OMIM 收录染色体微缺失/重复综合征(如 16p11.2 重复 614671) |
| 肿瘤易感 | #113705 BRCA1 遗传性乳腺癌/卵巢癌 | 第 2 章 2A60-2F3Z 恶性肿瘤域 + XH 扩展码 | 体细胞遗传病子集单独归类(Morbid Map Scorecard 类 4) |
| 结缔组织病 | #130050 Ehlers-Danlos 综合征 | 第 16 章 LA56? 域内结缔组织遗传病分组 | 经 EDS 亚型 lumping/splitting 动态演化 |
注:上表 ICD-11 锚点为章节/域级映射示意,具体条目级编码以 WHO ICD-11 浏览器与 OMIM 条目 ICD+ 链接区实时数据为准。
§2.1b SNOMED CT 映射
| 本数据集实体 | 桥接资源 | SNOMED CT 关系 | 说明 |
|---|---|---|---|
| OMIM 表型条目 | HPO 注释文件 | 经 HPO→SNOMED CT 等价映射间接对齐 | HPO 官方发布 cross-map,注释骨架以 OMIM 号作 disease ID |
| OMIM 基因/表型条目 | UMLS Metathesaurus | OMIM 为 UMLS 源词表,经 CUI 桥接 | 条目 Clinical Synopsis 挂 UMLS 术语链接(Amberger 2015) |
| OMIM 表型条目 | ICD+ 链接区 | OMIM→ICD-10-CM 直接映射 | 可再经 CMS GEMs 转换至 ICD-10-CM↔ICD-11 对应关系 |
| OMIM 条目 | Orphanet/ORDO | ORDO 以 OMIM 号为 cross-reference 字段 | 欧洲罕见病口径的官方对齐通道 |
§2.2 疾病简介与流行病学
孟德尔遗传病(Mendelian disorders)指由单基因突变主导、按孟德尔定律遗传(常染色体显性/隐性、X 连锁、Y 连锁、线粒体母系遗传)的疾病与性状,广义上还包括癌症与复杂病的单基因易感性、导致良性实验室指标异常的"非疾病"变异及血型系统、以及特定体细胞遗传病。流行病学上,孟德尔疾病合计影响约 8% 的人口(含多基因参与的遗传易感,文献常用口径,PMC8921623);个体病种多为罕见病(患病率 <1/2,000),全球已知罕见病 7,000+ 种,其中相当比例已获分子鉴定。分子鉴定速度稳定在每年约 100-150 条新基因-疾病关系(2025 年新增 146 条),而尚待分子破解的孟德尔表型仍以 % 前缀条目形式存在,构成"移动的知识前沿"。
OMIM 官方 Morbid Map Scorecard 按四类表型给出分子化进度拆解(截至 2025-12-29):
| 表型类别 | 表型数 | 涉及基因数 | 代表条目 |
|---|---|---|---|
| 单基因孟德尔病及性状 | 6,656 | 4,688 | #219700 囊性纤维化(对应基因 *602421 CFTR) |
| 复杂疾病或感染易感 | 634 | 490 | #113705 BRCA1-乳腺癌/卵巢癌易感 |
| "非疾病"性变异与血型 | 153 | 120 | #110300 ABO 血型系统;#150100 LDH-B 缺乏 |
| 体细胞遗传病 | 237 | 128 | #147700 IDH1-胶质母细胞瘤;#139320 GNAS-McCune-Albright |
(数据来源:OMIM Morbid Map Scorecard 2025-12-29 快照,经 罕研社 2025 年终汇总 转引)
§2.3 临床任务定义
| 任务 | 定义 | OMIM 提供的支持 | 输出形态 |
|---|---|---|---|
| 筛查 | 新生儿/携带者筛查目录管理 | 各病种 Molecular Genetics 段落 + 群体遗传数据 | 病种清单与基因-变谱挂接 |
| 诊断 | 表型组合→候选病种/基因 | Clinical Synopsis(按解剖系统)+ Phenotypic Series 异质性视图 | 候选疾病排序 + 诊断依据 |
| 分级/分子分型 | 同基因不同突变的表型谱(allelic series) | Allelic Variants 段 + Genotype/Phenotype Correlations 段 | 变异-亚型映射表 |
| 预后 | 自然病程与治疗反应 | Clinical Management/Inheritance 等段落 | 结构化预后要素 |
| 基因发现 | 阴性家系再分析的前验知识 | Gene Map(基因组坐标搜索)+ 邻近基因功能注释 | 候选基因区间清单 |
§2.4 患者人群覆盖
OMIM 非队列数据集,其"人群"为文献报道病例的聚合(Allelic Variant 段逐例描述携带该突变的已发表患者):
| 维度 | 覆盖情况 | 说明 |
|---|---|---|
| 来源 | 全球同行评审文献 | 以英语文献为主,策展优先级偏重重要新关联 |
| 时间 | 1966 年至今 | 条目正文保留历史病例描述,形成时间纵深 |
| 年龄/性别 | 无系统统计 | 病例描述内嵌于自由文本,性别相关病种(如 X 连锁)以条目遗传方式体现 |
| 种族/地域 | 不均衡 | 罕见病 hot-spot 族群(如 founder 突变人群)描述密度高,其他人群系统性缺失 |
| 就医类型 | 遗传专科/儿科/神经科等 | 反映罕见病诊疗渠道,非全人群代表 |
§2.5 临床价值
对临床遗传学的价值链而言,OMIM 处于"知识源头的上游":遗传咨询中解读一纸阴性/阳性报告、产前诊断中解释新发变异的临床意义、罕见病多学科会诊中缩小候选基因范围,几乎都间接消费 OMIM 策展的结论。它的条目成为 HPO 注释、GeneReviews 章节、ClinVar 断言的引用基础,进而进入实验室报告模板与临床决策支持系统。对 AI 而言,用 OMIM 训练的表型-基因关联模型已被证明能显著提升外显子组诊断效率——Exomiser 类工具在模拟外显子组基准上 top-1 命中率达 96-97%,而不用表型知识的纯变异打分仅 20-77%(Zemojtel et al., 2015, Genet Med)。WES/WGS 的平均阳性诊断率仍仅 36%/41%,缺口正是 OMIM 类结构化知识 + AI 排序要填补的空间。
§2.6 金标准性质
| 属性 | 内容 |
|---|---|
| 划分性质 | 非队列、非任务划分;以 MIM 编号体系(号段/前缀)天然分层 |
| 标注方式 | 人工策展:MD/PhD 科学作家逐条评审原始文献后撰写/更新条目 |
| 标注者资质 | 约翰霍普金斯大学 McKusick-Nathans 研究所全职策展团队,Scientific Director 为 Ada Hamosh(MD, MPH);90%+ 运营开支用于策展人力 |
| 标注一致性 | 无公开的双人独立标注一致性系数;以"第一段必须声明 # 前缀理由"等结构约定 + 策展内部审校保证质量 |
| 基准性质 | 作为"已建立事实"(established facts)供下游 benchmark 构建者引用;不自带病例级诊断标签 |
§3 数据集规格
§3.0 版本抉择矩阵
OMIM 无传统"版本号"(每晚滚动更新),但存在四种获取粒度,按需求选择:
| 你的需求 | 推荐获取方式 | 大小 | 理由 |
|---|---|---|---|
| 仅需 MIM 号↔基因 ID 挂接(联合分析) | mim2gene.txt(免注册直下) | 数 MB 级 | 零门槛打通 NCBI/Ensembl/HGNC 生态,合规风险最低 |
| 构建基因-表型关联模型/知识图谱 | 注册后下载 mimTitles + genemap2 + morbidmap 三件套 | 合计数十 MB 级 | 关联表结构规整,一次注册覆盖全部表格需求 |
| 需要条目全文(RAG/文本挖掘) | REST API(api_key,逐年续期)按需拉取 | 按需增量 | 可选只取 references/AV/text 子段,避免整库 omim.txt.Z 存储与合规负担 |
| 本地镜像全库 | omim.txt.Z(注册后)+ 每周刷新义务 | <100 MB 级 | Use Agreement 要求用于数据库/分析软件的数据至少每周刷新 |
§3.1 模态详情
| 模态 | 形态 | 内容 | AI 消费方式 |
|---|---|---|---|
| 综述文本 | 结构化自由文本(固定标题 + 自由段落) | Description/Inheritance/Mapping/Molecular Genetics/Genotype-Phenotype Correlations 等 | NLP 切段、LLM 抽取、RAG 检索 |
| 结构化关联表 | TSV | morbidmap.txt / genemap2.txt:基因-表型对、遗传方式、mapping key | 直接 pandas 读取、图构建 |
| ID 挂接表 | TSV | mim2gene.txt:MIM↔NCBI GeneID↔Ensembl↔HGNC | 跨库 JOIN 主干 |
| 标题表 | TSV | mimTitles.txt:MIM 号 + 前缀 + 标题(含别名) | 实体链接(entity linking)词表 |
| 等位变异 | 文本条目(基因条目内嵌段) | MIM 号.4 位编号的逐例变异描述 | 变异-表型细粒度抽取 |
| 派生视图 | 网页/API | Phenotypic Series、PheneGene 图、Clinical Synopsis 并排比较 | 需 API 或重建 |
§3.2 按子集样本数
| 子集 | 数量(口径) | 说明 |
|---|---|---|
| 全部条目 | 约 27,500(2025-11)/ 28,754 概念(HeTOP 2025-09-22 版) | 基因+表型+移除条目等 |
| 基因条目(*) | 17,690(HeTOP 2025-09) | 常染色体 16,747、X 连锁 801、Y 连锁 52、线粒体 37 |
| 表型条目(#/%/无前缀) | 10,317(HeTOP 2025-09) | 含已分子化与未分子化 |
| 分子基础已知表型(#) | 7,673(2025-12-29 Scorecard) | Morbid Map 主力 |
| 复杂病易感 | 634(2025-12-29) | 如 BRCA1-乳腺癌 113705 |
| "非疾病"变异/血型 | 153(2025-12-29) | 如 ABO 血型 110300 |
| 体细胞遗传病 | 237(2025-12-29) | 如 IDH1-胶质母细胞瘤 147700 |
| Phenotypic Series | 607(HeTOP 2025-09)/ 315 个 series 含 2,528 表型(2015 论文口径) | 遗传异质性分组 |
| 基因+表型组合条目(+) | 约 91 且递减(2015 论文口径) | 待拆分的历史遗留 |
§3.3 格式表
| 文件 | 格式 | 编码 | 结构 | 获取 |
|---|---|---|---|---|
| mim2gene.txt | TSV | UTF-8 | 5 列,头部注释行以 # 开头 | 免注册 |
| mimTitles.txt | TSV | UTF-8 | 3 列(MIM 号/前缀标题/别名符号),头注同上 | 注册后 |
| genemap2.txt | TSV | UTF-8 | 18 列(染色体/坐标/细胞遗传带/符号/名称/MIM 号/表型串/小鼠直系同源等) | 注册后 |
| morbidmap.txt | TSV | UTF-8 | 6 列(表型/基因符号/表型 MIM 号/细胞遗传带/基因 MIM 号/遗传方式) | 注册后 |
| omim.txt.Z | 压缩纯文本 | UTF-8 | 全量条目原生格式 | 注册后 |
| API JSON/XML | JSON | UTF-8 | 条目对象,可按段落过滤 | api_key |
§3.4 存储大小
OMIM 属轻量文本资源:注册制三件套 TSV 合计数十 MB;全量 omim.txt.Z 压缩包与派生文件合计 <100 MB(截至 2025)。落地时建议预留:原始层 1 GB(含历史快照按周累积)、解析后结构层 2-5 GB(条目段落化 + 向量索引)。相较影像/组学数据集,存储成本可忽略,工程重心在"文本结构解析"而非"体量管理"。
§3.5 标注方式
| 内容 | 方式 | 质量 |
|---|---|---|
| 条目综述 | 人工策展:策展人逐篇阅读文献后撰写/更新,保留历史叙事层次 | 权威;但更新深度受文献量与人力限制 |
| 基因-表型关联 | 人工判定证据后写入 Gene Map/Morbid Map | 与 GenCC 术语体系协调中 |
| Allelic Variants | 人工选择性收录(首发、独特表型、高频、历史意义、独特机制、独特遗传方式) | 非全量目录,明确指向 HGMD/ClinVar/基因座专库补全 |
| Clinical Synopsis | 策展结构化摘要(按解剖系统),挂 UMLS/HPO/Elements of Morphology 术语 | 存在不完整与错误风险(见 §7.2) |
| Phenotypic Series 归组 | 策展人临床判断,非计算相似度 | 主观边界,条目增减随知识演化 |
| 外部链接 | 策展选择 + 自动计算链接并存 | 每晚同步(如 ClinVar) |
§3.6 标注者资质与一致性
策展由约翰霍普金斯大学医学院 McKusick-Nathans 遗传医学研究所承担,负责人 Ada Hamosh, MD, MPH(Scientific Director)。团队构成以 MD/PhD 科学作家与生物策展人为主,官方捐赠信明确 90% 以上运营开支用于该群体薪资。条目署名制:每条记录 contributor 信息、创建与编辑日期(NCBI Handbook)。与多数众包/文本挖掘资源不同,OMIM 不发布 inter-annotator agreement 指标,其质量保证依赖策展人专业资质、结构约定(如 # 前缀条目首段强制说明分子依据)与文献引用完整性。使用 OMIM 作为"银标签"的研究应意识到:它是专家共识的快照,而非统计意义上可计算一致性的标注集。
§3.7 采集周期
数据每晚(nightly)更新:策展当日新增/修订的条目次晨即可见;官方首页顶部蓝条实时显示最后更新日期。派生 TSV 文件同节奏刷新,无需手动打版本。月度节奏上,2008 年口径为每月新增约 70 条、更新约 700 条;近年新基因-疾病关系增量约每年 146 条(2025)。研究用快照建议以"下载日期"为版本标识并在论文中注明(如 “morbidmap.txt downloaded 2026-08-15”),这是 OMIM 生态的通行引用惯例。
§3.8 地域覆盖
知识内容覆盖全球英语文献;病例来源的地域结构跟随遗传医学研究分布——欧美与日本高频,罕见病高发隔离族群(founder populations)区域条目密度高。OMIM 自身不按地域切分数据;做健康公平性分析时,应将"文献可见性偏倚"(见 §7.1)作为显式局限处理。
§3.9 设备规格
不适用:OMIM 不含影像、信号或仪器采集的原始数据。基因组坐标基于 GRCh38 参考序列(Amberger 2019),等位变异以 HGVS 命名法描述,与测序平台无关。使用其坐标数据时需确认 pipeline 的参考基因组版本一致性(GRCh37/38 错配是常见工程事故,见 §6.5 坑点 6 的关联讨论)。
§3.10 深度溯源链
完整溯源链:原始文献(PubMed PMID,条目 References 段逐条引用)→ 策展人评审(条目 contributor/编辑日期元数据)→ OMIM 条目(六位 MIM 号 + 前缀)→ 派生表(morbidmap/genemap2 行记录)→ 下游资源(ClinVar/HPO/Orphanet/GenCC 同步)。每一步都可逆查:TSV 行 → MIM 号 → omim.org/entry/{MIM} → References → PMID 原文。这一"行级可回溯至文献"的特性是 OMIM 区别于聚合型数据库的核心审计优势,也是构建可解释 AI 系统时引用支撑的理想粒度。
§4 数据结构
§4.0 目录树
omim_data/ # 注册审核通过后邮件返回的下载 URL 集合
├── mim2gene.txt # 免注册:MIM 号 ↔ NCBI GeneID ↔ Ensembl ↔ HGNC
├── mimTitles.txt # 注册后:全部 MIM 号 + 前缀 + 标题 + 别名
├── genemap2.txt # 注册后:人类基因图谱摘要(按染色体 1pter→Yqter 排序)
├── morbidmap.txt # 注册后:基因-表型关联摘要(按疾病字母序)
├── omim.txt.Z # 注册后:全量原生条目文本(压缩)
├── genemap.key # 注册后:genemap 字段说明(历史文件,2015 论文口径)
└── README # 各文件更新说明(如有)
下载注意:邮件返回的是"一组 URL"而非压缩包;文件头部以
#开头的注释行(生成时间戳与字段说明)需在解析时跳过;文件不含 BOM,UTF-8 读取即可。
§4.1 DAIMS 字段字典(核心表:morbidmap.txt)
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| Phenotype(列 1) | Text | 表型名称,前缀 #/%/无内嵌于行首,花括号 {} 标注易感子表型,问号 ? 标注存疑关联 | #113705 BREAST-OVARIAN CANCER, FAMILIAL, SUSCEPTIBILITY TO, 1; BRCA1 |
关联主键前半 + 实体链接词表 | 名称随 lumping/splitting 演化;含逗号/花括号,须整体解析 | 无前缀=分子基础未确认 | 全部分子化+未分子化表型 |
| Gene Symbols(列 2) | Text | HGNC 官方基因符号 | BRCA1 |
模型特征、跨库 JOIN | 一个基因可有历史别名残留 | ? 前缀=候选 |
HGNC 命名集合 |
| MIM Number(列 3,表型) | Integer | 表型条目六位编号 | 113705 |
关联主键前半 | 条目可能 moved/removed | 无 | 100000-699999+ |
| Cyto Location(列 4) | Text | 细胞遗传带位置 | 17q21.31 |
区间级特征 | 带粒度粗于坐标 | 空=未定位 | 1pter-Yqter |
| Gene/Locus MIM Number(列 5) | Integer | 基因/位点条目编号 | 113705(基因条目) |
关联主键后半、图边终点 | 个别 locus 未独立成条 | 无 | 100000-699999+ |
| Phenotype Inheritance(列 6) | Text | 遗传方式 + 括号内 mapping key | (3);AD (3)、AR、XL、DD |
多分类标签 | 部分行含多值分号分隔 | 空=未确认遗传方式 | AD/AR/XL/XLD/XLR/MT/DD/IC 等 + key 1-4 |
补充字典(genemap2.txt 关键列):
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 |
|---|---|---|---|---|
| Chromosome | Text | 染色体号 | 17 |
分层抽样、染色体级切分 |
| Genomic Position Start/End | Integer | GRCh38 坐标 | 43044295 / 43125482 |
坐标搜索、区间重叠特征 |
| HGNC Approved Symbol | Text | 官方符号 | BRCA1 |
与 PanelApp/HGNC 对齐 |
| Phenotypes | Text | 分号分隔的关联表型串(含 MIM 号与 mapping key) | #113705 BRCA1 (3); #611995 ... |
一行多对关联需炸开展平 |
| Mouse Gene Symbol/ID | Text | MGI 小鼠直系同源 | Brca1 MGI:104537 |
跨物种迁移特征 |
补充字典(mim2gene.txt):
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 |
|---|---|---|---|---|
| MIM Number | Integer | 六位编号 | 113705 |
主键 |
| MIM Entry Type | Text | gene/phenotype/moved/removed 等 | gene |
过滤活性条目、清理死链 |
| Entrez Gene ID | Integer | NCBI GeneID | 672 |
接 NCBI 生态 |
| Ensembl Gene ID | Text | ENSG 编号 | ENSG00000012048 |
接 Ensembl VEP 等工具链 |
| HGNC Approved Symbol | Text | 官方符号 | BRCA1 |
展示与 JOIN |
关键取值——表型 mapping key(官方 genemap 语义):
1=该表型置于基因图上且与某基因相关联,但分子基础未明(% 或无前缀条目);2=仅经连锁定位,未找到突变;3=分子基础已知,基因中已发现致病突变(# 条目);4=连续基因缺失/重复综合征(多基因参与)。这四个数字是 Morbid Map 中最重要的"证据强度"标签,模型训练前必须按 key 分层(详见坑点 2)。
§4.2 标签分布
以"关联对"为基本统计单元(截至 2025-12-29 Scorecard 口径):
| 统计维度 | 分布 | 建模含义 |
|---|---|---|
| 分子化表型 : 致病基因 | 7,673 : 5,040 | 平均每基因 1.5 表型 |
| 基因→表型数 | 1 表型 3,522-3,550 个;2 表型 900-905;3 表型 335;4+ 表型 250-253 | 长尾分布:约 11% 基因贡献多表型,是多标签学习的稀疏区 |
| 基因条目染色体分布 | 常染色体 16,747;X 801;Y 52;线粒体 37 | X/MT 类样本极少,评估需分层 |
| 遗传方式 | AD/AR 占绝大多数,XL/MT/DD 少量 | 分类任务类不平衡显著 |
| mapping key | key=3(分子证实)占 Morbid Map 主体;key=1/2/4 少量 | 证据强度分层评估的依据 |
§4.3 关键统计
| 统计项 | 数值 | 口径与出处 |
|---|---|---|
| 条目月度增速 | 新增约 70 条、更新约 700 条 | 2008 口径,Amberger 2009 |
| 分子化表型年增速 | 约 100-146 条/年 | 2025-01 的 7,578 → 2025-12 的 7,673(Scorecard 快照) |
| 年独立用户 | 270 万+ | 2020 口径,Amberger 2021 |
| API 日程序化调用 | 12 万+ 次 | 同上 |
| 单基因条目等位变异量级 | 数十条至数百条/基因(如 CFTR 602421 收录 .0001-.0136+) | 2009 论文口径,全库数万级,选择性收录 |
| Phenotypic series 覆盖 | 607 个(2025-09 HeTOP 口径) | 遗传异质性病种集团 |
§4.4 数据层级
OMIM 知识库
├── Catalog 目录层(按 MIM 号段:1/2/6=常染色体,3=X,4=Y,5=线粒体)
│ └── Entry 条目层(六位 MIM 号 + 前缀语义 * / # / % / + / 无)
│ ├── TOC 与固定标题段(Description / Mapping / Molecular Genetics / ...)
│ │ └── 段落(自由文本,含历史演进叙事)
│ ├── Allelic Variants 段(仅基因条目:MIM 号.4 位变异号)
│ │ └── 逐例变异(临床描述 + 引文 + ClinVar/dbSNP 链接)
│ ├── Clinical Synopsis(表型条目:按解剖系统结构化摘要)
│ └── References(PMID 逐条引用)
└── 派生表层(morbidmap / genemap2 / mimTitles / mim2gene / Phenotypic Series)
要点:TSV 文件是"展平后的关联投影",丢失了条目内的证据叙述;条目文本才是证据链本体。两种形态在管线中应双轨保存(见 §6.3)。
§4.5 缺失值与信息性缺失
| 情形 | 表现 | 建议处理 |
|---|---|---|
| 未定位基因的表型 | morbidmap 中无对应行(表型未入 Gene Map) | 以 mimTitles + 条目前缀 %/无 补全"未关联"状态,勿当作空丢 |
| 未确认遗传方式 | Inheritance 列空或 ? 前缀 |
保留为独立类别 UNK,勿填充众数 |
| mapping key 缺失 | 行内无 key 括号 | 视为 key=1 处理前先核对条目首段声明 |
| moved/removed 条目 | mim2gene 的 Entry Type 列 | 从训练集剔除并记录映射历史 |
| Clinical Synopsis 缺失 | 旧条目/部分 % 条目无结构化摘要 | 用 Description 段 LLM 摘要替代并打上来源标记 |
| 坐标缺失 | genemap2 中未映射 locus | 不参与坐标特征,仅保留细胞遗传带 |
§5 数据划分与使用建议
§5.1 官方划分
无官方划分。OMIM 是持续更新的知识库而非建模基准,任何"官方 train/test"都不存在;下游论文自行构建评测(典型做法:以某日期快照的全部关联为知识库,剔除近期发现的关系做 held-out 评测)。
§5.2 社区惯例划分
- 时间切分(推荐):知识库快照 D,关系对按"策展确立时间"分界(如 2019-01-01 前/后);与真实基因发现的时间线对齐,模拟"预测未来发现"。Amberger 2019 论文与各 prioritization 评测普遍采用该范式。
- 按 phenotypic series 切分:同一 series 的关联高度相关(同通路/同表型谱),series 内切分会造成"伪泄漏";应以 series/基因家族为组做 GroupShuffleSplit。
- 按基因切分:跨文献同基因多表型天然共现,按基因分组切分可评估"新基因泛化"这一更难场景。
时间切分的最小实现(以本地保存的历史快照为时间轴):
# 快照文件按下载日期归档:data/omim/snapshots/morbidmap-2024-06-01.txt 等
import pandas as pd
from pathlib import Path
COLS = ["phenotype", "gene_symbols", "phenotype_mim", "cyto_location",
"gene_mim", "inheritance"]
def load_pairs(path: Path) -> set:
df = pd.read_csv(path, sep="\t", comment="#", header=None,
names=COLS, dtype=str)
return set(map(tuple, df[["gene_mim", "phenotype_mim"]].dropna().values))
snapshot_old = load_pairs(Path("data/omim/snapshots/morbidmap-2024-06-01.txt"))
snapshot_new = load_pairs(Path("data/omim/snapshots/morbidmap-2026-08-15.txt"))
knowledge = snapshot_old # 训练时可见的知识库(物理删除 held-out)
heldout = snapshot_new - snapshot_old # 快照间隔内新策展的"真未来"关联
print(f"知识库关联: {len(knowledge)}; 盲测新关联: {len(heldout)}")
# 注意:heldout 必须从 knowledge 中物理剔除(此处集合差已保证),
# 且评估函数在排序时同样不得为盲测对注入任何特征。
§5.3 泄漏风险
| 风险 | 场景 | 缓解 |
|---|---|---|
| 同基因多表型跨集 | 基因 G 的表型 A 在训练集,表型 B 在测试集,模型借基因侧特征"背答案" | 按基因分组切分;报告 per-group 指标 |
| 同 series 跨集 | 异质性病种家族共享临床描述特征 | 以 series 为组(见 §5.2.2) |
| 知识库-评测源同源 | 用 OMIM 全库构造知识库,又用其子集出测试题 | held-out 关联必须从知识库快照中物理删除 |
| LLM 预训练污染 | 基础模型已在预训练中见过 OMIM(全网语料含镜像) | 报告快照日期与模型训练截止;采用时间切分后的"新发现"作盲测 |
§5.4 交叉验证建议
建议 5 折 GroupKFold(组=phenotypic series 或基因),每折内再按遗传方式分层;报告 top-k 命中率(k=1/5/10/20/50,与基因排序工具评测惯例对齐)与 MRR。禁用随机行级 KFold——在多对多关联表中它必然同时泄漏基因侧与表型侧实体。
§5.5 外部验证建议
推荐三级外部集:① ClinGen/GenCC 定级数据库(definitive/strong 类目)作为更新更快的正例仲裁源;② Orphanet/ORDO 的 gene-disease 关联(欧洲策展口径)做跨体系一致性检验;③ 时间上更新的文献挖掘结果(如 2025 年新增 146 条关系)作为"真·未来"盲测集。跨体系验证时注意 GenCC 关系强度术语与 OMIM mapping key 的语义不完全等价(见 §6.5 坑点 7)。
§6 AI 就绪指南 ⭐
§6.0 云端快速启动
OMIM 体量小(<100 MB),无需云 GPU/对象存储;本地工作站即可完成全部处理。唯一"云端"资源是官方 REST API(api.omim.org,HTTPS)。若在 Colab/Kaggle 中实验,注意:注册邮箱收到的下载 URL 是私有授权链接,按 Use Agreement 不得转贴至公开 notebook;合规做法是把解析后的自有派生特征(而非原始 OMIM 文件)上传至私有存储。
§6.1 快速上手
目录结构预期:以下代码假设文件位于
data/omim/下,包含注册下载的morbidmap.txt、mimTitles.txt与免注册的mim2gene.txt。data_root拼接关系:data_root = "data/omim",各文件路径 =data_root / 文件名。最小可用子集:仅mim2gene.txt(免注册)即可跑通挂接演示;关联表分析需三件套齐备。
# 环境准备:data/omim/ 下应有注册下载的 TSV 文件
# data_root = "data/omim" → data_root / "morbidmap.txt" 等
import pandas as pd
from pathlib import Path
data_root = Path("data/omim")
# OMIM TSV 文件头部有以 '#' 开头的说明行,且无内置表头,需跳过并手动命名
morbid_cols = [
"phenotype", # 含前缀 #/%/花括号的表型名
"gene_symbols", # HGNC 符号(可能多值)
"phenotype_mim", # 表型六位 MIM 号
"cyto_location", # 细胞遗传带
"gene_mim", # 基因/位点六位 MIM 号
"inheritance", # 遗传方式 + 括号内 mapping key
]
morbid = pd.read_csv(
data_root / "morbidmap.txt", sep="\t", comment="#",
header=None, names=morbid_cols, dtype=str,
)
# 最小可用子集演示:只取 mapping key=3(分子基础已证实)的关联
m3 = morbid[morbid["inheritance"].str.contains(r"\(3\)", na=False)]
print(f"morbidmap 总关联行数: {len(morbid)}; 分子证实(key=3): {len(m3)}")
# mim2gene.txt(免注册文件)打通外部 ID
id_map = pd.read_csv(
data_root / "mim2gene.txt", sep="\t", comment="#", dtype=str,
)
gene_map = id_map[id_map["MIM Entry Type"] == "gene"]
print(f"基因条目数: {len(gene_map)}; 含 Entrez ID: {gene_map['Entrez Gene ID'].notna().sum()}")
§6.2 数据获取
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 访问 omim.org/downloads | 页面列出 4 个文件与许可说明 |
| 2 | 以机构邮箱注册,如实填写用途 | 学术/非营利/政府免费;2 个工作日内 JHU 许可办公室审核;不合规注册自动拒绝 |
| 3 | 邮件接收一组下载 URL | URL 为授权链接,禁止转贴/共享 |
| 4 | 下载 mim2gene/mimTitles/genemap2/morbidmap | mim2gene 亦可免注册直接下载 |
| 5 | 如需全文/精细查询,另行申请 API key | 每年续期,每请求必须携带,JHU 可吊销 |
| 6 | 长期使用须遵守 Use Agreement | 数据进数据库/分析软件须至少每周刷新;须注明来源;研究发表须通知 OMIM 并提供论文副本 |
# API 最小示例:拉取单条条目 JSON(api_key 于注册后邮件获取,每年续期)
import requests
API_KEY = "YOUR_OMIM_API_KEY" # 注册获得;切勿硬编码入库,用环境变量注入
resp = requests.get(
"https://api.omim.org/api/entry",
params={"apiKey": API_KEY, "mimNumber": "219700",
"include": "text", "format": "json"},
timeout=30,
)
entry = resp.json()["omim"]["entryList"]["entry"][0]
print(entry["titles"]["preferredTitle"]) # '#219700 CYSTIC FIBROSIS; CF'
合规提示:使用 API 批量拉取同样受 Use Agreement 与 robots.txt 约束——限速、限批量、只用于研究与教育用途;营利性产品集成必须先取得 JHU 商业许可(联系 JHTV-OMIM@jhmi.edu)。
§6.3 预处理全流程
# 流程:① 前缀/花括号解析 → ② mapping key 展开 → ③ 关联对规范化 → ④ 文本段抽取
import re
import pandas as pd
def split_phenotype(raw: str):
"""解析 morbidmap 第一列:前缀、花括号易感子表型、问号存疑、主名与别名。"""
raw = raw.strip()
uncertain = raw.startswith("?")
if uncertain:
raw = raw[1:].strip()
susceptibility = "{" in raw and "}" in raw
raw = raw.replace("{", "").replace("}", "").strip()
prefix = ""
for p in ("#", "*", "%", "+"):
if raw.startswith(p):
prefix, raw = p, raw[1:].strip()
break
name, _, abbrev = raw.partition(";")
return pd.Series({
"prefix": prefix, "name": name.strip(),
"abbrev": abbrev.strip(), "uncertain": uncertain,
"susceptibility": susceptibility,
})
def expand_inheritance(val: str):
"""遗传方式列可能含多值与 key 括号:'AD (3)' / 'AR, DD' / 'XLR (3)'。"""
key = None
m = re.search(r"\((\d)\)", val)
if m:
key = int(m.group(1))
modes = re.sub(r"\(\d\)", "", val).strip()
modes = [m.strip() for m in re.split(r"[;,]", modes) if m.strip()]
return pd.Series({"inheritance_modes": modes, "mapping_key": key})
parsed = morbid["phenotype"].apply(split_phenotype)
parsed[["phenotype_mim", "gene_mim"]] = morbid[["phenotype_mim", "gene_mim"]]
parsed = pd.concat([parsed, morbid["inheritance"].apply(expand_inheritance)], axis=1)
# 关联对规范化:一行 = (gene_mim, phenotype_mim, modes, key)
pairs = parsed.dropna(subset=["gene_mim", "phenotype_mim"]).drop_duplicates(
subset=["gene_mim", "phenotype_mim"]
)
print(pairs["mapping_key"].value_counts().sort_index())
# 全量条目文本解析(omim.txt.Z 解压后):按 '*FIELD* NO' 定界切条目与段落
import gzip
entry_re = re.compile(r"^\*FIELD\* NO\s+-\s+(\d{6})", re.M)
text_buf, entries = [], {}
with gzip.open(data_root / "omim.txt.gz", "rt", encoding="utf-8", errors="replace") as fh:
for line in fh:
m = entry_re.match(line)
if m:
if text_buf:
entries[cur_id] = "\n".join(text_buf)
cur_id, text_buf = m.group(1), []
elif cur_id:
text_buf.append(line.rstrip())
if text_buf:
entries[cur_id] = "\n".join(text_buf)
print(f"解析条目数: {len(entries)}")
解析要点:*FIELD* NO / TI / TX / AV / CS / RF / ED / CD 等定界符是 omim.txt.Z 的原生段落结构(TI=标题、TX=正文、AV=等位变异、CS=Clinical Synopsis、RF=参考文献、ED/CD=编辑/创建日期);基于该结构的分段解析是社区标准做法(CSI-OMIM 等 BMC Bioinformatics 工具即如此实现)。花括号 {} 语义为"对某病种的易感性贡献"而非独立疾病,? 语义为"关联存疑"——两者直接展开会引入大量伪关联(见坑点 2/6)。
§6.4 PyTorch DataLoader
任务示例:表型驱动的基因排序(链接预测式)——以 Clinical Synopsis 段落为输入,预测关联基因。以下为最小可运行 Dataset(代码 >30 行,折叠展示):
<details>
<summary>展开完整 PyTorch Dataset + DataLoader 代码</summary>
# 任务:phenotype_text → 候选基因排序
# 目录预期:data/omim/ 下有 morbidmap.txt、mimTitles.txt、omim.txt.gz(解析自 §6.3)
import gzip, re, random
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader
FIELD_RE = re.compile(r"^\*FIELD\*\s+(\w+)", re.M)
def load_sections(path: str) -> dict:
"""解析 omim.txt.gz:返回 {mim_id: {"TI":..., "TX":..., "CS":...}}"""
entries, cur_id, cur_field, buf = {}, None, None, []
with gzip.open(path, "rt", encoding="utf-8", errors="replace") as fh:
for line in fh:
m = re.match(r"^\*FIELD\* NO\s+-\s+(\d{6})", line)
fm = re.match(r"^\*FIELD\*\s+(\w+)", line)
if m:
if cur_id is not None:
entries[cur_id][cur_field] = "\n".join(buf).strip()
cur_id, cur_field, buf = m.group(1), "NO", []
entries[cur_id] = {}
elif fm and cur_id is not None:
entries[cur_id][cur_field] = "\n".join(buf).strip()
cur_field, buf = fm.group(1), []
elif cur_id is not None:
buf.append(line.rstrip())
if cur_id is not None:
entries[cur_id][cur_field] = "\n".join(buf).strip()
return entries
sections = load_sections("data/omim/omim.txt.gz")
# 关联对(沿用 §6.3 的 pairs 表:gene_mim/phenotype_mim/mapping_key)
pairs = pairs[pairs["mapping_key"] == 3].reset_index(drop=True)
gene2idx = {m: i for i, m in enumerate(sorted(pairs["gene_mim"].unique()))}
class PhenotypeGeneDataset(Dataset):
"""一个样本 = (Clinical Synopsis 文本, 正例基因, 负采样基因)"""
def __init__(self, pairs_df, sections, gene2idx, max_len=512):
self.rows = pairs_df[pairs_df["gene_mim"].isin(gene2idx)]
self.sections, self.gene2idx, self.max_len = sections, gene2idx, max_len
self.genes = list(gene2idx.values())
def __len__(self):
return len(self.rows)
def _text(self, mim: str) -> str:
sec = self.sections.get(mim, {})
# 优先 Clinical Synopsis;缺失则回退 Description(TX 段首 2000 字)
return (sec.get("CS") or sec.get("TX", "")[:2000])[:self.max_len * 4]
def __getitem__(self, i):
r = self.rows.iloc[i]
text = self._text(str(r["phenotype_mim"]))
pos = self.gene2idx[r["gene_mim"]]
neg = random.choice(self.genes)
while neg == pos:
neg = random.choice(self.genes)
# 生产环境替换为 tokenizer(text, truncation=True, max_length=512)
ids = torch.tensor([min(ord(c), 255) for c in text[:self.max_len]],
dtype=torch.long)
return ids, torch.tensor(pos), torch.tensor(neg)
def collate(batch):
ids = torch.nn.utils.rnn.pad_sequence(
[b[0] for b in batch], batch_first=True, padding_value=0)
pos = torch.stack([b[1] for b in batch])
neg = torch.stack([b[2] for b in batch])
return ids, pos, neg
ds = PhenotypeGeneDataset(pairs, sections, gene2idx)
dl = DataLoader(ds, batch_size=8, shuffle=True, num_workers=2, collate_fn=collate)
ids, pos, neg = next(iter(dl))
print(ids.shape, pos.shape, neg.shape) # 双曲损失/InfoNCE 训练即可启动
</details>
生产建议:将字符级占位 tokenizer 替换为 BioBERT/PubMedBERT tokenizer;负采样按"同 series 排除 + 频次平滑"设计,防止负例命中真实未策展关联(OMIM 是快照而非完备集合,见坑点 5)。
§6.5 八个坑点
⚠️ 坑点 1:条目正文是结构化自由文本,不是表格——直接当结构化数据用会系统性丢信息(分类:预处理陷阱)
问题:OMIM 的知识主体是带固定标题的自由文本综述(Amberger 2015 明确定义为 “structured free-text format”),TSV 文件只是展平投影。以为"拿到 omim.txt.Z 就拿到了数据库",直接整段喂分类器或按行当记录解析,会丢失段落内嵌的限定语(如"易感性"“存疑”“included”)与历史叙事层次。
症状:从文本抽疾病特征时假阳性率飙升——经典研究(Feinstein 等)报告对 Clinical Synopsis 做关键词抽取约 15% 条目为假阳性,“neither patient had evidence of mental retardation” 这类否定句被当阳性特征;同一疾病信息散落多个段落被重复计数。
解决:
- 简单方法:用
*FIELD*定界符切段(TI/TX/AV/CS/RF),只消费你需要的段落;关键词匹配必须带否定窗口检查。- 进阶方法:NegEx/medspaCy 类否定检测 + 段落级溯源(每个抽取事实记 MIM 号 + 段名 + PMID)。
- SOTA 方法:LLM 结构化抽取时强制输出(字段, 值, 段落原文, 条目日期)四元组,用原文对齐校验幻觉;对 LLM 明确说明花括号与 “INCLUDED” 行的语义。
参考:Amberger et al., 2015, NAR, DOI 10.1093/nar/gku1205;CSI-OMIM(Cohen et al., 2011, BMC Bioinformatics 12:65)。
⚠️ 坑点 2:MIM 号前缀语义误读——*/#/%/+/无 前缀与 mapping key 决定一条关联的"证据等级"(分类:标签理解)
问题:六位 MIM 号前的符号是语义标签:
*=基因条目、#=分子基础已证实的表型描述条目(不表示唯一位点,基因讨论在另一条目)、%=已确认孟德尔表型但分子基础未知、+=已知序列基因+表型组合(约 91 条且递减)、无前缀=遗传模式或分子基础未确认的表型。morbidmap 行内括号数字 mapping key(1-4)再给一层证据分级。把所有行当等价正例,等于把"假设"与"证实"混为一谈。
症状:知识图谱把 % 条目关联画成分子通路边;训练集里混入 key=1/2 的"疑似"关联导致评估虚高或虚低;统计"疾病数量"时 #(7,673)与全部表型(10,317)口径打架。
解决:
- 简单方法:解析前缀存独立列;默认只用
#条目 + key=3 关联做"分子证实"子集,其余标suspected。- 进阶方法:按 mapping key 分层报告指标(key=3 / key=1-2 / key=4 各一列),与 GenCC 证据强度对照。
- SOTA 方法:把前缀与 key 编码为关联置信度特征参与训练,对 % / key=1 样本用弱监督权重。
参考:OMIM FAQ 1.2(编号与前缀)、genemap.key 官方字段说明。
⚠️ 坑点 3:Phenotypic Series 与单一条目的层级混淆——遗传异质性病种一拆多(分类:标签理解)
问题:同一临床综合征常由多个不同基因的突变导致(locus heterogeneity)。OMIM 为每个基因-表型组合建独立条目,再由策展人按临床判断归入 phenotypic series(2025-09 口径 607 个 series)。series 是"视图"不是条目:映射到 series 的表型不必然穷尽、series 归组随知识演化调整,且 2015 论文 Figure 1 明示"mapped phenotypes are not necessarily part of a Phenotypic Series"。
症状:把 series 编号当 MIM 号 JOIN 关联表得 0 行或错误行;以"一个疾病一个标签"建模时,Ehlers-Danlos 这类 series 拆出 20+ 亚型条目导致标签矩阵稀疏错乱;评估中同 series 条目跨 train/test 造成伪泛化。
解决:
- 简单方法:以条目级 MIM 号为唯一分析主键,series 仅作分组/分层变量。
- 进阶方法:GroupShuffleSplit 以 series 为组(§5.2.2),保证同 series 不跨集。
- SOTA 方法:构建"条目→series→疾病家族"三层图,用层级损失(hierarchical loss)同时学习亚型判别与 series 归属。
参考:Amberger et al., 2015, NAR(Phenotypic Series 方法论节);Amberger et al., 2019, NAR, DOI 10.1093/nar/gky1151。
⚠️ 坑点 4:批量下载与再分发的许可红线——爬虫式全量抓取违反 Use Agreement(分类:工程陷阱)
问题:OMIM 学术免费 ≠ 自由许可。Use Agreement 明确:网页端免费仅限个人/教育/学术用途的"前端使用";下载全部或部分数据须遵守协议;营利性实体或任何"把 OMIM 数据重新展示/集成进软件"的主体必须付费取得 JHU 许可,无许可访问可索赔双倍标准许可费;爬虫受 robots.txt 约束;数据用于数据库/分析软件时必须至少每周刷新;禁止再分发、禁止未经许可开发衍生数据库。
症状:项目把 omim.txt 上传 HuggingFace/GitHub 公开仓库后收到 JHTV(Johns Hopkins Tech Ventures)函件;公司产品线集成 OMIM 关联表在尽调时被发现无许可;爬取频率过高触发 Cloudflare 封锁与账号审查。
解决:
- 简单方法:走官方注册流程(机构邮箱、如实填写用途),只用邮件 URL 下载;公开代码仓库只放解析脚本,不落数据。
- 进阶方法:建立"每周刷新"定时任务(cron/airflow)拉取 TSV,版本快照本地保存;发布衍生模型时只发布模型权重与从属统计量,不发布语料本体。
- SOTA 方法:商业场景直接联系 JHTV-OMIM@jhmi.edu 谈许可(标准协议或协商);或改用许可宽松的等价源(HPO 注释文件、GenCC 导出、ClinVar)承担主链路,OMIM 仅内部研究使用。
参考:https://www.omim.org/help/agreement ;https://omim.org/help/copyright ;https://omim.org/downloads/ 。
⚠️ 坑点 5:条目更新延迟与"文献时差"——策展快照永远落后于前沿,评估会高估模型(分类:评估误用)
问题:策展是人力过程:文献发表→被策展人识别→评审写入条目→次晨上线,链条以周/月计;且策展优先"重要新关联",阴性结果与边缘发现不即时入库。用今天下载的快照去"评测"一个训练截止晚于快照的 LLM,模型早已在预训练语料中见过答案。
症状:表型-基因排序基准分数逐年"通货膨胀";held-out 关联在模型训练截止日期前已见于 OMIM,盲测不盲;同一模型在不同月下载的快照上指标波动。
解决:
- 简单方法:论文中强制报告快照下载日期与模型训练截止日期两个时间戳。
- 进阶方法:时间切分评测——以快照 D 的知识库为背景,D 之后新策展的关系(如 2025 年新增 146 条)为盲测集(§5.3)。
- SOTA 方法:MIMmatch 订阅/官方 update log 构建增量流,做在线持续学习评估;对 LLM 评测改用"快照后才发表的原始文献"构造题目。
参考:Amberger et al., 2019, NAR(update log/MIMmatch 机制);OMIM 首页 update 蓝条。
⚠️ 坑点 6:基因-表型多对多映射的一对多歧义——一个基因多种病、一种病多个基因、一个突变多种表型(分类:标签理解)
问题:关联本体上就是多对多:约 11% 基因对应 2 个以上表型(250-253 个基因对应 4+ 表型);遗传异质性病种由几十个基因各自导致;同一基因不同突变可致不同病(如 L1CAM → MASA/HSAS/SPG1 三病种,等位变异只存于基因条目);同一突变又可呈显性或隐性(如 GJB2/connexin 26 121011 既有隐性耳聋又有显性表型)。把 (gene, disease) 当唯一键或假设一对一,会静默错解。
症状:JOIN 后行数膨胀或丢失;"某基因导致哪种病"问答给出单一答案而漏掉全部 allelic series;按基因去重时把不同 key/不同亚型的合法多行当重复删掉。
解决:
- 简单方法:以 (gene_mim, phenotype_mim) 复合键展开,保留多行;去重键加上 mapping_key。
- 进阶方法:建模为二部图/异构图,节点类型(gene/phenotype/variant)分离,支持一对多边;评估按基因分组。
- SOTA 方法:引用 allelic series 层信息(变异→表型映射),做 variant-level 细粒度链接预测;对同一基因按功能效应(LoF/Gain-of-function)拆分预测头。
参考:Amberger et al., 2009, NAR, DOI 10.1093/nar/gkn665(AV 收录准则与 GJB2 例);Cold Spring Harb Perspect Biol 166(2):835(L1CAM 检索陷阱)。
⚠️ 坑点 7:与 HPO/Orphanet 术语体系对齐的工作量——疾病 ID 三套体系不同粒度(分类:工程陷阱)
问题:HPO 注释以 OMIM 号为 disease ID 但粒度是"术语级表型";Orphanet/ORDO 有自己的 ORPHAcode 并以 OMIM 为 cross-reference;GenCC 用独立的关系强度术语(Definitive/Strong/…)与 OMIM mapping key 语义不严格等价;OMIM 条目级 ICD 映射是 ICD-10-CM。三套体系之间存在粒度差(HPO 偶尔把多个 OMIM 条目合并注释、ORDO 与 OMIM 在 lumping 上有分歧),直接对 ID 对 ID 撞库必出脏数据。
症状:HPO 注释文件里的 OMIM 号在 morbidmap 中查无此行(HPO 合并注释或指向 moved 条目);同一疾病在 ORDO 与 OMIM 名称不同导致实体链接失败;GenCC “Strong” 与 OMIM key=3 的条目集合对不齐。
解决:
- 简单方法:用 mim2gene(基因侧)+ HPO annotation 的 disease ID(表型侧)分别建立桥表,保留双向映射而不做硬合并。
- 进阶方法:实体链接用标题+别名(mimTitles 含别名符号)做模糊匹配 + MIM 号白名单校验;对 moved 条目建重定向表。
- SOTA 方法:以 OMIM 号为主锚构建知识图谱,HPO/ORDO/GenCC 作为带来源标签的视图层,冲突项输出人工复核队列(差异本身是策展分歧信号,有研究价值)。
参考:Köhler et al., 2017, NAR 45:D865-D876(HPO 2017);Amberger et al., 2019, NAR(GenCC/ClinGen 协作节)。
⚠️ 坑点 8:文本内嵌缩写与历史命名变更——名称既不唯一也不稳定(分类:预处理陷阱)
问题:OMIM 标题使用全大写传统命名并携带大量历史别名(“Alternative titles; symbols”),疾病命名持续演化:2017 年肢带型肌营养不良重分类、持续进行的 lumping/splitting 使条目拆并;命名规范问题专门成文(Rasmussen & Hamosh 2020 “What’s in a name?”)。用今天的疾病名匹配历史文献/旧版病历,或用旧名匹配现库,都会失配。
症状:实体链接召回率低(“AMD"既是年龄性黄斑变性又是别的缩写);同一病种新旧名建了两条知识图谱节点;跨年份快照 diff 时把"改名"误判为"新增+删除”。
解决:
- 简单方法:实体词典以 MIM 号为主键、名称与别名为倒排索引;匹配时大小写归一并区分基因符号歧义(HGNC 对 OMIM 别名有仲裁记录)。
- 进阶方法:用 MIMmatch/官方 update log 建立条目生命周期表(created/edited/moved/removed),跨快照 diff 按号不按名。
- SOTA 方法:LLM 实体消歧 prompt 注入条目前缀+别名+首段定义做三重验证;医学 NER 后接 OMIM 号链接器(scispaCy/medCAT 类,用 mimTitles 训练)。
参考:Rasmussen & Hamosh, 2020, Genet Med 22(10), PMID 32555417;Amberger et al., 2015, NAR(Alternative titles 机制)。
§6.6 数据增强
| 策略 | 判定 | 说明 |
|---|---|---|
| 临床描述同义改写(保持 HPO 术语锚定) | ✅ 安全 | 提升表型描述鲁棒性,锚点不变形 |
| 表型术语级随机删减/加噪(模拟不完整主诉) | ✅ 安全 | Exomiser 基准验证过的"noisy annotation"评估范式 |
| 上位词泛化(替换为 HPO 父节点) | ✅ 安全 | 模拟语义不精确的病历 |
| 跨条目拼接生成新"综合征" | ❌ 危险 | 可能制造不存在且不符合遗传逻辑的组合 |
| 基因侧随机替换基因符号 | ❌ 危险 | 破坏真实关联,注入伪标签 |
| 无锚定的 LLM 自由生成病历 | ❌ 危险 | 生成内容缺溯源,污染评测金标准 |
§6.7 模型推荐
| 任务 | 推荐模型/工具 | 理由 |
|---|---|---|
| 表型→基因排序 | Exomiser / Phen2Gene / LIRICAL | 已含 OMIM 知识底座,开箱即用(§8) |
| 表型→基因排序(可复现基线) | Phenolyzer 0.4.0 / GADO 1.0.1 | 社区横评常客(107 s / 6 s 级运行时间),适合作为自研模型的对照下界 |
| 文献共现辅助 | AMELIE(NLP 模式) | 文本挖掘视角补充策展知识盲区 |
| 文本表征 | PubMedBERT / BioLinkBERT | 生物医学语料预训练,对 OMIM 文本迁移好 |
| 实体链接(MIM 号归一化) | scispaCy / MedCAT + mimTitles 词典 | 别名覆盖 + 可控消歧 |
| 知识图谱嵌入 | ComplEx / RotatE / HousE | 多对多二部/异构图标准选择 |
| LLM RAG | bge-m3 + PubMedBERT reranker | 段落级检索 + 医学领域重排 |
| 结构化抽取 | 开源医学 LLM(7-13B 级)+ 约束解码 | 四元组输出 + 原文对齐校验 |
§6.8 硬件需求
| 阶段 | 最低配置 | 推荐 |
|---|---|---|
| TSV 解析/统计 | 4 GB RAM,无 GPU | 8 GB RAM |
| 全量文本解析 | 8 GB RAM | 16 GB RAM(omim.txt.Z 解压后数 GB 级) |
| BioBERT 微调 | 1×16 GB GPU | 1×A100-40G(全量关联训练 <1 小时/epoch 量级) |
| 知识图谱嵌入 | 1×11 GB GPU | 1×A100-40G(2.7 万节点规模轻量) |
§6.9 评估指标代码
import numpy as np
import torch
def hit_at_k(ranks: np.ndarray, k: int) -> float:
"""链接预测惯例:正例基因排在候选列表前 k 的比例"""
return float((ranks <= k).mean())
def mrr(ranks: np.ndarray) -> float:
"""Mean Reciprocal Rank"""
return float((1.0 / ranks).mean())
def per_group_hit_at_k(ranks: np.ndarray, groups: np.ndarray, k: int = 10) -> dict:
"""按 phenotypic series / 基因分组报告(防伪泛化,见 §5.3)"""
out = {}
for g in np.unique(groups):
mask = groups == g
out[str(g)] = hit_at_k(ranks[mask], k)
return out
# 使用示例:ranks = 模型给正例基因的排名(1 起)
ranks = np.array([1, 3, 7, 1, 52])
print({f"hits@{k}": hit_at_k(ranks, k) for k in (1, 5, 10, 50)}, f"MRR={mrr(ranks):.3f}")
§6.10 MLOps 笔记
- 数据版本化:以"快照下载日期"为版本标签(如
omim-2026-08-15),与模型版本绑定记录;Use Agreement 的每周刷新义务恰好形成天然更新节奏,可复用同一 cron 触发。 - 许可合规即 CI:在 CI 中加入检查——制品清单扫描确保无 OMIM 原文文件外泄至公开制品库;模型卡标注知识来源与许可。
- 漂移监控:监控 update log 增量(新 MIM 号数量、lumping/splitting 事件);关联表变更率骤升提示知识体系调整(如新 series 发布),触发再训练评估。
- 审计链:所有下游断言保留 (MIM 号, 段名, 快照日期) 三元组,支持从模型输出回溯到官方条目。
- API key 治理:key 每年续期、按请求携带,放入密钥管理而非镜像配置;吊销风险(JHU 保留权利)要求 pipeline 有离线快照降级路径。
- 快照回滚演练:知识内容会随 lumping/splitting 回退(关联被合并或拆分),保留至少 12 个月的快照归档并演练"按旧快照重建训练集"流程,保证论文结果与审计可复现。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解 |
|---|---|---|---|
| 文献可见性偏倚 | 内容跟随英语文献分布,非英语地区病种与人群覆盖薄 | 中 | 结合 Orphanet/地区专库;分析时报告来源地域 |
| 分子化进度偏倚 | 已分子化(#)条目远多于未分子化(%)条目的知识深度;“容易的病先被破解” | 高 | 按 mapping key 分层评估;承认已破解子集的选择性 |
| 罕见病热区偏倚 | founder 族群与大型研究网络覆盖的病种描述密度极高 | 中 | 病例级描述按病种抽样平衡 |
| 策展优先级偏倚 | "重要新关联、新生物学、完整临床表征"优先(官方策展准则),边缘发现滞后 | 中 | 盲测集用快照后新增关系校准 |
| 命名与归类演化偏倚 | lumping/splitting 使横断面统计不稳定 | 中 | 跨快照分析按 MIM 号生命周期表处理 |
| 收录准则偏倚 | Allelic Variants 选择性收录(首发/独特/高频/历史意义),非全量突变目录 | 中 | 变异级分析必须并库 ClinVar/HGMD/基因座专库 |
§7.2 标注质量
OMIM 的权威性来自人工策展,但"人工"亦有系统误差:经典检索学研究显示对 Clinical Synopsis 做关键词/规则抽取存在约 15% 假阳性(Feinstein 等的智力障碍基因检索研究),原因包括否定句、疾病间文本交叉引用、部分条目无 Clinical Synopsis 或摘要不完整(如 Norman-Roberts 型无脑回 257320 的 synopsis 漏掉核心特征);该研究同时指出从 OMIM 文本完整抽取信息"必须以冗余检索换召回、以人工复核保精度"(Boyadjiev & Jabs 2000 有类似结论)。这些是"文本形态"的固有限制而非策展错误,但对自动 pipeline 的直接含义是:规则抽取≠策展结论。缓解路径:段落级溯源 + 否定检测(坑点 1)+ LLM 抽取原文对齐校验;对高风险应用(诊断建议)保留人工策展层复核。
§7.3 泛化性
| 场景 | 失效风险 | 证据 |
|---|---|---|
| 用快照 N 训练、快照 N+1 评估 | 中:每年 100-146 条新关系构成"真未来"盲区 | 2025-01(7,578)→2025-12(7,673)增量实证 |
| 跨术语体系迁移(OMIM→医院 ICD-10 编码队列) | 高:粒度与命名差(坑点 7/8) | ORDO-OMIM 分歧、ICD-10-CM 映射非全量 |
| 非欧洲人群表型描述 | 中高:文献偏倚传导至下游模型 | §7.1 文献可见性偏倚 |
| LLM 直接作答 vs 检索增强 | 高(预训练污染):闭卷作答可能"背过"OMIM | §5.3 知识库-评测源同源风险 |
| 变异级细粒度任务 | 高:AV 选择性收录,覆盖有洞 | §7.1 收录准则偏倚;CFTR 例(2009 论文) |
§7.4 伦理
OMIM 不含可识别个体数据(病例描述为已发表文献的聚合转述),无 IRB 门槛。伦理要点有三:① 许可合规(商业使用付费许可,见坑点 4)——这是 JHU 明示的合同性义务而非道德倡议;② 病例描述承载"已公开的患者叙事",下游 LLM 复述时应避免对具体家系的过度推断;③ OMIM 官方明示数据库"供研究与教育用途,不能替代专业医疗咨询",页面级免责须在产品层继承。
§7.5 公平性
文本知识库的公平性问题主要体现为"知识生产的地域与人群不均":founder 突变族群、欧美大型遗传网络的病种获得超比例描述,而低资源地区病种可能长期停留在 % 条目(未分子化)状态。用 OMIM 训练的表型-基因模型在高资源人群医院数据上校准良好,迁移到人群构成不同的场景时,应监测 per-ancestry / per-region 的排序性能差距;变异频率相关特征(gnomAD 等)本身的人群覆盖不均也会复合放大该差距。
§7.6 数据漂移
OMIM 的漂移是"知识内容漂移"而非"分布漂移":每晚增量、每月约 700 条更新、每年约 100-146 条新关联;另有突发性结构性漂移(2017 年 LGMD 重分类式的事件)会批量改变标签空间。监控建议:① 周度 diff 关联表行数与新增 MIM 号;② 监控前缀分布(# 占比上升=分子化推进);③ 重大 reclassification 事件触发下游标签空间重建。
周度漂移监控的最小实现:
# cron 每周触发:拉取新快照并与上周对比(复用 §5.2 的 load_pairs)
import pandas as pd
from pathlib import Path
def prefix_stat(path: Path) -> dict:
tit = pd.read_csv(path, sep="\t", comment="#", dtype=str)
return tit["MIM Number"].str[0].value_counts().to_dict() # 按号段 1/2/3/4/5/6
new_pairs = load_pairs(Path("data/omim/snapshots/morbidmap-this-week.txt"))
old_pairs = load_pairs(Path("data/omim/snapshots/morbidmap-last-week.txt"))
added, removed = new_pairs - old_pairs, old_pairs - new_pairs
alerts = []
if len(added) + len(removed) > 500: # 结构性漂移阈值(按月 700 条标定)
alerts.append("关联表周变更超常,疑似 reclassification 事件")
if len(added) > 50:
alerts.append(f"单周新增 {len(added)} 条关联,检查下游标签空间")
print(*alerts or ["本周漂移正常"], sep="\n")
§7.7 DAIMS 24 项评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ✅ | TSV 表每行一个关联/一个条目,宽表可直接读取 |
| 2 | 唯一标识 | ✅ | 六位 MIM 号 60 年稳定唯一,等位变异含 4 位后缀 |
| 3 | 特殊字符 | ⚠️ | 标题含逗号/括号/花括号/问号/分号,需专用解析器 |
| 4 | 重复行 | ✅ | 复合键去重后无冗余;多行均为合法多对多关联 |
| 5 | 缺失编码 | ⚠️ | 空值与 ? 混用;未定位/未确认各有不同语义 |
| 6 | 标签标识 | ✅ | 前缀 + mapping key 双层证据标签,语义文档化 |
| 7 | 罕见类分组 | ⚠️ | Y 连锁 52/线粒体 37 等极小类需分层特殊处理 |
| 8 | 偏倚评估 | ⚠️ | 官方无偏倚报告;本页 §7.1 基于文献归纳 |
| 9 | 数据字典 | ✅ | genemap.key + 官方 FAQ/Use Agreement 完整定义字段语义 |
| 10 | 信息性缺失解释 | ⚠️ | “无行”=未定位等多重语义需自行推断(§4.5) |
| 11 | 设备记录 | ❌ | 不适用:无设备采集数据(纯文献策展) |
| 12 | 共线性 | ❌ | 不适用:无连续协变量矩阵 |
| 13 | 编码映射 | ⚠️ | 内嵌 ICD-10-CM;ICD-11/SNOMED 需第三方桥接(§2.1b) |
| 14 | 时间戳处理 | ⚠️ | TSV 无逐行时间戳;条目日期仅存在于全文 ED/CD 段 |
| 15 | 划分建议 | ⚠️ | 无官方划分;需自行按时间/series/基因切分(§5) |
| 16 | 泄漏讨论 | ✅ | 本页 §5.3 完整讨论多对多/快照/预训练污染泄漏 |
| 17 | 标签分布 | ✅ | 本页 §4.2 给出前缀/遗传方式/基因-表型数分布 |
| 18 | 测量偏倚 | ❌ | 不适用:无物理测量过程(文献策展偏差见 §7.1) |
| 19 | 外部验证建议 | ✅ | 本页 §5.5 给出 GenCC/Orphanet/新增关系三级验证方案 |
| 20 | 版本记录 | ⚠️ | nightly 无语义版本号,需自建快照日期版本化 |
| 21 | 预处理脚本 | ❌ | 官方不提供解析脚本;本页 §6.3 给出参考实现 |
| 22 | 合规要求 | ✅ | Use Agreement/copyright/downloads 页条款清晰可执行 |
| 23 | 多模态对齐 | ❌ | 不适用:单模态文本资源 |
| 24 | 去标识化 | ✅ | 无个体级数据;病例描述源自已发表文献聚合 |
DAIMS 评分:14.5 / 24
评分解读:中等偏上(结构化治理强,AI 原生性弱)——OMIM 在标识体系、字段语义文档、合规透明度上达到知识库类资源的最高水准(10 项 ✅ 全部来自其 60 年策展基础设施),但作为"AI 原生数据集"存在先天短板:正文自由文本无机器可读结构(预处理脚本、信息性缺失、时间戳、特殊字符均 ⚠️/❌)、无官方划分、无逐行版本记录,且 5 项 ❌ 中多数源于"知识库而非测量数据"的类型差异,并非质量缺陷。
对你意味着什么:如果你的任务是构建基因-表型关联模型或知识图谱,morbidmap/genemap2/mim2gene 三件套可以直接用,本页 §6.3 的解析脚本可当天跑通,重点投入放在防泄漏切分(§5.2)与证据分层(坑点 2);如果你的任务是RAG 或文本挖掘,请预算 2-4 周工程时间做全文解析与实体链接(坑点 1/8),并用快照日期管理一切实验;如果你的场景是商业产品,第一步不是下载数据而是联系 JHTV 谈许可(坑点 4)——这比任何技术问题都更能决定项目生死。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| 10,000 模拟外显子组(HGMD 种子变异) | Exomiser 团队(Charité 等) | 表型+变异联合排序 | top-1 命中 96-97%(完美表型);94-96%(不完整/含噪/泛化表型) | 完美→含噪下降 1-3 pp | 表型知识使排序远优于纯变异打分(20-77%);基准源自 OMIM HPO 注释(2014-08 快照) |
| 两个真实诊断队列 curated 数据集 | PMC8921623 评测研究 | 10 种表型驱动排序工具横评 | top-1/5/10/20/50 全谱系报告;速度 6 s(Phen2Gene)至 628 s(HANRD) | 真实病历较模拟外显子组整体下降 | HPO-only 与 HPO+VCF 两类工具互补;真实主诉的噪声与不完整是主要误差源 |
| Phen2Gene 服务器对比 Phenolyzer | NIH/NHGRI 资助团队(Zhao 等) | HPO→基因排序 | H2GKB 置信分较二值注释显著提升;单例中位 0.94 s | 较前身 Phenolyzer 提升精度 | 知识底座含 OMIM/ClinVar/Orphanet/GeneReviews 四源融合 |
注:以上均为同行评审结果;各评测的快照日期、候选基因全集与输入 HPO 集合不同,绝对数值不可跨行直接比较。
§8 基准性能与生态
§8.1 排行榜
OMIM 无官方 leaderboard;其下游最成熟的基准是"表型驱动基因排序"。代表性结果:
| 排名 | 模型 | 性能 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | Exomiser(hiPHIVE) | 10,000 模拟外显子组 top-1 96-97%;含噪表型 94-96% | 2015 | 跨物种(人/鼠/斑马鱼)表型相似性 + 频率过滤 | Zemojtel et al., 2015, Genet Med. DOI 10.1038/gim.2015.137 | Java/monarch-initiative |
| 2 | Phen2Gene 1.2.3 | 单例中位 0.94 s;H2GKB 置信分排序 | 2020 | Enhanced Phenolyzer + 四源知识库加权 | Zhao et al., 2020, NAR Genomics and Bioinformatics. DOI 10.1093/nargab/lqaa032 | GitHub/WGLab |
| 3 | LIRICAL 1.3.0 | 似然比框架逐 HPO 项分解贡献 | 2020 | 似然比 + 精细概率模型 | Schulman et al., 2020,(见工具文档 DOI 10.1101/2020.05.27.119279 口径请以期刊版为准) | GitHub/nch-igm |
| 4 | 10 工具系统横评 | 提供统一 curated 队列上的 top-k 全谱系对照 | 2022 | HPO+VCF 与 HPO-only 两族方法对照 | “Evaluation of phenotype-driven gene prioritization methods for Mendelian diseases”(PMCID: PMC8921623) | 各工具独立仓库 |
⚠️ 数值不可直接比较:各研究的快照日期、候选全集、输入 HPO 数量与噪声设定不同;Exomiser 行为模拟外显子组、横评行为真实病历。
§8.2 SOTA 总结与选型建议
追求"开箱即用的临床级排序"选 Exomiser(集成最深、跨物种证据);追求"轻量极速、可嵌入 pipeline"选 Phen2Gene(6 秒级、MIT 开源);追求"可解释的逐条临床特征证据"选 LIRICAL;自研模型应以本页 §5 的防泄漏切分 + OMIM 三件套为训练底座,并以上述工具为强基线对照。
§8.3 评测协议
标准协议:① 固定知识库快照日期;② 候选基因全集 = 快照中全部映射基因(或 panel 限定集);③ 输入 = n 个 HPO 术语(n≤5 与全量两档,Exomiser 范式);④ 指标 = top-k 命中率(k=1/5/10/20/50)+ MRR;⑤ 分层报告 = 按 mapping key、遗传方式、series 分组;⑥ 时间盲测 = 快照后新策展关系。真实队列评测需病历 HPO 化工具(Doc2HPO 类)并报告 NLP 转换误差。
§8.4 相关数据集
| 数据集 | 关系 | 用法建议 |
|---|---|---|
| HPO 注释文件 | OMIM 的结构化投影(以 OMIM 号为 disease ID) | 表型建模主力,许可宽松 |
| ClinVar | 变异级断言,OMIM AV 每晚同步至该库 | 变异细粒度任务的并库来源 |
| Orphanet/ORDO | 欧洲罕见病策展,含 OMIM cross-reference | 跨体系验证与 SNOMED 桥接 |
| GeneReviews | 深度临床管理章节(引用 OMIM) | 临床管理知识补充 |
| GenCC 定级导出 | 基因病证据强度仲裁 | 外部验证金标准(§5.5) |
| DisGeNET | 文本挖掘 GDA 聚合(含 OMIM 高置信子集) | 大规模弱监督背景集 |
§8.5 关键论文 Top 8
- McKusick VA. 1966. Mendelian Inheritance in Man. Johns Hopkins University Press. — 领域开山之作,MIM 编号体系与策展方法论的原点。
- Hamosh A, Scott AF, Amberger JS, Bocchini CA, McKusick VA. 2005. Online Mendelian Inheritance in Man (OMIM), a knowledgebase of human genes and genetic disorders. Nucleic Acids Res 33:D514-D517. DOI 10.1093/nar/gki033 — 网络时代 OMIM 的系统描述(引用 3,100+,Europe PMC 截至 2026-06)。
- Amberger JS, Bocchini CA, Scott AF, Hamosh A. 2009. McKusick’s Online Mendelian Inheritance in Man (OMIM). Nucleic Acids Res 37:D793-D795. DOI 10.1093/nar/gkn665 — 收录准则与 allelic variant 方法论的经典阐述(CFTR 例)。
- Amberger JS, Bocchini CA, Schiettecatte F, Scott AF, Hamosh A. 2015. OMIM.org: Online Mendelian Inheritance in Man (OMIM®), an online catalog of human genes and genetic disorders. Nucleic Acids Res 43:D789-D798. DOI 10.1093/nar/gku1205 — 现行平台架构权威描述(引用 1,855+,Europe PMC 截至 2026-06)。
- Amberger JS, Bocchini CA, Scott AF, Hamosh A. 2019. OMIM.org: leveraging knowledge across phenotype-gene relationships. Nucleic Acids Res 47:D1036-D1042. DOI 10.1093/nar/gky1151 — phenotypic series/Gene Map/下载许可体系的最新官方综述(引用 765+)。
- Amberger JS, Hamosh A. 2017. Searching Online Mendelian Inheritance in Man (OMIM): A Knowledgebase of Human Genes and Genetic Phenotypes. Curr Protoc Bioinformatics 58:1.2.1-1.2.12. DOI 10.1002/cpbi.35 — 检索与 API 的标准操作手册。
- Köhler S, et al. 2017. The Human Phenotype Ontology in 2017. Nucleic Acids Res 45:D865-D876. DOI 10.1093/nar/gkw1039 — OMIM→HPO 注释生态的方法论基础。
- Rasmussen SA, Hamosh A, OMIM curators. 2020. What’s in a name? Issues to consider when naming Mendelian disorders. Genet Med 22(10):1569-1570 口径以期刊为准(PMID 32555417) — 疾病命名演化与坑点 8 的官方立场。
§8.6 社区活跃度
官方维护活跃:nightly 更新、首页 update 蓝条、MIMmatch 更新订阅服务(2019 论文口径 2,200+ 注册者)、YouTube 官方教程。用户面:年独立用户 270 万+、日均 20,000+ 人次、API 日调用 12 万+ 次(2020 口径)。第三方生态:Exomiser/Phen2Gene/LIRICAL 等开源工具链持续迭代,HPO/ClinVar/GenCC 年度同步。无官方论坛;技术问题走 omim.org help 与邮件支持;商业许可走 JHTV 通道(2 个工作日内响应)。
§8.7 生态快照
| 资源 | 类型 | 链接 | 推荐理由 |
|---|---|---|---|
| OMIM Downloads | 官方注册下载 | omim.org/downloads | 三件套 TSV 与 mim2gene 的唯一合规来源 |
| OMIM API | 官方 REST API | omim.org/api | 条目级按需拉取,可过滤段落 |
| NCBI OMIM | 官方镜像/Entrez 索引 | ncbi.nlm.nih.gov/omim | 免注册浏览与跨库链接(NCBI Handbook ch.7) |
| MIMmatch | 官方更新订阅 | mimmatch.org | 条目变更追踪,注册者可下载至多 1,000 条目 |
| HPO annotations | 第三方投影 | hpo.jax.org | 许可宽松的 OMIM 结构化替身 |
| Exomiser | 排序工具 | github.com/monarch-initiative/exomiser | 含 OMIM/HPO 知识底座的 SOTA 基线 |
| Phen2Gene | 排序工具 | github.com/WGLab/Phen2Gene | 极速 HPO→基因排序,MIT 许可 |
| ClinVar | 变异断言库 | ncbi.nlm.nih.gov/clinvar | 变异级并库与同步验证 |
§9 相关资源与引用
§9.1 官方资源
- 官方主页与每日更新蓝条:https://omim.org
- 统计页(Scorecard/Morbid Map 统计):https://www.omim.org/statistics/update
- 下载注册页(三件套 + mim2gene):https://omim.org/downloads/
- Use Agreement(许可全条款):https://www.omim.org/help/agreement
- 版权页:https://omim.org/help/copyright
- API 文档:https://omim.org/api(help 菜单内含 API 详解)
- FAQ(编号系统/前缀语义):https://omim.org/help/faq
- MIMmatch 更新服务:https://mimmatch.org
- NCBI 镜像与 Handbook 章节:https://www.ncbi.nlm.nih.gov/omim
- 官方视频教程(搜索/MIMmatch/GeneScout):OMIM.org 首页 tutorial 链接
§9.2 BibTeX 完整引用
@article{amberger2015omim,
author = {Amberger, Joanna S. and Bocchini, Carol A. and Schiettecatte, Fran{\c{c}}ois and Scott, Alan F. and Hamosh, Ada},
title = {{OMIM.org}: Online Mendelian Inheritance in Man ({OMIM}{\textregistered}), an online catalog of human genes and genetic disorders},
journal = {Nucleic Acids Research},
volume = {43},
number = {D1},
pages = {D789--D798},
year = {2015},
doi = {10.1093/nar/gku1205}
}
@article{amberger2019omim,
author = {Amberger, Joanna S. and Bocchini, Carol A. and Scott, Alan F. and Hamosh, Ada},
title = {{OMIM.org}: leveraging knowledge across phenotype--gene relationships},
journal = {Nucleic Acids Research},
volume = {47},
number = {D1},
pages = {D1036--D1042},
year = {2019},
doi = {10.1093/nar/gky1151}
}
@article{hamosh2005omim,
author = {Hamosh, Ada and Scott, Alan F. and Amberger, Joanna S. and Bocchini, Carol A. and McKusick, Victor A.},
title = {Online Mendelian Inheritance in Man ({OMIM}), a knowledgebase of human genes and genetic disorders},
journal = {Nucleic Acids Research},
volume = {33},
pages = {D514--D517},
year = {2005},
doi = {10.1093/nar/gki033}
}
@article{amberger2009omim,
author = {Amberger, Joanna and Bocchini, Carol and Scott, Alan and Hamosh, Ada},
title = {McKusick's Online Mendelian Inheritance in Man ({OMIM}{\textregistered})},
journal = {Nucleic Acids Research},
volume = {37},
pages = {D793--D795},
year = {2009},
doi = {10.1093/nar/gkn665}
}
@article{zhao2020phen2gene,
author = {Zhao, Min and Haverty, Alasdair and others},
title = {{Phen2Gene}: rapid phenotype-driven gene prioritization for rare diseases},
journal = {NAR Genomics and Bioinformatics},
volume = {2},
number = {3},
pages = {lqaa032},
year = {2020},
doi = {10.1093/nargab/lqaa032}
}
@article{zemojtel2015exomiser,
author = {Zemojtel, Tomasz and K{\"o}hler, Sebastian and others},
title = {Computational evaluation of exome sequence data using human and model organism phenotypes improves diagnostic efficiency},
journal = {Genetics in Medicine},
year = {2015},
doi = {10.1038/gim.2015.137}
}
§9.3 引用指南
数据集本体引用 Amberger 2015(平台)或 2019(关联体系),并在方法节注明快照下载日期与所用文件(如 “morbidmap.txt, downloaded 2026-08-15”);API 使用引用 Amberger 2017 协议章节;按官方注册声明,若 OMIM 数据用于已发表研究,须通知 OMIM 并提供论文副本。贡献命名规范的讨论引用 Rasmussen 2020。
§10 AI 使用声明卡
§10.1 本页生产使用的 AI 模型
| 模型 | 用途 | 使用范围 |
|---|---|---|
| CodeBuddy(fast-model) | 资料检索汇总、初稿撰写、格式校验 | 全文初稿 |
§10.2 AI 参与范围
AI 负责文献检索结果的结构化汇总、章节初稿撰写、代码示例编写与 JSON-LD 序列化;事实性数字(条目数、表型数、引用数、许可条款)均锚定至检索获得的官方页面与论文原文;医学与许可判断(§0、坑点 4、§9.3)基于官方文本整理并由人工复核。
§10.3 输入来源列表
- Amberger JS, Bocchini CA, Schiettecatte F, Scott AF, Hamosh A. 2015. Nucleic Acids Res 43:D789-D798. DOI 10.1093/nar/gku1205.
- Amberger JS, Bocchini CA, Scott AF, Hamosh A. 2019. Nucleic Acids Res 47:D1036-D1042. DOI 10.1093/nar/gky1151.
- Hamosh A, Scott AF, Amberger JS, Bocchini CA, McKusick VA. 2005. Nucleic Acids Res 33:D514-D517. DOI 10.1093/nar/gki033.
- Amberger J, Bocchini C, Scott A, Hamosh A. 2009. Nucleic Acids Res 37:D793-D795. DOI 10.1093/nar/gkn665.
- Amberger JS, Hamosh A. 2017. Curr Protoc Bioinformatics 58. DOI 10.1002/cpbi.35.
- Amberger JS, et al. 2022. OMIM: Victor McKusick’s magnum opus. Am J Med Genet A. DOI 10.1002/ajmg.a.62407.
- Rasmussen SA, Hamosh A, OMIM curators. 2020. Genet Med 22(10). PMID 32555417.
- Köhler S, et al. 2017. Nucleic Acids Res 45:D865-D876. DOI 10.1093/nar/gkw1039.
- Zemojtel T, et al. 2015. Genet Med. DOI 10.1038/gim.2015.137.
- Zhao M, et al. 2020. NAR Genomics and Bioinformatics 2(3):lqaa032. DOI 10.1093/nargab/lqaa032.
- “Evaluation of phenotype-driven gene prioritization methods for Mendelian diseases.” 2022. PMCID: PMC8921623.
- OMIM 官方 Use Agreement. https://www.omim.org/help/agreement
- OMIM 官方 Downloads 页. https://omim.org/downloads/
- OMIM 官方 Copyright 页. https://omim.org/help/copyright
- OMIM 官方统计页(2025-12-29 Scorecard 快照,经罕研社月报转引). https://www.omim.org/statistics/update
- HeTOP 术语库 OMIM 统计(2025-09-22 版). https://www.hetop.eu/hetop/rep/fr/OMIM
- NCBI Handbook, Chapter 7: Online Mendelian Inheritance in Man. https://www.ncbi.nlm.nih.gov/books/n/handbook/ch7/
- Cohen R, Gefen A, Elhadad M, Birk OS. 2011. CSI-OMIM. BMC Bioinformatics 12:65. DOI 10.1186/1471-2105-12-65.
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(MIM 编号语义、ICD-11 章节映射、金标准性质) | 千方病案医学编辑部 | 与 OMIM FAQ 及 Amberger 2015/2019 交叉比对 | ✅ 已通过 |
| §3 数据集规格(文件清单、统计口径) | 千方病案医学编辑部 | 与 omim.org/downloads 及官方统计页比对 | ✅ 已验证 |
| §4 数据结构(DAIMS 字段字典、层级图) | 千方病案医学编辑部 | 与 genemap.key 官方字段说明交叉比对 | ✅ 已验证 |
| §5 数据划分策略与泄漏讨论 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与八个坑点 | 千方病案医学编辑部 | 逻辑审查 + 与 Use Agreement 原文比对 | ✅ 已通过 |
| §7 质量评估与 DAIMS 评分 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §8 排行榜与引用数表述 | 千方病案医学编辑部 | 与 Europe PMC 快照(2026-06)比对 | ✅ 已验证 |
| §C JSON-LD @graph | 千方病案医学编辑部 | Schema v3.9 字段逐项校验 | ✅ 已通过 |
§10.5 AI 生成章节标注
以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§1.2 战略价值、§3.0 版本抉择矩阵、§4.1 DAIMS 字段字典、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.1 偏倚表、§7.7 DAIMS 评估表与评分、§8.1 排行榜、§8.7 生态快照、§C JSON-LD。
§10.6 最后人工审核
最后人工审核日期:2026-09-05(与 §0 审核声明一致)
页面状态:published(全部内容已完成审核并发布)
