ProteinMPNN icon

ProteinMPNN

(v1.0.1)Code (opens in a new tab)Paper (opens in a new tab)Docs

Design amino acid sequences for protein backbones with fixed positions, amino acid biases, and sequence diversity controls.

Upload file or drag and dropPDB, ENT · up to 50 MB

Output

Configure inputs to begin

Set options on the left, then click “Submit job”.

What is ProteinMPNN?

ProteinMPNN solves the inverse folding problem: given a protein backbone structure, what amino acid sequences will fold into that shape? This reverses the structure prediction question; instead of asking what structure a sequence adopts, it asks what sequences can adopt a given structure.

Developed at the Institute for Protein Design and published in Science (2022), ProteinMPNN achieves 52.4% native sequence recovery on test backbones, compared to 32.9% for the previous state-of-the-art Rosetta design software. Beyond accuracy, it runs in ~1 second per protein versus ~4 minutes for Rosetta.

Experimental validation has been extensive. Crystal structures and cryo-EM reconstructions confirm that designed sequences fold to their intended structures. The method has successfully rescued previously failed designs and enabled new applications from nanomaterials to target-binding proteins.

How does ProteinMPNN work?

ProteinMPNN represents protein structures as graphs where residues are nodes and edges connect spatially proximate residues (the 32 to 48 nearest Cα neighbors). The neural network learns from this geometric representation without requiring evolutionary information or sequence alignments.

Encoding structure

The encoder (3 layers, 128 hidden dimensions) processes pairwise distances between backbone atoms: N, Cα, C, O, and a virtual Cβ. These interatomic distances capture inter-residue geometry more effectively than dihedral angles or coordinate frames. Message passing between nodes and edges propagates structural information throughout the graph.

Decoding sequences

Rather than generating amino acids sequentially from N- to C-terminus, ProteinMPNN uses order-agnostic autoregressive decoding. During training, the model learns to predict amino acids in random order. At inference, each position is decoded conditioned on the structural encoding and any previously decoded positions.

This flexibility enables practical design scenarios: fixing certain residues while redesigning others, enforcing identical sequences across homo-oligomer chains, or biasing toward specific amino acid compositions.

How to use ProteinMPNN online

ProteinMPNN runs on ProteinIQ's managed CPU infrastructure without local installation. The page supports sequence design and scoring of the uploaded native sequence, with official or compatible custom sequence weights. Side-chain packing is available after design with official or custom packing weights.

Pricing

Jobs start at 25 credits. The exact quote is calculated before submission from the parsed protein size and the design, scoring or packing workload.

The examples below assume 150 parsed residues, all chains included, and Homo-oligomer disabled. Packing uses four packs per design, three denoising steps and 16 side-chain samples.

Number of sequencesDesign without packingDesign with packing
125 credits25 credits
825 credits40 credits
1233 credits52 credits
4881 creditsNot available with four packs per design

Packing is limited to 48 structures in total. For scoring the same 150-residue input, one score per pass and one pass cost 169 credits with Single-position conditional probabilities, or 25 credits with Autoregressive score.

Larger structures, more sequences, more score samples, additional packing work and Homo-oligomer can raise the quote. Single-position scoring scales more steeply with protein length than autoregressive scoring. Official versus custom checkpoint selection, sampling temperature and random seed do not directly change the calculator's quote.

Inputs

InputFormat and limitRequirement
ProteinOne PDB or .ent file up to 50 MiB, or an RCSB PDB ID such as 5L33.Required for design and scoring. Complete N, Cα, C and O coordinates are recommended. Incomplete backbones and modified HETATM residues produce warnings; the native parser determines whether the selected structure is usable.
Model checkpointOne .pt file up to 50 MiB.Required when Sequence checkpoint is Upload custom model, for either design or scoring. Leave this input empty when using Official model.
Packer checkpointOne .pt file up to 50 MiB.Required only for design with Pack side chains enabled and Side-chain checkpoint set to Upload custom packing model. Leave this input empty for official packing, disabled packing or scoring.

Custom sequence checkpoints must contain integer num_edges and dense model_state_dict tensors compatible with the native ProteinMPNN architecture: 128-dimensional sequence features, three encoder layers and three decoder layers. Custom packing checkpoints must contain dense model_state_dict tensors compatible with the native side-chain packer, including 16 context atoms and 32 neighbors.

Model tensor values, shapes and dtypes are preserved. Training and optimizer records do not participate in inference. Custom Python model classes, sparse tensors and quantized tensors are unsupported. Decoded tensor data is limited to 256 MiB per checkpoint. A failed or incompatible upload is not replaced with official weights.

Settings

Core settings

ParameterTypeDefaultDescription
OperationenumDesign sequencesChoose Design sequences (design) or Score native sequence (score) to evaluate the sequence in the uploaded PDB.
Sequence checkpointenumOfficial modelChoose Official model (official) or Upload custom model (custom); the latter requires the sequence checkpoint input. Available in both operations.
Model checkpointenum0.20 Å backbone noiseOfficial models trained with 0.02, 0.10, 0.20 or 0.30 Å backbone-coordinate noise (002, 010, 020, 030). Available only with Official model.
Number of sequencesinteger1Design only. Generate 1 to 48 sequence variants, subject to the packed-structure limit when packing is enabled.
Sampling temperaturenumber0.1Design only. Must be positive; no upper bound is imposed. Lower values are more conservative and higher values increase diversity.
Random seedinteger0Accepted range: 0 to 99999. Zero chooses a random seed, recorded in the native FASTA or score artifact. A positive seed supports reproducible runs with identical inputs, settings and runtime. Previously admitted jobs retain their recorded seed.

The built-in Quick test (1 sequence) example loads RCSB structure 5L33, a designed protein from the ProteinMPNN examples, selects the official 0.20 Å model, generates one sequence at temperature 0.1 and uses fixed seed 111.

Temperature interpretation

TemperatureBehavior
0.05 to 0.1Conservative designs with high predicted fitness; useful for maximizing sequence recovery.
0.2 to 0.3Moderate diversity while maintaining recovery; useful for variant libraries.
0.4 to 1.0High diversity at the cost of recovery; useful when exploring novel sequences.
Above 1.0Increasingly random sampling; resulting sequences require careful validation.

Scoring settings

These settings apply only to Score native sequence; no new sequences or packed structures are generated.

ParameterTypeDefaultDescription
Scoring methodenumSingle-position conditional probabilitiessingle_aa evaluates each position conditioned on all other sequence positions; autoregressive follows sampled decoding orders.
Use native sequence contextbooleantrueUse the uploaded sequence as context. Disable for backbone-only probabilities.
Scores per passinteger1Batch size for each pass, from 1 to 16.
Scoring passesinteger1Repeat with new decoding orders, from 1 to 16 passes. The product of scores per pass and passes determines the sample count, up to 256.

Design options and amino acid constraints

Chain and residue selections use identifiers in the uploaded PDB, including insertion codes. Amino acid bias and exclusion controls apply to design only.

ParameterTypeDefaultDescription
Chains to designstringAll parsed chainsSelect chains such as A,B; other parsed chains stay fixed.
Homo-oligomerbooleanfalseTie corresponding residues across chains with matching residue identifiers.
Fixed positionsstringoptionalPreserve residues such as A15,A19,A1-10,B1-20. Cannot be combined with Redesigned positions.
Redesigned positionsstringoptionalRedesign only the listed residues, using the same syntax as fixed positions; other positions stay fixed.
Parse chains onlystringAll chainsRestrict parsing to chains such as A,B; omitted chains are not included in the run.
Include zero-occupancy atomsbooleanfalseInclude atoms with zero occupancy; otherwise they are excluded.
Symmetric residue groupsstringoptionalTie arbitrary positions, for example A12,B12 | A13,B13.
Symmetry weightsstringoptionalDesign only. Matching per-group weights, for example 0.5,0.5 | 0.5,0.5.
Exclude amino acidsstringoptionalDesign only. Exclude uppercase one-letter codes without separators, such as C or CW.
Per-position amino acid biasesstringoptionalDesign only. JSON such as {"A12":{"G":1.1}} sets residue-specific logit biases.
Per-position amino acid exclusionsstringoptionalDesign only. JSON such as {"A12":"PG"} excludes amino acids at specific residues.
Amino acid biasesbooleanfalseEnable global per-amino-acid bias controls for design.
Amino acid controls, Alanine (A) through Valine (V)number0Available when Amino acid biases is enabled. Each of the 20 controls sets a logit bias; positive values favor and negative values disfavor that amino acid, with no imposed numeric range.

Side-chain packing

Packing applies only to Design sequences. Each design can produce multiple full-atom PDB structures, with at most 48 packed structures per job. The design count multiplied by packs per design must not exceed 48.

ParameterTypeDefaultDescription
Pack side chainsbooleanfalseRun side-chain packing after sequence design and return every packed PDB.
Side-chain checkpointenumOfficial packing modelWith packing enabled, select Official packing model (official) or Upload custom packing model (custom); custom selection requires the packing checkpoint input.
Packs per designinteger4With packing enabled, generate 1 to 4 independently packed structures per design.
Denoising stepsinteger3With packing enabled, use 1 to 12 side-chain denoising steps.
Side-chain samplesinteger16With packing enabled, use 1 to 64 samples per denoising step.
Repack all residuesbooleanfalseWith packing enabled, repack fixed and redesigned residues; otherwise only redesigned positions are packed.
Write packed atoms as HETATMbooleanfalseWith packing enabled, write packed atoms as HETATM records.
Use non-protein atom contextbooleantrueWith packing enabled, use parsed non-protein atoms as packing context when present in the PDB.

The sequence, scoring and packing caps are ProteinIQ job limits. They do not describe the native model's scientific input domain. Official sequence and packing weights remain the defaults.

Results and downloadable files

Results shows designs or per-position score summaries. Sequences shows available FASTA files, Data contains the result table, and Files lists the downloadable artifacts.

OperationFile or resultContents
DesignNative .faComplete native FASTA, including the input sequence, sampled designs and native headers.
Design*_designed_sequences.fastaDesigned sequences with confidence, recovery, mutation and identity annotations.
DesignBackbone .pdb filesEvery designed backbone structure.
Design with packingPacked .pdb filesEvery packed structure, with names such as input_packed_1_1.pdb.
DesignNative statistics filesComplete per-sequence statistics, including native .pt tensors.
Scoring*_score_probabilities.csvEvery amino acid mean probability and standard deviation at each parsed position.
ScoringNative .ptComplete native scoring tensors, including all score samples and the recorded seed.
Both.log and result metadataNative command, stdout/stderr, scientific source revision, settings and checkpoint provenance. Custom uploads include the original filename/SHA-256, reconstructed checkpoint and tensor digests, and isolated-reader identity.

Checkpoints are inputs; converted model files are not separate result downloads. Existing saved jobs keep their recorded settings and inputs.

ProteinIQ caps projected native artifacts at 100 MiB per job. For large structures, reduce sequence count, packs per design or scoring samples so that all native results can be returned.

Understanding results

Each designed sequence includes:

ColumnDescription
Sequence IDIdentifier such as seq_1 or seq_2.
SequenceDesigned amino acid sequence.
Overall confidenceexp(−mean negative log probability) over redesigned positions. Higher values mean the model assigned greater probability to the sampled sequence; this is not a fold-success probability.
Seq recoveryFraction of redesigned positions matching the original sequence.
Mutation countNumber of positions that differ from the input.
Identity %Percent identity to the input sequence.

Confidence remains a numeric native score; ProteinIQ does not classify it as high, medium or low. Score means and standard deviations summarize all samples across scores per pass multiplied by scoring passes.

Applications

Inverse folding enables several protein engineering workflows:

  • De novo protein design: After generating a novel backbone with tools like RFdiffusion, ProteinMPNN provides sequences likely to fold into that structure
  • Sequence optimization: Generate variants of existing proteins with potentially improved expression, solubility, or stability
  • Functional homolog design: Create sequence-diverse proteins that maintain a target fold, useful when avoiding immune recognition or intellectual property constraints
  • Rescue failed designs: Re-sequence backbones from computationally designed proteins that failed to express or fold

Limitations

ProteinMPNN designs sequences based solely on backbone geometry. It does not consider:

  • Ligand interactions: For proteins with bound small molecules, metals, or nucleotides, use LigandMPNN instead
  • Membrane environment: Standard ProteinMPNN was trained on soluble proteins. For transmembrane proteins or optimizing soluble expression, consider SolubleMPNN
  • Stability optimization: While designs often fold well, ProteinMPNN does not explicitly optimize thermostability. Consider ThermoMPNN for stability predictions

Experimental validation remains essential; computational metrics predict but do not guarantee foldability or function.

Sources

  • LigandMPNN source and command reference at the deployed revision
  • ProteinMPNN paper

Table of contents

Related tools

HyperMPNN

HyperMPNN

Design protein sequences optimized for thermal stability from backbone structures.

LigandMPNN

LigandMPNN

Design protein sequences around ligands, metals, and nucleotides for enzyme engineering and binding-site optimization.

SolubleMPNN

SolubleMPNN

Design sequences with the ProteinMPNN-family model trained on structures from soluble-protein PDB IDs.

Caliby

Caliby

Design sequences for a structure or an aligned ensemble

IgDesign

IgDesign

Design antibody CDR loops from antibody-antigen complex structures using inverse folding.

NuCaliby

NuCaliby

Joint protein and coding DNA design from protein backbones

AntiFold

AntiFold

Design antibody sequences from structure with AI-powered inverse folding

ESM-IF1

ESM-IF1

Design protein sequences from 3D backbone structures with controllable sampling diversity.

ProFam

ProFam

Family-conditioned protein sequence generation from FASTA, A2M, or A3M input

PepMLM

PepMLM

Target sequence-conditioned peptide binder design using masked language modeling