jpskill.com
🛠️ 開発・MCP コミュニティ

ipsae

ipSAE(タンパク質間アラインメント誤差スコア)を用いて、タンパク質結合体の設計候補を実験検証の優先順位付けや予測精度の比較に活用し、ipTMやiPAEよりも優れたランキングを提供するSkill。

📜 元の英語説明(参考)

Binder design ranking using ipSAE (interprotein Score from Aligned Errors). Use this skill when: (1) Ranking binder designs for experimental testing, (2) Filtering BindCraft or RFdiffusion outputs, (3) Comparing AF2/AF3/Boltz predictions, (4) Predicting binding success rates, (5) Need better ranking than ipTM or iPAE. For structure prediction, use chai or alphafold. For QC thresholds, use protein-qc.

🇯🇵 日本人クリエイター向け解説

一言でいうと

ipSAE(タンパク質間アラインメント誤差スコア)を用いて、タンパク質結合体の設計候補を実験検証の優先順位付けや予測精度の比較に活用し、ipTMやiPAEよりも優れたランキングを提供するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o ipsae.zip https://jpskill.com/download/9548.zip && unzip -o ipsae.zip && rm ipsae.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9548.zip -OutFile "$d\ipsae.zip"; Expand-Archive "$d\ipsae.zip" -DestinationPath $d -Force; ri "$d\ipsae.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して ipsae.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → ipsae フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

ipSAE バインダーランキング

前提条件

要件 最小 推奨
Python 3.8+ 3.10
NumPy 1.20+ 最新
RAM 8GB 16GB

概要

ipSAE (interprotein Score from Aligned Errors) は、AlphaFold2、AlphaFold3、および Boltz1 によって予測されたタンパク質-タンパク質相互作用をランキングするためのスコアリング関数です。真のバインダーを識別する際の精度が 1.4倍高いため、バインダー設計ランキングにおいて ipTM および iPAE よりも優れています。

論文: What's wrong with AlphaFold's ipTM score

実行方法

インストール

git clone https://github.com/DunbrackLab/IPSAE.git
cd IPSAE
pip install numpy

AlphaFold2

python ipsae.py scores_rank_001.json unrelaxed_rank_001.pdb 15 15

AlphaFold3

python ipsae.py fold_model_full_data_0.json fold_model_0.cif 10 10

Boltz1

python ipsae.py pae_model_0.npz model_0.cif 10 10

主要なパラメータ

パラメータ 説明 推奨
PAE file JSON (AF2/AF3) または NPZ (Boltz) 予測器に合わせる
Structure file PDB または CIF 構造 PAE に合わせる
PAE cutoff コンタクトの閾値 10-15
Distance cutoff 最大 CA-CA 距離 (A) 10-15

出力形式

2つの出力ファイルが生成されます。

Chain-pair scores (_chains.csv):

chain_A,chain_B,ipSAE_min,pDockQ,pDockQ2,LIS,n_contacts,interface_dist
A,B,0.72,0.65,0.58,0.45,42,8.5

Residue-level scores (_residues.csv):

chain,resnum,pSAE,pLDDT
A,45,0.85,92.3
A,67,0.78,88.1

出力例

実行成功時

$ python ipsae.py scores_rank_001.json design_0.pdb 10 10
Processing design_0...
Found 2 chains: A, B
Computing ipSAE scores...

Results written to:
  design_0_chains.csv
  design_0_residues.csv

Summary:
  ipSAE_min: 0.72
  pDockQ: 0.65
  LIS: 0.45
  Interface contacts: 42

良好な出力の例:

  • ipSAE_min > 0.61 (主要なフィルター)
  • pDockQ > 0.5 (補助的な指標)
  • 妥当な数のインターフェースコンタクト (20-100)

決定木

ipSAE を使用すべきか?
│
├─ 何をランキングしているか?
│  ├─ 設計されたバインダー → ipSAE ✓
│  ├─ 天然の複合体 → ipTM で十分
│  └─ 単一のタンパク質 → 該当なし
│
├─ どの予測器を使用したか?
│  ├─ AlphaFold2 → ipSAE ✓
│  ├─ AlphaFold3 → ipSAE ✓
│  ├─ Boltz1 → ipSAE ✓
│  ├─ Chai → ipSAE (PAE 出力を使用)
│  └─ ESMFold → 該当なし (PAE なし)
│
└─ ipTM よりも ipSAE を選ぶ理由は?
   ├─ 異なる長さのコンストラクト → ipSAE ✓
   ├─ 無秩序な領域を持つ設計 → ipSAE ✓
   └─ 標準的な複合体 → どちらでも動作する

推奨される閾値

指標 標準 厳格 ユースケース
ipSAE_min > 0.61 > 0.70 主要なフィルター
LIS > 0.35 > 0.45 インターフェース品質
pDockQ > 0.5 > 0.6 補助

バッチ処理

import subprocess
import os
from pathlib import Path

def score_designs(pae_dir, struct_dir, output_dir):
    """Score all designs in a directory."""
    Path(output_dir).mkdir(exist_ok=True)

    for pae_file in Path(pae_dir).glob("*_scores*.json"):
        name = pae_file.stem.replace("_scores_rank_001", "")
        struct_file = Path(struct_dir) / f"{name}.pdb"

        if struct_file.exists():
            subprocess.run([
                "python", "ipsae.py",
                str(pae_file),
                str(struct_file),
                "10", "10"
            ])

検証

ls *_chains.csv | wc -l  # 予測数と一致するはず

トラブルシューティング

良好な設計でスコアが低い: PAE/距離カットオフを確認してください 出力が見つからない: PAE ファイル形式が予測器と一致することを確認してください スコアの一貫性がない: すべての設計で同じカットオフを使用してください

エラーの解釈

エラー 原因 修正
KeyError: 'pae' PAE 形式が間違っている AF2/AF3/Boltz 形式かどうかを確認してください
FileNotFoundError 構造が見つからない ファイルパスを確認してください
ValueError: no contacts インターフェースが検出されない チェーン ID を確認し、カットオフを下げてください

: 上位の設計を選択 (ipSAE_min > 0.61) → 実験的検証。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

ipSAE Binder Ranking

Prerequisites

Requirement Minimum Recommended
Python 3.8+ 3.10
NumPy 1.20+ Latest
RAM 8GB 16GB

Overview

ipSAE (interprotein Score from Aligned Errors) is a scoring function for ranking protein-protein interactions predicted by AlphaFold2, AlphaFold3, and Boltz1. It outperforms ipTM and iPAE for binder design ranking with 1.4x higher precision in identifying true binders.

Paper: What's wrong with AlphaFold's ipTM score

How to run

Installation

git clone https://github.com/DunbrackLab/IPSAE.git
cd IPSAE
pip install numpy

AlphaFold2

python ipsae.py scores_rank_001.json unrelaxed_rank_001.pdb 15 15

AlphaFold3

python ipsae.py fold_model_full_data_0.json fold_model_0.cif 10 10

Boltz1

python ipsae.py pae_model_0.npz model_0.cif 10 10

Key parameters

Parameter Description Recommended
PAE file JSON (AF2/AF3) or NPZ (Boltz) Match predictor
Structure file PDB or CIF structure Match PAE
PAE cutoff Threshold for contacts 10-15
Distance cutoff Max CA-CA distance (A) 10-15

Output format

Two output files are generated:

Chain-pair scores (_chains.csv):

chain_A,chain_B,ipSAE_min,pDockQ,pDockQ2,LIS,n_contacts,interface_dist
A,B,0.72,0.65,0.58,0.45,42,8.5

Residue-level scores (_residues.csv):

chain,resnum,pSAE,pLDDT
A,45,0.85,92.3
A,67,0.78,88.1

Sample output

Successful run

$ python ipsae.py scores_rank_001.json design_0.pdb 10 10
Processing design_0...
Found 2 chains: A, B
Computing ipSAE scores...

Results written to:
  design_0_chains.csv
  design_0_residues.csv

Summary:
  ipSAE_min: 0.72
  pDockQ: 0.65
  LIS: 0.45
  Interface contacts: 42

What good output looks like:

  • ipSAE_min > 0.61 (primary filter)
  • pDockQ > 0.5 (supporting metric)
  • Reasonable number of interface contacts (20-100)

Decision tree

Should I use ipSAE?
│
├─ What are you ranking?
│  ├─ Designed binders → ipSAE ✓
│  ├─ Natural complexes → ipTM is fine
│  └─ Single proteins → Not applicable
│
├─ What predictor did you use?
│  ├─ AlphaFold2 → ipSAE ✓
│  ├─ AlphaFold3 → ipSAE ✓
│  ├─ Boltz1 → ipSAE ✓
│  ├─ Chai → ipSAE (use PAE output)
│  └─ ESMFold → Not applicable (no PAE)
│
└─ Why ipSAE over ipTM?
   ├─ Different length constructs → ipSAE ✓
   ├─ Designs with disordered regions → ipSAE ✓
   └─ Standard complexes → Either works

Recommended thresholds

Metric Standard Stringent Use Case
ipSAE_min > 0.61 > 0.70 Primary filter
LIS > 0.35 > 0.45 Interface quality
pDockQ > 0.5 > 0.6 Supporting

Batch processing

import subprocess
import os
from pathlib import Path

def score_designs(pae_dir, struct_dir, output_dir):
    """Score all designs in a directory."""
    Path(output_dir).mkdir(exist_ok=True)

    for pae_file in Path(pae_dir).glob("*_scores*.json"):
        name = pae_file.stem.replace("_scores_rank_001", "")
        struct_file = Path(struct_dir) / f"{name}.pdb"

        if struct_file.exists():
            subprocess.run([
                "python", "ipsae.py",
                str(pae_file),
                str(struct_file),
                "10", "10"
            ])

Verify

ls *_chains.csv | wc -l  # Should match number of predictions

Troubleshooting

Low scores for good designs: Check PAE/distance cutoffs Missing output: Verify PAE file format matches predictor Inconsistent scores: Use same cutoffs across all designs

Error interpretation

Error Cause Fix
KeyError: 'pae' Wrong PAE format Check if AF2/AF3/Boltz format
FileNotFoundError Structure not found Verify file paths
ValueError: no contacts No interface detected Check chain IDs, reduce cutoffs

Next: Select top designs (ipSAE_min > 0.61) → experimental validation.