NA-MPNN

Pre-trained model for joint protein, DNA, and RNA sequence design and scoring from molecular backbones.

Disclaimer

This is an UNOFFICIAL implementation of the RNA sequence design and protein-DNA specificity prediction with NA-MPNN by Andrew Kubaney, et al.

The OFFICIAL repository of NA-MPNN is at baker-laboratory/NA-MPNN.

The team releasing NA-MPNN did not write this model card for this model so this model card has been written by the OFoldX team.

Model Details

NA-MPNN extends fixed-backbone inverse folding to protein, DNA, RNA, and mixed-polymer assemblies. A geometric message-passing graph represents polymer residues, and generation restricts identities to the residue's polymer type. Separate checkpoints support joint sequence design and protein-DNA specificity prediction.

Please refer to the Training Details section for more information on the training process.

Variants

Model Specification

Vocabulary Size Hidden Size Encoder Blocks Decoder Blocks Neighbors Atom Slots per Residue Num Parameters (M)
72 128 3 3 32 16 2.303

Links

Usage

The model file depends on the ofoldx library. You can install it using pip:

pip install ofoldx

Direct Use

Sequence Design

You can use this model directly with a pipeline for joint protein and nucleic-acid sequence design:

import ofoldx
from ofoldx.io import read_structure

structure, _ = read_structure("complex.cif")
pipeline = ofoldx.pipeline("design", model="oteam/nampnn")
result = pipeline(structure)

Each candidate contains the designed molecular target and named sequence scores. Shared nucleic tokens are the released default: RNA bases use DNA output classes during prediction and are reconstructed as RNA residues.

With shared nucleic tokens, global_omit_tokens uses DNA class names for both DNA and RNA: "DNA_T" excludes T and U, respectively. RNA_ names are rejected in this mode.

Sequence Scoring

You can use this model directly with a pipeline for sequence scoring on a mixed-polymer backbone:

import ofoldx
from ofoldx.io import read_structure

structure, _ = read_structure("complex.cif")
pipeline = ofoldx.pipeline("score", model="oteam/nampnn")
result = pipeline(structure, num_decoding_orders=8, seed=7)

The result contains designed and global sequence NLL in nats per residue.

Protein-DNA Specificity

Use the specificity checkpoint to estimate base probabilities for a protein-DNA complex:

import ofoldx
from ofoldx.io import read_structure

structure, _ = read_structure("complex.cif")
pipeline = ofoldx.pipeline("design", model="oteam/nampnn-specificity")
result = pipeline.specificity_profile(structure, num_samples=30, seed=7)

The result contains a probability for each DNA base at each selected nucleotide position.

Training Details

NA-MPNN is trained for structure-conditioned recovery of protein and nucleic-acid sequences.

Training Data

NA-MPNN was trained on PDB structures containing nucleic acids. The specificity model also uses predicted protein-DNA complexes and experimental binding profiles. The upstream repository provides the training and evaluation splits.

Training Procedure

NA-MPNN uses polymer-conditioned sequence recovery, with coordinate noise and optional protein-first decoding.

OFoldX provides smoothed_loss for training and fine-tuning.

Citation

@article{kubaney2025nampnn,
  author = {Kubaney, Andrew and Favor, Andrew and McHugh, Lilian and Mitra, Raktim and Pecoraro, Robert and Dauparas, Justas and Glasscock, Cameron and Baker, David},
  title = {RNA sequence design and protein-DNA specificity prediction with NA-MPNN},
  journal = {bioRxiv},
  year = {2025},
  doi = {10.1101/2025.10.03.679414},
}

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 NA-MPNN paper 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.

SPDX-License-Identifier: AGPL-3.0-or-later
Downloads last month

-

Downloads are not tracked for this model. How to track
Safetensors
Model size
2.3M params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support