opentargets-database について
opentargets-databaseは、Open Targets GraphQL APIで標的、疾患、薬剤、関連エビデンスを調べる研究者や創薬チーム向けのスキルです。よく使うクエリのヘルパー関数に加え、関連スコアやエビデンスタイプの解釈方法も説明します。
主な機能
- 01標的、疾患、薬剤の検索
- 02標的と疾患の注釈取得
- 03標的と疾患のエビデンス確認
- 04薬剤と臨床開発情報の取得
- 05カスタムGraphQLクエリの実行
活用シーン
- 01疾患の標的候補の発見と優先順位付け
- 02標的の創薬可能性と安全性の評価
- 03薬剤の適応拡大機会の調査
- 04エビデンスと臨床実績の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill opentargets-databaseインストール後、Claude Code で/opentargets-databaseを入力して読み込まれたか確認します。
同梱ファイルSKILL.json
詳細
Open Targets Database
概要
Open Targets Platform は、治療用の創薬標的候補を体系的に特定し優先順位付けするための包括的なリソースです。ヒト遺伝学、オミクス、文献、化学データなど、公開されているデータセットを統合し、標的と疾患の関連性を構築してスコア付けします。
主な機能:
- 標的(遺伝子)のアノテーション(トラクタビリティ、安全性、発現量など)を照会する
- エビデンススコア付きで疾患と標的の関連性を検索する
- 複数のデータタイプ(遺伝学、パスウェイ、文献など)からエビデンスを取得する
- 疾患に対する既知の医薬品とその作用機序を見つける
- 臨床試験のフェーズや有害事象を含む医薬品情報にアクセスする
- 標的の創薬可能性と治療上の潜在力を評価する
データへのアクセス: このプラットフォームは GraphQL API、Web インターフェース、データダウンロード、Google BigQuery へのアクセスを提供します。このスキルでは、プログラムによるアクセスのために GraphQL API に焦点を当てています。
このスキルを使用するタイミング
このスキルは次のような場合に使用します。
- 標的探索: ある疾患に対する潜在的な治療標的を見つけるとき
- 標的評価: 遺伝子のトラクタビリティ、安全性、創薬可能性を評価するとき
- エビデンス収集: 標的と疾患の関連性を裏付けるエビデンスを取得するとき
- ドラッグリポジショニング: 新たな適応症に転用できる既存の医薬品を特定するとき
- 競合インテリジェンス: 臨床上の先行事例と創薬開発の状況を把握するとき
- 標的の優先順位付け: 遺伝学的エビデンスやその他のデータタイプに基づいて標的をランク付けするとき
- 作用機序の研究: 生物学的パスウェイや遺伝子機能を調査するとき
- バイオマーカー探索: 疾患において発現量が変化している遺伝子を見つけるとき
- 安全性評価: 創薬標的に潜在する毒性上の懸念を特定するとき
基本ワークフロー
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": "EFO_0000249", "name": "Alzheimer disease", ...}]
医薬品の場合:
# Search by drug name
results = search_entities("aspirin", entity_types=["drug"])
# Returns: [{"id": "CHEMBL25", "name": "ASPIRIN", ...}]
使用される識別子:
- 標的: Ensembl 遺伝子 ID(例:
ENSG00000157764) - 疾患: EFO(Experimental Factor Ontology)ID(例:
EFO_0000249) - 医薬品: 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("EFO_0000249", 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="EFO_0000249"
)
# Filter by evidence type
genetic_evidence = get_target_disease_evidence(
ensembl_id="ENSG00000157764",
efo_id="EFO_0000249",
data_types=["genetic_association"]
)
# 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("EFO_0000249")
# drugs contains:
# - uniqueDrugs: Total number of unique drugs
# - uniqueTargets: Total number of unique targets
# - rows: List of drug-target-indication records with:
# - drug: {name, drugType, maximumClinicalTrialPhase}
# - targets: Genes targeted by the drug
# - phase: Clinical trial phase for this indication
# - status: Trial status (active, completed, etc.)
# - mechanismOfAction: How drug works
臨床フェーズ:
- フェーズ 4: 承認済み医薬品
- フェーズ 3: 後期臨床試験
- フェーズ 2: 中期試験
- フェーズ 1: 初期の安全性試験
6. 医薬品情報を取得する
作用機序や適応症を含む医薬品の詳細情報を取得します。
from scripts.query_opentargets import get_drug_info
drug_info = get_drug_info("CHEMBL25")
# Access:
# - name, synonyms: Drug identifiers
# - drugType: Small molecule, antibody, etc.
# - maximumClinicalTrialPhase: Development stage
# - mechanismsOfAction: Target and action type
# - indications: Diseases with trial phases
# - withdrawnNotice: If withdrawn, reasons and countries
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(値が高いほど強いエビデンス)
- 調和和(harmonic sum)を用いて、すべてのデータタイプにわたるエビデンスを集約
- 信頼度スコアではなく、相対的なランキング指標である
- 研究が少ない疾患は、良好なエビデンスがあってもスコアが低くなる場合がある
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: {size: N, index: M}
以下の内容については references/api_reference.md を参照してください:
- エンドポイントの完全なドキュメント
- すべてのエンティティタイプの例のクエリ
- エラー処理のパターン
- API 利用のベストプラクティス
ベストプラクティス
ターゲットの優先順位付け戦略
創薬ターゲットに優先順位を付ける際は、次の点に従ってください。
- 遺伝的エビデンスから始める: ヒト遺伝学(GWAS、希少バリアント)は、疾患との関連性について最も強力な根拠を提供します
- 治療可能性(tractability)を確認する: 臨床または探索段階での実績があるターゲットを優先します
- 安全性を評価する: 安全性上の懸念、発現パターン、遺伝的制約を確認します
- 臨床的な先行事例を評価する: 既知の医薬品は、創薬可能性と治療域を示します
- 複数のエビデンスタイプを考慮する: 異なる情報源からの収斂したエビデンスは、信頼性を高めます
- メカニズムを検証する: 経路のエビデンスと生物学的妥当性を確認します
- 文献を手動でレビューする: 重要な判断については、一次論文を精査してください
エビデンスの解釈
強いエビデンスの指標:
- 複数の独立したエビデンスソース
- 高い遺伝的関連スコア(特に L2G > 0.5 の GWAS)
- 承認済み医薬品による臨床的な先行事例
- 疾患と一致する ClinVar の病原性バリアント
- 関連する表現型を示すマウスモデル
注意すべき兆候:
- エビデンスソースが1つだけである
- テキストマイニングのみがエビデンスである(手動による検証が必要)
- ソース間でエビデンスが矛盾している
- 高い必須性と遍在的な発現(治療域が狭い可能性)
- 複数の安全性上の懸念がある
スコアの解釈:
- スコアは絶対的な信頼度ではなく、相対的な強度を示す
- 研究が少ない疾患は、妥当なターゲットであってもスコアが低くなる
- 専門家がキュレーションしたソースを、計算による予測よりも重視する
- 総合スコアだけでなく、エビデンスの内訳を確認する
一般的なワークフロー
ワークフロー 1: 疾患に対するターゲット探索
- 疾患を検索 → EFO ID を取得
include_targets=Trueを指定して疾患情報をクエリ- 関連付けスコアで並べ替えられた上位のターゲットを確認
- 有望なターゲットについて、詳細なターゲット情報を取得
- 各関連付けを裏付けるエビデンスタイプを調べる
- 優先されたターゲットの治療可能性と安全性を評価
ワークフロー 2: ターゲットの検証
- ターゲットを検索 → Ensembl ID を取得
- 包括的なターゲット情報を取得
- 治療可能性を確認(特に臨床での先行事例)
- 安全性上の懸念と遺伝的制約を確認
- 疾患との関連付けを調べ、生物学的背景を理解する
- ケミカルプローブやツール化合物を探す
- 遺伝子を標的とする既知の医薬品を確認し、作用機序の知見を得る
ワークフロー 3: 既存薬の適応拡大(ドラッグリpurpose)
- 疾患を検索 → 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 ドキュメントです:
- エンドポイントの詳細と認証
- 利用可能なクエリタイプ(target、disease、drug、search)
- 一般的な操作すべての例となるクエリ
- エラー処理とベストプラクティス
- データライセンスと引用要件
references/evidence_types.md エビデンスタイプとデータソースに関する包括的なガイドです:
- 主要な 7 種類のエビデンスタイプすべての詳細な説明
- 各ソースのスコアリング手法
- エビデンスの解釈ガイドライン
- 各エビデンスタイプの長所と限界
- 品質評価の推奨事項
references/target_annotations.md ターゲットアノテーションの完全なリファレンスです:
- 12 の主要なアノテーションカテゴリの説明
- トラクタビリティ評価の詳細
- 安全性リスクのソース
- 発現、必須性、制約データ
- ターゲットの優先順位付けのための解釈ガイドライン
- ターゲット評価におけるレッドフラグとグリーンフラグ
データの更新とバージョン管理
Open Targets Platform は新しいデータリリースとともに四半期ごとに更新されます。現在のリリース(2025 年 10 月時点)は API エンドポイントから利用できます。
リリース情報: 最新の更新については 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 を使用してください
- スコアは絶対値ではなく相対値です: 関連性スコアはエビデンスの強さを順位付けするものであり、臨床での成功を予測するものではありません
- 研究が進んでいない疾患はスコアが低くなります: 新規疾患や希少疾患は強いエビデンスがあっても、総合スコアが低くなる場合があります
- エビデンスの品質にはばらつきがあります: 専門家によってキュレーションされたソースは、計算による予測よりも重視してください
- 生物学的な解釈が必要です: スコアとエビデンスは、生物学的および臨床的な文脈の中で解釈する必要があります
- 認証は不要です: すべてのデータは自由にアクセスできますが、適切に引用してください