ProteinMPNN
ProteinMPNN MPNN
Peer-reviewed Prospective flagSummary card
| Поле | Значение |
|---|---|
| Год / version | 2022 / NR |
| Last verified | 2026-08-27 |
| Что генерирует | One or many sequences compatible with input backbone |
| Форматы | Monomer, oligomer, protein complex |
| De novo или optimization | Sequence design for new or existing backbone |
| DOI | 10.1126/science.add2187 |
| Paper | https://doi.org/10.1126/science.add2187 |
| GitHub / repo | https://github.com/dauparas/ProteinMPNN |
| Service / docs | NR |
| Лицензия | MIT |
| Доступность / commercial-use | Code + weights |
Задача и generated object
Used in these tasks: Fixed-backbone inverse folding
Part of these workflows: Fixed-backbone inverse folding
| Поле | Значение |
|---|---|
| Required input | Protein backbone coordinates |
| Conditioning | Fixed positions, chain design masks, amino-acid bias, tied positions, multi-chain context |
| Fixed | Input backbone |
| Editable | Positions with design mask = True |
| Generated | Amino-acid sequences |
| Single mutations | Yes |
| Combinatorial mutations | Yes |
| Multi-objective | No built-in property Pareto loop |
Architecture and operating principle
Author-reported (Science 2022)| Поле | Значение |
|---|---|
| Base architecture | MPNN |
| Model type | Inverse folding |
| Representation | Residue kNN graph + backbone coordinates |
| Generation unit | Amino-acid token |
| Conditioning | Backbone, masks, biases, tied residues |
| Output | Conditional sequence distribution |
| Sampling | Autoregressive temperature sampling |
| Internal scorer | Log-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 features | Backbone geometry encodings, chain index, optional residue constraints |
| Edge / pair features | Distances, relative orientations, sequence-distance features between kNN residues |
Encoder и decoder
Message passing on a geometric kNN graph constructed from backbone atoms.
| Поле | Значение |
|---|---|
| Encoder | Unmasked MPNN over the geometric graph |
| Decoder | Autoregressive 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
| Component | Role | Architecture class | Integrated or external | Required or optional | Influences generation or post hoc | Runtime included or excluded |
|---|---|---|---|---|---|---|
| ProteinMPNN | primary_generator | Autoregressive message-passing neural network on backbone geometry | integrated | required | generation | included |
| Sequence log-probability only | integrated_scorer | NR | integrated | optional | post_hoc | unknown |
| Independent folding/self-consistency; task-specific interface/functional validation | mandatory_external_dependency | NR | external | required | post_hoc | excluded |
| Experimental binding/function assays | experimental_validation | NR | external | required | post_hoc | excluded |
Training data и biases
| Поле | Значение |
|---|---|
| Training data | PDB and related structural sets used in the ProteinMPNN paper (exact dump version NR here) |
| Preprocessing | NR |
| Negative examples | Not used as binding negatives |
| Fine-tuning | NR |
| Label requirements | NR |
| Training hardware | NR in this catalogue pass |
| Training time | NR in this catalogue pass |
Inference hardware и runtime
| Поле | Значение |
|---|---|
| Candidate count | NR |
| Batch size | NR |
| Generation steps | NR |
| Recycles | NR |
| Size | NR |
| Reported runtime | NR |
| Runtime boundary | Excludes AF2/Rosetta/experiments |
| CPU | NR |
| GPU | Optional for many protein sizes (qualitative) |
| VRAM | NR |
| RAM | NR |
| Disk | NR |
| Databases | NR |
Experimental evidence
| Поле | Значение |
|---|---|
| Evidence class | 3–4 prospective structural and functional validation |
| Retrospective | NR |
| Prospective binding | X-ray/cryo-EM/functional rescue and design evidence; general proteins |
| Prospective function | X-ray/cryo-EM/functional rescue and design evidence; general proteins |
| Developability | NR |
| Tested design count | Multiple monomer, oligomer, nanoparticle and binder campaigns; exact aggregate: NR |
| Success criterion | X-ray/cryo-EM/functional rescue and design evidence; general proteins |
| Independent validation | NR |
| Summary | X-ray/cryo-EM/functional rescue and design evidence; general proteins |
Limitations and failure modes
- Cannot invent a backbone.
- likelihood is not affinity.
- fixed backbone can lock in incorrect interface geometry.
Deployment: Immediate retrospective evaluation / pilot
Reproducibility, license, commercial use
| Поле | Значение |
|---|---|
| Repo | https://github.com/dauparas/ProteinMPNN |
| License | MIT |
| Commercial-use status | Code + weights |
Related tools
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)Depends on these external modules
- AlphaFold2 / ColabFold
- Experimental binding/function assays
Related glossary terms
Inverse folding, Backbone, Likelihood / log-probabilityPrimary paper и полный список источников
Robust deep learning-based protein sequence design using ProteinMPNNSource matrix: landscape xlsx, last verified 2026-08-13.
Детальный source-grounded разбор
Недоступные или неполные источники
| Источник | Почему недоступен | Что использовано вместо |
|---|---|---|
| Science Supporting Information PDF / Data S tables | SI не скачан постранично в этом выпуске | Table 1 и экспериментальные N приведены в основном HTML; training README репозитория |
| Точный CATH split script из Methods | Methods 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.add2187 | https://doi.org/10.1126/science.add2187 | NR |
| [PAPER] | Ingraham et al., NeurIPS 2019 — baseline MPNN, на котором авторы строят ProteinMPNN | https://papers.neurips.cc/paper_files/paper/2019/hash/f3a4ff4839c56e99b0d5aa36c728a27aa57d76f4-Abstract.html | Контекст архитектуры, не ProteinMPNN weights |
| [CODE] | dauparas/ProteinMPNN | https://github.com/dauparas/ProteinMPNN | commit 8907e6671bfbfc92303b5f79c4b5e6ce47cdef57 |
| [DOC] | training/README.md — released checkpoints v_48_00{2,10,20,30} | https://github.com/dauparas/ProteinMPNN/blob/main/training/README.md | NR |
| Поле | Значение |
|---|---|
| Репозиторий | https://github.com/dauparas/ProteinMPNN |
| Commit | 8907e6671bfbfc92303b5f79c4b5e6ce47cdef57 |
| Ветка / tag | main |
| Лицензия | MIT |
Проверенные файлы реализации:
protein_mpnn_utils.pyprotein_mpnn_run.pytraining/README.md
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):
| Символ | Тип | Определение |
|---|---|---|
| $s$ | discrete sequence | аминокислотные токены (20 AA + X) |
| $x$ | coordinates | backbone atom xyz |
| $\pi$ | permutation | порядок декодирования |
| $L$ | integer | число residues (все цепи concatenated) |
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
- Явный растворитель, ионная сила, протонирование
- Side-chain rotamers и packing energy (Rosetta-style)
- Glycosylation, metals, nucleic acids, small molecules (см. LigandMPNN)
- Конформационная энтропия / MD
- Экспрессия, растворимость, иммуногенность как learned heads (экспериментальный rescue экспрессии — следствие последовательности, не отдельная модель)
- Истинная $\Delta G$ / $K_d$; log p ≠ affinity
- Генерация нового backbone
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 | устойчивость к неточности coords | augmentation | стирает тонкие кристаллографические memory of native AA |
Модульная схема
| Модуль | Класс модели | Вход | Выход | Обучается или frozen | Generator или evaluator |
|---|---|---|---|---|---|
| ProteinFeatures / kNN graph | geometric featurizer | backbone xyz | node/edge embeddings | обучается вместе с сетью | часть generator |
| Encoder MPNN (3× EncLayer) | unmasked message passing | graph from backbone only | h_V, h_E | trained | generator encoder |
| Decoder MPNN (3× DecLayer) | AR MPNN | encoder state + partial sequence | per-position logits | trained | generator |
| log p ranking | same network, score_only | backbone + sequence | mean NLL | frozen at inference | evaluator (optional) |
| AlphaFold / crystal / assay | external | designed sequence | structure or function | n/a | external validation |
Generator versus evaluator
| Компонент | Роль | Integrated или external | Required или optional | Влияет на generation или только ранжирует после |
|---|---|---|---|---|
| ProteinMPNN decoder | primary_generator | integrated | required | generation |
| sequence log-probability | integrated_scorer | integrated | optional | post_hoc ranking of samples (same model) |
| AlphaFold2 single-sequence | external structure predictor | external | optional filter in paper | post_hoc; не входит в sample() |
| X-ray / cryo-EM / BLI / SEC | experimental_validation | external | required to claim fold/function | post_hoc |
Claim–evidence matrix
| Утверждение | Предполагаемый механизм | Тип evidence | Датасет / эксперимент | Comparator | Метрика / результат | Источник | Оговорка |
|---|---|---|---|---|---|---|---|
| Native sequence recovery выше Rosetta на PDB monomers | local distance GNN + random AR decode | 2. retrospective benchmark | 402 monomer backbones | Rosetta PackRotamersMover beta_nov16, one round | 52.4% vs 32.9% recovery; 1.2 s vs 4.3 min / 100 res | [PAPER] Science Fig. 2A | Recovery ≠ folding success; зависит от resolution |
| Distance features лучше dihedrals/frames как input | N/Cα/C/O/Cβ distances | 3. ablation evidence | CATH single-chain split, Table 1 | baseline Ingraham-style MPNN | 41.2% → 49.0% recovery | [PAPER] Table 1 experiment 1 | Только in silico recovery |
| Random decoding + edge updates улучшают recovery | order-agnostic AR; encoder edge updates | 3. ablation evidence | Table 1 exp. 2–4 | N→C baseline; no edge update | combined 50.8% unnoised | [PAPER] Table 1 | Не wet-lab |
| MPNN rescues failed AF-hallucinated sequences (solubility/oligomer) | sequence redesign on fixed hallucinated backbone | 5. prospective functional validation | 150 AF sequences poorly soluble; 96 MPNN redesigns | original AF-decoded sequences | median 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 monomer | same | 5. prospective functional validation | one crystallized MPNN monomer (8CYK) | design backbone | 2.35 Å RMSD / 130 residues | [PAPER] Fig. 3D | N=1 crystal in this figure; oligomer structures in Wicky et al. companion |
| Rescues Grb2 SH3 peptide-scaffold binder where Rosetta sequence failed | IF on Rosetta-built backbone | 4. prospective binding validation | BLI vs Grb2 C-SH3 | Rosetta design; peptide alone; Asn→Asp knockout | stronger BLI signal than Rosetta sequence; knockout abolishes | [PAPER] Fig. 4 | Kd в HTML не приведена численно; не antibody; backbone всё ещё Rosetta |
Различия между статьёй и реализацией
| Версия статьи | Commit репозитория | Checkpoint / model | Файл | Различие | Практическое следствие |
|---|---|---|---|---|---|
| Science 2022 HTML | 8907e6671bfbfc92303b5f79c4b5e6ce47cdef57 | v_48_020 default | protein_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 params | 8907e667 | hidden_dim=128, 3+3 layers | protein_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"]
Источники
- [1] Dauparas J. et al. Robust deep learning-based protein sequence design using ProteinMPNN. Science 378, 49–56 (2022). · DOI · источник
- [2] Ingraham J. et al. Generative models for graph-based protein design. NeurIPS 32 (2019). · источник
- [3] dauparas/ProteinMPNN commit 8907e667. · источник
Нерешённые научные вопросы
- Точный коэффициент label smoothing и optimizer из Methods SI
- Полный список 76 nanoparticle designs / 27 backbones — только summary в HTML
- Численный Kd Grb2 BLI — NR в извлечённом HTML