ProteinMPNN

ProteinMPNN MPNN

Peer-reviewed Prospective flag

Summary card

ПолеЗначение
Год / version2022 / NR
Last verified2026-08-27
Что генерируетOne or many sequences compatible with input backbone
ФорматыMonomer, oligomer, protein complex
De novo или optimizationSequence design for new or existing backbone
DOI10.1126/science.add2187
Paperhttps://doi.org/10.1126/science.add2187
GitHub / repohttps://github.com/dauparas/ProteinMPNN
Service / docsNR
ЛицензияMIT
Доступность / commercial-useCode + weights

Задача и generated object

Used in these tasks: Fixed-backbone inverse folding

Part of these workflows: Fixed-backbone inverse folding

ПолеЗначение
Required inputProtein backbone coordinates
ConditioningFixed positions, chain design masks, amino-acid bias, tied positions, multi-chain context
FixedInput backbone
EditablePositions with design mask = True
GeneratedAmino-acid sequences
Single mutationsYes
Combinatorial mutationsYes
Multi-objectiveNo built-in property Pareto loop

Architecture and operating principle

Author-reported (Science 2022)
ПолеЗначение
Base architectureMPNN
Model typeInverse folding
RepresentationResidue kNN graph + backbone coordinates
Generation unitAmino-acid token
ConditioningBackbone, masks, biases, tied residues
OutputConditional sequence distribution
SamplingAutoregressive temperature sampling
Internal scorerLog-probability
Structure generationНет

Input representation

Только backbone geometry, не full-atom side chains (side chains are not generated as the primary object). Ligand atoms are not native — see LigandMPNN.

ПолеЗначение
Node featuresBackbone geometry encodings, chain index, optional residue constraints
Edge / pair featuresDistances, relative orientations, sequence-distance features between kNN residues

Encoder и decoder

Message passing on a geometric kNN graph constructed from backbone atoms.

ПолеЗначение
EncoderUnmasked MPNN over the geometric graph
DecoderAutoregressive MPNN decoder with decoding order

Latent or generative state

Discrete sequence; coordinates remain user-supplied.

Conditioning mechanism

Masks, amino-acid composition bias, tied positions across symmetric subunits, multi-chain edges.

Generation mechanism

Random decoding order autoregression. Runtime grows with chain length, not with diffusion steps.

Sampling: Temperature sampling; optional native-sequence decoding

Training objectives

CE on native sequences given backbone. Not an affinity or ddG loss.

Losses: Per-residue categorical CE

Mathematical details: NR

Integrated evaluation

No structure predictor inside. Self-consistency folding is external. Likelihood is fold compatibility, not binding.

Architectural limitations

Архитектурная особенностьВозможное ограничение
Fixed backboneНе изобретает fold/interface geometry.
General PDB priorНе antibody-specialized; CDR loops may be off-distribution.
Autoregressive decodingОшибки ранних residues влияют на последующие.

Uses these architecture components: Inverse folding, Graph neural networks

Generator versus evaluation

ComponentRoleArchitecture classIntegrated or externalRequired or optionalInfluences generation or post hocRuntime included or excluded
ProteinMPNNprimary_generatorAutoregressive message-passing neural network on backbone geometryintegratedrequiredgenerationincluded
Sequence log-probability onlyintegrated_scorerNRintegratedoptionalpost_hocunknown
Independent folding/self-consistency; task-specific interface/functional validationmandatory_external_dependencyNRexternalrequiredpost_hocexcluded
Experimental binding/function assaysexperimental_validationNRexternalrequiredpost_hocexcluded

Training data и biases

ПолеЗначение
Training dataPDB and related structural sets used in the ProteinMPNN paper (exact dump version NR here)
PreprocessingNR
Negative examplesNot used as binding negatives
Fine-tuningNR
Label requirementsNR
Training hardwareNR in this catalogue pass
Training timeNR in this catalogue pass

Inference hardware и runtime

ПолеЗначение
Candidate countNR
Batch sizeNR
Generation stepsNR
RecyclesNR
SizeNR
Reported runtimeNR
Runtime boundaryExcludes AF2/Rosetta/experiments
CPUNR
GPUOptional for many protein sizes (qualitative)
VRAMNR
RAMNR
DiskNR
DatabasesNR

Experimental evidence

ПолеЗначение
Evidence class3–4 prospective structural and functional validation
RetrospectiveNR
Prospective bindingX-ray/cryo-EM/functional rescue and design evidence; general proteins
Prospective functionX-ray/cryo-EM/functional rescue and design evidence; general proteins
DevelopabilityNR
Tested design countMultiple monomer, oligomer, nanoparticle and binder campaigns; exact aggregate: NR
Success criterionX-ray/cryo-EM/functional rescue and design evidence; general proteins
Independent validationNR
SummaryX-ray/cryo-EM/functional rescue and design evidence; general proteins

Limitations and failure modes

Deployment: Immediate retrospective evaluation / pilot

Reproducibility, license, commercial use

ПолеЗначение
Repohttps://github.com/dauparas/ProteinMPNN
LicenseMIT
Commercial-use statusCode + weights

Alternative tools: ESM-IF1, LigandMPNN

Complementary: RFdiffusion, RFantibody, BindCraft

Related: ESM-IF1, LigandMPNN, AntiFold

Not directly comparable with

EvoDiff, FrameDiff, ProGen / ProGen2, RFdiffusion, RFdiffusion All-Atom (RFdiffusionAA)
Сравнение допустимо только внутри совместимых категорий. Runtime и quality AntiFold vs RFantibody нельзя читать как одну шкалу: разные starting points и generated objects.

Depends on these external modules

Inverse folding, Backbone, Likelihood / log-probability

Primary paper и полный список источников

Robust deep learning-based protein sequence design using ProteinMPNN

Source matrix: landscape xlsx, last verified 2026-08-13.

Детальный source-grounded разбор

partially verified Последняя сверка источников: 2026-08-27. Science HTML (PMC-derived) прочитан для Results/architecture/Table 1 и experimental sections. Полный Methods/SI PDF не извлечён постранично. Реализация protein_mpnn_utils.py / protein_mpnn_run.py проверена на commit 8907e667.

Недоступные или неполные источники

ИсточникПочему недоступенЧто использовано вместо
Science Supporting Information PDF / Data S tablesSI не скачан постранично в этом выпускеTable 1 и экспериментальные N приведены в основном HTML; training README репозитория
Точный CATH split script из MethodsMethods HTML в извлечённом Science-сниппете обрезан после Table 1Авторские цифры 19.7k single-chain / 25361 assembly clusters из основного текста

ProteinMPNN — inverse-folding generator последовательности при фиксированном backbone. Это не structure predictor и не affinity model. Likelihood $p(s\mid x)$ и AF2 self-consistency $\neq$ экспериментальный binding.

Происхождение источников

МеткаИсточникСсылкаПримечание
[PAPER]Dauparas et al., Science 2022, 10.1126/science.add2187https://doi.org/10.1126/science.add2187NR
[PAPER]Ingraham et al., NeurIPS 2019 — baseline MPNN, на котором авторы строят ProteinMPNNhttps://papers.neurips.cc/paper_files/paper/2019/hash/f3a4ff4839c56e99b0d5aa36c728a27aa57d76f4-Abstract.htmlКонтекст архитектуры, не ProteinMPNN weights
[CODE]dauparas/ProteinMPNNhttps://github.com/dauparas/ProteinMPNNcommit 8907e6671bfbfc92303b5f79c4b5e6ce47cdef57
[DOC]training/README.md — released checkpoints v_48_00{2,10,20,30}https://github.com/dauparas/ProteinMPNN/blob/main/training/README.mdNR
ПолеЗначение
Репозиторийhttps://github.com/dauparas/ProteinMPNN
Commit8907e6671bfbfc92303b5f79c4b5e6ce47cdef57
Ветка / tagmain
ЛицензияMIT

Проверенные файлы реализации:

1. Что именно делает инструмент

[CODE]Вход: координаты backbone (N, Cα, C, O; virtual Cβ строится из backbone). Опция --ca_only — только Cα и отдельные weights. parse_PDB / ProteinFeatures; --ca_only

[PAPER]Выход: одна или много аминокислотных последовательностей, совместимых с заданным остовом. Backbone не обновляется.

[PAPER]Фиксируется: геометрия остова и позиции с design mask = false (в т.ч. target chain при binder design). Изменяется: токены аминокислот на design-позициях. Fig. 1B fixed context decoded first

[INTERPRETATION]Parent-based sequence design on a given backbone, не de novo topology. Можно применять к hallucinated / RFdiffusion backbone — это всё равно inverse folding, не генерация fold.

2. Архитектура в одном абзаце

[PAPER]Encoder: 3 слоя MPNN по sparse kNN-графу residues (released $k=48$), с обновлением и узлов, и рёбер. Decoder: 3 AR слоя с случайным порядком (order-agnostic). Hidden 128, vocab 21, $\approx 1.68$M параметров (Table 1 exp. 4). Рёбра кодируют расстояния между N/Cα/C/O/virtual Cβ, same-chain binary и relative index, capped $\pm 32$. Tied positions: усреднение logits симметричных узлов, затем softmax. Science Fig. 1, Table 1 experiment 4; CODE ProteinMPNN.__init__

4. Математическая модель

[PAPER]Условная факторизация tool-specific (order-agnostic AR, не N→C):

$$p(s\mid x)=\prod_{t=1}^{L} p\bigl(s_{\pi_t}\mid s_{\pi_{
[PAPER] tool-specific. Случайная перестановка decode order. $x$ — backbone coords; $s$ — AA tokens. При inference $\pi$ можно выбрать так, чтобы фиксированный контекст шёл первым.
СимволТипОпределение
$s$discrete sequenceаминокислотные токены (20 AA + X)
$x$coordinatesbackbone atom xyz
$\pi$permutationпорядок декодирования
$L$integerчисло residues (все цепи concatenated)
$$\mathcal{L}=-\sum_i \log p(s_i^\star\mid s_{\pi_{
[PAPER] tool-specific schema. Per-residue NLL / categorical CE на native sequence. Label smoothing упоминается в ссылках Science (Szegedy); коэффициент в Methods SI в этом проходе NR.
$$\mathrm{logits}_{\mathrm{tied}}=\frac{1}{|T|}\sum_{i\in T}\mathrm{logits}_i\quad\text{затем softmax}$$
[PAPER] tool-specific. Tied / symmetry decoding. Science: averaging logits лучше averaging probabilities для homomers (55% vs 53% vs 52% unconstrained).

5. Физическое устройство состояния

[PAPER]Узлы — residues. Рёбра — k ближайших Cα. Координаты — атомы остова, не side chains. Virtual Cβ — геометрическая конструкция из N/Cα/C, не экспериментальный атом. Sequence token — химическая идентичность аминокислоты, не rotamer. Интерфейс multi-chain задаётся рёбрами между цепями и binary same-chain feature, не docking pose generator.

6. Физико-химическая интерпретация

[INTERPRETATION]Расстояния N/Cα/C/O/Cβ дают геометрический inductive bias для packing. Это не энергия Розета и не электростатика. H-bonds, solvation, энтропия, протонирование не считаются. Side-chain packing отсутствует в генераторе (в отличие от Rosetta PackRotamers). AF2/RF later self-consistency — внешний predictor, не часть MPNN.

7. Training

[PAPER]Ранние ablation (Table 1): 19.7k high-resolution single-chain PDB, split по CATH 80/10/10. Финальный ProteinMPNN: assemblies PDB на 2021-08-02, X-ray/cryo-EM $\le 3.5$ Å, $<10{,}000$ residues; кластеризация mmseqs2 30% identity → 25,361 clusters.

[CODE]Gaussian backbone noise при обучении: Table 1 сравнивает 0.00 vs 0.02 Å. Released checkpoints: v_48_002/010/020/030 соответствуют noise 0.02/0.10/0.20/0.30 Å и $k=48$ ([DOC] training/README). Default inference weights: v_48_020. protein_mpnn_run.py --model_name default v_48_020

[PAPER]Negative examples как non-binders не используются. Loss — native sequence recovery, не $\Delta\Delta G$.

[PAPER]Hardware/time обучения в основном тексте: NR (SI). Inference: 1.2 s vs Rosetta 4.3 min на 100 residues (Science).

8. Inference

[CODE]Подготовка: PDB → jsonl (parse_PDB). Sampling temperature default 0.1 (строка, можно несколько значений). num_seq_per_target default 1. Tied positions, omit AA, PSSM blend, per-residue bias — JSONL. Decode: sample или tied_sample. protein_mpnn_run.py argparse

[CODE]Нет diffusion steps, recycles, MSA. Runtime boundary: не включает AF2/Rosetta/эксперимент. score_only / conditional_probs_only считают log p, не генерируют.

10. Почему, по мнению авторов, метод эффективен

[PAPER]Proposed mechanism. Residue identity определяется в основном local geometric neighborhood, поэтому sparse GNN достаточен (в отличие от structure prediction). Distance features лучше dihedrals; edge updates помогают; random decode даёт arbitrary masks и tying. Noise при train делает модель устойчивой к неидеальным (predicted) backbone.

[PAPER]Author claim. Outstanding in silico and experimental performance; rescues failed Rosetta/AF sequence designs for monomers, oligomers, nanoparticles, and a peptide-scaffolded binder.

[PAPER]Evidence. (i) Retrospective native recovery 52.4% vs Rosetta 32.9% (402 monomers). (ii) Ablation Table 1. (iii) Prospective: E. coli expression, SEC, X-ray/cryo-EM/nsEM, BLI for Grb2 SH3 binder rescue. AF2 single-sequence confidence is used as in silico filter, не как affinity.

[INTERPRETATION]Causal support. Distance features vs dihedrals — ablation (41.2% → 49.0%). Experimental rescue — prospective functional/structural, но не изолирует один архитектурный фактор на каждой кампании.

12. Ablation analysis

[PAPER]Table 1 (CATH held-out, ~1.4–1.7M params): baseline Ingraham-like 41.2%; +N/Cα/C/O/Cβ distances 49.0%; +encoder edge updates 43.1% alone / 50.5% combined; +random decoding 50.8% (unnoised train). $k$ saturates 32–48 (Fig. S1A; SI figure not re-plotted here). Homomer tying: logits > probabilities > unconstrained.

[PAPER]Это retrospective native recovery, не wet-lab ablation. Train noise trade-off: больше шума → ниже PDB recovery, выше AF success на predicted backbones (Fig. 2C).

13. What the model does not represent

14. Evidence and limitations

[PAPER]Prospective successes — sequence redesign of already proposed backbones (AF hallucination, Rosetta nanoparticles, SH3 peptide scaffold). Это не доказательство, что MPNN изобретает fold или epitope. Native recovery чувствителен к crystallographic resolution (авторы, Fig. S3). Antibody CDR не являются заявленным бенчмарком этой статьи.

[PAPER]RFantibody использует vanilla ProteinMPNN только на CDR, не antibody-finetuned MPNN ([PAPER] Bennett 2025, см. страницу RFantibody).

15. Reproducibility

[CODE]MIT license, weights в репозитории. Default checkpoint v_48_020. Class __init__ default k_neighbors=64, но run-скрипт берёт k из checkpoint (num_edges). Inference backbone_noise default 0.00 — шум train-time, не обязателен при семплировании. protein_mpnn_run.py model = ProteinMPNN(... k_neighbors=checkpoint['num_edges'])

Физико-химический смысл

Признак или операция моделиФизико-химическая интерпретацияПрямо / косвенно / внешнеВажное ограничение
N/Cα/C/O/virtual Cβ distancesлокальная геометрия остова / стерический контекстпрямо как edge RBFне энергия взаимодействия
AA tokenхимическая идентичность residueпрямо, categoricalнет протомеров / PTM
tied logitsсимметрия олигомера / repeatправило decode, не физикапользователь задаёт tying; ошибка tying → гетерогенная последовательность
Gaussian train noiseустойчивость к неточности coordsaugmentationстирает тонкие кристаллографические memory of native AA

Модульная схема

МодульКласс моделиВходВыходОбучается или frozenGenerator или evaluator
ProteinFeatures / kNN graphgeometric featurizerbackbone xyznode/edge embeddingsобучается вместе с сетьючасть generator
Encoder MPNN (3× EncLayer)unmasked message passinggraph from backbone onlyh_V, h_Etrainedgenerator encoder
Decoder MPNN (3× DecLayer)AR MPNNencoder state + partial sequenceper-position logitstrainedgenerator
log p rankingsame network, score_onlybackbone + sequencemean NLLfrozen at inferenceevaluator (optional)
AlphaFold / crystal / assayexternaldesigned sequencestructure or functionn/aexternal validation

Generator versus evaluator

КомпонентРольIntegrated или externalRequired или optionalВлияет на generation или только ранжирует после
ProteinMPNN decoderprimary_generatorintegratedrequiredgeneration
sequence log-probabilityintegrated_scorerintegratedoptionalpost_hoc ranking of samples (same model)
AlphaFold2 single-sequenceexternal structure predictorexternaloptional filter in paperpost_hoc; не входит в sample()
X-ray / cryo-EM / BLI / SECexperimental_validationexternalrequired to claim fold/functionpost_hoc

Claim–evidence matrix

УтверждениеПредполагаемый механизмТип evidenceДатасет / экспериментComparatorМетрика / результатИсточникОговорка
Native sequence recovery выше Rosetta на PDB monomerslocal distance GNN + random AR decode2. retrospective benchmark402 monomer backbonesRosetta PackRotamersMover beta_nov16, one round52.4% vs 32.9% recovery; 1.2 s vs 4.3 min / 100 res[PAPER] Science Fig. 2ARecovery ≠ folding success; зависит от resolution
Distance features лучше dihedrals/frames как inputN/Cα/C/O/Cβ distances3. ablation evidenceCATH single-chain split, Table 1baseline Ingraham-style MPNN41.2% → 49.0% recovery[PAPER] Table 1 experiment 1Только in silico recovery
Random decoding + edge updates улучшают recoveryorder-agnostic AR; encoder edge updates3. ablation evidenceTable 1 exp. 2–4N→C baseline; no edge updatecombined 50.8% unnoised[PAPER] Table 1Не wet-lab
MPNN rescues failed AF-hallucinated sequences (solubility/oligomer)sequence redesign on fixed hallucinated backbone5. prospective functional validation150 AF sequences poorly soluble; 96 MPNN redesignsoriginal AF-decoded sequencesmedian soluble yield 9 → 247 mg/L; 50/96 correct oligomeric state by SEC[PAPER] Fig. 3AУспех — sequence на уже заданном fold; не de novo binder campaign как RFantibody
Atomic accuracy of designed monomersame5. prospective functional validationone crystallized MPNN monomer (8CYK)design backbone2.35 Å RMSD / 130 residues[PAPER] Fig. 3DN=1 crystal in this figure; oligomer structures in Wicky et al. companion
Rescues Grb2 SH3 peptide-scaffold binder where Rosetta sequence failedIF on Rosetta-built backbone4. prospective binding validationBLI vs Grb2 C-SH3Rosetta design; peptide alone; Asn→Asp knockoutstronger BLI signal than Rosetta sequence; knockout abolishes[PAPER] Fig. 4Kd в HTML не приведена численно; не antibody; backbone всё ещё Rosetta

Различия между статьёй и реализацией

Версия статьиCommit репозиторияCheckpoint / modelФайлРазличиеПрактическое следствие
Science 2022 HTML8907e6671bfbfc92303b5f79c4b5e6ce47cdef57v_48_020 defaultprotein_mpnn_run.pyСтатья обсуждает train noise 0.02–0.30 Å; default released weights — 0.20 Å noise, k=48. __init__ default k=64 не используется, если загружен checkpoint.Пользователь без флагов получает noised 0.20 Å model, не unnoised Table 1 left column.
Science Table 1 ~1.68M params8907e667hidden_dim=128, 3+3 layersprotein_mpnn_utils.py ProteinMPNNСогласуется. ca_only — отдельная ветка, в основном тексте как опция кода, не Table 1.Не смешивать CA-only weights с full-backbone моделью.

Схемы information flow

flowchart TD
  X["Backbone xyz N/CA/C/O"] --> F["kNN graph k=48 + distances"]
  F --> E["Encoder 3 MPNN layers"]
  E --> D["Decoder 3 AR layers random order"]
  Mask["Design mask / tied positions"] --> D
  D --> S["Sampled AA sequence"]
  S -.->|"optional"| P["log p scorer same net"]
  S --> AF["External AF2 / experiment"]
Generator — decoder. AF2 и assay не входят в sample(). Источник схемы: Science Fig. 1 + protein_mpnn_utils.py; схема оригинальная

Источники

  1. [1] Dauparas J. et al. Robust deep learning-based protein sequence design using ProteinMPNN. Science 378, 49–56 (2022). · DOI · источник
  2. [2] Ingraham J. et al. Generative models for graph-based protein design. NeurIPS 32 (2019). · источник
  3. [3] dauparas/ProteinMPNN commit 8907e667. · источник

Нерешённые научные вопросы