Skills

Proteinmpnn

Inverse-fold a protein backbone (PDB structure) into amino-acid sequence with...

Install

npx skills add aipoch/open-science --skill proteinmpnn -g -a claude-code -y
Repository
aipoch/open-science5.4k
Category
Design
Updated
3d ago
License
Apache-2.0
Context cost
Lightabout 1,117 tokens
Runs scripts
No, instructions only

What it does

Inverse-fold a protein backbone (PDB structure) into amino-acid sequence with ProteinMPNN (Dauparas et al. 2022, github.com/dauparas/ProteinMPNN). Reach for this skill to run sequence design on RFdiffusion backbones, to redesign one chain of a PDB while holding interface residues fixed, or to generate a temperature-swept set of sequences for downstream folding.

ProteinMPNN

ProteinMPNN is the default inverse-folding step in the binder pipeline: a message-passing network that sees backbone geometry only, so it is the right choice when the design surface is protein, protein and the wrong one as soon as a ligand, nucleic acid, or metal is part of the interface, ligandmpnn adds those atoms to the graph with a near-identical CLI, and solublempnn swaps in weights trained on soluble structures for an expression-biased prior. Code and weights are MIT (github.com/dauparas/ProteinMPNN). The model is small enough to run on CPU, for a handful of sequences on one backbone that is seconds and usually faster than dispatching a remote job; a GPU helps for batched campaigns (hundreds of backbones or large --num_seq_per_target). Either way the repo is cloned in-job, there is no PyPI dist and the checkpoints are bundled in the repo.

Running it

pip install torch numpy   # if not already present
git clone --depth 1 https://github.com/dauparas/ProteinMPNN.git proteinmpnn
cd proteinmpnn
python protein_mpnn_run.py \
  --pdb_path backbone.pdb --pdb_path_chains "A" \
  --out_folder out --num_seq_per_target 16 --sampling_temp "0.1"

Two flags trip almost everyone the first time. --sampling_temp is parsed as a space-separated string so one run can sweep several temperatures; a single value needs no quoting, but a multi-value sweep must be quoted ("0.1 0.2 0.3"), and commas never split, "0.1,0.2" fails the float cast. --pdb_path_chains is also space-separated inside one quoted argument ("A B"); a comma is kept as part of the chain ID.

Read the whole SKILL.md on GitHub

More in Design