
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.


