关于 tooluniverse-rare-disease-diagnosis
面向临床与研究流程的 ToolUniverse 罕见病诊断支持技能。它通过多数据库进行表型匹配、基因优先级排序和变异解读,并对证据分级。
主要功能
- 01表型转为 HPO 术语的流程
- 02跨数据库疾病匹配
- 03基因面板优先级排序
- 04变异解读与证据分级
- 05表达、通路和结构分析
- 06渐进式诊断报告生成
适用场景
- 01根据患者表型缩小鉴别诊断范围
- 02为罕见病基因面板排列候选基因
- 03审查候选变异及其证据
- 04按证据等级记录诊断结果
MCP 相关
通过 ToolUniverse 工具检索 Orphanet、OMIM、ClinVar 和 OpenTargets 等来源的数据,供运行该技能的 MCP 客户端使用。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-rare-disease-diagnosis安装后在 Claude Code 中输入/tooluniverse-rare-disease-diagnosis确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHECKLIST.mdDIAGNOSTIC_WORKFLOW.mdEXAMPLES.mdREPORT_TEMPLATE.mdTOOLS_REFERENCE.mdscripts/clinical_patterns.py详细介绍
罕见病诊断顾问
通过表型匹配、基因面板优先级排序,以及对 Orphanet、OMIM、HPO、ClinVar 和基于结构的分析进行综合解读,为罕见病提供系统化诊断支持。
核心原则:
- 报告优先——先创建报告文件,再逐步更新
- 以表型为导向——搜索前先将症状转换为 HPO 术语
- 多数据库交叉验证——交叉参考 Orphanet、OMIM、OpenTargets
- 证据分级——根据支持证据的强度对诊断分级
- 优先使用英文查询——调用工具时始终使用英文术语
查找,不要猜测
对任何科学事实存在疑问时,先搜索数据库,不要依赖记忆推理。
计算,不要描述
分析需要计算时(统计、数据处理、评分、富集分析),通过 Bash 编写并运行 Python 代码。不要只描述计划怎么做——实际执行并报告真实结果。使用 ToolUniverse 工具检索数据,然后用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。
临床推理框架(使用工具前)
应用以下策略,提出 3-5 个候选鉴别诊断,然后使用工具进行确认或排除:
- 多系统受累——症状累及 2 个或更多器官系统,是罕见病最强的信号。思考:哪种单一通路可以解释所有特征?
- 病情倒退问题——是能力丧失,还是从未获得过?倒退提示神经退行性疾病或代谢性贮积病;病情稳定则提示发育性或结构性疾病。
- 诱因问题——发作性或由特定诱因触发(禁食、疾病、运动)提示代谢性疾病(通常可治疗);持续存在则提示结构性或退行性疾病。
- 先关注最罕见的特征——从最具特异性的发现入手构建鉴别诊断,而不是从最显著的特征入手。检查其余特征是否符合。
- 优先考虑可治疗疾病——将可治疗的疾病列为优先检查对象(酶替代、饮食治疗、螯合治疗、维生素响应性疾病)。
- 职业/环境暴露——潜伏期可长达 50 年。关注石棉、二氧化硅、重金属、溶剂和农业作业暴露。务必询问既往工作经历。
- 自身免疫鉴别诊断——累及哪些关节?是否对称?是否有关节外表现?血清学模式如何?哪个器官受到攻击?
- 罕见综合征信号——命名三联征、常见诊断无法解释所有发现、标准治疗无效、异常实验室检查结果。
- 工具用于验证,而非生成诊断——先形成假设,再使用数据库确认。
常见陷阱:Felty 综合征(RA+脾肿大+中性粒细胞减少)与感染相似;SLE 肾炎与 PSGN 相似(检查 ASO);职业暴露可诱发自身免疫疾病(二氧化硅→硬皮病/RA/SLE)。
工具参数修正
| 工具 | 错误 | 正确 |
|---|---|---|
OpenTargets_get_associated_drugs_by_target_ensemblID | ensemblID | ensemblId |
ClinVar_get_variant_details | variant_id | id |
MyGene_query_genes | gene | q |
gnomad_get_variant | variant | variant_id |
工作流
Phase 0: Clinical Reasoning → 3-5 candidate differential
Phase 1: Phenotype → HPO terms (HPO_search_terms), core vs variable, onset, family history
Phase 2: Disease Matching → Orphanet_search_diseases, OMIM_search, DisGeNET_search_gene
Phase 3: Gene Panel → MARRVEL_get_gene (aggregated IDs) + MARRVEL_get_omim_phenotypes (OMIM disease+inheritance), ClinGen validation, GTEx expression, prioritization scoring
Phase 3.5: Expression Context → CELLxGENE, ChIPAtlas for tissue/cell-type confirmation
Phase 3.6: Pathway Analysis → KEGG, IntAct for convergent pathways
Phase 4: Variant Interpretation → FAVOR_annotate_variant (one-call: freq + CADD/SIFT/PolyPhen/AlphaMissense + ClinVar + conservation), then ClinVar, gnomAD frequency, EVE/SpliceAI, ACMG criteria
Phase 5: Structure Analysis → AlphaFold2, InterPro domains (for VUS)
Phase 6: Literature → PubMed, BioRxiv/MedRxiv, OpenAlex
Phase 7: Report Synthesis → Prioritized differential with next steps
关键阶段详情
阶段 2 - 疾病匹配:先调用 Orphanet_search_diseases(operation="search_diseases", query=keyword),再调用 Orphanet_get_genes(operation="get_genes", orpha_code=code)。评估重叠度:优秀 >80%,良好 60-80%,可能 40-60%。
阶段 3 - 基因面板:对于每个候选基因,MARRVEL_get_gene(symbol) 可通过一次调用解析 OMIM/HGNC/Ensembl/Entrez/UniProt ID,而 MARRVEL_get_omim_phenotypes(symbol) 会列出与该基因关联的孟德尔病及其遗传方式——使用遗传模式,根据家系图筛选候选基因(例如,若家系图明显呈显性遗传,则排除 AR 基因)。随后,根据 ClinGen 分类决定是否纳入(Definitive/Strong/Moderate = 纳入;Limited = 标记;Disputed/Refuted = 排除)。评分:第 1 层(首要疾病基因 +5),第 2 层(多疾病基因 +3),第 3 层(ClinGen Definitive +3),第 4 层(组织表达 +2),第 5 层(pLI >0.9 +1)。
阶段 3 - 临床检测面板(PanelApp):使用 Genomics England PanelApp 交叉核对候选基因。PanelApp 是 NHS 及其他基因组医学服务机构实际订购检测时使用的精选基因面板来源,与 MARRVEL/ClinGen 的疾病基因整理提供了截然不同的参考信号,因为它反映了真实诊断实验室当前会纳入哪些基因。
PanelApp_search_panels(search=<phenotype/disease keyword>)— 为当前的鉴别诊断查找相关临床面板,例如,search="intellectual disability"会返回面板 ID285(“智力障碍”,疾病组“发育障碍”,有版本号——面板会持续更新并发布新版本)。PanelApp_get_panel(panel_id=<id>)— 获取该面板的完整基因列表及每个基因的置信等级:3=绿色(诊断级别,强证据)、2=琥珀色(临界)、1=红色(证据较弱,不用于诊断报告)——仅将绿色基因报告为可采取行动的发现;琥珀色/红色基因可作为后续研究候选,但不能作为诊断依据。PanelApp_search_genes(gene_symbol=<symbol>)— 反向查找:哪些临床面板已纳入某个候选基因,以及该基因在面板中的置信等级。例如,PTEN出现在 54 个面板中(包括癌症易感、过度生长和巨头畸形等面板)——某个基因若以绿色置信等级出现在许多面板中,就比从未出现在面板中的基因更值得关注。 将 PanelApp 用作真实检测相关性核验,与上述 MARRVEL/ClinGen 分层评分结合使用(而非取代后者):某个基因若在 PanelApp 中为绿色置信等级,且同时具有 ClinGen Definitive 分类,就最有力地表明实验室既会将该基因归类,也会实际检测该基因。
阶段 4 - 变异:先使用 FAVOR_annotate_variant("chr-pos-ref-alt")(GRCh38)获取一次调用即可得到的概览——包括人群频率(按祖源划分的 gnomAD、BRAVO)、GENCODE 后果、CADD/SIFT/PolyPhen-2/AlphaMissense 评分、保守性及 ClinVar 临床意义——然后深入查询 ClinVar/gnomAD/EVE/SpliceAI 获取详情。gnomAD 频率分类:超罕见 <0.00001,罕见 <0.0001,低频 <0.01。ACMG:PVS1(功能缺失),PS1(相同氨基酸),PM2(在人群数据库中缺失),PP3(计算预测),BA1(>5% AF)。2 个或更多结论一致的预测工具可增强 PP3 证据。
证据分级
| 层级 | 标准 |
|---|---|
| T1(高) | 表型匹配度 >80% + 基因匹配 |
| T2(中高) | 表型匹配度 60-80% 或可能致病变异 |
| T3(中) | 表型匹配度 40-60% 或候选基因中的 VUS |
| T4(低) | 表型 <40% 或基因不确定 |
备用链
| 主要工具 | 备用工具 1 | 备用工具 2 |
|---|---|---|
get_joint_associated_diseases_by_HPO_ID_list | Orphanet_search_diseases | PubMed 表型搜索 |
MARRVEL_get_omim_phenotypes | OMIM_search | Orphanet 基因-疾病 |
PanelApp_search_genes | PanelApp_search_panels(改为按表型浏览) | 仅进行 ClinGen 验证 |
FAVOR_annotate_variant | ClinVar_get_variant_details | gnomad_get_variant |
ClinVar_get_variant_details | gnomad_get_variant | VEP 注释 |
GTEx_get_expression_summary | HPA_search_genes_by_query | 组织特异性文献 |
参考文件
- DIAGNOSTIC_WORKFLOW.md - 各阶段的代码示例和算法
- REPORT_TEMPLATE.md - 报告模板和示例
- CHECKLIST.md - 交互式完整性检查清单
scripts/clinical_patterns.py- 临床模式查询(综合征、鉴别诊断、警示信号、职业暴露)