Skip to main content
MPNN Structure-Conditioned Mutation
License: This generator can use multiple tools, each under its own license. See the Tools Used tab and each tool’s page for license details.

This generator is open source. Any third-party models, product names, or trademarks referenced are the property of their respective owners, and Proto is not affiliated with them.


evo-design/proto-language/proto_language/generator/mpnn_mutation_generator.py
View source
Generator contributors
Mutate protein sequences using MPNN structure-conditioned probabilities.

API Reference

ConfigMPNNMutationGeneratorConfig Source
Configuration for structure-conditioned MPNN mutation.The generator scores the current sequence against a backbone, chooses mutable positions using the model’s probability of the current residue, then replaces each chosen residue from the model’s per-position amino-acid distribution.
enum
default:"ligandmpnn"
Structure-conditioned model used for mutation probabilities: ligandmpnn or proteinmpnn.Options: ligandmpnn, proteinmpnn
enum
default:"configured_structure_inputs"
Use configured structure_inputs or each proposal’s attached structure for MPNN scoring.Options: configured_structure_inputs, proposal_structure
array
Structures for MPNN scoring; templates when structure_source=‘proposal_structure’.
string
Structure chain corresponding to the assigned sequence. Required for ambiguous multi-chain inputs.
integer
default:"1"
Number of positions to resample per sequence.
ResidueSelection
Optional per-chain 1-indexed positions eligible for mutation. If unset, the output chain is mutable.
array
Single-letter amino acids to forbid as replacement residues.
enum
default:"sample"
‘sample’ draws from MPNN probabilities; ‘argmax’ chooses the highest-probability residue.Options: sample, argmax
number
default:"1.0"
Temperature applied to MPNN logits before replacement sampling.
enum
default:"proteinmpnn"
ProteinMPNN weights used when model=‘proteinmpnn’.Options: proteinmpnn, v_48_002, v_48_010, v_48_030, abmpnn, soluble
boolean
default:"False"
Whether LigandMPNN scoring conditions on fixed-residue sidechain atoms.
number
default:"8.0"
Ligand-residue distance cutoff (Å) used by LigandMPNN scoring.
enum
default:"ligand_mpnn"
LigandMPNN implementation used for scoring: Foundry-backed ligand_mpnn or original LigandMPNN.Options: ligand_mpnn, original
string
Optional explicit LigandMPNN checkpoint path.
integer
Optional seed passed directly to LigandMPNN scoring; None uses Proto’s derived seed stream.
enum
default:"derived_seed"
Use Proto’s per-proposal derived seed or NumPy’s global RNG stream for mutation sampling.Options: derived_seed, global
integer
Optional seed applied once when rng_mode=‘global’.
enum
default:"disabled"
Optional MPNN scoring mode used to refresh pmpnn after applying mutations.Options: disabled, single_aa, autoregressive
StructurePreparationConfig
Optional structure preparation used to attach sequence-consistent structures after mutation.
string
default:"cuda"
Device for MPNN scoring.
boolean
default:"False"
Whether to print status messages during MPNN scoring.

Usage

python

Metadata