MembraneMPNN
Pre-trained model for membrane-conditioned protein sequence design and scoring from fixed backbones.
Disclaimer
This is an UNOFFICIAL implementation of the membrane-conditioned ProteinMPNN models released with LigandMPNN.
The OFFICIAL repository of MembraneMPNN is at dauparas/LigandMPNN.
The team releasing MembraneMPNN did not write this model card for this model so this model card has been written by the OFoldX team.
Model Details
MembraneMPNN encodes N, CA, C, and O backbone geometry as a spatial residue graph and predicts amino-acid identities with an autoregressive message-passing decoder. Global or per-residue membrane labels supply additional conditioning. Generation supports fixed positions, tied identities, position-specific amino-acid constraints, and logit biases.
Please refer to the Training Details section for more information on the training process.
Variants
- oteam/membranempnn-global: Global label
0denotes soluble proteins and1denotes transmembrane proteins. - oteam/membranempnn-per-residue: Residue labels
0,1, and2denote exposed/other, membrane-interface, and membrane-buried environments, respectively.
Model Specification
| Backbone Atoms | Hidden Size | Encoder Blocks | Decoder Blocks | Neighbors |
|---|---|---|---|---|
| N, CA, C, O | 128 | 3 | 3 | 48 |
Links
- Checkpoint: converted from
global_label_membrane_mpnn_v_48_020.pt - Upstream license: MIT
- Upstream source revision:
26ec57ac976ade5379920dbd43c7f97a91cf82de - Code: ofoldx.models.membranempnn
- Paper: Robust deep learning-based protein sequence design using ProteinMPNN
- Model type: Membrane-conditioned autoregressive fixed-backbone protein sequence design
- Original Repository: dauparas/LigandMPNN
Usage
The model file depends on the ofoldx library. You can install it using pip:
pip install ofoldx
Direct Use
Global Sequence Design
You can use this model directly with a pipeline for sequence design with a global membrane label:
import ofoldx
from ofoldx.io import read_structure
structure, _ = read_structure("backbone.cif")
pipeline = ofoldx.pipeline("design", model="oteam/membranempnn-global")
result = pipeline(structure, membrane_labels=1)
Each candidate contains the designed molecular target and named sequence scores. A scalar label applies to every retained protein residue.
Sequence Scoring
You can use this model directly with a pipeline for sequence scoring with membrane labels:
import ofoldx
from ofoldx.io import read_structure
structure, _ = read_structure("backbone.cif")
pipeline = ofoldx.pipeline("score", model="oteam/membranempnn-global")
result = pipeline(structure, membrane_labels=1, num_decoding_orders=8, seed=7)
The result contains designed and global sequence NLL in nats per residue.
Downstream Use
Design and Packing
Combine a designer and an independently loaded MPNN Packer with
MembraneMpnnDesignAndPackPipeline to generate side-chain
coordinates after sequence design. Both operations use the coordinate-observation policy selected during preparation.
See the pipeline guide for staged execution with prepare, forward, and postprocess.
Checkpoint Conversion
Convert a checkpoint obtained with the upstream download script to an OFoldX repository:
python -m ofoldx.models.membranempnn.convert \
model_params/global_label_membrane_mpnn_v_48_020.pt ./membrane-global
The same command accepts the per-residue checkpoint.
Training Details
MembraneMPNN is trained to recover protein sequences from backbone geometry and membrane-environment labels.
Training Data
Please refer to the upstream model descriptions for the membrane checkpoints' training data and label construction.
Training Procedure
The global model predicts protein sequences with a binary soluble/transmembrane input. The per-residue model uses separate environment labels for membrane-buried, membrane-interface, and other residues.
OFoldX exposes differentiable encode and forward operations for training and fine-tuning with membrane labels.
Dataset construction and complete upstream training orchestration remain the training application's responsibility.
Citation
For the underlying ProteinMPNN architecture:
@article{dauparas2022robust,
author = {Dauparas, Justas and Anishchenko, Ivan and Bennett, Nathaniel and others},
title = {Robust deep learning-based protein sequence design using ProteinMPNN},
journal = {Science},
volume = {378},
number = {6615},
pages = {49--56},
year = {2022},
doi = {10.1126/science.add2187}
}
The artifacts distributed in this repository are part of the OFoldX project. If OFoldX supports your research, please cite the OFoldX project as follows:
@software{chen2026ofoldx,
author = {Chen, Zhiyuan},
title = {OFoldX},
year = {2026},
url = {https://github.com/OTeam-AI4S/OFoldX},
}
Contact
Please use GitHub issues of OFoldX for any questions or comments on the model implementation or model card.
Please contact the authors of the LigandMPNN project for questions or comments on the paper/model.
License
The model weights, implementation, configuration, and documentation distributed by OFoldX are licensed under the GNU Affero General Public License.
For additional terms and clarifications, please refer to our License FAQ.
The upstream repository states that its code and model parameters are available under the MIT license. Retain the upstream copyright and permission notice when distributing those artifacts.
SPDX-License-Identifier: AGPL-3.0-or-later