eFold
This repo contains the pytorch code for our paper “Diverse Database and Machine Learning Model to narrow the generalization gap in RNA structure prediction”
Install
pip install efold
Inference mode
Using the command line
From a sequence:
efold AAACAUGAGGAUUACCCAUGU -o seq.txt
cat seq.txt
AAACAUGAGGAUUACCCAUGU
..(((((.((....)))))))
or a fasta file:
efold --fasta example.fasta
Using different formats:
efold AAACAUGAGGAUUACCCAUGU -bp # base pairs
efold AAACAUGAGGAUUACCCAUGU -db # dotbracket (default)
Output can be .json, .csv or .txt
efold AAACAUGAGGAUUACCCAUGU -o output.csv
Run help:
efold -h
Using python
>>> from efold import inference
>>> inference('AACUGUGCUA', fmt='dotbracket')
..(((((.((....)))))))
File structure
efold/
api/ # for inference calls
core/ # backend
models/ # where we define eFold and other models
resources/
efold_weights.py # our best model weights
scripts/
efold_training.py # our training script
[...]
LICENSE
requirements.txt
pyproject.toml
Data
List of the datasets we used
A breakdown of the data we used is summarized here. All the data is stored on the HuggingFace.
Get the data
You can download our datasets using rouskinHF:
pip install rouskinhf
And in your code, write:
>>> import rouskinhf
>>> data = rouskinhf.get_dataset('ribo500-blast') # look at the dataset names on huggingface
Reproducing our results
Run the training script:
git clone https://github.com/rouskinlab/eFold
python eFold/scripts/efold_training.py
Citation
Plain text:
Albéric A. de Lajarte, Yves J. Martin des Taillades, Colin Kalicki, Federico Fuchs Wightman, Justin Aruda, Dragui Salazar, Matthew F. Allan, Casper L’Esperance-Kerckhoff, Alex Kashi, Fabrice Jossinet, Silvi Rouskin. “Diverse Database and Machine Learning Model to narrow the generalization gap in RNA structure prediction”. bioRxiv 2024.01.24.577093; doi: https://doi.org/10.1101/2024.01.24.577093. 2024
BibTex:
@article {Lajarte_Martin_2024,
title = {Diverse Database and Machine Learning Model to narrow the generalization gap in RNA structure prediction},
author = {Alb{\'e}ric A. de Lajarte and Yves J. Martin des Taillades and Colin Kalicki and Federico Fuchs Wightman and Justin Aruda and Dragui Salazar and Matthew F. Allan and Casper L{\textquoteright}Esperance-Kerckhoff and Alex Kashi and Fabrice Jossinet and Silvi Rouskin},
year = {2024},
doi = {10.1101/2024.01.24.577093},
URL = {https://www.biorxiv.org/content/early/2024/01/25/2024.01.24.577093},
journal = {bioRxiv}
}
Metadata
Release files for efold 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| efold-0.1.2.tar.gz | 10.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| efold-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 MB
Release files / efold-0.1.2.tar.gz
| Download URL | efold-0.1.2.tar.gz |
|---|---|
| Size | 10.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ef8ddd1d95d0ffffa2e83a0245048303eeb6793f35a9794590707468ead47ff
|
|
BLAKE2b-256 checksum How to use checksums |
d02c08f7cfc5dd8d88dce40ca5f97122f15625958903cb81af9f7dc8a1d99c5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / efold-0.1.2-py3-none-any.whl
| Download URL | efold-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f632e6fb3b1b5e7e9016372264961b3c26c6c7e8b9472d431b15b349729fd71b
|
|
BLAKE2b-256 checksum How to use checksums |
f47faca700d72a3b9a61a9978510e918faabfc32f4e4bb4e631313a601899524
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|