Skip to main content
ProteinMPNN Inverse Folding
License: ProteinMPNN is open source and free for academic and commercial use under an MIT license. Please refer to the license for full terms.

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.


Go to Tool Page
proto-bio/proto-language/proto_language/generator/proteinmpnn_generator.py
View source
@article{dauparas2022proteinmpnn,
  title={Robust deep learning--based protein sequence design using ProteinMPNN},
  author={Dauparas, Justas and Anishchenko, Ivan and Bennett, Nathaniel and Bai, Hua and Ragotte, Robert J and Milles, Lukas F and Wicky, Basile IM and Courber, Alexis and de Haas, Rob J and Bethel, Neville and others},
  journal={Science},
  volume={378},
  number={6615},
  pages={49--56},
  year={2022},
  publisher={American Association for the Advancement of Science},
  doi={10.1126/science.add2187}
}
Copy citation
Protein sequence generator using ProteinMPNN inverse folding model. This generator uses ProteinMPNN to design protein sequences that are predicted to fold into a given 3D backbone structure. Unlike mutation-based generators that refine existing sequences, ProteinMPNN generates sequences directly from structural information. ProteinMPNN is particularly effective for:
  • Redesigning existing proteins while maintaining fold
  • Designing sequences for computationally generated backbones
  • Creating sequence diversity for experimental screening
  • Stabilizing protein structures through sequence optimization

API Reference

ConfigProteinMPNNGeneratorConfig Source
Configuration object for ProteinMPNNGenerator.This class defines configuration parameters for the ProteinMPNN generator, which uses the ProteinMPNN inverse folding model to design protein sequences conditioned on a given 3D backbone structure.ProteinMPNN is a message-passing neural network that predicts amino acid sequences likely to fold into a specified protein backbone structure. It excels at redesigning existing proteins while maintaining structural compatibility.
model_choice
enum
default:"proteinmpnn"
ProteinMPNN weights: ‘proteinmpnn’ (general), ‘abmpnn’ (antibody), or ‘soluble’ (soluble proteins).Options: proteinmpnn, abmpnn, soluble
structure_inputs
array
Structure(s) with optional chains_to_redesign and fixed_positions constraints.
output_chain_id
string
When sampling a multi-chain structure, write only this chain’s sequence to the target segment.
temperature
number
default:"0.1"
Randomness of sampling (0-1). Near 0 is deterministic; near 1 is proportional to model probs.
excluded_amino_acids
array
Single-letter amino-acid codes to forbid in the designed sequence (e.g. ‘C’ to avoid disulfides).
batch_size
integer
default:"1"
Number of sequences to process simultaneously on GPU
device
string
default:"cuda"
GPU device for inference (e.g. ‘cuda’ or ‘cuda:0’).
verbose
boolean
default:"False"
Whether to print status messages during execution.

Usage

python
>>> from proto_language.generator import ProteinMPNNGenerator, ProteinMPNNGeneratorConfig
>>> from proto_language.core import Segment
>>> config = ProteinMPNNGeneratorConfig(
...     structure_inputs="/path/to/backbone.pdb",
...     temperature=0.1,
... )
>>> gen = ProteinMPNNGenerator(config)
>>> segment = Segment(length=100, sequence_type="protein")
>>> gen.assign(segment)
>>> gen.sample()  # Generates num_proposals sequences from the backbone

Metadata

PropertyValue
Keyproteinmpnn
ClassProteinMPNNGenerator
Categoryinverse_folding
Input Typestructure
Uses GPUTrue
Supported Sequence Typesprotein
Allows Empty StartFalse