关于 tooluniverse-rare-disease-genomics
ToolUniverse 的罕见病基因组研究技能,面向遗传学和临床研究人员,按表型、疾病、基因到变异的顺序整合证据并筛选候选病因。
主要功能
- 01解析罕见病表型与遗传模式
- 02检索致病基因及疾病关联
- 03评估基因与疾病的关联强度
- 04查询 ClinVar 变异和群体频率
- 05结合表型优先级筛选变异
适用场景
- 01根据患者表型探索罕见病病因
- 02核查基因是否关联特定疾病
- 03筛选可能的致病变异
- 04查询疾病表型、流行病学或临床试验
MCP 相关
作为 ToolUniverse 技能,它通过 ToolUniverse 工具查询 Orphanet、HPO、GenCC、ClinVar 等罕见病研究数据;输入说明未描述 MCP 接口。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-rare-disease-genomics安装后在 Claude Code 中输入/tooluniverse-rare-disease-genomics确认已加载。
详细介绍
计算,而非描述
当分析需要计算(统计、数据处理、评分、信息丰富化)时,通过 Bash 编写并运行 Python 代码。不要描述你打算怎么做——直接执行并报告实际结果。使用 ToolUniverse 工具检索数据,然后用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。
罕见病基因组学研究
罕见病调查策略
调查顺序很重要:表型 -> 疾病 -> 基因 -> 变异,而不是反过来。从基因入手时,应反向推理:基因 -> 相关疾病 -> 预期表型 -> 患者是否匹配?
不要急于跳到 ClinVar。只有当基因确实是相关疾病的致病基因,且遗传模式正确时,ClinVar 中标注为“致病”的记录才有意义。
变异优先级判定推理(重要)
查证,不要猜测——对任何基因、变异或疾病关联有疑问时,都要查询数据库。不要依赖记忆。
如何从数千个变异中筛选出一个致病变异
-
先看遗传模式——通过 Orphanet_get_natural_history 查询遗传模式。这决定了筛选策略:
- 常染色体显性:查找单份拷贝中的杂合变异;若父母未受影响,则考虑新发变异
- 常染色体隐性:需要两个致病变异(纯合或复合杂合);检查父母是否为携带者
- X 连锁隐性:半合子男性患病;携带变异的女性通常不受影响
- 线粒体遗传:仅经母系遗传;异质性会增加外显率判断的复杂性
-
等位基因频率筛选——罕见病变异在人群中的频率应当很低:
- 显性疾病:gnomAD 中的等位基因频率 < 0.001(千分之一)
- 隐性疾病:携带者的等位基因频率 < 0.01(百分之一)
- 使用 Ensembl VEP 注释或 OpenTargets 变异信息查询 gnomAD 频率
- 查证实际频率——不要想当然地认为某个变异很罕见
-
后果层级——根据预测影响确定优先级:
- 功能缺失(移码、无义、剪接位点):最强候选
- 保守结构域中的错义变异:若位于已知功能结构域,则是有力候选
- 同义/内含子变异:通常为良性,除非位于剪接连接处——但“通常”这个词很关键:深部内含子变异仍可能因在远离典型边界的位置产生隐匿剪接位点而具有致病性,仅靠后果筛选无法发现这一点。如果深部内含子变异或其他未注释变异通过了第 1 至第 2 步(罕见、遗传模式正确、表型匹配),但后果标签看起来无害,不要急于排除——参见
tooluniverse-regulatory-variant-analysis,通过直接序列分析检查其是否确实会影响剪接、表达或其他调控指标。
-
何时查询 ClinVar、OMIM 和 gnomAD:
- ClinVar:“这个特定变异是否已知具有致病性?”检查审查星级(>=2 星 = 可靠)
- OMIM(通过 Orphanet/GenCC):“这个基因是否已知会导致该疾病?”应在查询 ClinVar 之前确认
- gnomAD(通过 VEP/OpenTargets):“这个变异是否过于常见,不可能导致罕见病?”检查等位基因频率
-
表型-基因型关联——确定候选基因后:
- 获取相关疾病的 HPO 表型(Orphanet_get_phenotypes)
- 检查患者的特征是否符合“非常常见”的表型
- 核心特征不匹配,说明该基因作为致病基因的可能性较低
- GenCC 有效性等级可说明该基因与疾病关联的总体证据强度
适用场景
- “马凡综合征的遗传病因是什么?”
- “查找与囊性纤维化相关的 HPO 表型”
- “埃勒斯-当洛斯综合征的患病率是多少?”
- “哪些基因与这种罕见病有关?”
- “FBN1 与马凡综合征的关联是否已得到确切证实?”
- “查找 CFTR 中的致病变异”
- “是否有针对戈谢病的临床试验?”
- “基因 FBN1 与哪些疾病有关?”
不适用于此场景(请改用其他技能)
- 常见疾病基因组学(2 型糖尿病、高血压)-> 使用
tooluniverse-disease-research - 癌症变异解读 -> 使用
tooluniverse-cancer-variant-interpretation - 基于 GWAS 的变异解读 -> 使用
tooluniverse-gwas-snp-interpretation - 药物基因组学 / 药物-基因相互作用 -> 使用
tooluniverse-pharmacogenomics - 根据症状进行鉴别诊断 -> 使用
tooluniverse-rare-disease-diagnosis
工作流概览
阶段 0:消歧(解析为 ORPHA 编码 / HGNC 符号)-> 阶段 1:疾病特征描述 -> 阶段 2:表型映射(HPO)-> 阶段 3:致病基因 -> 阶段 4:基因-疾病有效性(GenCC)-> 阶段 5:致病变异(ClinVar)-> 阶段 6:流行病学 -> 阶段 7:临床试验 -> 阶段 8:文献 -> 阶段 9:报告
阶段 0:消歧
在进行任何其他操作前,先将用户输入解析为规范的 Orphanet 标识符。许多疾病名称包含亚型或伞状综合征;如果选错,可能会导致结果具有误导性。
Orphanet_search_diseases:name(必填字符串,例如 "Marfan syndrome")、exact(布尔值,默认 False)、lang(字符串,默认 "en")。用于将名称解析为 ORPHA 编码的首选工具。参数为 name(不是 query)。会返回多个匹配项——请选择确切的疾病,而非亚型或伞状综合征。"Marfan syndrome" 应解析为 ORPHAcode 558,而不是 284993(“Marfan syndrome and Marfan-related disorders”)。
Orphanet_search_diseases:query(必填字符串)。如果首选工具没有返回结果,则使用此备用工具。
Orphanet_get_gene_diseases:gene_symbol(必填字符串,例如 "FBN1")。从基因开始查询时使用。返回与该基因相关的所有疾病,包括关联类型。
关键标识符格式:疾病代码为 ORPHAcode 整数(例如,Marfan 综合征的代码为 558);基因标识符为 HGNC 符号(例如,FBN1);表型使用 HPO CURIE 格式(例如,HP:0001519)。
阶段 1:疾病特征描述
Orphanet_get_disease:orpha_code(必填字符串,例如 "558")。返回官方 Orphanet 定义和同义词列表。
Orphanet_get_classification:orpha_code(必填字符串)。显示该疾病所属的疾病层级(例如,“罕见遗传病”“罕见眼科疾病”)。有助于了解这属于哪类罕见病。
Orphanet_get_natural_history:orpha_code(必填字符串)。返回 average_age_of_onset 和 type_of_inheritance。遗传方式(常染色体显性遗传、X 连锁隐性遗传等)是解读变异致病性和家族风险的重要背景信息。
Orphanet_get_icd_mapping:orpha_code(必填字符串)。映射到 ICD-10/ICD-11,适用于临床编码场景。
关于 Orphadata_* 工具的说明:另有一组规模较小的工具(Orphadata_get_disorder/_search_by_name/_get_epidemiology/_get_phenotypes),它们封装了相同的底层 Orphanet 数据,与上面的 Orphanet_* 工具组有大量重叠。Orphanet_* 更完整(10 个工具,而非 4 个,包含 Orphadata 不提供的基因关联、分类和自然史信息)——默认使用这组工具。只有在需要查询其与 MeSH/UMLS/MedDRA 的交叉引用时,才使用 Orphadata_get_disorder;Orphanet_get_icd_mapping 不涵盖这些交叉引用(它映射到 ICD-10/ICD-11/OMIM/SNOMED-CT)。
第 2 阶段:表型映射(HPO)
Orphanet_get_phenotypes:orpha_code(必填字符串)。返回 HPO 表型及其频率标签,并标明每项是否为正式诊断标准。
频率应作为解读依据:标记为“非常常见(99-80%)”的表型是几乎所有患者都具有的核心特征,在鉴别诊断中应给予较高权重。“常见(79-30%)”的表型是支持性特征。“偶见(29-5%)”反映了表现的差异性。“已排除(0%)”是主动排除标准——存在此类表型意味着不支持该诊断。
如果表型标记为 diagnostic_criteria: "Diagnostic criterion",则表示它属于该疾病的正式诊断框架,而不只是统计学关联。
使用 OLS 查询本体
需要按描述查找 HPO 术语或将 CURIE 解析为标签时,请使用 OLS 工具。传入 ontology="hp" 将范围限定为 HPO,传入 ontology="ordo" 查询 Orphanet 术语,传入 ontology="mondo" 查询 MONDO 疾病术语。
ols_search_terms:query(必填字符串)、ontology(字符串,可选)、rows(整数,别名 size,默认值为 10)、exact_match(布尔值,默认值为 False)。
ols_get_term_info:term_id(CURIE,例如 "HP:0001519")或 term_iri。会自动根据前缀推断本体——"HP:" 路由到 hp,"MONDO:" 路由到 mondo,"ORDO:" 路由到 ordo。
ols_get_term_children / ols_get_term_ancestors:term_id 或 term_iri、ontology(可选)。可用于查找 HPO 父类别,或拓宽/缩小表型搜索范围。
第 3 阶段:致病基因发现
Orphanet_get_genes:orpha_code(必填字符串,别名:disease_id)。返回基因及其关联类型和位点。
关联类型至关重要。“Disease-causing germline mutation(s) in”表示该基因已确认为病因——这是首要诊断目标。“Major susceptibility factor in”表示该基因为风险因素,且外显率不完全。“Candidate gene tested in”表示证据初步且尚未确认——没有 GenCC 或文献的额外验证时,不要将其报告为致病基因。“Modifying germline mutation in”表示该基因会影响疾病严重程度,但单独并不会导致该疾病。
不要将所有 Orphanet 基因关联一概而论。报告时务必注明关联类型。
第 4 阶段:基因-疾病有效性评估
GenCC 汇总了多个临床实验室和整理团队的独立评估。关键在于,提交者之间的共识比任何单一分类更重要。一名提交者给出“Definitive”评级,证据弱于三名独立提交者一致给出“Strong”评级。
GenCC_search_gene:gene_symbol(必填字符串,例如 "FBN1")。返回所有疾病关联及其分类和提交者。
GenCC_search_disease:disease(必填字符串,例如 "Marfan syndrome")。注意:参数是 disease(不是 disease_title)。返回该疾病的所有基因关联及其有效性级别。
分类级别从强到弱依次为:Definitive > Strong > Moderate > Limited > No Known Disease Relationship > Disputed > Refuted > Animal Model Only。“Disputed”表示存在相互矛盾的证据——不要将其报告为有效关联。“Refuted”表示先前声称的关联已被证伪。
报告 GenCC 结果时,务必注明:(1)最高分类;(2)有多少名提交者意见一致;(3)是否有提交者持不同意见。三名或更多提交者评为“Definitive”意味着置信度很高。只有一名提交者时,应始终标明需要独立验证。
阶段 5:致病变异查询
ClinVar_search_variants:gene(字符串,基因符号)、condition(字符串,疾病名称)、variant_id(字符串)、clinical_significance(字符串)、max_results(整数,默认值为 20,别名为 limit)。gene、condition 或 variant_id 中至少需要提供一个。主要参数是 gene(不是 query)。
将 gene 与 condition 结合使用,可按疾病查询变异。这会将结果缩小到在特定疾病背景下分类的变异,这对与多种疾病相关的基因尤为重要。
审查状态反映了分类的可信度。“Practice guideline”(4 星)和“reviewed by expert panel”(3 星)代表可信度最高的断言。“Criteria provided, multiple submitters, no conflicts”(2 星)较为可靠。“Criteria provided, single submitter”(1 星)可信度中等。“No assertion criteria provided”(0 星)应谨慎对待。
不要将 VUS(意义未明变异)报告为致病变异。VUS 表示证据不足以进行分类,并不意味着“可能致病”。默认返回 20 个变异;请查看 total_count,了解该基因中致病变异的完整范围。
ClinVar_get_variant_details:variant_id(必填)。获取特定 ClinVar 变异的完整详情。
ClinVar_get_clinical_significance:variant_id(必填)。返回临床意义摘要及提交者数量。
阶段 6:流行病学
Orphanet_get_epidemiology:orpha_code(字符串,必填)。按类型(时点患病率、年发病率、出生患病率)、地理区域和来源返回患病率估计值。
患病率低于 1/2,000 是欧盟/美国监管中“罕见病”的阈值。低于 1/100,000 属于少见病。低于 1/1,000,000 属于超罕见病。这些区别对于临床试验可行性、自然病程研究设计和监管路径讨论都很重要。
患病率数据可能因地理位置(创始者效应、近亲婚配率、病例发现方式)而显著不同,也可能已经过时。引用患病率数据时,务必注明地理范围和来源年份。
Orphanet_get_natural_history:(在阶段 1 中也有用)返回发病年龄和遗传模式,是患者咨询和家族风险评估的重要背景信息。
阶段 6b:代谢物与疾病背景(IEM)
对于先天性代谢缺陷(IEM),可使用 HMDB 将代谢物蓄积与疾病关联起来。
HMDB_search:query(字符串,必填,化合物名称或分子式)。查找代谢物的 HMDB ID。
HMDB_get_metabolite:hmdb_id(字符串)或 compound_name(字符串)。返回用于下游通路分析的跨数据库 ID(KEGG、ChEBI、PubChem)。
HMDB_get_diseases:hmdb_id(字符串)或 compound_name(字符串)。返回由 CTD 支持的疾病关联。可用于确认哪些疾病与代谢物蓄积有关。
阶段 7:临床试验
search_clinical_trials:query_term(字符串,必填)、condition(字符串,可选)、intervention(字符串,可选)、pageSize(整数,可选,默认值为 10)。
对于罕见病,即使是观察性自然病程研究也很有价值,因为这类研究可以描述疾病进展并识别生物标志物。优先关注正在招募的试验,其次是活跃但未招募的试验,再次是近期已完成的试验。2-3 期试验在临床上最为相关。请检查 len(studies) > 0,而不是 total_count——即使存在研究,后者也可能为 None。
阶段 8:文献
EuropePMC_search_articles:query(字符串,必填,例如 "Marfan syndrome genetics")、limit(整数,可选,默认值为 10)。
检索遗传学文献时,使用疾病名称加上 "genetics" 或 "gene"。查找特定变异的证据时,添加基因符号和变异。查找基因型-表型相关性时,添加 "genotype phenotype"。结果按文章发布日期从近到远排序。标题中可能出现 HTML 实体——显示时请去除。
证据分级
综合各阶段的信息时,请对置信度进行分级:
第 1 级(确凿):多个提交者给出的 GenCC Definitive + ClinVar 专家审核的致病变异 + Orphanet 中经评估的关联,且标注为 “Disease-causing germline mutation(s) in”。示例:FBN1 导致 Marfan 综合征。
第 2 级(有力):GenCC Strong + ClinVar 单个提交者给出的致病变异 + Orphanet 中的致病关联。证据有力,但重复验证较少。
第 3 级(中等):GenCC Limited 或 Moderate + ClinVar VUS + Orphanet 候选基因。新出现的关联,仍需进一步验证。
第 4 级(初步):仅有文献、动物模型,或没有 GenCC/ClinVar 数据。来自病例研究且未经独立重复验证的基因。
备用策略
当主要工具失败或未返回结果时:
- 疾病查询:如果
Orphanet_search_diseases失败,请尝试Orphanet_search_diseases - 基因 → 疾病:
GenCC_search_gene的覆盖范围比Orphanet_get_gene_diseases更广 - 疾病 → 基因:将
GenCC_search_disease作为Orphanet_get_genes的补充 - 基因-疾病有效性:如果 GenCC 没有提交记录,请查看 Orphanet AssociationType + SourceOfValidation PMIDs
- 致病变异:如果 ClinVar 没有条目,请搜索 EuropePMC 文献
- 流行病学:如果没有 Orphanet 数据,请搜索流行率研究文献
示例工作流
完整的罕见病调查(输入疾病名称)
1. Orphanet_search_diseases(name="Marfan syndrome") -> ORPHAcode 558
2. Orphanet_get_disease(orpha_code="558") -> definition, synonyms
3. Orphanet_get_phenotypes(orpha_code="558") -> HPO phenotypes with frequencies
4. Orphanet_get_genes(orpha_code="558") -> FBN1 (disease-causing), TGFBR1, TGFBR2
5. GenCC_search_gene(gene_symbol="FBN1") -> Definitive from ClinGen, Ambry, Invitae
6. ClinVar_search_variants(gene="FBN1", clinical_significance="Pathogenic", max_results=50)
7. Orphanet_get_epidemiology(orpha_code="558") -> 1-5/10,000 worldwide
8. search_clinical_trials(query_term="Marfan syndrome", pageSize=10)
9. EuropePMC_search_articles(query="Marfan syndrome genetics", limit=5)
以基因为起点的调查(从某个基因开始)
1. Orphanet_get_gene_diseases(gene_symbol="FBN1") -> all associated diseases
2. GenCC_search_gene(gene_symbol="FBN1") -> validity classifications per disease
3. For top disease: Orphanet_get_phenotypes + Orphanet_get_epidemiology
4. ClinVar_search_variants(gene="FBN1", clinical_significance="Pathogenic")
应避免的常见错误
- 在 GenCC_search_disease 中使用
disease_title:应改用disease - 在 Orphanet_search_diseases 中使用
query:应改用name - 在 ClinVar_search_variants 中使用
query:应改用gene、condition或variant_id - 认定 Orphanet 的首个搜索结果就是目标疾病:务必检查是否存在亚型
- 将 ClinVar VUS 视为致病证据
- 将 Orphanet 的 “Candidate gene tested in” 视为已确认的致病基因
- 忽略 GenCC 提交者数量:单个提交者给出的 Definitive 证据弱于多个提交者达成的共识
局限性
- Orphanet 仅涵盖罕见病;常见疾病的条目可能极少
- ClinVar 默认最多返回 20 个变异;分页检索能力有限
- GenCC 提交内容可能滞后于最新文献
- 部分超罕见病没有 GenCC 提交记录、ClinVar 变异或临床试验
完整性检查清单
- 已将疾病对应到正确的 ORPHA 代码(而非亚型或上位类别)
- 已识别致病基因及关联类型;已评估 GenCC 有效性
- 已检查 ClinVar 变异及其审核状态;未将 VUS 报告为致病变异
- 已在解读变异前检查遗传方式
- 已纳入流行病学、临床试验和文献
- 已按级别对证据进行分级(T1-T4)