用于 RNA 二级结构预测的预训练模型,采用类图像序列表示和 U-Net。
这是 Laiyi Fu、Yingxin Cao 等人的论文《UFold: fast and accurate RNA secondary structure prediction with deep learning》的非官方实现。
UFold 的官方代码库位于uci-cbcl/UFold。
[!TIP] MultiMolecule 实现是原始 U-Net 架构和特征构建的直接 PyTorch 移植版本。
UFold 的发布团队并未为此模型编写此模型卡片,本模型卡片由 MultiMolecule 团队编写。
UFold 从单个 RNA 序列预测 RNA 碱基对接触图。它将序列表示为一个 17 通道的图像:16 个通道是单热核苷酸指示器的外积,1 个通道是手工设计的标准/摆动配对分数。U-Net 预测对称的接触分数矩阵,并且可以启用原始的约束后处理程序以强制执行碱基配对约束。
| 参数数量(百万) | 浮点运算数(十亿) | 乘加运算数(十亿) |
|---|---|---|
| 8.64 | 188.29 | 93.81 |
浮点运算数和乘加运算数是使用 multimolecule.utils 针对一个 600 核苷酸序列计算得出的。
模型文件依赖于multimolecule库。您可以使用 pip 安装它:
pip install multimoleculeimport multimolecule
from transformers import pipeline
predictor = pipeline("rna-secondary-structure", model="multimolecule/ufold")
output = predictor("GGGCUAUUAGCUCAGUUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGCUGAUUCGAAUUCAGCAUAGCUCA")from multimolecule import RnaTokenizer, UfoldModel
tokenizer = RnaTokenizer.from_pretrained("multimolecule/ufold")
model = UfoldModel.from_pretrained("multimolecule/ufold")
sequence = "GGGCUAUUAGCUCAGUUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGCUGAUUCGAAUUCAGCAUAGCUCA"
inputs = tokenizer(sequence, return_tensors="pt")
output = model(**inputs)
contact_map = output.contact_map要运行原始的约束后处理循环:
output = model(**inputs, use_postprocessing=True)
contact_map = output.postprocessed_contact_mapUFold 的训练目标是基于带注释的接触图和碱基配对规则预测 RNA 二级结构。
@article{fu2022ufold,
author = {Fu, Laiyi and Cao, Yingxin and Wu, Jie and Peng, Qinke and Nie, Qing and Xie, Xiaohui},
title = {UFold: fast and accurate RNA secondary structure prediction with deep learning},
journal = {Nucleic Acids Research},
volume = {50},
number = {3},
pages = {e14},
year = {2022},
doi = {10.1093/nar/gkab1074}
}[!NOTE] 本仓库中分发的制品是 MultiMolecule 项目的一部分。 如果 MultiMolecule 对您的研究有帮助,请按以下方式引用 MultiMolecule 项目:
@software{chen_2024_12638419,
author = {Chen, Zhiyuan and Zhu, Sophia Y.},
title = {MultiMolecule},
doi = {10.5281/zenodo.12638419},
publisher = {Zenodo},
url = {https://doi.org/10.5281/zenodo.12638419},
year = 2024,
month = may,
day = 4
}有关模型卡片的任何问题或意见,请使用 MultiMolecule 的 GitHub issues。
有关论文/模型的问题或意见,请联系 UFold paper 的作者。
本模型实现采用 GNU Affero General Public License 许可。
如需其他条款和说明,请参阅我们的 License FAQ。
SPDX-License-Identifier: AGPL-3.0-or-later