File size: 3,258 Bytes
b706f53 8bca270 b706f53 8bca270 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | ---
license: mit
language:
- en
tags:
- rna
- biology
- diffusion
- generative
- sequence-design
---
# yakRNA Design: A semantic multimodal RNA composer
<p align="center">
<img src="https://raw.githubusercontent.com/YousufAKhan/yakRNA/main/mascot.png" width="160"/>
</p>
**yakRNA Design** is a 110M-parameter discrete diffusion language model for conditional RNA sequence design. It can generate RNA sequences conditioned on any combination of secondary structure, consensus sequence, and Gene Ontology (GO) terms — or unconditionally from a target length.
---
## Model Details
| | |
|---|---|
| **Architecture** | ModernBERT-based discrete diffusion |
| **Parameters** | 110M |
| **Training data** | Full Rfam database |
| **Max sequence length** | 636 nt |
| **Supported GO terms** | 280 |
---
## Quickstart
The easiest way to use yakRNA Design is via the **[Google Colab notebook](https://colab.research.google.com/github/YousufAKhan/yakRNA/blob/main/yakRNA_colab.ipynb)** — no setup required.
For local use, see the **[GitHub repository](https://github.com/YousufAKhan/yakRNA)**.
---
## Download the Weights
**CLI:**
```bash
pip install huggingface_hub
huggingface-cli download MasterYster/yakRNA-Design yakRNA_110M.pt --local-dir checkpoints/
```
**Python:**
```python
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="MasterYster/yakRNA-Design", filename="yakRNA_110M.pt", local_dir="checkpoints/")
```
---
## Generation Modes
| Mode | Description |
|------|-------------|
| Unconditional | Generate from a target length |
| Structure-conditioned | Dot-bracket secondary structure |
| Consensus-conditioned | Mixed-case IUPAC consensus |
| GO term-conditioned | Up to 12 GO terms |
| Sequence infilling | Fixed positions + `*` masks |
| Multimodal | Any combination of the above |
---
## Example Usage
```bash
# Install
git clone https://github.com/YousufAKhan/yakRNA.git
cd yakRNA
pip install -r requirements.txt
# Generate 5 sequences conditioned on a hairpin structure
python inference/rna_sequence_generator.py \
--config configs/inference.yaml \
--checkpoint checkpoints/yakRNA_110M.pt \
--secondary_structure "((((....))))" \
--num_sequences 5
# Generate with all three modalities
python inference/rna_sequence_generator.py \
--config configs/inference.yaml \
--checkpoint checkpoints/yakRNA_110M.pt \
--secondary_structure ":::::::<<<<<<<<<-:::--[[[[[-->>>>>>>>><<<<<<<<<<_________>>>->>>>>>>::::]]]]]::::" \
--consensus "GAGUaaGGGGuuCuAGU...gcaGCcCgcCUaGaaCCCUGcgacacuGGuucuaaaaCagAugucgUuuuaAGgGCuUUUG" \
--go_terms "GO:0075523" \
--num_sequences 5
```
---
## Links
- **GitHub**: [YousufAKhan/yakRNA](https://github.com/YousufAKhan/yakRNA)
- **Colab**: [](https://colab.research.google.com/github/YousufAKhan/yakRNA/blob/main/yakRNA_colab.ipynb)
---
## Citation
```bibtex
@software{yakrna2026,
author = {Khan, Yousuf},
title = {yakRNA Design: A semantic multimodal RNA composer},
year = {2026},
url = {https://github.com/YousufAKhan/yakRNA}
}
```
|