This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
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.
$ 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.