Rational design of mechanically active RNAs: de novo engineering of functional exoribonuclease-resistant RNAs
Mechanically active RNAs represent an emerging class of biomolecules whose function derives from resisting molecular forces. Among them, exoribonuclease-resistant RNAs (xrRNAs) achieve this by folding into a ring-like topology that physically blocks 5’ → 3’ degradation. However, despite years of structural insight, the rational design of such mechanically functional RNA devices has remained elusive. Here, we describe a mechanics-aware RNA design approach that enables de novo engineering of functional xrRNAs. We first identify structural determinants of force resistance by perturbing pseudoknot architecture in a model xrRNA and quantifying resulting efficiencies in the stalling of exoribonuclease XRN1. We then implement these rules in a design framework that integrates explicit topological constraints with molecular dynamics–guided optimization. The resulting synthetic xrRNAs reproduce the ring-like architecture and stall exoribonuclease XRN1 with wild-type-like efficiency. Our top-performing constructs exhibit minimal sequence similarity to known xrRNAs and evade detection by covariance models, yet remain fully functional in vitro. Taken together, our results show that mechanical function can be rationally designed independent of evolutionary ancestry, providing a foundation for the design of RNA elements that block decay, respond to force, and stabilize therapeutic transcripts
This repository is intended as supporting information for the article
Rational design of mechanically active RNAs: de novo engineering of functional exoribonuclease-resistant RNAs
It provides the scripts used to create new rational xrRNA designs and test the resulting sequences in silico. Finally, the methods to prepare the complete designs for in vitro validation are shown.
This project requires Python 3.8 or higher. The project is mainly based on functions from ViennaRNA and Infrared. Both can be installed via Conda.
Additionally, the 'Infernal' package and the following Python packages must be installed: tqdm, seaborn, matplotlib, and numpy.
In order to perform steered molecular dynamics simulations, the Framework OpenMM with CUDA support needs to be installed.
This folder contains the scripts required to design MBFV xrRNAs.
| create_models.py | design.py | leader_deisgn.py | ir_utils.py | utils.py |
|---|---|---|---|---|
| Contains the definitions of the infrared models used to design MBFV xrRNAs. | The main file used to run the complete design process. | The main file used to design leaders for the experimental evaluation of xrRNAs | Infrared helpers that define the constraints and feature functions used in the model. | Definitions of the objective functions and Monte Carlo optimization procedure. |
The main file design.py can be used to design xrRNAs and provides the following settings:
| Default Value | |
|---|---|
| ‑‑steps | The number of Monte Carlo optimization steps or the number of sampled sequences. Defaults to 100000. |
| ‑‑sample | If set to true, sample sequences from the model without optimization. Defaults to False |
This folder contains scripts used for visualization.
| cm_comparison.ipynb | dotplots.ipynb |
|---|---|
| Script used to visualize the distribution of CM-Scores from randomly generated sequences that fulfill only xrRNA structure constraints in the form of base complementarity. | Script to visualize the structure properties of sequences sampled from the infrared models compared to samples created using CMEmit |
This folder contains the scripts required to run steered molecular dynamics simulations using the OpenMM Framework.
| analysis.py | omm_const.py | start_prod.py |
|---|---|---|
| Analysis script used to plot the movement of the 5' End during the simulation. | Contains helper functions used to create and update custom forces. | Script to start the MD-simulation. |
The scripts are intended to be used together with the Implicit Solvent Modeler from charmmgui and have been modified from the scripts provided by it. Start with a PDB file containing the xrRNA with the 5' End positioned at the origin and follow through the Implicit Solvent Modeler, choosing the Amber Forcefields and GBn2 as implicit solvent model. Rename the resulting rst7 and parm7 files to init.rst7 and init.parm7, and copy the three scripts into the same folder. The simulation can now be started using "start_prod.py".