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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
ipsae.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
ipsaeフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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.