基于框感知池化卷积网络,从可变长度5'UTR序列预测平均核糖体负载。
本项目是Alexander Karollus等人所著《Predicting mean ribosome load for 5'UTR of any length using deep learning》(https://doi.org/10.1371/journal.pcbi.1008982)的非官方实现。
Framepool的官方代码库位于Karollus/5UTR,已发布的Kipoi封装器位于kipoi/models。
[!TIP] MultiMolecule团队已确认,所提供的模型和检查点能够生成与原始实现相同的中间表示。
Framepool的发布团队未为此模型编写此模型卡片,本模型卡片由MultiMolecule团队编写。
Framepool是一个小型一维卷积网络,仅通过序列即可预测人类5'非翻译区的平均核糖体负载(MRL)。它扩展了Sample等人,2019的定长网络,增加了一个框感知池化层。该层通过反转序列以将阅读框锚定在起始密码子处,将卷积特征图分割为三个阅读框,并对每个框应用全局最大池化和掩码全局平均池化。池化后的表示与长度无关,由一个小型密集头处理,随后进行每个子库的缩放回归,以在两个训练库(egfp_unmod_1和random)之间重新校准预测。有关训练过程的更多信息,请参阅训练详情部分。
上游作者推荐发布的combined_residual模型用于变异效应评分。
| 层数 | 隐藏层大小 | 参数数量(百万) | 浮点运算次数(十亿) | 乘加运算次数(十亿) | 最大标记数 |
|---|---|---|---|---|---|
| 4 | 768 | 0.28 | 0.05 | 0.02 | unlimited |
模型文件依赖于multimolecule库。您可以使用pip安装它:
pip install multimolecule您可以直接使用该模型来预测5'UTR序列的平均核糖体负载:
>>> from multimolecule import RnaTokenizer, FramepoolForSequencePrediction
>>> tokenizer = RnaTokenizer.from_pretrained("multimolecule/framepool")
>>> model = FramepoolForSequencePrediction.from_pretrained("multimolecule/framepool")
>>> output = model(**tokenizer("ACGUACGUACGUACGUACGUACGUACGUACGUACGUACGUACGUACGUAC", return_tensors="pt"))
>>> output.keys()
odict_keys(['logits'])A、C、G、U);[RnaTokenizer][multimolecule.RnaTokenizer] 会将 T 转换为 U;N 及其他非标准标记会被编码为全零列,并在掩码池化过程中被忽略attention_mask 支持零填充,填充部分不参与池化logits,形状为 (batch_size, 1))library_indicator(形状为 (batch_size, library_size)),用于为缩放回归选择两个训练子库之一。默认为 random 库,与上游 Kipoi 变异效应接口匹配Framepool 通过可选的 alternative_input_ids 参数支持参考序列/替代序列的配对评分:
logits 为预测的平均核糖体负载(每个序列对应一个标量)logits 为平均核糖体负载的 log2 倍变化 log2(MRL_alt / MRL_ref),与 Kipoi UTRVariantEffectModel.predict_on_batch 的 mrl_fold_change 输出匹配library_indicator,以确保缩放回归在倍变化计算中相互抵消shift_1、shift_2),在评分前需在参考序列和替代序列的输入前均添加一列或两列零(或 N 标记),与 Kipoi 循环一致Framepool 基于多聚核糖体谱 MPRA 数据进行训练,该数据用于测量随机 5'UTR 序列的平均核糖体负载。模型采用帧感知池化,因此单个网络即可对任意长度的序列进行评分。
Framepool 的训练数据来自 Sample 等人,2019 在 HEK293T 细胞中进行的 eGFP 多聚核糖体谱 MPRA 库:固定长度库(egfp_unmod_1,50 nt)和可变长度库(random,25-100 nt)。约 260,000 条序列用于训练,20,000 条留作测试;此外还在内源数据上进行了额外验证。
lr = 1e-3,beta_1 = 0.9,beta_2 = 0.999,epsilon = 1e-8@article{karollus2021predicting,
author = {Karollus, Alexander and Avsec, {\v Z}iga and Gagneur, Julien},
title = {Predicting mean ribosome load for 5{\textquoteright}UTR of any length using deep learning},
journal = {PLOS Computational Biology},
volume = {17},
number = {5},
pages = {e1008982},
year = {2021},
publisher = {Public Library of Science},
doi = {10.1371/journal.pcbi.1008982}
}[!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。
有关论文/模型的问题或意见,请联系 Framepool paper 的作者。
本模型实现采用 GNU Affero General Public License 许可证。
如需其他条款和说明,请参阅我们的 License FAQ。
SPDX-License-Identifier: AGPL-3.0-or-later