gRNAde

Geometric RNA inverse folding with a multi-conformation GVP encoder and autoregressive nucleotide decoder.

Disclaimer

This is an unofficial OFoldX implementation of gRNAde. The upstream authors did not write, review, or endorse this implementation or model card.

Model Details

gRNAde predicts RNA identities from one-dimensional sequence order, explicit secondary-structure base pairs, and optional three-dimensional backbone geometry. GrnadeProcessor lowers one canonical RNA chain or aligned conformations to P, C4', and base-nitrogen features, sequence, base-pair, and spatial edges, native identities, and a design mask. The secondary structure is a dot-bracket string read by MultiMolecule; further bracket types represent pseudoknots. GrnadeModel applies the released multi-conformation geometric-vector encoder and masked autoregressive decoder over the 72 canonical classes (classes the checkpoint does not predict have logit -inf), while GrnadePipeline builds each sampled sequence's final target with the shared design producer.

The implementation follows gRNAde v1.0.0 revision 2453b18778a1981ac25f314790e5395f1e9ab218 and v0.3.2 revision e473636bef037be1e1b2516cf00af71e3334bd4f. PyTorch Geometric carriers and structure-file parsing do not cross the Model boundary.

Variants

Distinct explicit artifact identifiers select the ODesign grnade.h5, the independently released v1 checkpoint, and all ten released v0.3.2 autoregressive checkpoints. The latter retain their released one-, two-, three-, or five-conformation Processor setting; split names do not change the Model equation.

Links

Usage

Load the concrete design Pipeline from a converted repository:

from ofoldx.io import read_structure
from ofoldx.models.grnade import GrnadePipeline

structure, report = read_structure("rna.cif")
pipeline = GrnadePipeline.from_repository("oteam/grnade")
result = pipeline.design(structure, secondary_structure="((((....))))", num_candidates=4, temperature=0.2)

structure holds one RNA instance, or instance_id= selects the target RNA chain; the dot-bracket covers its RNA residues. design=PositionSelection(...) restricts which residue identities may change. Each candidate reports total and mean log probability, perplexity, and native recovery, and result.records holds each candidate's design record.

Pass a sequence of aligned Structure values to condition one design on multiple conformations:

result = pipeline.design((open_conformation, closed_conformation), secondary_structure="((((....))))")

The first conformation is the design target; later conformations contribute structural features only and must contain the same RNA sequence.

For the v1 Pipeline, the dot-bracket's pairs are the secondary-structure pairs supplied to the released graph; base-pair edges have higher priority than overlapping spatial or sequence edges. Set use_coordinates=False to build the released v1 1D+2D-only graph.

Released v0.3.2 repositories load through the paired legacy Pipeline:

from ofoldx.models.grnade import GrnadeV032Pipeline

pipeline = GrnadeV032Pipeline.from_repository("oteam/grnade-v0.3.2-3state-all")
result = pipeline.design((first_conformation, second_conformation))

The legacy graph has no base-pair or sequence-edge channel. use_coordinates=False therefore produces zero geometric features and no spatial edges. File parsing never enters the Model.

Training Details

OFoldX preserves the released model graph and differentiable teacher-forced forward operation. criterion(..., label_smoothing=...) exposes the training choice directly; the released training value was 0.05. Dataset construction, screening models, experiment tracking, and the upstream training executable remain caller-owned. The raw teacher-forced Model output is also available to custom training loops.

Citation

@inproceedings{joshi2025grnade,
  title={g{RNA}de: Geometric Deep Learning for 3D RNA inverse design},
  author={Joshi, Chaitanya K and Jamasb, Arian R and Vi{\~n}as, Ramon and
          Harris, Charles and Mathis, Simon V and Morehead, Alex and
          Anand, Rishabh and Li{\`o}, Pietro},
  booktitle={International Conference on Learning Representations},
  year={2025}
}

If OFoldX supports your research, also cite the OFoldX software:

@software{chen2026ofoldx,
  author = {Chen, Zhiyuan},
  title  = {OFoldX},
  year   = {2026},
  url    = {https://github.com/OTeam-AI4S/OFoldX},
}

Contact

Please use OFoldX GitHub issues for questions about this implementation or model card. Questions about the original model should be directed to the gRNAde authors.

License

This model implementation is licensed under the GNU Affero General Public License. The inspected upstream gRNAde source is MIT-licensed.

SPDX-License-Identifier: AGPL-3.0-or-later

The Pipeline is callable and supports staged execution with prepare, forward, and postprocess. Prepared values retain the source and correspondence needed by the scientific result; the concrete signatures describe each stage's controls.

Converted checkpoint

This repository contains converted model parameters under mit; the original terms and notices are preserved in LICENSE. OFoldX implementation licensing is described separately in license.md and license-faq.md. Conversion changes parameter names and native tensor layout; the upstream authors do not endorse this implementation.

Downloads last month

-

Downloads are not tracked for this model. How to track
Safetensors
Model size
2.16M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for oteam/grnade-v0.3.2-1state-multi