mcpField
T
tooluniverse-protein-lof-mechanism

tooluniverse-protein-lof-mechanism

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

tooluniverse-protein-lof-mechanism について

単一のミスセンス変異による機能喪失機序を分析するスキルです。病原性、構造、配列尤度、SAE特徴の変化、安定性のシグナルを統合して、損なわれる機能を推定します。

主な機能

  1. 015種類の計算シグナルを統合
  2. 02病原性と構造環境を評価
  3. 03変異前後の配列尤度を比較
  4. 04損なわれる生物学的特徴を特定
  5. 05タンパク質安定性を推定
  6. 06証拠に基づき機序の確度を評価

活用シーン

  1. 01有害なミスセンス変異の機序分析
  2. 02機序に基づく薬物救済策の検討
  3. 03タンパク質修復と置換の方針比較
  4. 04臨床向け機序説明の作成

インストール

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-protein-lof-mechanism

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

詳細

タンパク質の機能喪失メカニズムの統合

単一のミスセンス変異について、5つの独立した計算シグナルを統合し、具体的な機能喪失メカニズムを推定します。各シグナルは、それぞれ異なる問いに答えます。

シグナルツール答える問い
病原性AlphaMissense_get_variant_score「この変異は有害ですか?」
構造的コンテキストalphafold_get_prediction「変異は折りたたまれた領域と無秩序領域のどちらにありますか?」
配列尤度ESM_score_sequence「この置換は進化的に妥当ですか?」
特徴の破壊ESM_explain_variant_mechanism(または、生の制御用として ESM_score_variant_sae_disruption + ESM_describe_sae_feature)「どの生物学的特徴が損なわれますか?」
安定性DynaMut2_predict_stability「タンパク質は正しく折りたたまれますか?」

このスキルを使う場合

以下に該当するミスセンス(コード領域)変異に適用します。

  • 変異が有害であるという根拠がすでにある(または確認したい)
  • 分子レベルで、変異が有害である理由を知りたい
  • 以降の作業がメカニズムに左右される。薬剤による救済戦略には何が損なわれているかを知る必要があり、遺伝子治療の判断では「タンパク質を修復する」か「タンパク質を置き換える」かを区別する必要があり、臨床報告ではメカニズムの説明が求められる

対象外(代わりに別のスキルを使用してください):

  • 非コード/調節変異 → tooluniverse-variant-to-mechanism
  • ACMG 病原性分類 → tooluniverse-variant-interpretation
  • SAE 特徴の破壊のみ(完全な統合は不要) → tooluniverse-protein-sae-variant-interpretation
  • がん特異的ドライバー → tooluniverse-cancer-variant-interpretation

必要な入力

入力形式例
変異 ID{accession}_{ref_aa}{position}{alt_aa}P04637_R175H
または:UniProt アクセッション + 変異文字列アクセッション + ref/pos/altP04637、R175H
または:遺伝子シンボル + 変異HGNC シンボル + ref/pos/altTP53、R175H

変異文字列を解析します。

import re
m = re.match(r"([A-Z])(\d+)([A-Z])", variant_str)
ref_aa, position, alt_aa = m.group(1), int(m.group(2)), m.group(3)

前提条件

  • SAE シグナルには ESM_API_KEY 環境変数が必要です(https://forge.evolutionaryscale.ai)
  • SAE をサポートする esm パッケージ:pip install 'esm @ git+https://github.com/evolutionaryscale/esm@ee891c52'
  • AlphaMissense、AlphaFold、UniProt、DynaMut2 の利用にはインターネット接続が必要です(すべてホスト型エンドポイントで、これらに API キーは不要です)

ワークフロー

ステップ 0:アクセッションを解決して標準配列を取得

ユーザーが遺伝子シンボルを指定した場合:

UniProt_search(
    query="gene:TP53 AND organism_id:9606 AND reviewed:true",
    fields=["accession"],
)
# → P04637

標準配列を取得します。

UniProt_get_sequence_by_accession(accession="P04637")

参照残基を検証します。

assert sequence[position - 1] == ref_aa, "Wrong sequence or wrong isoform"
ステップ 1:AlphaMissense による病原性評価
AlphaMissense_get_variant_score(
    uniprot_id="P04637",
    position=175,
    ref_aa="R",
    alt_aa="H",
)
# → returns score 0..1; ≥0.564 is the "likely pathogenic" threshold per the
#   AlphaMissense paper. Above 0.9 is very confident damaging.

AlphaMissense が良性(≤0.34)と判定した場合、残りの解析は探索的なものになります。良性変異の大半には、明確な機能喪失メカニズムがありません。

ステップ 2:AlphaFold による構造的コンテキスト
alphafold_get_prediction(uniprot_id="P04637")
# → returns structure data including per-residue pLDDT

変異位置の pLDDT を確認します。

  • pLDDT > 70 → よく折りたたまれた領域です。変異は構造化領域にあり、構造または機能の破壊には意味があります
  • pLDDT 50-70 → 柔軟、または部分的に折りたたまれています。解釈は曖昧です
  • pLDDT < 50 → 無秩序領域です。SAE/安定性シグナルの信頼性が低い場合があります
ステップ 3:ESMC による配列尤度
ESM_score_sequence(
    sequence=ref_sequence,
    model="esmc-600m-2024-12",  # or 300m for cheaper
)
# Then for the mutant sequence:
ESM_score_sequence(
    sequence=mutant_sequence,
    model="esmc-600m-2024-12",
)

位置ウィンドウでΔlogP = mean_logP(mutant) − mean_logP(reference) を計算します。

  • ΔlogP < −1 → 変異は進化的に妥当ではありません(機能コストを示す強いシグナルです)
  • ΔlogP ≈ 0 → 変異は保守的であるか、許容性の高い位置にあります
  • ΔlogP > 0 はまれで、通常はノイズです
ステップ 4:SAE 特徴の破壊(独自のシグナル)

推奨 — 1 回の呼び出し(複合ツール。破壊、カテゴリラベル、要約を返します):

ESM_explain_variant_mechanism(
    sequence=ref_sequence,
    position=175,
    ref_aa="R",
    alt_aa="H",
    window=8,
    top_k_features=5,
)
# data["mechanism_summary"] e.g.:
#   "Disrupted feature categories (lost): catalytic=2, ligand-binding=1"
# data["lost_feature_categories"] / data["gained_feature_categories"] give the raw counts
# data["top_features_lost"] / data["top_features_gained"] include per-feature deltas + categories

より低レベルの代替方法(ラベル付け前の生の feature_ids が必要な場合のみ使用します。たとえば、describe の呼び出し前に 1 つのカテゴリに絞り込む場合):

ESM_score_variant_sae_disruption(
    sequence=ref_sequence, position=175, ref_aa="R", alt_aa="H",
    window=8, top_k_features=10,
)
# Then for each kept feature:
ESM_describe_sae_feature(feature_id=feat["feature_id"])
# → returns category: catalytic | ligand-binding | ptm | domain |
#   motif | structural-stability | secondary-structure |
#   transmembrane | signal-peptide | propeptide | uncategorized

上位の喪失特徴のうち、優勢なカテゴリが最も破壊されている可能性の高い機能です。

Step 5: DynaMut2による安定性(ΔΔG)

DynaMut2にはPDB構造が必要です。方法は2つあります。

方法A — このタンパク質で利用可能なPDB IDを使用します。

# Look up PDB cross-references from UniProt entry
UniProt_get_entry_by_accession(accession="P04637")
# → check `uniProtKBCrossReferences` for entries with database == "PDB"
# → pick a structure that covers the mutation position
DynaMut2_predict_stability(
    pdb_id="2FEJ",   # example TP53 DNA-binding domain crystal structure
    chain="A",
    mutation="R175H",
)
# → returns ddG in kcal/mol

方法B — 実験的なPDB構造で対象の位置がカバーされていない場合は、AlphaFoldモデル(Step 2の出力)を使用します。DynaMut2はAlphaFoldのPDBも同様に受け付けます。

Step 6: 総合評価 — LoFメカニズムのカテゴリを判定する

上流のvariant_lof_mechanismの判定ルールを適用します。

シグナルパターン推定されるメカニズム
ddG > +1 kcal/mol かつ ΔlogP < 0構造安定性のLoF — 変異によってフォールドが不安定化し、タンパク質がミスフォールドしたり分解されたりする可能性があります。薬剤によるレスキュー戦略:薬理学的シャペロン、リフォールディング剤。
ddG ≈ 0([-0.5, +1]の範囲)かつ 失われたSAEの特徴が触媒機能に関するもの直接的な触媒機能のLoF — タンパク質は正常にフォールドしますが、活性部位が損なわれています。戦略:基質アナログ/補因子の補充。
ddG ≈ 0 かつ 失われたSAEの特徴がリガンド結合に関するもの結合のLoF — フォールドは維持されていますが、結合ポケットが損なわれています。戦略:低分子による機能回復。
ddG ≈ 0 かつ 失われたSAEの特徴がPTMに関するものPTMのLoF — 調節部位(リン酸化/糖鎖付加/ユビキチン化)が損なわれています。メカニズム:直接的な活性低下ではなく、調節異常です。
ddG ≈ 0 かつ 失われたSAEの特徴がドメイン/モチーフに関するもの相互作用面のLoF — タンパク質間相互作用の表面が影響を受けています。戦略:PPIの回復。
ddG > 0 + AlphaMissenseで病原性あり + ΔlogP < 0だが、明確なSAEシグナルがない一般的な有害変異 — 明らかに有害ですが、メカニズムは不明です。実験アッセイで調べてください。
Step 7: 根拠を正直に評価する

報告する前に、総合評価を採点します。

信頼度シグナルの要件
高≥4つのシグナルが同じ方向を示す(例:AlphaMissenseで病原性あり + ΔlogPが低い + ddG > +1 + SAEの特徴の喪失)
中2~3つのシグナルが一致するものの、1つ以上は結論が出ない
低シグナルが矛盾する(例:AlphaMissenseでは病原性ありだが、SAEでは特定のカテゴリが示されない)。実験による追加検証が必要であることを明記します。

報告形式

Variant: {VARIANT_ID}  e.g.  P04637_R175H = TP53 R175H

EVIDENCE LAYERS
  1. AlphaMissense:   {score:.3f}  ({pathogenic|ambiguous|benign})
  2. AlphaFold pLDDT: {plddt:.1f}  ({well-folded|flexible|disordered})
  3. ESMC ΔlogP:      {dlogp:+.3f}  ({implausible|tolerated})
  4. SAE feature loss: top 3 features lost, dominant category = {category}
        Feature {f1.id}: Δ={f1.delta:+.3f}, category={cat1}
        Feature {f2.id}: Δ={f2.delta:+.3f}, category={cat2}
        Feature {f3.id}: Δ={f3.delta:+.3f}, category={cat3}
  5. DynaMut2 ΔΔG:    {ddg:+.2f} kcal/mol  ({destabilizing|neutral|stabilizing})

PROPOSED MECHANISM: {one of the 6 categories from Step 6}

SUPPORTING LOGIC: {one paragraph synthesizing the signals}

CONFIDENCE: {high|medium|low}

LIMITATIONS: {any signals that conflicted, missing data, low pLDDT, etc.}

限界について

  1. ミスセンス変異のみ。 インデル、ナンセンス変異、スプライス変異には、別のワークフローが必要です。
  2. 単一アイソフォーム。 UniProtのcanonicalを使用します。canonical以外のアイソフォームにある変異には適用できない場合があります。
  3. SAEラベルは推定値であり、キュレーション済みではありません。 ESM_describe_sae_featureのラベルは、10タンパク質パネルからのベストエフォートの集約結果です。一部の特徴は活性化値が高くても「未分類」のままです。信頼度の低い解釈として明記してください。
  4. DynaMut2にはPDBが必要です。 変異位置をカバーするPDBがなく、AlphaFoldの信頼度が低い場合(pLDDT < 50)、安定性シグナルの信頼性は低くなります。
  5. 長距離のアロステリック効果は捉えられません。 SAEのウィンドウは±8残基です。離れた位置での作用を介してタンパク質機能を損なう変異もあります(例:二量体化界面の調節)。SAEだけでは検出できません。
  6. 総合評価の判定ルールはヒューリスティックです。 Step 6の6カテゴリへの対応付けは、妥当な出発点ですが、臨床的なゴールドスタンダードではありません。重大な判断に用いる場合、このルールは実験で検証する仮説として扱ってください。
  7. SAEの出力には非商用ライセンスが適用されます(EvolutionaryScale Cambrian Licenseに基づく)。

任意:DynaMut2の代わりにThermoMPNNを使用(GPUを利用する上級ユーザー向け)

推奨されるデフォルトはDynaMut2です。TUではホスト型の学術API(オーストラリア、UQのBioSigラボ)にすでに接続されており、追加設定は不要です。ただし、新しいThermoMPNNモデル(Dieckhaus et al., PNAS 2024)の高い精度が必要な場合は、次の方法があります。

ローカルへのインストール(GPUがあり、完全な制御を希望する場合)
git clone https://github.com/Kuhlman-Lab/ThermoMPNN.git
cd ThermoMPNN
# Install conda env from environment.yaml — note the GitHub README warns
# the .yaml may install CPU-only PyTorch by mistake; verify GPU PyTorch
conda env create -f environment.yaml
conda activate ThermoMPNN
# The checkpoint thermoMPNN_default.pt ships in models/
python custom_inference.py --pdb <your.pdb> --mutation <e.g. R175H>

要件:CUDA 11.8対応のNVIDIA GPU、一度限りのセットアップに約15分。

ライセンス:MIT(商用利用の制限はありません)。

引用:Dieckhaus et al.(2024)。より大規模なデータセットを活用する転移学習による、タンパク質安定性変化の予測精度向上。PNAS 121(6):e2314853121. doi:10.1073/pnas.2314853121。

ホスト型 SaaS(GPU 不要ですが、登録と API キーが必要です)

複数の商用プラットフォームが ThermoMPNN をホストしており、無料プランもあります(利用可能なクォータはプラットフォームによって異なり、公開されていない場合もあります)。

これらは商用 SaaS です。「無料プラン」とは通常、「数回試したら有料になる」という意味です。純粋に学術目的で使える DynaMut2 のエンドポイントほど使いやすくないため、TU では DynaMut2 をデフォルトにしています。

ThermoMPNN が DynaMut2 より実際に重要となる場合

LoF のメカニズム分類(このスキルのユースケース)では、合成を左右するのは ddG > +1 と ddG ≈ 0 の二分法です。明確なケースでは、どちらのモデルもこのシグナルを正しく示します。ThermoMPNN が DynaMut2 より優れている点は次のとおりです。

  • しきい値付近の ΔΔG をより正確に予測します(例:+0.5 と +1.2 を確実に区別する)
  • 二重変異を処理します(ThermoMPNN-D)
  • 挿入/欠失変異を処理します(ThermoMPNN-I)

これら3つのいずれかが作業に関係する場合は、ThermoMPNN に切り替えてください。それ以外の場合、このスキルで LoF のメカニズムを判断するには DynaMut2 で十分です。

コメント