skills/ligandmpnn/SKILL.md
# LigandMPNN Ligand-Aware Sequence Design Extends ProteinMPNN to design sequences around small molecules, metal ions, nucleic acids, and other non-protein entities. Essential for enzyme active site design and ligand-binding protein engineering. ## Installation ```bash git clone https://github.com/dauparas/LigandMPNN cd LigandMPNN pip install -e . # Download model weights bash get_model_params.sh ``` ## Key Difference from ProteinMPNN ProteinMPNN only sees protein backbone atoms. LigandMPNN
npx skillsauth add lamm-mit/scienceclaw skills/ligandmpnnInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Extends ProteinMPNN to design sequences around small molecules, metal ions, nucleic acids, and other non-protein entities. Essential for enzyme active site design and ligand-binding protein engineering.
git clone https://github.com/dauparas/LigandMPNN
cd LigandMPNN
pip install -e .
# Download model weights
bash get_model_params.sh
ProteinMPNN only sees protein backbone atoms. LigandMPNN encodes ligand atoms as additional context nodes, so designed sequences are informed by the chemical environment of the binding site.
python3 run.py \
--model_type "ligand_mpnn" \
--checkpoint_ligand_mpnn "model_params/ligandmpnn_v_32_010_25.pt" \
--pdb_path complex.pdb \
--out_folder output/ \
--number_of_batches 8 \
--batch_size 4
python3 run.py \
--model_type "ligand_mpnn" \
--checkpoint_ligand_mpnn "model_params/ligandmpnn_v_32_010_25.pt" \
--pdb_path enzyme.pdb \
--out_folder output/ \
--redesigned_residues "A42 A67 A89 A134 A156" # active site only
python3 run.py \
--model_type "ligand_mpnn" \
--checkpoint_ligand_mpnn "model_params/ligandmpnn_v_32_010_25.pt" \
--pdb_path metal_complex.pdb \
--out_folder output/ \
--use_side_chain_context 1 # include side-chain atoms in context
python3 run.py \
--model_type "per_residue_label_membrane_mpnn" \
--checkpoint_path "model_params/ligandmpnn_v_32_020_25.pt" \
--pdb_path dna_complex.pdb \
--out_folder output/ \
--chains_to_design "A" # design protein chain A around DNA
| Model | Use Case |
|-------|---------|
| ligand_mpnn | Small molecules, metal ions |
| per_residue_label_membrane_mpnn | Membrane proteins (hydrophobic label per residue) |
| global_label_membrane_mpnn | Transmembrane topology-aware |
| soluble_mpnn | See solublempnn skill |
import subprocess
import json
def design_with_ligand(pdb_path, out_folder, n_seqs=32, temp=0.1):
cmd = [
"python3", "LigandMPNN/run.py",
"--model_type", "ligand_mpnn",
"--checkpoint_ligand_mpnn", "model_params/ligandmpnn_v_32_010_25.pt",
"--pdb_path", pdb_path,
"--out_folder", out_folder,
"--number_of_batches", str(n_seqs // 4),
"--batch_size", "4",
"--temperature", str(temp),
]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode != 0:
raise RuntimeError(result.stderr)
return out_folder
Same FASTA format as ProteinMPNN with additional ligand-context score:
>design_0, score=0.876, ligand_score=0.234, seq_recovery=0.51
MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSY...
Lower ligand_score = better accommodation of ligand.
| Scenario | Use | |----------|-----| | No ligand in design | ProteinMPNN | | Small molecule binding site | LigandMPNN | | Metal coordination | LigandMPNN | | DNA/RNA interface | LigandMPNN | | Membrane protein | LigandMPNN (membrane model) | | Maximize solubility | SolubleMPNN |
--redesigned_residues = active site shelltools
Onboard and manage Paperclip AI for research-paper knowledge and agent orchestration
development
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
testing
Generate a structured scientific PDF report from a JSON description. Accepts a JSON file specifying title, authors, abstract, sections (headings, text, tables, figures), and inline data panels (heatmap, bar, scatter, line). Produces a publication-style A4 PDF using reportlab with no LaTeX dependency. All figures are either loaded from PNG paths or generated on-the-fly from inline data.
development
Execute arbitrary Python code and return stdout. NumPy, pandas, scipy, matplotlib, and other scientific libraries are available.