SMRTnet
Predicting small molecule and RNA target interactions using deep neural networks (Nature Biotechnology, 2026)
Install / Use
/learn @Yuhan-Fei/SMRTnetREADME
:sparkles: SMRTnet :sparkles:
This is a PyTorch implementation of our study:
:dart: SMRTnet: Predicting <ins>s</ins>mall <ins>m</ins>olecule and <ins>R</ins>NA <ins>t</ins>arget interactions using deep neural <ins>net</ins>works
<p align="justify" > Small molecules can bind RNAs to regulate their fate and functions, providing promising opportunities for treating human diseases. However, current tools for predicting small molecule-RNA interactions (SRIs) require prior knowledge of RNA tertiary structures, limiting their utility in drug discovery. Here, we present SMRTnet, a deep learning method to predict SRIs based on RNA secondary structure. By integrating <b>two large language models</b>, <b>convolutional neural networks</b>, <b>graph attention networks</b>, and <b>an attention-based multimodal data fusion model</b>, SMRTnet achieves high performance across multiple experimental benchmarks, substantially outperforming existing state-of-the-art tools. </p> <p align="justify" > For wet-lab validation, we conducted a large-scale experimental assessment on SMRTnet predictions for 10 disease-associated RNA targets (<i>e.g.</i> <b>mRNA of undruggable proteins, onco-miRNAs, viral RNAs, and RNA repeat expansions</b>), identifying 40 hits of RNA-targeting small molecules with nanomolar-to-micromolar dissociation constants using microscale thermophoresis (MST). Focusing on the <i>MYC</i> internal ribosome entry site (IRES) as a target, SMRTnet-predicted small molecules showed binding scores correlated closely with observed validation rates. Notably, one predicted compound downregulated <i>MYC</i> expression, inhibited proliferation, and promoted apoptosis in three cancer cell lines. </p> <p align="justify" > Taken together, SMRTnet expands the scope of feasible RNA targets and accelerates the discovery and development of RNA-targeting therapeutics. </p> <p align="center"><img src="figs/workflow.png" width=100% /></p> <p align="center" > <b>Overview of SMRTnet</b> </p>:round_pushpin: Cite us
<!--If you found this package useful, please cite [our paper](xxx)-->If you use this tool in your research, we kindly ask that you cite our paper:
Title: Predicting small molecule–RNA interactions without RNA tertiary structures
Author: Fei Y, Wang P, Zhang J, Shan X, Cai Z, Ma J, Wang Y, and Zhang QC
Journal: Nature Biotechnology, 2026 (5-year Journal Impact Factor: 59.5)
Paper ink: https://www.nature.com/articles/s41587-025-02942-z
:telephone: Contact us
Please contact us if you are interested in our work or potential academic collaborations.
- Dr. Yuhan Fei, School of Life Sciences, Tsinghua University, Posdoc, yuhan_fei@outlook.com
- Jiasheng Zhang, School of Life Sciences, Tsinghua University, PhD student, zjs21@mails.tsinghua.edu.cn
:book: Table of contents
- :one: Getting Started
- Install via PyPI
- Run SMRTnet via Google Colab
- :two: Download pre-trained models
- :three: Repo Structure
- :four: Datasets
- :five: Usage
- How to train your own model
- How to test model performance
- How to perform interence for novel interactions
- How to benchmark on known interactions
- How to identify potential binding sites
- :six: Referenced Repos
- :seven: Copyright and License
- :eight: Patent Declaration
- :nine: Disclaimer
Getting started
Please run the following command to check your CUDA version before installing SMRTnet:
nvidia-smi
or
nvcc --version
<!-- Note: All tests were conducted on a **Linux Ubuntu 13.x** operating system with CUDA versions **11.x and 12.x**. -->
:heavy_exclamation_mark: Note: To install Torch and DGL versions compatible with your CUDA setup, please refer to the following URLs:
- Torch: https://pytorch.org/get-started/previous-versions/
- DGL: https://www.dgl.ai/pages/start.html
:pushpin: Install via PyPI
1) The Stable version for installation (Recommend)
conda create -n smrtnet python=3.8.10
conda activate smrtnet
pip install torch==2.4.1+cu118 torchvision==0.19.1+cu118 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install smrtnet
conda install dglteam/label/th24_cu118::dgl
The stable version of SMRTnet environment is also available on Zenodo (https://zenodo.org/records/14970392) for offline installation.
<!-- **Note:** This installation method will be maintained periodically. -->2) The Latest version for installation
conda create -n smrtnet_latest python=3.8.10
conda activate smrtnet_latest
pip install torch torchvision
pip install smrtnet-latest
conda install dglteam/label/th24_cu121::dgl
<!-- **Note:** This installation method will undergo frequent iterations. -->
:heavy_exclamation_mark: Note: The table now explicitly details these two installation pathways and provides complete, version-specific dependency lists for reference:
| Package | Stable version | Latest version | Remarks | |---------|----------------|----------------|---------| | babel | 2.17.0 | 2.17.0 | Up to date | |charset-normalizer| 3.3.2 | 3.3.2 | Required | |dgllife| 0.3.2 | 0.3.2 | Up to date | |dgl| 2.4.0.th24.cu118 | 2.4.0.th24.cu121 | Up to date | |matplotlib| 3.7.5 | 3.7.5 | Constrained by dependencies | |networkx| 2.8.8 | 3.1 | Constrained by dependencies | |huggingface-hub| 0.29.1 | 0.34.4 | Up to date | |notebook| 7.3.2 | 7.3.3 | Constrained by dependencies | |numpy| 1.20.3 | 1.24.4 | Constrained by dependencies | |pandas| 1.2.4 | 2.0.3 | Constrained by dependencies | |prefetch_generator| 1.0.3 | 1.0.3 | Up to date | |prettytable| 3.11.0 | 3.11.0 | Constrained by dependencies | |pytorch-lightning| 1.1.5 | 2.4.0 | Constrained by dependencies | |python| 3.8.10 | 3.8.10 | Required | |rdkit| 2022.3.5 | 2022.3.5 | Required | |scikit-learn| 0.24.2 | 1.3.2 | Constrained by dependencies | |scipy| 1.10.1 | 1.10.1 | Constrained by dependencies | |seaborn| 0.13.2 | 0.13.2 | Up to date | |tensorboard| 2.14.0 | 2.14.0 | Constrained by dependencies | |tensorboardX| 2.6.2.2 | 2.6.2.2 | Constrained by dependencies | |torch| 2.4.1+cu118 | 2.4.1 | Constrained by dependencies | |tqdm| 4.67.1 | 4.67.1 | Up to date | |transformers| 4.28.1 | 4.28.1 | Required | |xsmiles| 0.2.2 | 0.2.2 | Up to date |
- ‘Required’ denotes that SMRTnet requires this specific version of the indicated package for proper operation;
- ‘Up to date’ indicates that the dependency is at the latest version of the indicated package;
- ‘Constrained by dependencies’ explains that, although a newer version is available, compatibility with other dependencies limits the update.
:heavy_exclamation_mark: Note: We conducted usability tests of both installation methods with a diverse group of users to validate the setup process. The hardware and software details are listed below:
| GPUs | Driver version | CUDA version| Stable version | Latest version | |-------------|----------------|---------------|--------------|-------------| | H20 (96G) | 570.158.01 | 12.8 | :white_check_mark: | :white_check_mark: | | RTX 4090 (24G) | 570.124.06 | 12.8 | :white_check_mark: | :white_check_mark: | | RTX 4090 (24G) | 550.135 | 12.4 | :white_check_mark: | :white_check_mark: | | RTX 2080 (11G) | 535.216.03 | 12.2 | :white_check_mark: | :white_check_mark: | | A100 40G (40G) | 560.35.03 | 12.6 | :white_check_mark: | :white_check_mark: | | A800 80G (80G) | 450.248.02 | 11.0 | :white_check_mark: | :white_check_mark: |
:pushpin: Run SMRTnet via Google Colab
We have developed an online jupyter-notebook that allows installation-free execution of SMRTnet directly in a web browser via Google Colab. This solution supports both inference and interpretability functionalities while eliminating system-specific installation issues with limited GPU resources.
- Step 1: Please click the followting link: https://drive.google.com/drive/folders/1HQo3o2saY5U9vPqebz4ZdpCVVQXqw0q_?usp=sharing, and copy the shared folder to your own Google Drive by dragging it into your Drive interface:
- Step 2: Please follow the step-by-step instructions provided in the SMRTnet.ipynb notebook to run SMRTnet directly: https://colab.research.google.com/drive/1pm5ZCD8cFRvPA9RPvtEaCHoU1p5X5v4Y?usp=sharing
Download pre-trained models from Zenodo
<p align="center"><img src="figs/architecture.png" width=100% /></p> <p align="center" > <b>The architecture of SMRTnet</b> </p> <!--### :bangbang: Download our pre-trained models from zenodo (Required)--> <p align="justify" > Since the pre-trained models used in SMRTnet are large, we have uploaded them to Zenodo for direct download. Users are required to download the pre-trained models, including the RNA language model (RNASwan-seq), the chemical language model (MoLFormer), and the SMRTnet model, from the link below and place them in the SMRTnet folder (see the “Repo Structure” section below for details). </p>- Pre-trained models used in SMRTn
