RNAPhaseek
Predicts the probability that an RNA sequence undergoes protein-free liquid–liquid phase separation (LLPS), and powers a de-novo generator for new LLPS-prone RNAs.
Try it (no install)
Open the Colab notebook from the project's GitHub repo for one-click scoring and de-novo design.
What's in this repo
final_model.pt— RNA-FM + FEGSTrans adapter + 38-dim biophysics + MLP head, 426 MBnorm_stats.npz— biophysics feature mean/std (must accompany the checkpoint)
Architecture
Three streams fused in a single MLP head:
- RNA-FM backbone (
multimolecule/rnafm, 640-dim, last 2 layers fine-tuned) - FEGSTrans adapter that pools backbone embeddings with a structural FEGS bias
- 38 biophysical features (MFE, GC%, G4-potential, self-complementarity, etc.)
Trained on a strict protein-free RNA-LLPS corpus (positives + negatives + structural hard negatives) plus matched training pairs that teach the model the free-vs-sequestered G-tract distinction — closing the structure-specificity blind spot of earlier training recipes.
Headline numbers
| Metric | Value |
|---|---|
| 5-fold cluster-grouped CV AUROC | 0.88 |
| Structural-specificity AUROC | 0.90 |
| Non-yeast generalization AUROC | 0.80 |
| Matched-pair accuracy (held-out) | 1.00 |
Programmatic use
from huggingface_hub import hf_hub_download
model_path = hf_hub_download(repo_id="quercuscode/rnaphaseek", filename="final_model.pt")
norm_path = hf_hub_download(repo_id="quercuscode/rnaphaseek", filename="norm_stats.npz")
# then load with the project code (see the GitHub repo):
from rnaphaseek import RNAPhaseekScorer, read_fasta
scorer = RNAPhaseekScorer(model_path=model_path, norm_path=norm_path)
probs = scorer.score(["GGGAGGGAGGGAGGGUUUUUUUUUUUUUUU"])
print(probs)
Citation
If you use RNAPhaseek, please cite the accompanying manuscript (Cheraghali et al.).
License
MIT for the code; weights released for academic use under the same license.
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support