ProteinMPNN
Inverse folding · Baker lab · 2022

ProteinMPNN

Proposes amino-acid sequences compatible with a supplied backbone. Neighbouring residues are encoded as a graph, then identities are predicted in an arbitrary autoregressive order, keeping structural context for positions not yet decided.

In plain language

You give it a shape with no sequence and it tells you which amino acids would hold that shape. This is the step every design pipeline needs, because generated backbones arrive with no sequence at all.

One way to picture it

You have the skeleton of a bridge and need to decide which material goes in each beam. The model looks at what surrounds each position and picks something that fits.

Commonly misread as

It does not check whether the sequence really folds back into that shape. That is why the standard pipeline runs a structure predictor afterwards and throws away the designs that do not return.

How it is put together

Select a component to read it
Residue graph
Structure-aware node states

Try it

Design sequences for a backbone
git clone https://github.com/dauparas/ProteinMPNN
cd ProteinMPNN

python protein_mpnn_run.py \
  --pdb_path my_backbone.pdb \
  --out_folder ./designs \
  --num_seq_per_target 8 \
  --sampling_temp "0.1"

# fixing a binding site: pass --fixed_positions_jsonl with the residues to keep

These snippets have not been executed here. Versions move; check the model card before trusting a line of it.

01 / Why it is here

Standing

The structure-conditioned sequence design model that design pipelines were built around, with experimental validation across several protein architectures and direct reuse in LigandMPNN and binder design workflows.

02 / What sets it apart

Distinctions

  • Arbitrary decoding order is what allows a motif to be held fixed while the scaffold is redesigned.
  • The encoder reads geometry only, so it does not need the native sequence it is replacing.
  • It is small and fast enough to run thousands of designs per backbone.
03 / Where it stops

Limits

It models protein atoms alone. Residues whose job is to coordinate a metal or hold a ligand look unexplained, which is the gap LigandMPNN closes.

Weights and code

Checked against the registry, not from memory
RepositorySizeLicenceNote
dauparas/ProteinMPNNAbout 2MMIT
dauparas/LigandMPNNLigand-aware successorMIT

Sources

Each number above comes from one of these

Same task, other answers

Inverse folding