mcpField
T
tooluniverse-gene-disease-association

tooluniverse-gene-disease-association

github.com/mims-harvardデータ・データベース1.8k235 回インストール3 日前に更新
リポジトリ

tooluniverse-gene-disease-association について

複数のデータベースで遺伝子と疾患の関連を比較し、証拠を評価したレポートをまとめる ToolUniverse スキルです。関連を評価する生命科学研究者向けに、データベース間の一致度やメンデル疾患と複雑疾患の証拠を整理します。

主な機能

  1. 01遺伝子・疾患 ID の解決
  2. 02複数データベースで関連を検索
  3. 03証拠スコアと一致度の分析
  4. 04メンデル疾患と複雑疾患の区別
  5. 05任意のバリアントレベルの証拠

活用シーン

  1. 01遺伝子・疾患関連の証拠比較
  2. 02遺伝子の疾患関連を根拠で順位付け
  3. 03希少メンデル疾患の証拠確認

MCP 対応

ToolUniverse のツールを使い、遺伝子、疾患、経路、バリアントのデータベースを検索します。入力には MCP サーバーやクライアントに公開する機能の説明はありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-gene-disease-association

インストール後、Claude Code で/tooluniverse-gene-disease-associationを入力して読み込まれたか確認します。

詳細

遺伝子と疾患の関連解析

6 つ以上のデータベースを体系的に照会して比較し、エビデンスを評価した統合レポートを作成します。DisGeNET のスコア、OpenTargets のエビデンス、Monarch Initiative の種を越えたデータ、OMIM のメンデル遺伝に関するマッピング、GenCC がキュレーションした妥当性評価、Orphanet の希少疾患との関連を相互参照します。

重要:ツール呼び出しでは、必ず英語の遺伝子名と疾患名を使用してください。回答はユーザーの言語で返してください。


推測せず、調べてください

科学的な事実に確信が持てない場合は、記憶に頼って推論するのではなく、まずデータベース(PubMed、UniProt、ChEMBL、ClinVar など)を検索してください。データベースで検証した回答は、推測よりも常に信頼できます。


基本原則

  1. レポートを先に作成 - まずレポートファイルを作成し、その後、段階的に内容を追加します
  2. 複数データベースによる三角測量 - 最低 4 つ以上の情報源を照会し、相互検証します
  3. 定量的スコアリング - 各データベースの数値スコアを報告します
  4. 一致度の分析 - 各関連を支持するデータベースの数を数え、情報源の独立性について検討します
  5. エビデンスの検討 - エビデンスの階層、一致度、作用機序の妥当性を用いて、各関連を評価します
  6. メンデル遺伝疾患と複雑疾患の区別 - 単一遺伝子性(OMIM/Orphanet)と複雑疾患(GWAS/DisGeNET)の関連を区別します
  7. 否定的な結果も記録 - 「[データベース] では関連が見つかりませんでした」も有用な情報です

ワークフローの概要

Phase 1: Gene/Disease Identification & ID Resolution
  Resolve gene symbol to Ensembl ID, HGNC CURIE, MIM number
  OR resolve disease name to UMLS CUI, EFO ID, MONDO ID, ORPHA code
      |
Phase 2: DisGeNET Associations (scored, multi-evidence)
  Gene-disease association scores with evidence type filtering
      |
Phase 3: OpenTargets Associations (integrated evidence)
  Disease phenotypes and genetic associations from OpenTargets
      |
Phase 4: Monarch Initiative (cross-species evidence)
  Gene-disease associations integrating OMIM, ClinVar, model organisms
      |
Phase 5: Mendelian Disease Evidence (curated)
  OMIM gene-disease map, GenCC validity classifications, Orphanet rare diseases,
  Gene2Phenotype (G2P) clinical-panel assertions
      |
Phase 6: Variant-Disease Associations (optional, if gene query)
  DisGeNET variant-disease links, ClinVar pathogenic variants
      |
Phase 7: Evidence Synthesis
  Unified table, concordance scoring, confidence levels, final report

フェーズ 1:遺伝子/疾患の特定と ID の解決

from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()

# Gene query: resolve IDs
gene_info = tu.tools.MyGene_query_genes(query=f"symbol:{gene_symbol}", species="human",
    fields="symbol,ensembl.gene,entrezgene,name", size=5)  # -> ensembl_id
Monarch_search = tu.tools.MonarchV3_search(query=gene_symbol, category="biolink:Gene", limit=5)  # -> HGNC CURIE
omim_result = tu.tools.OMIM_search(query=gene_symbol, limit=5)  # -> MIM number
gene_summary = tu.tools.Harmonizome_get_gene(gene_symbol=gene_symbol)

# Disease query: resolve IDs
monarch_disease = tu.tools.MonarchV3_search(query=disease_name, category="biolink:Disease", limit=5)  # -> MONDO CURIE
mappings = tu.tools.MonarchV3_get_mappings(entity_id=mondo_id, limit=20)  # -> OMIM, ICD10, SNOMED, Orphanet

フェーズ 2:DisGeNET の関連

API キーが必要です:DisGeNET ツールには DISGENET_API_KEY 環境変数が必要です。キーがない場合、DisGeNET の呼び出しはすべて失敗します。無料の学術利用キーは https://www.disgenet.org/api/#/Authorization で登録してください。 キーがない場合の代替手段:このフェーズを省略し、無料で同様のデータの多くをカバーする OpenTargets(フェーズ 3)と Monarch(フェーズ 4)を利用してください。

# Gene -> diseases
disgenet_diseases = tu.tools.DisGeNET_search_gene(gene=gene_symbol, limit=20)
disgenet_gda = tu.tools.DisGeNET_get_gda(gene=gene_symbol, source="CURATED", min_score=0.3, limit=25)

# Disease -> genes (accepts name or UMLS CUI like "C0006142")
disgenet_genes = tu.tools.DisGeNET_search_disease(disease=disease_name, limit=20)
disgenet_ranked = tu.tools.DisGeNET_get_disease_genes(disease=disease_name, min_score=0.3, limit=50)

DisGeNET スコアの解釈:スコアが高いほど、エビデンスの情報源が多く、キュレーションが充実していることを示します。基準値を暗記するのではなく、そのスコアがキュレーション済みの情報源によるものか、テキストマイニングによるものかを確認してください。source="CURATED" を使用すると区別できます。


フェーズ 3:OpenTargets の関連

ot_diseases = tu.tools.OpenTargets_get_diseases_phenotypes_by_target_ensembl(ensemblId=ensembl_id)
ot_evidence = tu.tools.OpenTargets_target_disease_evidence(ensemblId=ensembl_id, efoId=efo_id)
# Both require pre-resolved Ensembl/EFO IDs. Use OpenTargets_multi_entity_search_by_query_string to discover IDs.

フェーズ 4:Monarch Initiative の関連

# Gene -> diseases (integrates OMIM, ClinVar, Orphanet, model organisms)
monarch_diseases = tu.tools.MonarchV3_get_associations(
    subject=hgnc_curie, category="biolink:CausalGeneToDiseaseAssociation", limit=20)
# Disease -> genes
monarch_genes = tu.tools.MonarchV3_get_associations(
    subject=mondo_id, category="biolink:CorrelatedGeneToDiseaseAssociation", limit=20)
histopheno = tu.tools.MonarchV3_get_histopheno(entity_id=mondo_id)  # phenotypes by body system
entity = tu.tools.MonarchV3_get_entity(entity_id=hgnc_curie)  # details, synonyms, xrefs

注:EnsemblPheno_get_by_gene も、複数の情報源(GWAS カタログ/ClinVar/OMIM/Orphanet)を集約する遺伝子から表現型へのツールですが、現在、Ensembl 側で HTTP 500 エラーが発生しており、正常に応答していません。これは確認済みであり、ToolUniverse の不具合ではありません。これに対応するバリアントレベルのツール EnsemblPheno_get_by_variant は動作します。tooluniverse-variant-analysis の「Ensembl Phenotype Associations」セクションを参照してください。Ensembl の遺伝子/用語/領域エンドポイントが復旧するまでは、上記の Monarch/G2P を優先してください。


フェーズ 5:メンデル遺伝疾患のエビデンス

API キーが必要です:OMIM ツールには OMIM_API_KEY が必要です。学術利用のアクセスは https://omim.org/api から登録してください。 キーがない場合の代替手段:キーが不要で OMIM データも含む Monarch Initiative(フェーズ 4 の biolink:CausalGeneToDiseaseAssociation)を使用してください。また、完全にオープンな GenCC(以下)も使用してください。

# OMIM: Mendelian gene-disease mapping (use gene MIM number, not phenotype MIM)
omim_entry = tu.tools.OMIM_get_entry(mim_number=mim_number)
omim_gene_map = tu.tools.OMIM_get_gene_map(mim_number=mim_number)
omim_clinical = tu.tools.OMIM_get_clinical_synopsis(mim_number=phenotype_mim)

# GenCC: curated validity (Definitive/Strong/Moderate/Limited/Disputed/Refuted)
gencc_result = tu.tools.GenCC_search_gene(gene_symbol=gene_symbol)  # handles gene renames
gencc_disease = tu.tools.GenCC_search_disease(disease="Marfan syndrome")  # word-tokenized matching
gencc_classifications = tu.tools.GenCC_get_classifications(gene_symbol="BRCA1", disease="breast cancer")

# Orphanet: rare disease associations (filter results by exact gene.symbol match)
orphanet_result = tu.tools.Orphanet_get_gene_diseases(gene_name=gene_symbol)

# Gene2Phenotype (G2P): EBI-curated gene-disease pairs organized into clinical panels
# (DD=developmental disorders, Cancer, Skeletal, Eye, Cardiac, Ear, Skin, Prenatal).
# Distinct from GenCC/OMIM: G2P assertions carry genotype (monoallelic/biallelic),
# molecular mechanism (loss/gain of function), and are grouped by clinical specialty panel
# rather than by disease name alone -- useful when the query maps naturally onto a panel
# (e.g. "what developmental-disorder genes are definitive-confidence" -> DD panel).
g2p_hits = tu.tools.G2P_search(query=gene_symbol)  # -> list of stable_ids, one per gene-disease pair
g2p_record = tu.tools.G2P_get_record(stable_id=g2p_hits["data"]["results"][0]["stable_id"])
# g2p_record includes genotype, molecular_mechanism, disease.ontology_terms (MONDO + OMIM
# cross-refs), confidence, and supporting publications (PMIDs) -- richer per-pair evidence
# than G2P_search's summary row.

# To enumerate every gene in a clinical panel (e.g. building a candidate gene list for a
# developmental-disorder patient), download the full panel rather than searching gene-by-gene:
g2p_panel_genes = tu.tools.G2P_download_panel(panel="DD")  # every curated DD gene-disease pair
g2p_panel_stats = tu.tools.G2P_get_panel(panel="dd")  # just counts (total_records, total_genes, by_confidence)

G2P の信頼度区分(definitive > strong > moderate > limited)は、GenCC の Definitive/Strong/Moderate/Limited/Disputed/Refuted の評価尺度に対応しています。同じ遺伝子と疾患の組み合わせを両方の情報源が評価している場合、独立してキュレーションされた 2 つのリソースで「definitive」/「Definitive」の評価が一致すれば、どちらか一方だけの場合より強いエビデンスとなります。評価が一致しない場合は、G2P のパネル割り当てが疾患の文脈に合っているか確認してください。たとえば、Cancer パネルで「definitive」と評価された遺伝子であっても、心臓の表現型など、別の疾患との関連については何も示しません。


フェーズ 6:バリアントと疾患の関連(任意)

遺伝子を対象としたクエリで、バリアントレベルのエビデンスが有用な場合に実行します。

vda_result = tu.tools.DisGeNET_get_vda(gene=gene_symbol, limit=25)  # variant-disease links
clinvar_result = tu.tools.ClinVar_search_variants(gene=gene_symbol, max_results=20)
clinvar_detail = tu.tools.ClinVar_get_variant_details(variant_id="12345")  # detailed variant info

フェーズ 7:エビデンスの統合

関連の統合テーブル

遺伝子と疾患の組み合わせごとに、すべての結果を 1 つのテーブルにまとめます。

## Gene-Disease Associations for BRCA1

| Disease | DisGeNET Score | OpenTargets Score | Monarch | OMIM | GenCC | Orphanet | Sources |
|---------|---------------|-------------------|---------|------|-------|----------|---------|
| Breast cancer | 0.82 | 0.95 | Yes | #114480 | Definitive | ORPHA:227535 | 6/6 |
| Ovarian cancer | 0.78 | 0.91 | Yes | #604370 | Definitive | ORPHA:213500 | 6/6 |
| Pancreatic cancer | 0.35 | 0.42 | Yes | - | Moderate | - | 3/6 |
| Fanconi anemia | 0.45 | 0.38 | Yes | #605724 | Strong | ORPHA:84 | 5/6 |
エビデンス評価のための推論戦略

エビデンスの強さに関する推論:遺伝学的、機能的、モデル生物に関する複数の独立したエビデンスに裏付けられた遺伝子と疾患の関連は、単一の研究だけに裏付けられた関連よりも強固です。この関連を裏付ける独立した情報源はいくつありますか?同じメカニズムを示していますか?

遺伝学的エビデンスの階層:メンデル遺伝の分離(遺伝子変異が家系内で疾患を引き起こす)>GWAS(集団における統計的関連)>候補遺伝子研究(仮説に基づく研究)。最初のものは因果関係を証明します。2つ目は相関を示します。3つ目は仮説です。OMIM/GenCC の「Definitive」エントリはこの階層の最上位に相当し、DisGeNET のテキストマイニングによるヒットは最下位に相当します。

データベース間の一致:DisGeNET、OpenTargets、OMIM のすべてが遺伝子 X と疾患 Y を関連付けている場合、これは強い一致を示しています。1つのデータベースだけがこの関連を示している場合は、その理由を確認してください。そのデータベースに登録された単一の研究によるものでしょうか。データベース間で一致していても、すべてが同じ一次研究を引用している場合は、独立したエビデンスとは限りません。各関連を裏付けるデータベースの数を数えると同時に、それらが真に独立したエビデンスを表しているかを判断してください。

メカニズムに関する推論:遺伝子の機能を知ることは、その関連を評価するうえで役立ちます。肝臓の酵素をコードする遺伝子が肝疾患と関連付けられている場合、メカニズムとして妥当です。同じ遺伝子が精神疾患と関連付けられている場合は、メカニズムが明確ではないため、より強いエビデンスが必要です。Harmonizome の遺伝子概要と Monarch の表現型プロファイルを使って、メカニズムの妥当性を評価してください。


よくあるパターン

  • 遺伝子中心:MyGene ID の解決 -> DisGeNET/OpenTargets/Monarch/OMIM/GenCC/Orphanet -> 一致度順に並べた統合テーブル
  • 疾患中心:MonarchV3 の疾患検索 -> DisGeNET の疾患関連遺伝子 -> Monarch/OMIM -> エビデンス順に並べた統合遺伝子テーブル
  • 遺伝子と疾患のペア:両方の ID を解決 -> 特定のペアについてすべてのデータベースを検索 -> バリアントレベルのデータを含む詳細なエビデンス要約
  • メンデル遺伝の探索:OMIM_search -> OMIM_get_gene_map -> 遺伝子ごとに GenCC -> Orphanet -> キュレーション済みの妥当性で絞り込み
  • 種間比較:Monarch の関連(HP/MP/ZP 表現型)+DisGeNET の ANIMAL_MODELS ソース -> モデル生物のエビデンス
  • 遺伝子名の変更:GenCC は _gene_matches() を介して自動的に名前の変更に対応します。その他のツールでは、MyGene_query_genes から現在の HGNC シンボルを取得する必要があります。

トラブルシューティング

  • DisGeNET の結果が空:DISGENET_API_KEY を確認してください。疾患名の代わりに UMLS CUI を試してください。
  • OMIM で遺伝子マップが見つからない:表現型の MIM 番号ではなく、遺伝子の MIM 番号を使用してください。
  • Monarch で関連が見つからない:CURIE 形式を確認してください(HGNC:BRCA1 ではなく HGNC:1100)。最初に MonarchV3_search を使用してください。
  • OpenTargets で疾患が見つからない:fields="ensembl.gene" を指定した MyGene_query_genes で Ensembl ID を確認してください。
  • GenCC の結果が空:すべての遺伝子に分類があるわけではありません。遺伝子名が変更されていないか確認してください。
  • GenCC の疾患検索で結果が見つからない:クエリを簡潔にしてください(例:「hereditary breast and ovarian cancer syndrome」ではなく「breast cancer」)。
  • GenCC 以外のツールで遺伝子名の変更が見つからない:名前の変更を自動的に処理できるのは GenCC だけです。MyGene_query_genes を使って、現在の正式なシンボルを確認してください。
  • 実在する疾患遺伝子に対して G2P_search が 0 件を返す:G2P が対象とするのは、パネルのいずれか(DD、Cancer、Skeletal、Eye、Cardiac、Ear、Skin、Prenatal)で、臨床的にキュレーションされたアサーションが少なくとも1つある遺伝子だけです。DisGeNET のようなゲノム全体を網羅するリソースではありません。ここで見つからなくても、他の場所に関連が存在しないとは限りません。他の Phase 5 の情報源を利用してください。
  • G2P のパネル名が一致しない:パネル名には、大文字と小文字を区別しない短いコード(dd、cancer、cardiac、skeletal、eye、ear、skin、prenatal)を使用します。疾患領域を説明する文章ではありません。正確なコードが不明な場合は、まず G2P_get_panel を確認してください。

リソース

包括的な疾患レポートについては、tooluniverse-disease-researchをご覧ください。 希少疾患の診断については、tooluniverse-rare-disease-diagnosisをご覧ください。 バリアントの解釈については、tooluniverse-variant-interpretationをご覧ください。 創薬ターゲットの検証については、tooluniverse-drug-target-validationをご覧ください。

コメント