Rafael JosipPenić1 , TinVlašić2 ,Roland G. Huber 3 ,Yue Wan 2 , Milešikić2
1克罗地亚萨格勒布大学电气工程与计算学院
2新加坡基因组研究所(GIS),科学,技术与研究机构(A*Star),新加坡
3新加坡科学,技术与研究机构(A*Star)生物信息学研究所(BII)
这是“ Rinalmo:通用RNA语言模型可以很好地概括在结构预测任务上”的官方实施。
核糖核酸(RNA)在基本生物过程中起多种关键作用。最近,RNA已成为一个有趣的药物靶标,强调需要提高我们对其结构和功能的理解。多年来,测序技术产生了大量未标记的RNA数据,这隐藏了重要的知识和潜力。在蛋白质语言模型的成功中,我们引入了核糖核酸语言模型(Rinalmo),以帮助揭示RNA的隐藏代码。 Rinalmo是迄今为止最大的RNA语言模型,从几个可用数据库中的3600万个非编码RNA序列进行了6.5亿个参数。 Rinalmo能够提取隐藏的知识并捕获隐式嵌入RNA序列中的基础结构信息。 Rinalmo在几个下游任务上实现了最新的结果。值得注意的是,我们表明它的概括能力可以克服其他深度学习方法无法概括看不见的RNA家族的其他深度学习方法。

使用以下命令进行安装(先决条件: Python>=3.8和CUDA>=11.8 ):
git clone https://github.com/lbcb-sci/RiNALMo
cd RiNALMo
pip install .
pip install flash-attn==2.3.2安装后,您可以轻松地使用Rinalmo获得核苷酸表示:
import torch
from rinalmo . pretrained import get_pretrained_model
DEVICE = "cuda:0"
model , alphabet = get_pretrained_model ( model_name = "giga-v1" )
model = model . to ( device = DEVICE )
model . eval ()
seqs = [ "ACUUUGGCCA" , "CCCGGU" ]
tokens = torch . tensor ( alphabet . batch_tokenize ( seqs ), dtype = torch . int64 , device = DEVICE )
with torch . no_grad (), torch . cuda . amp . autocast ():
outputs = model ( tokens )
print ( outputs [ "representation" ])git clone https://github.com/lbcb-sci/RiNALMo
cd RiNALMoenvironment.yml中。 # create conda environment for RiNALMo
conda env create -f environment.yml
# activate RiNALMo environment
conda activate rinalmomkdir weights
cd weights
wget https://zenodo.org/records/10725749/files/rinalmo_giga_pretrained.pt # Download fine-tuned weights for secondary structure prediction.
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-16s_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-23s_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-5s_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-srp_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-grp1_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-telomerase_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-tmRNA_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-tRNA_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_archiveII-RNaseP_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_ss_bprna_ft.pt
# Download fine-tuned weights for splice-site prediction.
wget https://zenodo.org/records/10725749/files/rinalmo_giga_splice_acceptor_ft.pt
wget https://zenodo.org/records/10725749/files/rinalmo_giga_splice_donor_ft.pt
# Download fine-tuned weights for mean ribosome loading prediction.
wget https://zenodo.org/records/10725749/files/rinalmo_giga_mrl_ft.pt
cd ..您还可以在https://drive.google.com/drive/folders/1vgk3gy8c01o01o01o01o01o01o01o0wqfppmmyx5voy4wy8ebqs5下载小型Rinalmo型号(Rinalmo-148M(Mega)和Rinalmo-33,5M(Micro))的预训练的重量。
我们为三个下游任务提供了预训练的Rinalmo权重和微调权重:平均核糖体负载预测,二级结构预测和剪接位点预测。为了进行评估和微调,使用train_<downstream_task>.py脚本。
为了评估所提供的微调Rinalmo模型和预测头,请使用以下输入参数运行脚本:
# skip fine-tuning and run the evaluation on the test set
--test_only
# path to the '.pt' file containing fine-tuned model weights
--init_params
# dataset on which you would like to evaluate the fine-tuned model
--dataset
# download and prepare data (if needed)
--prepare_data
# Directory that will contain or already contains training, validation and test data
data_dir
# directory for all the output files
--output_dir要评估ArchiveII 5S RRNA测试数据集上的微调Rinalmo模型和预测头进行辅助结构预测,请使用rinalmo_giga_ss_archiveII-5s_ft.pt 。在这里,我们提供一个示例运行命令。
python train_sec_struct_prediction.py ./ss_data --test_only --init_params ./weights/rinalmo_giga_ss_archiveII-5s_ft.pt --dataset archiveII_5s --prepare_data --output_dir ./outputs/archiveII/5s/ --accelerator gpu --devices 1
为了微调rinalmo,请使用--pretrained_rinalmo_weights ./weights/rinalmo_giga_pretrained.pt输入参数。使用--help来了解其他可用参数。对于剪接站点预测任务,可以在https://git.unistra.fr/nscalzitti/spliceator.git上获得数据集和数据预处理代码。
版权2024šikić实验室-AI基因组学
根据Apache许可证(版本2.0(“许可”)获得许可;除了符合许可外,您不得使用此文件。您可以在
http://www.apache.org/licenses/license-2.0
除非适用法律要求或以书面形式同意,否则根据许可证分配的软件是按照“原样”分发的,没有任何明示或暗示的任何形式的保证或条件。请参阅许可证,以获取执行许可条款和限制的特定语言。
Rinalmo参数可根据创意共享归因4.0国际(CC By 4.0)许可证提供。您可以在以下网址找到详细信息:https://creativecommons.org/licenses/4.0/legalcode。
如果您发现我们的工作对您的研究有用,请引用:
@article { penic2024_rinalmo ,
title = { RiNALMo: General-Purpose RNA Language Models Can Generalize Well on Structure Prediction Tasks } ,
author = { Penić, Rafael Josip and Vlašić, Tin and Huber, Roland G. and Wan, Yue and Šikić, Mile } ,
journal = { arXiv preprint arXiv:2403.00043 } ,
year = { 2024 }
}如果您有任何疑问,请随时给作者发送电子邮件或打开问题。
这项工作得到了国家研究基金会(NRF)竞争研究计划(CRP)的部分支持,该计划识别登革热病毒中的功能性RNA第三纪结构(NRF-CRP27-2021RS-0001),部分由A*Star下的Grant Gap2:A*Star下的GAP2:A**Star RNA-RNA模型(A*Star RNA模型(A*Star RNA-FM)(A*Star RNA-FM)(a a*star rna-fm) (i i223d1)。
该论文的计算工作部分是在新加坡国家超级计算中心的资源上进行的,https://www.nscc.sg。