mcpField
T
tooluniverse-systems-biology

tooluniverse-systems-biology

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

tooluniverse-systems-biology について

経路エンリッチメント、タンパク質と経路の対応付け、システム生物学研究向けの ToolUniverse スキルです。複数のキュレーション済みデータベースを検索し、結果を照合して計算分析する手順を示します。

主な機能

  1. 01経路エンリッチメント分析
  2. 02タンパク質と経路の対応付け
  3. 03経路データベース横断検索
  4. 04上位階層の経路一覧
  5. 05データベース間の結果照合
  6. 06計算モデルの検索

活用シーン

  1. 01遺伝子リストの経路エンリッチメント分析
  2. 02タンパク質が関与する経路の特定
  3. 03生物学的プロセスに関連する経路の検索
  4. 04SBML システム生物学モデルの検索

MCP 対応

このスキルは ToolUniverse ツールで経路、タンパク質、モデルのデータを取得し、MCP による分析に利用します。

インストール

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-systems-biology

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

同梱ファイル

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

.env.template
python_implementation.py
test_skill.py
test1_genelist.md
test2_protein.md
test3_keyword.md
test4_combined.md

詳細

システム生物学とパスウェイ解析

複数の厳選データベースを統合した包括的なパスウェイおよびシステム生物学解析により、生物学的システム、パスウェイエンリッチメント、タンパク質とパスウェイの関係を多面的に把握できます。

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

トリガー:

  • 「この遺伝子リストのパスウェイを解析して」
  • 「[protein] が関与するパスウェイは何ですか?」
  • 「[keyword/process] に関連するパスウェイを探して」
  • 「パスウェイエンリッチメント解析を実施して」
  • 「タンパク質を生物学的パスウェイにマッピングして」
  • 「[process] の計算モデルを探して」
  • 「[genes/proteins] のシステム生物学解析」

ユースケース:

  1. 遺伝子セット解析:RNA-seq、プロテオミクス、またはスクリーニング結果からエンリッチされたパスウェイを特定します
  2. タンパク質の機能:タンパク質が関与するパスウェイやプロセスを見つけます
  3. パスウェイの発見:疾患、プロセス、または表現型に関連するパスウェイを探します
  4. システムの統合:遺伝子 → パスウェイ → プロセス → 疾患をつなげます
  5. モデルの発見:計算システム生物学モデル(SBML)を探します
  6. データベース横断検証:複数のソース間でパスウェイ注釈を比較します

説明するのではなく、計算する

解析に計算(統計、データ処理、スコアリング、エンリッチメント)が必要な場合は、Bash 経由で Python コードを作成して実行してください。何をするか説明するのではなく、実際に実行して結果を報告してください。ToolUniverse ツールでデータを取得し、Python(pandas、scipy、statsmodels、matplotlib)で解析してください。

分野に関する推論:エンリッチメントと因果関係

パスウェイ解析では、遺伝子リストでどの生物学的プロセスがエンリッチされているかが分かります。しかし、エンリッチメントは因果関係を示すものではありません。あるパスウェイがエンリッチされているとは、遺伝子リストが偶然に期待されるよりも高い割合でそのパスウェイと重複していることを意味します。エンリッチメントの要因が少数のハブ遺伝子なのか、それともパスウェイ全体に分布する多数の遺伝子なのかを確認してください。注釈された構成要素が200個あるパスウェイで、入力遺伝子が3個の場合よりも、構成要素40個のうち15個がリストに含まれるパスウェイのほうが、より多くの情報をもたらします。

推測せずに調べてください:パスウェイの構成要素、遺伝子とパスウェイの対応関係、エンリッチメント統計を確認してください。遺伝子がパスウェイに含まれると決めつけず、Reactome、KEGG、またはEnrichrを使って検証してください。パスウェイデータベースによって構成要素の情報は異なるため、重要な結果は少なくとも2つのソースで相互検証してください。

統合されている主要データベース

データベース強み
Reactome反応を含む詳細な機序的パスウェイ。ヒトの専門家がキュレーション
KEGG代謝マップ、疾患パスウェイ、薬剤標的
WikiPathways新興パスウェイおよびコミュニティによるキュレーション
Pathway Commons複数のソースを集約するメタデータベース
BioModels数学的/計算的なSBMLモデル
Enrichr統計的な過剰代表解析
BiGG Modelsゲノム規模の代謝再構築(85以上の生物種)、FBA対応のCOBRA形式
Rhea専門家がキュレーションした生化学反応ナレッジベース(ChEBIベース、ECとの相互参照あり)

ワークフローの概要

Input → Phase 1: Enrichment → Phase 2: Protein Mapping → Phase 3: Keyword Search → Phase 4: Top Pathways → Report

フェーズ1:パスウェイエンリッチメント解析

使用する場面:遺伝子リストが提供された場合(実験、スクリーニング、差次的発現遺伝子など)

目的:遺伝子リストで統計的に過剰代表される生物学的パスウェイを特定します

ツールとワークフロー
ツール入力用途
ReactomeAnalysis_pathway_enrichmentidentifiers(改行区切りのシンボル)、page_sizeFDR補正済みReactomeエンリッチメント(推奨)
enrichr_gene_enrichment_analysisgene_list(配列)、libs(配列)KEGG/Reactome/WikiPathwaysを用いた過剰代表解析
STRING_functional_enrichmentprotein_ids(配列)、species、categoryPPIネットワークに基づく機能エンリッチメント
intact_get_interactionsidentifier(UniProtアクセッション)エビデンス付きのタンパク質間相互作用
  1. 遺伝子リストをEnrichr/Reactomeに送信します。2. 調整済みp値が0.05未満の結果を並べ替えます。3. 上位10~20件のパスウェイについて、ID、p値、重複する遺伝子を報告します。エンリッチメントがない場合は、その旨を明記してください。

フェーズ 2:タンパク質と経路のマッピング

実行条件:タンパク質の UniProt ID が提供された場合

目的:タンパク質が関与する既知の経路をすべてマッピングします

使用するツール

Reactome_map_uniprot_to_pathways:

  • 入力:
    • uniprot_id:UniProt アクセッション(例:「P53350」)
  • 出力:このタンパク質を含む Reactome 経路の配列

Reactome_get_pathway_reactions:

  • 入力:
    • stId:Reactome の経路安定 ID(例:「R-HSA-73817」)
  • 出力:反応とサブ経路の配列
  • 用途:経路のメカニズムの詳細を取得します
ワークフロー
  1. UniProt ID を Reactome の経路にマッピングします
  2. このタンパク質が含まれるすべての経路を取得します
  3. 最上位の経路(またはユーザー指定の経路)について:
    • 詳細な反応とサブ経路を取得します
    • イベント名と種類(反応または経路)を抽出します
    • 該当する場合は疾患との関連を記録します
判断ロジック
  • 複数の経路:すべての経路を報告し、階層レベルに基づいて優先順位を付けます
  • 最上位の経路の詳細:最も関連性の高い 1~3 件の経路について、詳細な反応を取得します
  • バージョン付き ID:Reactome ではバージョンなしの ID が使用されます。バージョンが含まれている場合は削除します
  • 結果が空の場合:タンパク質 ID が有効か確認します。Reactome の結果が空の場合は、代替データベースを提案します

フェーズ 3:キーワードによる経路検索

実行条件:ユーザーがキーワードまたは生物学的プロセス名を指定した場合

目的:複数の経路データベースを検索し、関連する経路を見つけます

ツール
ツール主要なパラメーター対象範囲
kegg_search_pathwaykeyword参照経路、代謝経路、疾患経路
kegg_get_pathway_infopathway_id(例:「hsa04930」)経路の詳細な遺伝子/化合物情報
WikiPathways_searchquery、organismコミュニティーがキュレーションした、新たに登場した経路
PathwayCommons_searchaction="search_pathways"、keyword複数のソースを集約したメタデータベース
biomodels_searchquery、limitSBML 計算モデル

すべてのデータベースを並行して検索します。結果は経路の概念ごとにまとめます。BioModels の結果が空になることはよくありますが、これは正常です。


フェーズ 4:最上位経路カタログ

実行条件:コンテキストを提示するため、常に含めます

目的:生物種の主要な生物学的システム/経路を示します

使用するツール

Reactome_list_top_pathways:

  • 入力:species(例:「Homo sapiens」)
  • 出力:最上位の経路カテゴリーの配列
  • 用途:階層的な経路構成を提示します
ワークフロー
  1. 指定された生物種の最上位経路を取得します
  2. 経路カテゴリー(代謝、シグナル伝達、疾患など)を表示します
  3. 経路階層を参照するために使用します
判断ロジック
  • 常に表示:他のフェーズの結果が空でも、コンテキストを提示します
  • 生物種に固有:対象の生物種で絞り込みます
  • 階層表示:これらは、多数のサブ経路を持つ親経路です

出力構成

Markdown レポートを段階的に作成します:ヘッダー → フェーズ 1 のエンリッチメント結果 → フェーズ 2 のタンパク質マッピング → フェーズ 3 のキーワード検索 → フェーズ 4 の最上位経路カタログ。結果が空の場合は明示的に記載し、黙って省略しないでください。後続の検索に使えるよう、経路 ID を含めてください。

ツールパラメーターのリファレンス

重要なパラメーターに関する注意(テストに基づく):

ツール正しいパラメーターよくある間違い
Reactome_map_uniprot_to_pathwaysuniprot_idid
PathwayCommons_searchaction と keyword(どちらも必須)action を省略する
enrichr_gene_enrichment_analysisgene_list(配列)文字列

レスポンス形式に関する注意:

  • Reactome:リストを直接返します({status, data} にラップされていません)
  • Pathway Commons:total_hits と pathways を含む辞書を返します
  • その他:標準的な {status: "success", data: [...]} 形式です

ドメイン推論:酵素反応速度論と代謝解析

推測せずに調べてください:特定の酵素のKm値、kcat値、補因子の要件、最適なpH/温度を確認します。BindingDB_search_by_target、ChEMBL_get_molecule、BRENDA_get_enzyme_info(BRENDA_EMAIL + BRENDA_PASSWORD 環境変数が必要です。brenda-enzymes.org で無料の学術登録ができます)(利用可能な場合)、または EuropePMC_search_articles を使用して、公開されている速度論パラメーターを取得します。第一原理からKmを推定しないでください。

ミカエリス・メンテン反応速度論

基礎となるモデル:v = Vmax * [S] / (Km + [S])

  • Km = 速度が最大値の半分になる基質濃度。結合親和性ではありません(Km = (koff + kcat) / kon)。
  • Vmax = 最大速度 = kcat * [E_total]。酵素濃度に比例します。
  • kcat = 触媒回転数 = 1秒あたりに各酵素分子が変換する基質分子の数。
  • 触媒効率 = kcat / Km。「最良」の酵素は拡散律速限界(約10^8 M^-1 s^-1)に近づきます。

データからKmとVmaxを求めるには、Lineweaver-Burkプロット(1/v 対 1/[S])、Eadie-Hofsteeプロット(v 対 v/[S])、または非線形回帰(逆数変換による歪みを避けられるため推奨)を使用します。skills/tooluniverse-computational-biophysics/scripts/ の enzyme_kinetics.py を参照してください。

アロステリック調節と協同的結合

すべての酵素がミカエリス・メンテン式に従うわけではありません。v 対 [S] の曲線がシグモイド状の場合は、協同性を示しています。

  • Hill式:v = Vmax * [S]^nH / (K0.5^nH + [S]^nH)
  • Hill係数(nH):nH = 1(協同性なし)、nH > 1(正の協同性。例:ヘモグロビンのO2結合では nH 約 2.8)、nH < 1(負の協同性)。
  • K0.5:速度が最大値の半分になる基質濃度(Kmに類似しますが、協同的な系では同一ではありません)。
  • アロステリック活性化因子は曲線を左にシフトさせます(K0.5が低下)。アロステリック阻害剤は曲線を右にシフトさせる(K0.5が上昇)か、Vmaxを低下させます。
酵素阻害の種類
種類Kmへの影響Vmaxへの影響Lineweaver-Burkプロットのパターン
競合阻害増加(Km_app = Km * (1 + [I]/Ki))変化なし直線はy軸上で交差
不競合阻害減少減少直線は平行
非競合阻害(純粋型)変化なし減少(Vmax_app = Vmax / (1 + [I]/Ki))直線はx軸上で交差
混合阻害変化減少直線は第IIまたは第III象限で交差

Kiを求めるには、複数の[I]および[S]でvを測定し、適切なモデルにフィッティングします。enzyme_kinetics.py スクリプトは、競合阻害、不競合阻害、非競合阻害の計算に対応しています。

「活性なし」という結果のトラブルシューティング

精製酵素が触媒活性を示さない場合は、以下を体系的に確認してください。

  1. オリゴマー状態:多くの酵素は必須の二量体/四量体です。希釈したタンパク質は解離することがあります。SEC、ネイティブPAGE、またはDLSで確認してください。サンプルを濃縮するか、安定化剤(グリセロール、特定のイオン)を添加します。
  2. 補因子:金属イオン(Zn2+、Mg2+、Mn2+)、補酵素(NAD+、FAD、PLP)、または補欠分子族が精製中に失われている可能性があります。酵素に必要な補因子を調べ、アッセイバッファーに補充してください。
  3. pH:ほとんどの酵素には明確な至適pHがあります。pHがわずか1単位ずれても、活性が10分の1に低下することがあります。文献で報告されている最適pHにバッファーを調整してください。
  4. 温度:標準的なアッセイは25Cまたは37Cで行います。好熱性酵素には50-80Cが必要です。好冷性酵素は30Cを超えると変性します。
  5. 還元環境:多くの酵素は、活性部位のシステインを還元状態に保つためにDTTまたはβ-メルカプトエタノールを必要とします。
  6. 基質:異なる異性体(D体とL体)、異なる酸化状態、または分解した基質を使っていないか確認してください。新しい基質を使用し、陽性対照酵素で検証します。
  7. バッファー中の阻害剤:EDTAは必須金属をキレートします。リン酸はリン酸結合部位で競合します。界面活性剤は変性を引き起こすことがあります。
  8. タンパク質のフォールディング:封入体タンパク質は、リフォールディング後も誤って折りたたまれている可能性があります。CD分光法またはサーマルシフトアッセイで確認してください。
代謝フラックス解析の推論

代謝フラックス解析(MFA)は、in vitroでの酵素活性だけでなく、in vivoでの代謝反応の速度を定量化します。

主な概念:

  • 定常状態の仮定:代謝が定常状態にあるとき、各中間体の生成速度は消費速度と等しくなります。これにより、S * v = 0という線形方程式系が得られます。ここで、Sは化学量論行列、vはフラックスベクトルです。
  • フラックスバランス解析(FBA):系が不定(代謝物より反応の数が多い)である場合、FBAでは線形計画法を使用して目的関数(例:バイオマス生産の最大化)を最適化します。生物種の公開済みSBML 論文モデルを見つけるにはbiomodels_searchを使用してください。または、すでにキュレーションおよびバージョン管理されており、追加の整理なしですぐにFBAを実行できるモデルには、BiGG(以下)を使用してください。
  • 13C-MFA:同位体標識を使用して、細胞内フラックスを実験的に制約します。代謝物の標識パターンから、どの経路でフラックスが流れたかがわかります。
  • 制御係数:酵素活性が1%変化すると、経路のフラックスはどの程度変化するでしょうか。ほとんどの酵素のフラックス制御係数はほぼゼロです。フラックスは通常、少数の律速段階と基質の供給によって制御されます。

推測せずに調べてください:化学量論係数、経路のトポロジー、公開済みのフラックス分布を確認してください。これらのデータにはKEGG(kegg_get_pathway_info)、Reactome(Reactome_get_pathway_reactions)、BioModels(biomodels_search)を使用してください。

ゲノムスケール代謝モデルとFBA(BiGG)

BiGG Models(bigg.ucsd.edu)は、108件のゲノムスケール代謝再構築モデルを収録したキュレーション済みデータベースです(細菌、古細菌、真核生物 — E. coli、酵母、ヒトのRecon3Dなど)。各モデルはすでにFBA対応のCOBRA形式です。すべての反応にフラックスのlower_bound/upper_boundとgene_reaction_ruleが含まれています。一方、biomodels_searchで見つかるモデルは論文の未加工のSBMLファイルであり、実行前に整理が必要な場合があります。経路について読むだけでなく、実際にFBAを実行することが目的なら、BiGGを使用してください。

ツール(各ツールには、それぞれのスキーマでデフォルト設定されたoperation列挙値があります。手動で設定する必要はなく、目的に合った名前のツールを呼び出すだけです):

ツール主なパラメーター用途
BiGG_list_modelsなし利用可能な生物種/モデルを確認します(合計108件)
BiGG_get_modelmodel_idモデルのメタデータ:反応/代謝物/遺伝子の数、論文のDOI、ゲノムアクセッション
BiGG_get_model_reactionsmodel_idモデル内のすべての反応IDと名前を列挙します
BiGG_get_reactionreaction_id、model_id(または"universal")完全な化学量論、関与する代謝物、遺伝子反応ルール
BiGG_get_metabolitemetabolite_id、model_id(または"universal")化学式、区画、相互参照(KEGG/MetaCyc/HMDB/ChEBI)
BiGG_searchquery、search_type(models/reactions/metabolites/genes)4種類のエンティティを対象にしたフリーテキスト検索
BiGG_get_database_versionなしデータの最新性を確認します
BiGG_download_modelmodel_id、format(json/sbml)FBA対応COBRAモデル全体 — 反応ごとの境界値/目的関数係数、すべての代謝物、すべての遺伝子

ワークフロー — モデルを見つけて調査し、FBAを実行できる状態にする:

  1. BiGG_list_models → 各エントリには、bigg_id、organism、reaction_count、metabolite_count、gene_count が含まれます。手早く確認できる小規模な例としては、e_coli_core(E. coli のコア代謝:反応 95 件、代謝物 72 件、遺伝子 137 件)が標準的な教材モデルです。ゲノムスケールの作業には、iJO1366(E. coli)や Recon3D(ヒト)のような完全な再構築モデルを選んでください。
  2. BiGG_get_model(model_id="e_coli_core") → 出版物の DOI、ゲノムアクセッション(E. coli の場合は ncbi_accession:NC_000913.3)、ファイルサイズ、最終更新日が返されます。引用する前に最新かどうかを確認してください。
  3. BiGG_get_model_reactions(model_id="e_coli_core") → 各反応の {bigg_id, name, organism} のリストが返されます(例:ACKr = "Acetate kinase")。詳細を確認する前に、候補となる反応 ID を探す際に使用してください。
  4. BiGG_get_reaction(reaction_id="ACKr", model_id="e_coli_core") → metabolites 配列として完全な化学量論(各要素には bigg_id、name、符号付きの stoichiometry が含まれます)が返されます。また、gene_reaction_rule(一部の反応では空文字列または None ですが、取得失敗ではなく、実際に存在しないことを示します)と database_links(RHEA など)も含まれます。
  5. BiGG_get_metabolite(metabolite_id="g3p_c", model_id="e_coli_core") → name、formula、compartment_bigg_id/compartment_name、および KEGG/ChEBI との相互参照用の database_links が返されます。一部のエントリでは formulae などのフィールドが None で返されることがあるため、すべてのフィールドが埋まっていると想定せず、実際に含まれている情報を報告してください。
  6. BiGG_search(query="glucose", search_type="metabolites") → デフォルトでは、ユニバーサル名前空間(model_bigg_id: "Universal")とモデル固有の ID の両方から、順位付けされた検索結果が返されます。生物を探すには search_type="models"、遺伝子シンボルから BiGG 遺伝子 ID を特定するには "genes" を使用してください。
  7. BiGG_download_model(model_id="e_coli_core", format="json") → 完全な COBRA モデルが返されます。最上位には metabolites/reactions/genes/compartments の配列があり、各反応には lower_bound、upper_bound、gene_reaction_rule、および {metabolite_id: stoichiometry} の metabolites 辞書が含まれます。これは FBA 用に COBRApy の Model に渡すオブジェクトであり、メタデータのみを返す BiGG_get_model のレスポンスとは異なります。format="sbml" を指定すると、同じモデルが SBML XML 文字列で返されます。これは、この形式を必要とするツール向けです。

注意点(実際のテストより):BiGG_get_reaction/BiGG_get_metabolite の model_id はデフォルトで "universal" です。ユニバーサル(モデルに依存しない)エントリではなく、モデルに応じた化学量論や境界値が必要な場合は、特定のモデル ID を指定してください。BiGG_search のデフォルトの search_type は "reactions" です。代謝物/遺伝子/モデルを検索する場合は、明示的に設定してください。BiGG_get_model が返すのは件数とメタデータのみです。実際に実行可能なモデルを返すのは BiGG_download_model です。

反応レベルの生化学(Rhea)

Rhea(rhea-db.org、SIB)は、個々の生化学反応を専門家がキュレーションしたナレッジベースです。各反応には、ChEBI に基づく化学反応式、キュレーション状況(approved、reviewed など)、質量・電荷のバランスフラグ、相互参照された EC 番号が付与されています。質問が、モデル全体のフラックス(前述の BiGG)や経路図(Reactome/KEGG)ではなく、1 つの反応の参加物質、化学量論、酵素分類に関する場合に使用してください。

ツール:

ツール主なパラメーター用途
Rhea_search_reactionsquery、limit、offset化合物名/キーワードによるフリーテキスト検索。フレーズではなく、単一のキーワードを使用してください — query="glucose" では実際にヒットしますが、query="glucose oxidation" ではゼロ件になります(ライブ検証済み)
Rhea_search_by_ecec_number、limit、offset指定した EC クラスが触媒するすべての反応
Rhea_search_by_chebichebi_id、limit、offset特定の ChEBI 化合物が参加するすべての反応(基質、生成物、またはその両方)
Rhea_get_reactionrhea_id詳細情報:化学反応式、status_curation、balanced/transport フラグ、ChEBI ID と化学量論を含む反応物/生成物
Rhea_get_reaction_participantsrhea_id反応物/生成物の一覧のみ(Rhea_get_reaction のサブセット。キュレーションメタデータが不要な場合に便利です)

ワークフロー(ライブテストで確認した実際の値): Rhea_search_reactions(query="glucose") → RHEA:14293(「D-glucose + NAD(+) = D-glucono-1,5-lactone + NADH + H(+)」、EC 1.1.1.47/1.1.1.118/1.1.1.359 など) → Rhea_get_reaction(rhea_id="RHEA:14293") → status_curation: "approved"、balanced: true、反応物 [{chebi_id: "CHEBI:4167", name: "D-glucose", stoichiometry: "1"}, {chebi_id: "CHEBI:57540", name: "NAD+", ...}]。 Rhea の chebi_id を tooluniverse-chemical-compound-retrieval の PubChem/ChEBI ツールと照合して化合物の構造を確認し、Rhea の ec_numbers の値を BRENDA(上記のドメイン推論を参照)と照合して、同じ反応の反応速度定数を調べてください。


フォールバック戦略

エンリッチメント解析
  • 第一選択:KEGG ライブラリーを使った Enrichr
  • フォールバック:代替ライブラリー(Reactome、GO Biological Process)を試してください
  • すべて失敗した場合:「エンリッチメント解析を利用できません」と記載して続行してください
タンパク質のマッピング
  • 第一選択:Reactome のタンパク質-経路マッピング
  • フォールバック:タンパク質名を使ってキーワード検索してください
  • 結果が空の場合:タンパク質 ID が有効か確認し、遺伝子シンボルを確認するよう提案してください
キーワード検索
  • 第一選択:すべてのデータベースを検索します(KEGG、WikiPathways、Pathway Commons、BioModels)
  • フォールバック:すべて空の場合は、キーワードの範囲を広げてください(例:「diabetes」→「glucose」)
  • それでも空の場合:「[keyword] に該当する経路は見つかりませんでした」と記載してください

制限事項と既知の問題

  • Reactome:ヒトのカバー範囲は広いですが、非モデル生物の範囲は限定的です
  • KEGG:キーワードの一致が必要で、同義語を見落とす場合があります
  • WikiPathways:キュレーションの品質にばらつきがあります。経路のバージョン日付を確認してください
  • Pathway Commons:集約によって重複が生じる場合があります。出典の表記を確認してください
  • BioModels:多くのプロセスでデータがまばらで、結果が返されないこともよくあります
  • Enrichr:遺伝子シンボルが必要です(ID は不可)。大文字・小文字が区別されます
  • BiGG:キュレーション済みの再構築モデルが存在するのは 108 生物種のみです(主に細菌/モデル生物で、調べたい生物種すべてにモデルがあるわけではありません)。対応状況を判断する前に BiGG_search(search_type="models") を確認してください。model_id を明示的に渡さない限り、BiGG_get_reaction/BiGG_get_metabolite はデフォルトで "universal"(モデルに依存しない)名前空間を使用します

GO 用語の検索、KEGG BRITE 分類、因果関係の記述の抽出(GOAPI/KEGG BRITE/INDRA)

これまで文書化されていなかった 4 つの小規模なツールファミリーを、以下でライブテストしました。そのうち 2 つは、ToolUniverse の別の場所ですでに使用されているツールと目的が重複しています。最初に選択する前に、重複についての注記をお読みください。

GOAPI: GO ターム/遺伝子アノテーションの直接検索

GOAPI_get_term、GOAPI_get_gene_functions、GOAPI_get_genes_by_function(go_api_tools.json)は GO API を直接呼び出します。重複に関する注意: これは GO_get_annotations_for_gene / GO_get_term_by_id / GO_get_term_details(gene_ontology_tools.json)とは別のツールファミリーであり、後者は他のいくつかのスキル — tooluniverse-target-research、tooluniverse-gene-enrichment、tooluniverse-structural-variant-analysis — が同じ目的ですでに文書化しています。ワークフロー内の別の場所ですでにこれらの既存ツールを使用している場合は、そちらを優先してください。GOAPI に手を伸ばすのは、その CURIE ベースの遺伝子指定(後述)や、逆方向の「機能から遺伝子」検索が特に必要な場合です。

  • GOAPI_get_term(go_id="GO:0006281") → タームのラベル + 完全な定義 + PMID 相互参照(ライブで検証済み: "GO:0006281" = "DNA repair"、正しい定義が返されました)。
  • GOAPI_get_gene_functions(gene_id=..., rows=, aspect=) → 落とし穴、ライブで検証済み: gene_id は CURIE("HGNC:11998"、"UniProtKB:P04637"、"MGI:MGI:98834")である必要があり、裸の遺伝子記号ではいけません — gene_id="TP53" は 400 で失敗し、gene_id="UniProtKB:P04637" は成功し、アノテーションごとに evidence_type/evidence_label/provided_by/references を含む実際の GO タームを返します(例: p53 → "negative regulation of cell population proliferation"、UniProt からの IMP エビデンス、PMID:10962037)。
  • GOAPI_get_genes_by_function(go_id=...) → 逆方向: GO タームでアノテーションされた実際の遺伝子リストで、それぞれに gene_id(CURIE)、gene_label、taxon_id が含まれます。
KEGG BRITE: 階層的な機能分類

KEGG_list_brite_hierarchies(パラメータなし)と KEGG_get_brite_hierarchy(hierarchy_id=...)(kegg_brite_tools.json) — 真に新規で、既存のカバレッジはありません。BRITE は KEGG の分類ツリー層であり(例: EC 階層でグループ化された酵素、標的クラスでグループ化された薬剤)、このスキルのフェーズ 3 にすでにある kegg_search_pathway/kegg_get_pathway_info とは異なります。後者は分類ツリーではなくパスウェイマップを返します。

  • KEGG_list_brite_hierarchies() → 実際のレスポンス: 156 個の階層ファイル(例: br08901 = "KEGG pathway maps")。
  • KEGG_get_brite_hierarchy(hierarchy_id="ko01000") → 酵素クラスの実際のネストされた children ツリー(例: "1. Oxidoreductases" → "1.1 Acting on the CH-OH group of donors" → ...)。単一のパスウェイの遺伝子/化合物リストではなく、分類構造自体が必要な場合(例: 「すべてのキナーゼサブクラスは何か」)に使用します。
INDRA: 文献マイニングによる因果関係ステートメントの自動化

INDRA_get_statements、INDRA_get_evidence_count、INDRA_get_statement_by_hash(indra_tools.json)— 真に新しいものです。INDRA は PubMed の抄録から因果関係(Activation/Inhibition/Phosphorylation/Complex など)を直接テキストマイニングし、エビデンス件数とともに組み立てます — これは精度が変動する自動抽出であり、SIGNOR のような手動キュレーションされた因果エッジ(tooluniverse-protein-interactions に記載)ではありません。INDRA のステートメントは、確認すべき文献マイニングの手がかりとして扱い、確定したメカニズムとはみなさないでください。特に evidence_shown が total_evidence に比べて少ない場合はなおさらです。

  • INDRA_get_evidence_count(agent="TP53") → 実際の件数: TP53 のすべてのステートメントにわたる合計 25,846 件のエビデンス項目(ライブで検証済み。やや遅く、約 3〜20 秒)。
  • INDRA_get_statements(agent="EGFR", limit=3) → 注意点: この呼び出しは 30〜90 秒以上かかることがあります — 十分に余裕のあるタイムアウトを設定し、ハングしたように見えても失敗とは決めつけないでください。実際の応答: Phosphorylation/Complex などの型を持つステートメントで、それぞれに hash、evidence_shown、およびエビデンスごとの pmid とソース文が含まれます(例: 実際の Phosphorylation ステートメントは、EGFR 全体で合計 74,891 件のエビデンスのうち、PMID 31635022 と 37443708 からの表示された 2 件のエビデンス文に裏付けられています — ほとんどのエビデンスは 1 回の呼び出しでは表示されないため、まず INDRA_get_evidence_count を使って関係がどの程度研究されているかを把握してください)。
  • INDRA_get_statement_by_hash(hash=...) → 上記から hash を取得したら、単一ステートメントの完全な詳細を取得できます(実際の例: hash -35357180905875939、1,376 件のエビデンス項目を持つ EGFR Inhibition ステートメント)。
ライブで検証済みの既知の壊れたツール: ReactomeInteractors

ReactomeInteractors_get_protein_interactors、ReactomeInteractors_get_entity_pathways、ReactomeInteractors_search_entity(reactome_interactors_tools.json)— 現在 3 つのツールすべてが、呼び出しのたびに HTTP 521 を返します。これは tu test/tu run 経由と、Reactome 自身の interactors エンドポイント(reactome.org/ContentService/interactors/...)への独立した直接 curl の両方で確認され、こちらも 521 を返しました。これは ToolUniverse のバグではなく、Reactome の interactors サービスがオリジンで到達不能になっているためです — 一時的な可能性があるため、恒久的に消えたと決めつけないでください。ただし、同じエラーに遭遇した場合、このファミリーからタンパク質相互作用やエンティティ-パスウェイの結果を捏造しないでください。「ReactomeInteractors サービスは現在到達不能(HTTP 521)」と報告し、代わりに STRING_functional_enrichment、intact_get_interactions、または(因果エッジについては)上記の SIGNOR/INDRA にフォールバックしてください。これは、すでに文書化されている Reactome_map_uniprot_to_pathways/Reactome_get_pathway_reactions(上記のフェーズ 2)や、Reactome_get_interactor(単数形、reactome_tools.json 内、tooluniverse-spatial-omics-analysis で使用)とは別のツールファミリーであることに注意してください — レジストリには 3 つの別々の Reactome ブランドのツールファミリーが存在し、このセクションでは ReactomeInteractors_* の 1 つだけを扱います。

最適な用途: 遺伝子セット解析、タンパク質機能の調査、パスウェイ探索、システムレベルの生物学

コメント