alterlab-opentargets について
alterlab-opentargetsは、公開された遺伝学、オミクス、文献、化学データを統合するOpen Targets PlatformのGraphQL APIを利用するスキルです。標的と疾患の関連、創薬可能性、安全性、開発根拠を評価する生物医学研究者向けです。
主な機能
- 01標的・疾患・薬剤の検索
- 02標的注釈と創薬可能性の取得
- 03データ種別ごとの標的・疾患エビデンス確認
- 04疾患関連薬剤と臨床段階の検索
- 05エビデンススコアによる標的関連の順位付け
活用シーン
- 01疾患の候補標的を特定
- 02遺伝子の創薬可能性と安全性を評価
- 03標的・疾患関連を裏付ける根拠を確認
- 04既存薬の適応再開発の可能性を調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-opentargetsインストール後、Claude Code で/alterlab-opentargetsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/api_reference.mdevidence_types.mdtarget_annotations.mdscripts/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
主なエビデンスの種類:
- genetic_association: GWAS、希少バリアント、ClinVar、遺伝子負荷
- somatic_mutation: Cancer Gene Census、IntOGen、がんバイオマーカー
- known_drug: 承認薬または臨床試験中の薬剤による臨床的先例
- affected_pathway: CRISPR スクリーニング、パスウェイ解析、遺伝子シグネチャー
- rna_expression: Expression Atlas による差次的発現
- animal_model: IMPC によるマウスの表現型
- 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 使用のベストプラクティス
ベストプラクティス
標的の優先順位付け戦略
創薬標的の優先順位を付ける際は、次の点を考慮してください。
- 遺伝学的エビデンスから始める: ヒト遺伝学(GWAS、希少バリアント)は、疾患との関連性を示す最も強いエビデンスです
- 創薬可能性を確認する: 臨床または探索段階での先例がある標的を優先します
- 安全性を評価する: 安全性上の懸念、発現パターン、遺伝的制約を確認します
- 臨床的先例を評価する: 既知の薬剤は、創薬可能性と治療域を示します
- 複数のエビデンスの種類を考慮する: 異なる情報源からのエビデンスが一致しているほど、信頼性が高まります
- 作用機序を検証する: パスウェイのエビデンスと生物学的な妥当性を確認します
- 文献を手動で確認する: 重要な判断では、主要な論文を調べます
エビデンスの解釈
強いエビデンスを示す指標:
- 複数の独立したエビデンスソース
- 遺伝的関連性スコアが高い(特に L2G > 0.5 の GWAS)
- 承認薬による臨床的先例
- 疾患との一致が認められる ClinVar の病原性バリアント
- 関連する表現型を示すマウスモデル
注意が必要な点:
- エビデンスソースが1つのみ
- 唯一のエビデンスがテキストマイニングである(手動での検証が必要)
- ソース間でエビデンスが矛盾している
- 必須性が高く、広範に発現している(治療域が狭い)
- 安全性上の懸念が複数ある
スコアの解釈:
- スコアは相対的な強さの順位を示すもので、絶対的な信頼度を示すものではありません
- 十分に研究されていない疾患は、標的が妥当であってもスコアが低くなる場合があります
- 計算による予測より、専門家がキュレーションした情報源を重視してください
- 全体のスコアだけでなく、エビデンスの内訳を確認してください
一般的なワークフロー
ワークフロー 1:疾患の標的探索
- 疾患を検索 → EFO ID を取得
include_targets=Trueを指定して疾患情報を照会- 関連スコア順に並べられた上位の標的を確認
- 有望な標的について、詳細な標的情報を取得
- 各関連付けを裏付けるエビデンスの種類を調べる
- 優先度の高い標的について、創薬可能性と安全性を評価
ワークフロー 2:標的の検証
- 標的を検索 → Ensembl ID を取得
- 包括的な標的情報を取得
- 創薬可能性を確認(特に臨床での先行実績)
- 安全性の懸念事項と遺伝的制約を確認
- 生物学的な仕組みを理解するため、疾患との関連付けを調べる
- 化学プローブやツール化合物を探す
- 作用機序を把握するため、対象遺伝子を標的とする既知の医薬品を確認
ワークフロー 3:医薬品の適応拡大
- 疾患を検索 → EFO ID を取得
- 疾患に対する既知の医薬品を取得
- 各医薬品について、詳細情報を取得
- 作用機序と標的を調べる
- 関連する疾患の適応を探す
- 臨床試験のフェーズと状況を評価
- 作用機序に基づいて適応拡大の機会を特定
ワークフロー 4:競合情報の調査
- 対象の標的を検索
- エビデンスとともに関連疾患を取得
- 各疾患について、既知の医薬品を取得
- 臨床フェーズと開発状況を確認
- 競合他社とその作用機序を特定
- 臨床での先行実績と市場環境を評価
リソース
スクリプト
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.
制限事項と考慮事項
- API は探索的なクエリ向けです: 多数のターゲットや疾患を体系的に解析するには、データをダウンロードするか、BigQuery を使用してください
- スコアは相対的なものであり、絶対的なものではありません: 関連スコアはエビデンスの強さを順位付けするものであり、臨床的な成功を予測するものではありません
- 研究が十分に行われていない疾患はスコアが低くなります: 新規疾患や希少疾患は、強いエビデンスがあっても、集計スコアが低くなる場合があります
- エビデンスの質にはばらつきがあります: 計算による予測よりも、専門家がキュレーションした情報源を重視してください
- 生物学的な解釈が必要です: スコアとエビデンスは、生物学的および臨床的な文脈で解釈する必要があります
- 認証は不要です: すべてのデータに無料でアクセスできますが、適切に引用してください