Name | BPfold JSON |
Version |
0.2.7
JSON |
| download |
home_page | None |
Summary | Deep generalizable prediction of RNA secondary structure via base pair motif energy. |
upload_time | 2025-07-12 08:13:05 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT License
Copyright (c) 2024 Heqin Zhu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
|
keywords |
rna
secondary structure
fold
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<p align="center">
<h1 align="center">Deep generalizable prediction of RNA secondary structure via base pair motif energy</h1>
<p align="center">
<a href="https://heqin-zhu.github.io/"><strong>Heqin Zhu</strong></a>
·
<a href="https://fenghetan9.github.io/"><strong>Fenghe Tang</strong></a>
·
<a href="https://scholar.google.com/citations?user=mlTXS0YAAAAJ"><strong>Quan Quan</strong></a>
·
<a href="https://bme.ustc.edu.cn/2023/0918/c28132a612449/page.htm"><strong>Ke Chen</strong></a>
·
<a href="https://bme.ustc.edu.cn/2023/0322/c28131a596069/page.htm"><strong>Peng Xiong*</strong></a>
·
<a href="https://scholar.google.com/citations?user=8eNm2GMAAAAJ"><strong>S. Kevin Zhou*</strong></a>
</p>
<!--<h2 align="center">Submitted</h2>-->
<div align="center">
<img src="images/BPfold.png", width="800">
</div>
<p align="center">
<a href="https://www.nature.com/articles/s41467-025-60048-1">Paper</a> |
<a href="https://www.nature.com/articles/s41467-025-60048-1.pdf">PDF</a> |
<a href="https://heqin-zhu.github.io/files/poster_BPfold.pdf">poster</a> |
<a href="https://github.com/heqin-zhu/BPfold">GitHub</a> |
<a href="https://pypi.org/project/BPfold">PyPI</a>
</p>
</p>
<!-- vim-markdown-toc GFM -->
* [Introduction](#introduction)
* [Installation](#installation)
* [Requirements](#requirements)
* [Instructions](#instructions)
* [Usage](#usage)
* [Base pair motif library](#base-pair-motif-library)
* [BPfold Prediction](#bpfold-prediction)
* [Reproduction](#reproduction)
* [Acknowledgement](#acknowledgement)
* [LICENSE](#license)
* [Citation](#citation)
<!-- vim-markdown-toc -->
## Introduction
Deep learning methods have demonstrated great performance for RNA secondary structure prediction. However, generalizability is a common unsolved issue on unseen out-of-distribution RNA families, which hinders further improvement of the accuracy and robustness of deep learning methods. Here we construct a base pair motif library that enumerates the complete space of locally adjacent three-neighbor base pair and records the thermodynamic energy of corresponding base pair motifs through _de novo_ modeling of tertiary structures, and we further develop a deep learning approach for RNA secondary structure prediction, named BPfold, which learns relationship between RNA sequence and the energy map of base pair motif. Experiments on sequence-wise and family-wise datasets have demonstrated the great superiority of BPfold compared to other state-of-the-art approaches in accuracy and generalizability. We hope this work contributes to integrating physical priors and deep learning methods for the further discovery of RNA structures and functionalities.
## Installation
### Requirements
- python3.8+
- anaconda
### Instructions
0. Clone this repo
```shell
git clone git@github.com:heqin-zhu/BPfold.git
cd BPfold
```
1. Create and activate BPfold environment.
```shell
conda env create -f BPfold_environment.yaml
conda activate BPfold
```
2. Install BPfold
```shell
pip3 install BPfold --index-url https://pypi.org/simple
```
3. Download [model_predict.tar.gz](https://github.com/heqin-zhu/BPfold/releases/latest/download/model_predict.tar.gz) in [releases](https://github.com/heqin-zhu/BPfold/releases) and decompress it.
```shell
wget https://github.com/heqin-zhu/BPfold/releases/latest/download/model_predict.tar.gz
tar -xzf model_predict.tar.gz
```
4. Optional: Download datasets [BPfold_data.tar.gz](https://github.com/heqin-zhu/BPfold/releases/latest/download/BPfold_data.tar.gz) in [releases](https://github.com/heqin-zhu/BPfold/releases) and decompress them.
```shell
wget https://github.com/heqin-zhu/BPfold/releases/latest/download/BPfold_data.tar.gz
tar -xzf BPfold_data.tar.gz
```
## Usage
### Base pair motif library
The base pair motif library is publicly available in [releases](https://github.com/heqin-zhu/BPfold/releases), which contains the `motif`:`energy` pairs. The motif is represented as `sequence`\_`pairIdx`\_`pairIdx`\-`chainBreak` where pairIdx is 0-indexed, and the energy is a reference score of statistical and physical thermodynamic energy.
For instance, `CAAAAUG_0_6-3 -49.7835` represents motif `CAAAAUG` has a known pair `C-G` whose indexes are `0` and `6`, with chainBreak lying at position `3`.
>[!NOTE]
>The base pair motif library can be used as thermodynamic priors in other models.
For an input RNA sequence `seq`, the base pair motif energy matrix `mat` can be directly obatined as follows:
```python3
from BPfold.util.base_pair_motif import BPM_energy
BPM = BPM_energy()
seq = 'AUGCGUAGTa'
# default, recommended, normed to [-1, 1], BPfold used, shape 2xLxL
mat = BPM.get_energy(seq)
# origin energy, value may be -50.3, 49.7, ..., shape 1xLxL
mat2 = BPM.get_energy(seq, normalize_energy=False, dispart_outer_inner=False)
```
### BPfold Prediction
Use BPfold to predict RNA secondary structures.
Args:
- `--checkpoint_dir`: required, specify checkpoint dir path.
- `--seq`: specify one or more input RNA sequences.
- `--input`: specify input file of RNA seqs in format of `.fasta`(multiple seqs are supported), `.bpseq`, `.ct`, or `.dbn`.
- `--output`: output dir (will be created automatically), default `BPfold_results`.
- `--out_type`: out format of RNA secondary structures, can be `.csv`, `.bpseq`, `.ct`, or `.dbn`, default `.csv`
Here are some examples:
```shell
BPfold --checkpoint_dir PATH_TO_CHECKPOINT_DIR --seq GGUAAAACAGCCUGU AGUAGGAUGUAUAUG --output BPfold_results
BPfold --checkpoint_dir PATH_TO_CHECKPOINT_DIR --input examples/examples.fasta --out_type csv # (multiple sequences are supported)
BPfold --checkpoint_dir PATH_TO_CHECKPOINT_DIR --input examples/URS0000D6831E_12908_1-117.bpseq
```
<details>
<summary>Example of BPfold prediction</summary>
Here are the outputs after running `BPfold --checkpoint_dir model_predict --input examples/examples.fasta --out_type bpseq`:
```txt
>> Welcome to use "BPfold" for predicting RNA secondary structure!
Loading model_predict/BPfold_1-6.pth
Loading model_predict/BPfold_2-6.pth
Loading model_predict/BPfold_3-6.pth
Loading model_predict/BPfold_4-6.pth
Loading model_predict/BPfold_5-6.pth
Loading model_predict/BPfold_6-6.pth
[ 1] saved in "BPfold_results/5s_Shigella-flexneri-3.bpseq", CI=0.973
CUGGCGGCAGUUGCGCGGUGGUCCCACCUGACCCCAUGCCGAACUCAGAAGUGAAACGCCGUAGCGCCGAUGGUAGUGUGGGGUCUCCCCAUGCGAGAGUAGGGAACUGCCAG
(((((((.....((((((((.....((((((.............))))..))....)))))).)).((.((....((((((((...))))))))....)).))...)))))))
[ 2] saved in "BPfold_results/URS0000D6831E_12908_1-117.bpseq", CI=0.915
UUAUCUCAUCAUGAGCGGUUUCUCUCACAAACCCGCCAACCGAGCCUAAAAGCCACGGUGGUCAGUUCCGCUAAAAGGAAUGAUGUGCCUUUUAUUAGGAAAAAGUGGAACCGCCUG
......((((((....(((((.......)))).)(((.((((.((......))..))))))).................))))))..(((......)))..................
Confidence indexes are saved in "BPfold_results_confidence_TIMESTR.yaml"
Program Finished!
```
</details>
For more help information, please run command `BPfold -h` to see.
## Reproduction
For reproduction of all the quantitative results, we provide the predicted secondary structures and model parameters of BPfold in experiments. You can **directly downalod** the predicted secondary structures by BPfold *or* **use BPfold v0.2.0** with trained parameters to predict these secondary structures, and then **evaluate** the predicted results.
**Directly download**
```shell
wget https://github.com/heqin-zhu/BPfold/releases/download/v0.2/BPfold_test_results.tar.gz
tar -xzf BPfold_test_results.tar.gz
```
**Use BPfold**
1. Download the checkpoints of BPfold: [BPfold_reproduce.tar.gz](https://github.com/heqin-zhu/BPfold/releases/download/v0.2/model_reproduce.tar.gz).
```shell
wget https://github.com/heqin-zhu/BPfold/releases/download/v0.2/model_reproduce.tar.gz
tar -xzf model_reproduce.tar.gz
```
2. Install BPfold v<=0.2.4.
```shell
pip install BPfold==0.2.4
```
3. Use BPfold to predict RNA sequences in test datasets.
**Evaluate**
```shell
BPfold_eval --gt_dir BPfold_data --pred_dir BPfold_test_results
```
After running above commands for evaluation, you will see the following outputs:
<details>
<summary>Outputs of evaluating BPfold</summary>
```txt
Time used: 29s
[Summary] eval_BPfold_test_results.yaml
Pred/Total num: [('PDB_test', 116, 116), ('Rfam12.3-14.10', 10791, 10791), ('archiveII', 3966, 3966), ('bpRNA', 1305, 1305), ('bpRNAnew', 5401, 5401)]
-------------------------len>600-------------------------
dataset & num & INF & F1 & P & R \\
Rfam12.3-14.10 & 64 & 0.395 & 0.387 & 0.471 & 0.333\\
archiveII & 55 & 0.352 & 0.311 & 0.580 & 0.242\\
------------------------len<=600-------------------------
dataset & num & INF & F1 & P & R \\
PDB_test & 116 & 0.817 & 0.814 & 0.840 & 0.801\\
Rfam12.3-14.10 & 10727 & 0.696 & 0.690 & 0.662 & 0.743\\
archiveII & 3911 & 0.829 & 0.827 & 0.821 & 0.843\\
bpRNA & 1305 & 0.670 & 0.658 & 0.599 & 0.770\\
bpRNAnew & 5401 & 0.655 & 0.647 & 0.604 & 0.723\\
---------------------------all---------------------------
dataset & num & INF & F1 & P & R \\
PDB_test & 116 & 0.817 & 0.814 & 0.840 & 0.801\\
Rfam12.3-14.10 & 10791 & 0.694 & 0.689 & 0.660 & 0.741\\
archiveII & 3966 & 0.823 & 0.820 & 0.818 & 0.834\\
bpRNA & 1305 & 0.670 & 0.658 & 0.599 & 0.770\\
bpRNAnew & 5401 & 0.655 & 0.647 & 0.604 & 0.723\\
```
</details>
## Acknowledgement
We appreciate the following open source projects:
- [UFold](https://github.com/uci-cbcl/UFold)
- [vigg_ribonanza](https://github.com/autosome-ru/vigg_ribonanza/)
- [e2efold](https://github.com/ml4bio/e2efold)
## LICENSE
[MIT LICENSE](LICENSE)
## Citation
If you use our code, please cite the following paper:
```bibtex
@article{BPfold,
title = {Deep generalizable prediction of {RNA} secondary structure via base pair motif energy},
author = {Zhu, Heqin and Tang, Fenghe and Quan, Quan and Chen, Ke and Xiong, Peng and Zhou, S. Kevin},
volume = {16},
issn = {2041-1723},
url = {https://doi.org/10.1038/s41467-025-60048-1},
doi = {10.1038/s41467-025-60048-1},
number = {1},
journal = {Nature Communications},
month = jul,
year = {2025},
pages = {5856},
}
```
Raw data
{
"_id": null,
"home_page": null,
"name": "BPfold",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "RNA, secondary structure, fold",
"author": null,
"author_email": "Heqin Zhu <zhuheqin1@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/67/98/7e1eb4577264cb57b0384cccc6b378b795967e20fc3467f99128b75ed625/bpfold-0.2.7.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n\n <h1 align=\"center\">Deep generalizable prediction of RNA secondary structure via base pair motif energy</h1>\n <p align=\"center\">\n <a href=\"https://heqin-zhu.github.io/\"><strong>Heqin Zhu</strong></a>\n \u00b7\n <a href=\"https://fenghetan9.github.io/\"><strong>Fenghe Tang</strong></a>\n \u00b7\n <a href=\"https://scholar.google.com/citations?user=mlTXS0YAAAAJ\"><strong>Quan Quan</strong></a>\n \u00b7\n <a href=\"https://bme.ustc.edu.cn/2023/0918/c28132a612449/page.htm\"><strong>Ke Chen</strong></a>\n \u00b7\n <a href=\"https://bme.ustc.edu.cn/2023/0322/c28131a596069/page.htm\"><strong>Peng Xiong*</strong></a>\n \u00b7\n <a href=\"https://scholar.google.com/citations?user=8eNm2GMAAAAJ\"><strong>S. Kevin Zhou*</strong></a>\n </p>\n <!--<h2 align=\"center\">Submitted</h2>-->\n <div align=\"center\">\n <img src=\"images/BPfold.png\", width=\"800\">\n </div>\n <p align=\"center\">\n <a href=\"https://www.nature.com/articles/s41467-025-60048-1\">Paper</a> | \n <a href=\"https://www.nature.com/articles/s41467-025-60048-1.pdf\">PDF</a> |\n <a href=\"https://heqin-zhu.github.io/files/poster_BPfold.pdf\">poster</a> |\n <a href=\"https://github.com/heqin-zhu/BPfold\">GitHub</a> |\n <a href=\"https://pypi.org/project/BPfold\">PyPI</a>\n \n </p>\n</p>\n\n\n\n<!-- vim-markdown-toc GFM -->\n\n* [Introduction](#introduction)\n* [Installation](#installation)\n * [Requirements](#requirements)\n * [Instructions](#instructions)\n* [Usage](#usage)\n * [Base pair motif library](#base-pair-motif-library)\n * [BPfold Prediction](#bpfold-prediction)\n* [Reproduction](#reproduction)\n* [Acknowledgement](#acknowledgement)\n* [LICENSE](#license)\n* [Citation](#citation)\n\n<!-- vim-markdown-toc -->\n\n## Introduction\nDeep learning methods have demonstrated great performance for RNA secondary structure prediction. However, generalizability is a common unsolved issue on unseen out-of-distribution RNA families, which hinders further improvement of the accuracy and robustness of deep learning methods. Here we construct a base pair motif library that enumerates the complete space of locally adjacent three-neighbor base pair and records the thermodynamic energy of corresponding base pair motifs through _de novo_ modeling of tertiary structures, and we further develop a deep learning approach for RNA secondary structure prediction, named BPfold, which learns relationship between RNA sequence and the energy map of base pair motif. Experiments on sequence-wise and family-wise datasets have demonstrated the great superiority of BPfold compared to other state-of-the-art approaches in accuracy and generalizability. We hope this work contributes to integrating physical priors and deep learning methods for the further discovery of RNA structures and functionalities.\n\n\n## Installation\n### Requirements\n- python3.8+\n- anaconda\n\n### Instructions\n0. Clone this repo\n```shell\ngit clone git@github.com:heqin-zhu/BPfold.git\ncd BPfold\n```\n1. Create and activate BPfold environment.\n```shell\nconda env create -f BPfold_environment.yaml\nconda activate BPfold\n```\n2. Install BPfold\n```shell\npip3 install BPfold --index-url https://pypi.org/simple\n```\n3. Download [model_predict.tar.gz](https://github.com/heqin-zhu/BPfold/releases/latest/download/model_predict.tar.gz) in [releases](https://github.com/heqin-zhu/BPfold/releases) and decompress it.\n```shell\nwget https://github.com/heqin-zhu/BPfold/releases/latest/download/model_predict.tar.gz\ntar -xzf model_predict.tar.gz\n```\n4. Optional: Download datasets [BPfold_data.tar.gz](https://github.com/heqin-zhu/BPfold/releases/latest/download/BPfold_data.tar.gz) in [releases](https://github.com/heqin-zhu/BPfold/releases) and decompress them.\n```shell\nwget https://github.com/heqin-zhu/BPfold/releases/latest/download/BPfold_data.tar.gz\ntar -xzf BPfold_data.tar.gz \n```\n\n## Usage\n### Base pair motif library\nThe base pair motif library is publicly available in [releases](https://github.com/heqin-zhu/BPfold/releases), which contains the `motif`:`energy` pairs. The motif is represented as `sequence`\\_`pairIdx`\\_`pairIdx`\\-`chainBreak` where pairIdx is 0-indexed, and the energy is a reference score of statistical and physical thermodynamic energy.\nFor instance, `CAAAAUG_0_6-3 -49.7835` represents motif `CAAAAUG` has a known pair `C-G` whose indexes are `0` and `6`, with chainBreak lying at position `3`.\n\n>[!NOTE]\n>The base pair motif library can be used as thermodynamic priors in other models.\n\nFor an input RNA sequence `seq`, the base pair motif energy matrix `mat` can be directly obatined as follows:\n```python3\nfrom BPfold.util.base_pair_motif import BPM_energy\n\nBPM = BPM_energy()\n\nseq = 'AUGCGUAGTa'\n# default, recommended, normed to [-1, 1], BPfold used, shape 2xLxL\nmat = BPM.get_energy(seq)\n\n# origin energy, value may be -50.3, 49.7, ..., shape 1xLxL\nmat2 = BPM.get_energy(seq, normalize_energy=False, dispart_outer_inner=False)\n```\n\n\n### BPfold Prediction\nUse BPfold to predict RNA secondary structures.\nArgs:\n- `--checkpoint_dir`: required, specify checkpoint dir path.\n- `--seq`: specify one or more input RNA sequences.\n- `--input`: specify input file of RNA seqs in format of `.fasta`(multiple seqs are supported), `.bpseq`, `.ct`, or `.dbn`.\n- `--output`: output dir (will be created automatically), default `BPfold_results`.\n- `--out_type`: out format of RNA secondary structures, can be `.csv`, `.bpseq`, `.ct`, or `.dbn`, default `.csv`\nHere are some examples:\n```shell\nBPfold --checkpoint_dir PATH_TO_CHECKPOINT_DIR --seq GGUAAAACAGCCUGU AGUAGGAUGUAUAUG --output BPfold_results\nBPfold --checkpoint_dir PATH_TO_CHECKPOINT_DIR --input examples/examples.fasta --out_type csv # (multiple sequences are supported)\nBPfold --checkpoint_dir PATH_TO_CHECKPOINT_DIR --input examples/URS0000D6831E_12908_1-117.bpseq\n```\n\n<details>\n\n<summary>Example of BPfold prediction</summary>\n\nHere are the outputs after running `BPfold --checkpoint_dir model_predict --input examples/examples.fasta --out_type bpseq`:\n```txt\n>> Welcome to use \"BPfold\" for predicting RNA secondary structure!\nLoading model_predict/BPfold_1-6.pth\nLoading model_predict/BPfold_2-6.pth\nLoading model_predict/BPfold_3-6.pth\nLoading model_predict/BPfold_4-6.pth\nLoading model_predict/BPfold_5-6.pth\nLoading model_predict/BPfold_6-6.pth\n[ 1] saved in \"BPfold_results/5s_Shigella-flexneri-3.bpseq\", CI=0.973\nCUGGCGGCAGUUGCGCGGUGGUCCCACCUGACCCCAUGCCGAACUCAGAAGUGAAACGCCGUAGCGCCGAUGGUAGUGUGGGGUCUCCCCAUGCGAGAGUAGGGAACUGCCAG\n(((((((.....((((((((.....((((((.............))))..))....)))))).)).((.((....((((((((...))))))))....)).))...)))))))\n[ 2] saved in \"BPfold_results/URS0000D6831E_12908_1-117.bpseq\", CI=0.915\nUUAUCUCAUCAUGAGCGGUUUCUCUCACAAACCCGCCAACCGAGCCUAAAAGCCACGGUGGUCAGUUCCGCUAAAAGGAAUGAUGUGCCUUUUAUUAGGAAAAAGUGGAACCGCCUG\n......((((((....(((((.......)))).)(((.((((.((......))..))))))).................))))))..(((......)))..................\nConfidence indexes are saved in \"BPfold_results_confidence_TIMESTR.yaml\"\nProgram Finished!\n```\n\n</details>\n\nFor more help information, please run command `BPfold -h` to see.\n\n## Reproduction\nFor reproduction of all the quantitative results, we provide the predicted secondary structures and model parameters of BPfold in experiments. You can **directly downalod** the predicted secondary structures by BPfold *or* **use BPfold v0.2.0** with trained parameters to predict these secondary structures, and then **evaluate** the predicted results.\n\n**Directly download**\n```shell\nwget https://github.com/heqin-zhu/BPfold/releases/download/v0.2/BPfold_test_results.tar.gz\ntar -xzf BPfold_test_results.tar.gz\n```\n**Use BPfold**\n1. Download the checkpoints of BPfold: [BPfold_reproduce.tar.gz](https://github.com/heqin-zhu/BPfold/releases/download/v0.2/model_reproduce.tar.gz).\n```shell\nwget https://github.com/heqin-zhu/BPfold/releases/download/v0.2/model_reproduce.tar.gz\ntar -xzf model_reproduce.tar.gz\n```\n2. Install BPfold v<=0.2.4.\n```shell\npip install BPfold==0.2.4\n```\n3. Use BPfold to predict RNA sequences in test datasets.\n\n**Evaluate**\n```shell\nBPfold_eval --gt_dir BPfold_data --pred_dir BPfold_test_results\n```\n\nAfter running above commands for evaluation, you will see the following outputs:\n\n<details>\n\n<summary>Outputs of evaluating BPfold</summary>\n\n```txt\nTime used: 29s\n[Summary] eval_BPfold_test_results.yaml\n Pred/Total num: [('PDB_test', 116, 116), ('Rfam12.3-14.10', 10791, 10791), ('archiveII', 3966, 3966), ('bpRNA', 1305, 1305), ('bpRNAnew', 5401, 5401)]\n-------------------------len>600-------------------------\ndataset & num & INF & F1 & P & R \\\\\nRfam12.3-14.10 & 64 & 0.395 & 0.387 & 0.471 & 0.333\\\\\narchiveII & 55 & 0.352 & 0.311 & 0.580 & 0.242\\\\\n------------------------len<=600-------------------------\ndataset & num & INF & F1 & P & R \\\\\nPDB_test & 116 & 0.817 & 0.814 & 0.840 & 0.801\\\\\nRfam12.3-14.10 & 10727 & 0.696 & 0.690 & 0.662 & 0.743\\\\\narchiveII & 3911 & 0.829 & 0.827 & 0.821 & 0.843\\\\\nbpRNA & 1305 & 0.670 & 0.658 & 0.599 & 0.770\\\\\nbpRNAnew & 5401 & 0.655 & 0.647 & 0.604 & 0.723\\\\\n---------------------------all---------------------------\ndataset & num & INF & F1 & P & R \\\\\nPDB_test & 116 & 0.817 & 0.814 & 0.840 & 0.801\\\\\nRfam12.3-14.10 & 10791 & 0.694 & 0.689 & 0.660 & 0.741\\\\\narchiveII & 3966 & 0.823 & 0.820 & 0.818 & 0.834\\\\\nbpRNA & 1305 & 0.670 & 0.658 & 0.599 & 0.770\\\\\nbpRNAnew & 5401 & 0.655 & 0.647 & 0.604 & 0.723\\\\\n```\n\n</details>\n\n## Acknowledgement\nWe appreciate the following open source projects:\n- [UFold](https://github.com/uci-cbcl/UFold)\n- [vigg_ribonanza](https://github.com/autosome-ru/vigg_ribonanza/)\n- [e2efold](https://github.com/ml4bio/e2efold)\n\n## LICENSE\n[MIT LICENSE](LICENSE)\n\n## Citation\nIf you use our code, please cite the following paper:\n```bibtex\n@article{BPfold,\n title = {Deep generalizable prediction of {RNA} secondary structure via base pair motif energy},\n author = {Zhu, Heqin and Tang, Fenghe and Quan, Quan and Chen, Ke and Xiong, Peng and Zhou, S. Kevin},\n volume = {16},\n issn = {2041-1723},\n url = {https://doi.org/10.1038/s41467-025-60048-1},\n doi = {10.1038/s41467-025-60048-1},\n number = {1},\n journal = {Nature Communications},\n month = jul,\n year = {2025},\n pages = {5856},\n}\n```\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2024 Heqin Zhu\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n ",
"summary": "Deep generalizable prediction of RNA secondary structure via base pair motif energy.",
"version": "0.2.7",
"project_urls": {
"Homepage": "https://github.com/heqin-zhu/BPfold",
"Issues": "https://github.com/heqin-zhu/BPfold/issues"
},
"split_keywords": [
"rna",
" secondary structure",
" fold"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6c3adf0ef81acfc7b787b2344f3e0deef0e953e8382089216cbd19decdb029fa",
"md5": "9874e268345b3fff95ecea1a69698267",
"sha256": "ff2ffeb3d2a9a1cf3082f18f8e9141601a9e6a7e596e7ad039a66e2ad1da5271"
},
"downloads": -1,
"filename": "bpfold-0.2.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9874e268345b3fff95ecea1a69698267",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 441555,
"upload_time": "2025-07-12T08:13:03",
"upload_time_iso_8601": "2025-07-12T08:13:03.600762Z",
"url": "https://files.pythonhosted.org/packages/6c/3a/df0ef81acfc7b787b2344f3e0deef0e953e8382089216cbd19decdb029fa/bpfold-0.2.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "67987e1eb4577264cb57b0384cccc6b378b795967e20fc3467f99128b75ed625",
"md5": "a58fe124b74033206cece9df0e707f97",
"sha256": "a208afd40d25dec06ac37c6ba65cda08e4e6f45751cd9b8387048ae2627f827f"
},
"downloads": -1,
"filename": "bpfold-0.2.7.tar.gz",
"has_sig": false,
"md5_digest": "a58fe124b74033206cece9df0e707f97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 433040,
"upload_time": "2025-07-12T08:13:05",
"upload_time_iso_8601": "2025-07-12T08:13:05.247093Z",
"url": "https://files.pythonhosted.org/packages/67/98/7e1eb4577264cb57b0384cccc6b378b795967e20fc3467f99128b75ed625/bpfold-0.2.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 08:13:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "heqin-zhu",
"github_project": "BPfold",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "bpfold"
}