ITADN
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

疾病机制知识库 (dismech)

一个经过整理的疾病病理生理学知识库,包含来自文献的结构化证据。

⚠️ 免责声明:由 AI 整理,并非医疗建议

  • DisMech 由 AI 整理并由 AI 维护。 大部分内容由 AI 整理代理生成和维护,人工审查作为拉取请求的门槛。自动化验证保证引用存在、引用的片段准确无误且本体术语真实存在——但这保证科学正确性。
  • DisMech 并非医疗建议。 本资源的内容不旨在为医疗诊断或治疗提供信息。DisMech 页面中包含的任何陈述或方法,纯粹是对公开可获取的文献、数据及其他经过整理的生物医学知识资源应用生成方法和人工审查的结果。如果您有健康方面的担忧,请咨询合格的医疗保健专业人员。

完整声明:docs/disclaimer.md · 理由:设计决策 §11

浏览知识库

在线查看所有疾病

每个疾病页面包含:

  • 疾病机制和病理生理学
  • 带有 HPO 术语链接的临床表型
  • 遗传因素和变异
  • 带有 NCIT 术语链接的治疗选项
  • 所有声明均由 PubMed 证据支持

工作原理

项目概览幻灯片

事实来源:YAML 文件

知识库以结构化 YAML 文件的形式存储在 kb/disorders/ 中。每种疾病都有自己独立的文件(例如,Asthma.yaml),其中包含:

name: Asthma
pathophysiology:
  - name: Airway Inflammation
    description: Chronic inflammation of the airways
    biological_processes:
      - preferred_term: inflammatory response
        term:
          id: GO:0006954
          label: inflammatory response
    evidence:
      - reference: PMID:12345678
        supports: SUPPORT
        snippet: "Exact quote from the paper"
        explanation: "Why this supports the claim"
phenotypes:
  - name: Wheezing
    frequency: FREQUENT
    phenotype_term:
      preferred_term: Wheezing
      term:
        id: HP:0030828
        label: Wheezing
treatments:
  - name: Bronchodilators
    description: Relax airway smooth muscle
    treatment_term:
      preferred_term: respiratory tract agent therapy
      term:
        id: NCIT:C15986
        label: Pharmacotherapy

本体绑定

实体链接到权威本体:

  • 表型:人类表型本体(HP)
  • 细胞类型:细胞本体(CL)
  • 生物过程:基因本体(GO)
  • 疾病:Mondo 疾病本体(MONDO)
  • 治疗:NCI 术语表(NCIT)
  • 解剖学:Uberon(UBERON)

证据要求

所有声明必须引用带有精确引文的 PubMed 参考文献。这可以防止错误信息并便于验证。

验证流水线

多层自动化验证确保数据质量并防止 AI 幻觉:

  1. 模式验证:确保 YAML 结构符合 LinkML 模式
  2. 本体术语验证:验证术语 ID 存在且标签与权威来源(HPO、MONDO、GO 等)匹配
  3. 参考文献验证:确认引用的片段确实出现在所引用的 PubMed 摘要中
  4. 合规性分析:衡量推荐字段(描述、证据、本体术语)的覆盖率
# Run schema + term validation
just qc

# Validate a single file
just validate kb/disorders/Asthma.yaml

# Validate references against PubMed abstracts
just validate-references kb/disorders/Asthma.yaml

# Analyze compliance with recommended field coverage
just compliance-all

# Compliance with weighted scoring and threshold checks
just compliance-weighted

为什么参考文献验证很重要

所有证据片段必须是论文摘要中的精确引用,而非改写。参考文献验证器会从 PubMed 获取摘要,并检查所引用的文本是否逐字出现。这可以捕获:

  • 与实际论文不匹配的 AI 生成改写
  • 错误的 PMID(例如,指向无关论文的 PMID)
  • 捏造的引用

当验证失败时,要么修正片段以匹配实际摘要,要么删除该证据项。

质量控制仪表板

生成一个可视化仪表板,显示所有疾病文件的合规性指标:

just gen-dashboard

这将创建 dashboard/index.html,包含:

  • 摘要指标(分析的文件数、平均合规性、违规项)
  • 一份专门的 capability_metrics.html 报告,包含聚合覆盖率、证据、本体、机制、治疗及合规性指标
  • 插槽合规性对比图表
  • 合规性最低的 10 个文件的详细视图(优先整理目标)
  • 按合规性排序的所有文件的完整表格
  • 一份专门的 not_yet_curated.html 报告,列出引用了但尚未拥有本地 DisMech 页面的 MONDO 疾病
  • 一份专门的 priority.html 报告,对 MONDO 整理候选项进行排名,并提供操作建议和覆盖率摘要

在线查看:QC Dashboard 或本地查看:open dashboard/index.html

仅生成 MONDO 整理优先级视图:

just gen-priority-dashboard

生成一个仅限本地使用的仪表板,涵盖所有未整理的 MONDO 疾病后代:

just gen-priority-dashboard-all-mondo

这会将大型工件写入 tmp/priority-dashboard-all-mondo/,使其保持 被 git 忽略的状态,避免意外提交到 GitHub。

HTML 生成

YAML 文件会被渲染为可浏览的 HTML 页面,并包含可点击的本体术语链接。

uv run python -m dismech.render --all

CX2 导出至 NDEx

疾病病理图也可以导出为 CX2 网络,以便发布到 NDEx。

# Write CX2 JSON to a file
uv run dismech-cx2 kb/disorders/Stargardt_Disease.yaml -o Stargardt_Disease.cx2.json

# Same flow via justfile target
just export-cx2 kb/disorders/Stargardt_Disease.yaml -o Stargardt_Disease.cx2.json

# Export all disorders to a directory, skipping those with no pathograph edges
just export-cx2-all -o /tmp/cx2

# Upload directly to NDEx using env vars
export NDEX_USERNAME=...
export NDEX_PASSWORD=...
uv run dismech-cx2 kb/disorders/Stargardt_Disease.yaml --ndex-upload

# Bulk upload all disorders to the NDEx test server
export NDEX_USERNAME=...
export NDEX_PASSWORD=...
just upload-cx2-test-all

dismech-cx2 使用现有的 pathograph 图模型,保留节点和边元数据, 并应用确定性布局,使上传的网络可立即在 NDEx 中查看。如果可用 Graphviz 和 pydot,且希望使用 Graphviz 布局而非内置的分层布局,请添加 --dot-layout。NDEx 上传的默认可见性为 PUBLIC,且 just 上传目标默认将主机设置为 https://test.ndexbio.org

Agentic Curation Guide

本知识库使用 Claude Code 进行策展——一个了解模式、验证本体术语并对照 PubMed 摘要检查证据的 AI 智能体。开始策展有两种方式:

路线 1:克隆仓库并使用 Claude Code CLI

最适合希望完全控制、使用深度研究提供商并进行迭代策展会话的高级用户。

先决条件: Claude Pro/Max 订阅以及已安装 just安装)。

# 1. Clone and enter the repo
git clone https://github.com/monarch-initiative/dismech.git
cd dismech

# 2. Launch Claude Code
claude

# 3. Ask it anything — or run a curation skill directly
> Give me a tour of the dismech project
> What disorders are missing ontology terms?
> /curate Parkinson Disease

/curate 命令会触发完整的策展工作流:深入的文献研究、YAML 生成、本体术语绑定、证据验证,以及一个可供审阅的 PR。

您还可以向代理提出开放式问题、请求针对性编辑或运行 QC:

> Add NCIT treatment terms to the Asthma entry
> Validate references in kb/disorders/Lupus.yaml
> Which files have the lowest compliance scores?

可选 — 深度研究提供商:

对于叙事风格的深度研究,请设置一个 Edison Scientific API 密钥:

export EDISON_API_KEY=your_key_here

要通过 Asta 进行文献检索式检索,请从 Allen AI Asta 申请 API 密钥并导出:

export ASTA_API_KEY=your_key_here

然后运行:

just research-disorder asta Liver_Cirrhosis

Asta 的输出通常是文献包,而非经过润色的叙述性报告: 它们优先考虑相关论文、摘要、片段以及 PMID/DOI 等元数据。

路线 2:在网页上使用 Claude Code

最适合快速贡献 — 无需本地配置。

  1. Go to claude.ai/code
  2. Open the monarch-initiative/dismech repository
  3. Set up an environment with the following settings:
    • Allow access to external websites — needed for fetching PubMed abstracts, ClinicalTrials.gov data, and ontology lookups
    • Set EDISON_API_KEY — for deep literature research via Edison Scientific (sign up → Account → Profile → Create new token)
  4. Interact with the agent in the web UI — ask questions, request edits, or run /curate
  5. When you're done, click the Create pull request button to submit your changes for review

就是这样。Web UI 会自动处理 git 分支、提交和 PR 创建。

整理过程中会发生什么

无论您使用哪条路径,代理都遵循相同的工作流:

  1. Research — 从文献中收集病理生理学、表型、治疗方法和遗传因素
  2. Draft — 生成包含本体术语绑定和 PubMed 支持证据的结构化 YAML 文件
  3. Validate — 运行模式验证、本体术语检查和参考文献验证 (just qc)
  4. Submit — 提交更改并发起拉取请求以供人工审查

有关详细的贡献指南,请参阅 CONTRIBUTING.md.

Schema Documentation