mcpField
A
alterlab-opentargets

alterlab-opentargets

github.com/alterlab-ieuデータ・データベース7866 回インストール5 週間前に更新
リポジトリ

alterlab-opentargets について

alterlab-opentargetsは、公開された遺伝学、オミクス、文献、化学データを統合するOpen Targets PlatformのGraphQL APIを利用するスキルです。標的と疾患の関連、創薬可能性、安全性、開発根拠を評価する生物医学研究者向けです。

主な機能

  1. 01標的・疾患・薬剤の検索
  2. 02標的注釈と創薬可能性の取得
  3. 03データ種別ごとの標的・疾患エビデンス確認
  4. 04疾患関連薬剤と臨床段階の検索
  5. 05エビデンススコアによる標的関連の順位付け

活用シーン

  1. 01疾患の候補標的を特定
  2. 02遺伝子の創薬可能性と安全性を評価
  3. 03標的・疾患関連を裏付ける根拠を確認
  4. 04既存薬の適応再開発の可能性を調査

インストール

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

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-opentargets

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
api_reference.md
evidence_types.md
target_annotations.md
scripts/
query_opentargets.py

詳細

Open Targets Database

概要

Open Targets Platform は、治療薬の標的候補を体系的に特定し、優先順位付けするための包括的なリソースです。ヒト遺伝学、オミクス、文献、化学データなど、公開されているデータセットを統合して、標的と疾患の関連性を構築し、スコアリングします。

主な機能:

  • 標的(遺伝子)の創薬可能性、安全性、発現などのアノテーションを照会する
  • エビデンススコア付きの疾患と標的の関連性を検索する
  • 複数のデータ型(遺伝学、経路、文献など)からエビデンスを取得する
  • 疾患に対する既知の薬とその作用機序を調べる
  • 臨床試験のフェーズや有害事象など、薬剤情報にアクセスする
  • 標的の創薬可能性と治療の可能性を評価する

データアクセス: プラットフォームは GraphQL API、ウェブインターフェース、データダウンロード、Google BigQuery アクセスを提供しています。このスキルでは、プログラムからのアクセスに GraphQL API を使用します。

このスキルを使用する場面

以下の場合にこのスキルを使用してください。

  • 標的の探索: 疾患に対する治療標的候補を探す
  • 標的の評価: 遺伝子の創薬可能性、安全性、創薬可能性を評価する
  • エビデンスの収集: 標的と疾患の関連性を裏付けるエビデンスを取得する
  • ドラッグリポジショニング: 新たな適応症に転用できる既存薬を特定する
  • 競合情報の把握: 臨床での先行状況と医薬品開発の動向を理解する
  • 標的の優先順位付け: 遺伝学的エビデンスやその他のデータ型に基づいて標的を順位付けする
  • 作用機序の調査: 生物学的経路と遺伝子の機能を調べる
  • バイオマーカーの探索: 疾患で発現差のある遺伝子を探す
  • 安全性評価: 薬剤標的に関する潜在的な毒性の懸念を特定する
対象外
シナリオ代わりに使用
生のキュレーション済み SNP と形質の関連性、または GWAS 研究のメタデータalterlab-gwas
化合物の生物活性(IC50/Ki)およびアッセイデータalterlab-chembl
薬剤の薬理作用、相互作用、投与量、添付文書の詳細alterlab-drugbank
臨床試験登録(ステータス、適格性、評価項目)の検索alterlab-clinicaltrials
CRISPR/RNAi によるがん細胞株の依存性スコアalterlab-depmap

基本的なワークフロー

1. エンティティを検索する

まず、対象となる標的、疾患、または薬剤の識別子を検索します。

標的(遺伝子)の場合:

from scripts.query_opentargets import search_entities

# Search by gene symbol or name
results = search_entities("BRCA1", entity_types=["target"])
# Returns: [{"id": "ENSG00000012048", "name": "BRCA1", ...}]

疾患の場合:

# Search by disease name
results = search_entities("alzheimer", entity_types=["disease"])
# Returns: [{"id": "MONDO_0004975", "name": "Alzheimer disease", ...}]

ID はハードコードせず、必ず検索して解決してください。Open Targets では、多くの疾患が EFO ID から MONDO ID に移行しています(例:アルツハイマー病は、旧 ID の EFO_0000249 ではなく、現在は MONDO_0004975 です)。

薬剤の場合:

# Search by drug name
results = search_entities("aspirin", entity_types=["drug"])
# Returns: [{"id": "CHEMBL25", "name": "ASPIRIN", ...}]

使用する識別子:

  • 標的:Ensembl 遺伝子 ID(例:ENSG00000157764 = BRAF、ENSG00000012048 = BRCA1)
  • 疾患:オントロジー ID — EFO、MONDO(現在一般的)、HP、Orphanet(例:MONDO_0004975 = アルツハイマー病)。disease(efoId:) 引数は、これらのいずれも受け付けます。
  • 薬剤:ChEMBL ID(例:CHEMBL25 = アスピリン)
2. 標的情報を照会する

創薬可能性と生物学的特性を評価するため、標的の包括的なアノテーションを取得します。

from scripts.query_opentargets import get_target_info

target_info = get_target_info("ENSG00000157764", include_diseases=True)

# Access key fields:
# - approvedSymbol: HGNC gene symbol
# - approvedName: Full gene name
# - tractability: Druggability assessments across modalities
# - safetyLiabilities: Known safety concerns
# - geneticConstraint: Constraint scores from gnomAD
# - associatedDiseases: Top disease associations with scores

確認すべき主なアノテーション:

  • 創薬可能性: 低分子、抗体、PROTAC による創薬可能性の予測
  • 安全性: 複数のデータベースに登録された既知の毒性に関する懸念
  • 遺伝的制約: 必須性を示す pLI および LOEUF スコア
  • 疾患との関連性: エビデンススコア付きで標的と関連付けられた疾患

すべての標的機能の詳細については、references/target_annotations.md を参照してください。

3. 疾患情報を照会する

疾患の詳細と、関連付けられた標的や薬剤を取得します。

from scripts.query_opentargets import get_disease_info

disease_info = get_disease_info("MONDO_0004975", include_targets=True)

# Access fields:
# - name: Disease name
# - description: Disease description
# - therapeuticAreas: High-level disease categories
# - associatedTargets: Top targets with association scores
4. 標的疾患のエビデンスを取得する

標的と疾患の関連性を裏付ける詳細なエビデンスを取得します。

from scripts.query_opentargets import get_target_disease_evidence

# Get all evidence
evidence = get_target_disease_evidence(
    ensembl_id="ENSG00000157764",
    efo_id="MONDO_0004975"
)

# The API filters by data SOURCE, not broad data type. To narrow to genetic
# evidence, pass its sources (or fetch all rows and filter on datatypeId).
genetic_evidence = get_target_disease_evidence(
    ensembl_id="ENSG00000157764",
    efo_id="MONDO_0004975",
    datasource_ids=["gwas_catalog", "clinvar", "gene_burden"]
)

# Each evidence record contains:
# - datasourceId: Specific data source (e.g., "gwas_catalog", "chembl")
# - datatypeId: Evidence category (e.g., "genetic_association", "known_drug")
# - score: Evidence strength (0-1)
# - studyId: Original study identifier
# - literature: Associated publications

主なエビデンスの種類:

  1. genetic_association: GWAS、希少バリアント、ClinVar、遺伝子負荷
  2. somatic_mutation: Cancer Gene Census、IntOGen、がんバイオマーカー
  3. known_drug: 承認薬または臨床試験中の薬剤による臨床的先例
  4. affected_pathway: CRISPR スクリーニング、パスウェイ解析、遺伝子シグネチャー
  5. rna_expression: Expression Atlas による差次的発現
  6. animal_model: IMPC によるマウスの表現型
  7. literature: Europe PMC によるテキストマイニング

すべてのエビデンスの種類と解釈ガイドラインの詳細は、references/evidence_types.md を参照してください。

5. 既知の薬剤を探す

疾患に使用される薬剤とその標的を特定します。

from scripts.query_opentargets import get_known_drugs_for_disease

drugs = get_known_drugs_for_disease("MONDO_0004975")

# Helper queries the `drugAndClinicalCandidates` field (the former `knownDrugs`
# field was removed). It returns:
# - count: Total number of drug-indication records
# - rows: List of records, each with:
#   - maxClinicalStage: Max stage reached for this disease (enum string)
#   - drug: {id, name, drugType, maximumClinicalStage, mechanismsOfAction{rows{actionType, mechanismOfAction, targets}}}
#   - clinicalReports: [{trialPhase, clinicalStage, trialOverallStatus}]

臨床段階は整数ではなく、列挙型の文字列です。

  • APPROVAL:承認済み薬剤(旧 Phase 4)
  • PHASE_3、PHASE_2_3:後期臨床試験
  • PHASE_2、PHASE_1_2:中期臨床試験
  • PHASE_1、EARLY_PHASE_1:初期の安全性試験
  • IND、PRECLINICAL:前臨床/治験薬
  • UNKNOWN:段階が記録されていません
6. 薬剤情報を取得する

作用機序や適応症を含む、薬剤の詳細情報を取得します。

from scripts.query_opentargets import get_drug_info

drug_info = get_drug_info("CHEMBL25")

# Access:
# - name; synonyms: list of {label, source} objects (since release 26.06)
# - drugType: Small molecule, antibody, etc.
# - maximumClinicalStage: Development stage (enum string, e.g. "APPROVAL")
# - mechanismsOfAction.rows: Target(s) and action type
# - indications.rows: Diseases with maxClinicalStage per indication
# - drugWarnings: Toxicity/withdrawal warnings (toxicityClass, description, country, year)
7. 標的に関するすべての関連性を取得する

必要に応じてスコアで絞り込みながら、標的に関連するすべての疾患を探します。

from scripts.query_opentargets import get_target_associations

# Get associations with score >= 0.5
associations = get_target_associations(
    ensembl_id="ENSG00000157764",
    min_score=0.5
)

# Each association contains:
# - disease: {id, name}
# - score: Overall association score (0-1)
# - datatypeScores: Breakdown by evidence type

関連性スコア:

  • 範囲:0~1(数値が高いほどエビデンスが強い)
  • 調和和を用いて、すべてのデータ種別にわたるエビデンスを集約します
  • 信頼度スコアではなく、相対的な順位付けの指標です
  • 十分に研究されていない疾患は、良好なエビデンスがあってもスコアが低くなる場合があります

GraphQL API の詳細

用意されたヘルパー関数で対応できないカスタムクエリには、 GraphQL API を直接使用するか、scripts/query_opentargets.py を変更してください。

重要な情報:

  • エンドポイント: https://api.platform.opentargets.org/api/v4/graphql
  • インタラクティブブラウザー: https://api.platform.opentargets.org/api/v4/graphql/browser
  • 認証は不要です
  • レスポンスサイズを最小限にするため、必要なフィールドのみをリクエストしてください
  • 大規模な結果セットにはページネーションを使用してください: page: {index: M, size: N} — index と size の両方が必須です(null 不可)

以下については、references/api_reference.md を参照してください。

  • エンドポイントの完全なドキュメント
  • すべてのエンティティタイプのクエリ例
  • エラー処理のパターン
  • API 使用のベストプラクティス

ベストプラクティス

標的の優先順位付け戦略

創薬標的の優先順位を付ける際は、次の点を考慮してください。

  1. 遺伝学的エビデンスから始める: ヒト遺伝学(GWAS、希少バリアント)は、疾患との関連性を示す最も強いエビデンスです
  2. 創薬可能性を確認する: 臨床または探索段階での先例がある標的を優先します
  3. 安全性を評価する: 安全性上の懸念、発現パターン、遺伝的制約を確認します
  4. 臨床的先例を評価する: 既知の薬剤は、創薬可能性と治療域を示します
  5. 複数のエビデンスの種類を考慮する: 異なる情報源からのエビデンスが一致しているほど、信頼性が高まります
  6. 作用機序を検証する: パスウェイのエビデンスと生物学的な妥当性を確認します
  7. 文献を手動で確認する: 重要な判断では、主要な論文を調べます
エビデンスの解釈

強いエビデンスを示す指標:

  • 複数の独立したエビデンスソース
  • 遺伝的関連性スコアが高い(特に L2G > 0.5 の GWAS)
  • 承認薬による臨床的先例
  • 疾患との一致が認められる ClinVar の病原性バリアント
  • 関連する表現型を示すマウスモデル

注意が必要な点:

  • エビデンスソースが1つのみ
  • 唯一のエビデンスがテキストマイニングである(手動での検証が必要)
  • ソース間でエビデンスが矛盾している
  • 必須性が高く、広範に発現している(治療域が狭い)
  • 安全性上の懸念が複数ある

スコアの解釈:

  • スコアは相対的な強さの順位を示すもので、絶対的な信頼度を示すものではありません
  • 十分に研究されていない疾患は、標的が妥当であってもスコアが低くなる場合があります
  • 計算による予測より、専門家がキュレーションした情報源を重視してください
  • 全体のスコアだけでなく、エビデンスの内訳を確認してください
一般的なワークフロー

ワークフロー 1:疾患の標的探索

  1. 疾患を検索 → EFO ID を取得
  2. include_targets=True を指定して疾患情報を照会
  3. 関連スコア順に並べられた上位の標的を確認
  4. 有望な標的について、詳細な標的情報を取得
  5. 各関連付けを裏付けるエビデンスの種類を調べる
  6. 優先度の高い標的について、創薬可能性と安全性を評価

ワークフロー 2:標的の検証

  1. 標的を検索 → Ensembl ID を取得
  2. 包括的な標的情報を取得
  3. 創薬可能性を確認(特に臨床での先行実績)
  4. 安全性の懸念事項と遺伝的制約を確認
  5. 生物学的な仕組みを理解するため、疾患との関連付けを調べる
  6. 化学プローブやツール化合物を探す
  7. 作用機序を把握するため、対象遺伝子を標的とする既知の医薬品を確認

ワークフロー 3:医薬品の適応拡大

  1. 疾患を検索 → EFO ID を取得
  2. 疾患に対する既知の医薬品を取得
  3. 各医薬品について、詳細情報を取得
  4. 作用機序と標的を調べる
  5. 関連する疾患の適応を探す
  6. 臨床試験のフェーズと状況を評価
  7. 作用機序に基づいて適応拡大の機会を特定

ワークフロー 4:競合情報の調査

  1. 対象の標的を検索
  2. エビデンスとともに関連疾患を取得
  3. 各疾患について、既知の医薬品を取得
  4. 臨床フェーズと開発状況を確認
  5. 競合他社とその作用機序を特定
  6. 臨床での先行実績と市場環境を評価

リソース

スクリプト

scripts/query_opentargets.py 一般的な API 操作のためのヘルパー関数:

  • search_entities() - 標的、疾患、または医薬品を検索
  • get_target_info() - 標的のアノテーションを取得
  • get_disease_info() - 疾患情報を取得
  • get_target_disease_evidence() - 裏付けとなるエビデンスを取得
  • get_known_drugs_for_disease() - 疾患に対する医薬品を検索
  • get_drug_info() - 医薬品の詳細情報を取得
  • get_target_associations() - 標的の関連付けをすべて取得
  • execute_query() - カスタム GraphQL クエリを実行
リファレンス

references/api_reference.md GraphQL API の完全なドキュメント。以下の内容が含まれます:

  • エンドポイントの詳細と認証
  • 利用可能なクエリの種類(標的、疾患、医薬品、検索)
  • 一般的な操作のクエリ例
  • エラー処理とベストプラクティス
  • データライセンスと引用要件

references/evidence_types.md エビデンスの種類とデータソースに関する包括的なガイド:

  • 主要な 7 種類のエビデンスの詳細な説明
  • 各ソースのスコアリング手法
  • エビデンスの解釈に関するガイドライン
  • 各エビデンスの種類の強みと限界
  • 品質評価に関する推奨事項

references/target_annotations.md 標的アノテーションの完全なリファレンス:

  • 主要な 12 種類のアノテーションの解説
  • 創薬可能性評価の詳細
  • 安全性の懸念事項に関する情報源
  • 発現、必須性、制約のデータ
  • 標的の優先順位付けに関する解釈ガイドライン
  • 標的評価における注意点と好材料

データの更新とバージョン管理

Open Targets Platform は、新しいデータリリースに伴い定期的に更新されます。 リリースごとに GraphQL スキーマが変更され、フィールド名や引数名が変わることがあります(このスキルのクエリはデータバージョン 26.03 に対して検証済みです)。フィールドでエラーが発生した場合は、GraphQL ブラウザーから稼働中のスキーマをイントロスペクションしてください。meta { apiVersion { x y z } dataVersion { year month } } クエリで、現在のバージョンを確認してください。

リリース情報: 最新の更新情報は https://platform-docs.opentargets.org/release-notes を確認してください。

引用: Open Targets のデータを使用する場合は、以下を引用してください。 Ochoa, D. et al. (2025) Open Targets Platform: facilitating therapeutic hypotheses building in drug discovery. Nucleic Acids Research, 53(D1):D1467-D1477.

制限事項と考慮事項

  1. API は探索的なクエリ向けです: 多数のターゲットや疾患を体系的に解析するには、データをダウンロードするか、BigQuery を使用してください
  2. スコアは相対的なものであり、絶対的なものではありません: 関連スコアはエビデンスの強さを順位付けするものであり、臨床的な成功を予測するものではありません
  3. 研究が十分に行われていない疾患はスコアが低くなります: 新規疾患や希少疾患は、強いエビデンスがあっても、集計スコアが低くなる場合があります
  4. エビデンスの質にはばらつきがあります: 計算による予測よりも、専門家がキュレーションした情報源を重視してください
  5. 生物学的な解釈が必要です: スコアとエビデンスは、生物学的および臨床的な文脈で解釈する必要があります
  6. 認証は不要です: すべてのデータに無料でアクセスできますが、適切に引用してください

コメント