tooluniverse-protein-interactions について
タンパク質研究者向けの ToolUniverse スキルで、IDマッピング、ネットワーク取得、エンリッチメント、任意の構造検索を組み合わせます。相互作用や複合体、因果シグナルを扱い、根拠の確認を重視します。
主な機能
- 01タンパク質IDのマッピング
- 02STRINGとBioGRIDによるネットワーク取得
- 03GO、KEGG、Reactomeのエンリッチメント
- 04複合体の構成要素と化学量論の検索
- 05方向性のある因果シグナル解析
活用シーン
- 01タンパク質結合の実験的根拠の確認
- 02遺伝子セットの機能エンリッチメント解析
- 03既知複合体のサブユニット検索
- 04タンパク質間の因果シグナル追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-protein-interactionsインストール後、Claude Code で/tooluniverse-protein-interactionsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.templateDESCRIPTION_UPDATE_COMPLETE.mdDESCRIPTION_UPDATE_PROGRESS.mdDOMAIN_ANALYSIS.mdKNOWN_ISSUES.mdPHASE2_DISCOVERIES.mdpython_implementation.pyQUICK_START.mdtest_protein_tools.pytest_skill_comprehensive.pyTOOL_DESCRIPTION_OPTIMIZATION.md詳細
タンパク質相互作用ネットワーク解析
ToolUniverse ツールを使用した包括的なタンパク質相互作用ネットワーク解析です。識別子のマッピング、ネットワークの取得、エンリッチメント解析、任意の構造データという4段階のワークフローでタンパク質ネットワークを解析します。
ドメイン推論:相互作用の種類の明確化
タンパク質間の相互作用について尋ねられたら、物理的相互作用(結合するか)なのか、機能的相互作用(同じ経路に影響を与えるか)なのかを確認します。STRING は両方を組み合わせています。combined_score が高くても、物理的に結合することを意味するわけではありません。物理的結合の証拠を確認するには、実験スコア(escore)を個別に確認してください。tscore(テキストマイニング)や dscore(データベース)が高く、escore が低い場合は、直接結合ではなく、共通のアノテーションや共引用が示唆されます。
推測せずに調べてください:タンパク質相互作用スコア、実験的証拠の種類、特定の2つのタンパク質間で既知の共結晶構造があるかどうかを確認してください。STRING の escore と BioGRID の実験データを使用し、同じ経路に属するというだけで結合を推測しないでください。
使用するデータベース
| データベース | 対象範囲 | API キー | 用途 |
|---|---|---|---|
| STRING | 1,400万以上のタンパク質、5,000以上の生物種 | 不要 | 主な相互作用情報源 |
| BioGRID | 230万以上の相互作用、80以上の生物種 | 必要 | フォールバック、キュレーション済みデータ |
| SASBDB | 2,000以上のSAXS/SANSエントリー | 不要 | 溶液構造 |
| Complex Portal | キュレーション済み複合体(CORUM データを含む) | 不要 | キュレーション済みの複合体構成/化学量論 |
4段階のワークフロー
- 識別子のマッピング —
STRING_map_identifiers():タンパク質名を検証し、STRING ID を取得します - ネットワークの取得 —
STRING_get_network()(主に使用);BioGRID_get_interactions()(フォールバック、API キーが必要) - エンリッチメント解析 — GO/KEGG/Reactome には
STRING_functional_enrichment()、機能的な一貫性の検証にはSTRING_ppi_enrichment()を使用します - 構造データ(任意) — SAXS/SANS 溶液構造には
SASBDB_search_entries()を使用します
実行可能な例については、python_implementation.py(example_tp53_analysis()、analyze_protein_network())を参照してください。
Complex Portal:キュレーション済みの複合体構成
STRING/BioGRID は「A と B は相互作用するか」という問いに答えます。一方、Complex Portal は「既知の生物学的複合体の完全なキュレーション済み構成と化学量論は何か」という別の問いに答えます。ペア単位やネットワークレベルの相互作用ではなく、特定の名称がある、または暗に示されている複数サブユニットから成る複合体(例:「SAGA 複合体の構成要素は何か」「複合体を介して p53 を調節するものは何か」)についての問いに使用してください。
Phase 1: ComplexPortal_search_complexes(query=..., species=..., number=...) -> ranked candidate complexes,
each with complex_id, name, description, and a subunits[] list (identifier, name,
interactor_type: "protein" or "small molecule" for bound cofactors like zinc)
Phase 2: ComplexPortal_get_complex(complex_id) -> full detail for one specific complex by its CPX- ID
実例(実際のデータで検証済み):ComplexPortal_search_complexes(query="TP53", species="Homo sapiens") -> CPX-6093「TP53-MDM2-MDM4 転写調節複合体」(サブユニット P04637/Q00987/O15151)や、TP53/MYC を介してリクルートされる SAGA 複合体の2つのバリアント(KAT2A/KAT2B)など、実在する複合体が返されます。これらは、UniProt で識別された実在のサブユニットを持つ複数サブユニット複合体であり、タンパク質サブユニットに加えて、小分子の補因子(例:亜鉛原子、CHEBI:27363)も含まれます。
注意点(実際のデータで検証済み):検索が成功していても、ComplexPortal_get_complex が返すエコーされたフィールドで complex_id: null, name: null となる場合があります。正しい複合体を取得できたことは systematic_name と subunits リストで確認し、get_complex が返すフィールドを鵜呑みにせず、ComplexPortal_search_complexes から得た complex_id を使用してください。
パラメーター
| パラメーター | デフォルト | 説明 |
|---|---|---|
proteins | 必須 | 遺伝子シンボルまたは UniProt ID |
species | 9606 | NCBI 分類 ID |
confidence_score | 0.7 | 相互作用の最小信頼度(0~1) |
include_biogrid | False | BioGRID フォールバック(API キーが必要) |
include_structure | False | SASBDB 構造データ(処理に時間がかかります) |
信頼度スコアの目安
| スコア | 用途 |
|---|---|
| 0.4 | 探索的な解析(STRING のデフォルト閾値) |
| 0.7 | 推奨 — 信頼性の高い相互作用 |
| 0.9 | 中核となる相互作用のみ |
ネットワークエッジのフィールド(STRING)
インタラクションエッジごとに返される主要なフィールド:
score— 統合信頼度(0~1)escore— 実験スコア(物理的な結合の証拠に使用)dscore— データベーススコアtscore— テキストマイニングスコアascore— 共発現スコアpreferredName_A、preferredName_B— 遺伝子名
拡張解析ツール
シグナル伝達経路:
OmniPath_get_signaling_interactions— 指向性と符号を持つPPI(刺激/阻害)Reactome_map_uniprot_to_pathways— タンパク質をReactome経路にマッピングします(パラメーター:uniprot_id)ReactomeAnalysis_pathway_enrichment— 遺伝子セットの経路エンリッチメント- SIGNOR(因果的シグナル伝達、文献に裏付けられています)— 以下を参照
SIGNOR:因果的シグナル伝達インタラクション
上記のSTRING/BioGRIDは、タンパク質Aとタンパク質Bが(物理的または
機能的に)相互作用することを示しますが、その方向性や効果は示しません。
SIGNORはその不足を補います。手動でキュレーションされたデータベースであり、
すべてのエッジが方向性のある因果関係を示します。つまり、「AはメカニズムM
(リン酸化、ユビキチン化、転写制御、結合など)を介して、Bの活性/量を
上昇/低下させる。必要に応じて残基Rも示す」という内容で、各関係が特定の
PMIDに裏付けられています。OmniPath_get_signaling_interactionsと同種の
方向性と符号を持つエッジですが、多数のデータベースを集約したものではなく、
単一のキュレーション済み情報源から、エッジごとのメカニズム、残基、文献の
詳細を取得できます。因果関係の主張を複数の情報源で裏付ける必要がある場合は、
両方を使用してください。
ツール(すべて実在し、ライブで検証済みです。entity_id/タンパク質識別子には、
遺伝子シンボルではなくUniProtアクセッションを使用してください。例:EGFRは
P00533):
| ツール | 目的 | 主要なパラメーター |
|---|---|---|
SIGNOR_get_interactions | 1つのタンパク質の上流調節因子と下流標的を取得します | entity_id(UniProtアクセッション)、organism(taxid、デフォルトは9606)、limit |
SIGNOR_list_pathways | キュレーション済みのシグナル伝達経路(疾患名またはプロセス名が付いた経路)を閲覧します | query(任意のキーワード。例:"apoptosis"、"MAPK") |
SIGNOR_get_pathway | キュレーション済みの1つの経路内にあるすべての因果的インタラクションを取得します | pathway_id(list_pathwaysで取得。例:"SIGNOR-EGF")、limit |
SIGNOR_connect_proteins | 2つ以上のタンパク質をつなぐ、キュレーション済み因果サブネットワークの最短経路を取得します | proteins(UniProtアクセッションの配列、2つ以上)、level(1=直接のみ、2=中間要素が1つ、3=中間要素が2つ)、limit |
各インタラクションは、source_entity/target_entity(およびそれぞれのUniProt
source_id/target_id)、effect(例:"down-regulates activity"、
"up-regulates quantity by expression")、mechanism(例:
"phosphorylation"、"ubiquitination"、"binding"、"transcriptional regulation"。未指定の場合は空文字列になることがあります)、residue(null可)、
pmid、direct(ブール値。trueは既知の中間要素がないことを示します。SIGNORの
connect_proteinsの出力には、1つの経路内にdirect: trueとdirect: falseの
エッジが混在する場合があるため、経路全体が直接的だと仮定せず、エッジごとに
このフィールドを確認してください)、および信頼度に関連するscoreが含まれます。
ワークフロー — 2つのタンパク質間の因果経路をたどる:
SIGNOR_connect_proteins(proteins=["P00533", "P28482"], level=2) # EGFR -> ERK2(MAPK1)
接続するキュレーション済みサブネットワークを返します(ライブ検証済み:実際の
エッジには、ERRFI1やPRKG2などEGFR自体の上流調節因子や、JAK2->MYC、
LCK->STAT3などの転写を介したつながりが、2ホップの近傍内で同時に含まれます。
connect_proteinsは、要求されたタンパク質の周辺にある局所的な因果グラフを返す
もので、最短経路を1つだけ返すわけではありません。特定の経路が必要な場合は、
始点から終点まで実際につながるエッジを絞り込んでください)。
ワークフロー — 疾患/プロセス経路を閲覧し、その経路における特定のタンパク質の役割を調べる:
SIGNOR_list_pathways(query="cancer") # -> pathway_id, e.g. "SIGNOR-EGF" (EGFR Signaling)
SIGNOR_get_pathway(pathway_id="SIGNOR-EGF") # -> all curated edges in that pathway (metadata.total_interactions gives the true count if limit truncates)
SIGNOR_get_interactions(entity_id="P00533") # -> zoom into EGFR specifically: e.g. real edges show VCB-Cul2 ubiquitinating/destabilizing EGFR (PMID:15590694) and EGFR phosphorylating IKBKE (PMID:27287717)
創薬可能性と臨床的背景:
DGIdb_get_drug_gene_interactions— ハブタンパク質の薬物インタラクションを取得します(パラメーター:配列としてのgenes)DGIdb_get_gene_druggability— 創薬可能性の分類を取得しますgnomad_get_gene_constraints— 遺伝子の必須性指標(pLI、oe_lof)を取得しますcivic_search_evidence_items— ネットワーク内のタンパク質における変異の臨床的エビデンスを取得しますUniProt_get_function_by_accession— タンパク質の機能アノテーションを取得します
ツール固有の注意事項
IntAct 相互作用データ
interaction_ids はレスポンスの metadata フィールドにあり、トップレベルにはありません:
interaction_ids = result.get("metadata", {}).get("interaction_ids", [])
BioGRID 化学的相互作用
BioGRID_get_chemical_interactions には常に制限事項の注記が含まれます — 化学的相互作用のカバレッジは不完全な場合があります。生物種が指定されていない場合、デフォルトは taxId=9606(ヒト)です。
IntAct の protein_name エイリアス
IntAct のツールは、元の識別子パラメータに加えて、エイリアスパラメータとして protein_name を受け付けます。
EBI Proteins-Gateway 経由の IntAct アクセス
EBIProteins_get_interactions(accession, limit=50) と EBIProteins_get_interaction_details(accession) は、上記で参照した同じ IntAct 由来の相互作用データへの第二の具体的なアクセス経路です(IntAct 自身のエンドポイントではなく、EBI Proteins API 経由) — 最初に STRING/IntAct を通じて識別子をマッピングするよりも、UniProt アクセッションを入力してランク付けされたパートナーを出力する単純な呼び出しのほうが便利な場合に、これらを使用してください。
| ツール | 戻り値 |
|---|---|
EBIProteins_get_interactions | 裏付けとなる実験数でソートされた二項相互作用パートナー。それぞれに partner_accession、gene_name、experiments(件数)、organism_differ(真偽値)が含まれます |
EBIProteins_get_interaction_details | クエリ対象タンパク質自身のレコード(名前、存在の証拠、生物種、疾患関連、細胞内局在)と、その上位の相互作用パートナーを 1 回の呼び出しで返します — タンパク質のコンテキストとそのネットワークを 2 回ではなく 1 回のリクエストで必要とする場合に便利です |
実際の例(ライブで検証済み): EBIProteins_get_interactions(accession="P04637")(TP53)→ MDM2(Q00987)、ABL1、AIMP2(6 件の実験)、EP300(8 件の実験)を含む 198 のパートナー。EBIProteins_get_interaction_details(accession="P04637") → 同じ相互作用データに加えて、実際の疾患関連(例: Li-Fraumeni 症候群)と細胞内局在を 1 つのレスポンスで返します — 疾患や局在のコンテキストだけが追加で必要な場合は、上記の別個の UniProt_get_function_by_accession 呼び出しを省略できます。
ドメイン推論: 多量体アセンブリと結合価
推測せずに調べる: オリゴマー状態、サブユニットの化学量論、結合価を確認します。タンパク質が単量体、二量体、三量体などであるかを確認するには、RCSB PDB(RCSBAdvSearch_search_structures、RCSBData_get_entry)または UniProt(UniProt_get_function_by_accession)を使用してください。遺伝子名だけから推測しないでください。
結合データからの多量体結合価の計算
結合価 = 多量体複合体上の独立した結合部位の数。サブユニットごとに 1 つの結合部位を持つホモ二量体の結合価は 2 です。それぞれ 2 本の Fab アームを持つ五量体(例: IgM)の結合価は 10 です。
主要な推論ステップ:
- オリゴマー状態を決定する: PDB/UniProt で四次構造を調べます。溶液中の「二量体」は、結晶学的には二量体の二量体(四量体)である場合があります。
- サブユニットあたりの結合部位を数える: 結合部位が界面にまたがる場合を除き、各サブユニットは独立して寄与します(その場合、複合体自体が機能単位となります)。
- 結合価 = サブユニット数 x サブユニットあたりの部位数(部位が独立している場合のみ)。ある部位での結合が別の部位に影響を与える場合、それは単純な結合価ではなく協同性です。
- 親和性に対するアビディティ: 多価複合体は単一部位よりも強く結合します(アビディティ効果)。見かけの Kd_多価 << Kd_一価。この増強はリンカーの柔軟性と標的の形状に依存します。
多量体結合における統計的因子
対称性を持つ多量体がリガンドに結合すると、統計的因子が見かけの速度定数に影響します。
- 最初のリガンド結合:kon_apparent = n x kon_intrinsic(利用可能な等価部位は n 個)
- 最初のリガンド解離:koff_apparent = koff_intrinsic(解離するリガンドは 1 個のみ)
- 一般則:同一部位を n 個持つ多量体では、i 番目の部位への結合における順方向の統計的因子は (n - i + 1)、逆方向の統計的因子は i です。
- 巨視的 Kd と微視的 Kd:Kd_macro(1st site) = Kd_micro / n。Kd_macro(last site) = n x Kd_micro。非協同性結合では、比 Kd_last / Kd_first = n^2 です。
測定した Kd 値がこうした統計的予測から外れる場合、タンパク質は正の協同性(Kd が予想以上に低下)または負の協同性(Kd が予想以上に上昇)を示します。
結合曲線解析と化学量論の使い分け
| アプローチ | 使用する場面 | わかること |
|---|---|---|
| 化学量論(ITC、AUC、SEC-MALS) | 複合体あたりの結合パートナー数が必要な場合 | n(部位数)。親和性はわかりません |
| 結合曲線(SPR、FP、ELISA) | Kd と速度論的特性が必要な場合 | 親和性。ただし見かけの Kd には多価性と協同性が混在します |
| Hill プロット(結合曲線の両対数プロット) | 協同性が疑われる場合 | Hill 係数 nH:nH=1 は非協同性、nH>1 は正、nH<1 は負 |
| Scatchard プロット(結合型/遊離型 vs 結合型) | 古典的な手法で、現在はあまり使われません | 曲線は複数の部位クラスまたは協同性、直線は単一の Kd を示します |
必須多量体と任意多量体:必須二量体(例:多くのキナーゼ)は単量体では活性を示しません。「精製タンパク質」が活性を示さない場合は、二量体形成が必要かどうかを確認してください。SEC またはネイティブ PAGE を使ってオリゴマー状態を確認します。タンパク質濃度が低い場合、高塩濃度の場合、または pH が適切でない場合、必須多量体が解離することがあります。
ドメイン推論:コイルドコイルのオリゴマー状態予測
- ヘプタッドリピート:(abcdefg)n で、a と d の位置にあるのは疎水性コア残基です。
- パッキングからのオリゴマー状態:二量体(ロイシンジッパー、d 位に Leu)、三量体(a 位に Ile/Val、d 位に Leu)、四量体(a+d の両方に Leu)、五量体(複雑な混合パッキング。例:a 位に Trp または極性残基)。
- ヘプタッドのネット図:残基をヘリカルホイール上に配置します。a+d が疎水性コア界面を形成します。a/d 残基の種類がパッキングの幾何学的形状を決定し、ひいてはオリゴマー状態を決定します。
- a/d 位の極性残基(Asn、Gln)は平行/逆平行の配向を指定し、特定のオリゴマー状態を選択させることがあります。
- 要確認:PubMed で「[sequence motif] coiled coil oligomeric state」を検索し、配列だけからオリゴマー状態を予測する前に CC+ または SOCKET データベースを確認してください。
ドメイン推論:膜タンパク質に対する界面活性剤の影響
- 穏和な界面活性剤(DDM、LMNG、CHAPS、ジギトニン)はネイティブのオリゴマー状態と脂質相互作用を保持するため、構造研究に適しています。
- 強力な界面活性剤(SDS、CMC を超える高濃度の OG)は、ネイティブ複合体を解離させ、安定化脂質を取り除くことがあります。
- 異なる界面活性剤を用いたネイティブ MSにより、特定の脂質がオリゴマー集合体を安定化するかどうかがわかります。CHAPS と OG の結果を比較すると、界面活性剤で安定化されるオリゴマーと脂質依存性のオリゴマーを区別できます。
タンパク質同定に関する質問
「X を担うタンパク質は何か」という質問では、必ず最初に UniProt と PubMed を検索してください。記憶から推測してはいけません。把握しておくべき主な経路:
- アミロイドのクリアランス:マトリックスメタロプロテアーゼによるコラーゲン分解は、アミロイド沈着物を露出させてマクロファージによる取り込みを可能にするために必要です。答えは血清アミロイド P(SAP)やその他のアミロイド結合タンパク質ではなく、コラーゲンです。
- 「タンパク質は何か」と尋ねられた場合は、タンパク質名だけを答えてください。略語、説明、限定条件は付けないでください。
トラブルシューティング
- 相互作用が見つかりません:タンパク質名(大文字と小文字を区別します)を確認し、
confidence_score=0.4を試してください - BioGRIDが動作しません:環境変数に
BIOGRID_API_KEYを設定してください。STRINGはキーなしで動作します - 出力が冗長です:
2>&1 | grep -v "Error loading tools"でフィルタリングしてください(KNOWN_ISSUES.mdを参照)
参考資料
- STRING:https://string-db.org/
- BioGRID:https://thebiogrid.org/(無料のAPIキーを取得するには登録してください)
- SASBDB:https://www.sasbdb.org/
- Complex Portal:https://www.ebi.ac.uk/complexportal/
- ToolUniverse:https://github.com/mims-harvard/ToolUniverse