RiboNN¶
Predict translation efficiency (TE) from mRNA sequence across 82 human cell types/tissues.
- Paper: Nature Biotechnology 2025
- Upstream: https://github.com/Sanofi-Public/RiboNN
- License: Apache 2.0
- Device: CPU or GPU (CPU works, GPU faster)
What it does¶
RiboNN is a multi-task neural network that predicts translation efficiency from mRNA sequence (5'UTR + CDS + 3'UTR). It outputs TE predictions for 82 human (or mouse) cell types/tissues simultaneously.
Input format¶
Tab-separated text file with 4 columns (no header):
Example (tests/data/ribonn_prediction_input.txt):
ENST00000215375.7 AGACGTCCCTGCGCGTCGTCCTCCTCGCCCTCCAGGCCGCCCGCGCCGCGCCGGAGTCCGCTGTCCGCCAGCTACCCGCTTCCTGCCGCCCGCCGCTGCC ATGCTGCCCGCCGCGCTGCTCCGCCGCCCGGG... GCGGTGCGTACCCGGTGTCCCGAGGCCCGGCC...
Transcripts with combined CDS + 3'UTR length exceeding 11,937 nt are automatically removed.
Output format¶
Tab-separated text file (prediction_output.txt) with columns:
tx_id utr5_sequence cds_sequence utr3_sequence predicted_TE_108T predicted_TE_12T ... mean_predicted_TE
Each predicted_TE_* column is the predicted log2 translation efficiency for that cell type. The final column is the mean across all cell types.
Run with Docker¶
See the Direct Docker guide for the shared
docker runrecipe (UID,HOME,USERenv vars, and GPU flag). Below are the model-specific parts.
docker run --rm \
-v /path/to/input.txt:/app/data/prediction_input1.txt \
-v /path/to/output:/out \
ghcr.io/ericmalekos/rnazoo-ribonn-cpu:latest \
bash -c "cd /app && python3 /opt/bin/ribonn_predict.py -i /app/data/prediction_input1.txt -o /out --species human"
For mouse: replace --species human with --species mouse.
To predict using a fine-tuned checkpoint:
docker run --rm \
-v /path/to/input.txt:/app/data/prediction_input1.txt \
-v /path/to/checkpoint.ckpt:/app/checkpoint.ckpt \
-v /path/to/output:/out \
ghcr.io/ericmalekos/rnazoo-ribonn-cpu:latest \
bash -c "cd /app && python3 /opt/bin/ribonn_predict.py -i /app/data/prediction_input1.txt -o /out --checkpoint /app/checkpoint.ckpt --target TE_MyCondition"
Run with Nextflow¶
Only models with input provided will run — no ignore flags needed.
Results appear in results/ribonn/ribonn_out/prediction_output.txt.
Predict with a fine-tuned checkpoint¶
After fine-tuning (see below), use the saved checkpoint for prediction on new data:
nextflow run main.nf -profile docker,cpu \
--ribonn_input /path/to/input.txt \
--ribonn_checkpoint results/ribonn_finetune/fold0/*.ckpt \
--ribonn_finetune_target TE_MyCondition
Parameters¶
| Parameter | Default | Description |
|---|---|---|
--ribonn_input |
null |
Tab-separated input file |
--ribonn_species |
human |
Species for pretrained models (human or mouse) |
--ribonn_checkpoint |
null |
Path to a fine-tuned .ckpt checkpoint for prediction |
Example output (truncated)¶
tx_id predicted_TE_HEK293 predicted_TE_HeLa ... mean_predicted_TE
ENST00000215375.7 1.0705105 1.0321615 ... 1.0564895
ENST00000231004.5 0.47455412 0.41119576 ... 0.54676294
Fine-tuning on your own data¶
RiboNN supports transfer learning from the pretrained 78-cell-type human model to a new cell type or condition. The pretrained convolutional layers are frozen initially, then the full model is fine-tuned with a lower learning rate.
Input format¶
Tab-separated file with columns: tx_id, utr5_sequence, cds_sequence, utr3_sequence, and your target TE column (numeric values). The target column name is specified via --ribonn_finetune_target.
Run fine-tuning¶
nextflow run main.nf -profile docker,cpu \
--ribonn_finetune_input my_training_data.tsv \
--ribonn_finetune_target TE_MyCondition
Parameters¶
| Parameter | Default | Description |
|---|---|---|
--ribonn_finetune_target |
(required) | Column name containing TE values |
--ribonn_finetune_phase1_epochs |
50 |
Epochs for head-only training (conv layers frozen) |
--ribonn_finetune_phase2_epochs |
150 |
Epochs for full model training (all layers) |
--ribonn_finetune_patience |
50 |
Early stopping patience |
--ribonn_finetune_folds |
5 |
Cross-validation folds |
Output¶
ribonn_finetune/predictions.tsv— cross-validated predictions on held-out test foldsribonn_finetune/fold*/— saved model checkpoints per fold