HuggingFace镜像/deltasplice
模型介绍
文件和版本
分析

DeltaSplice

基于序列的参考信息指导的可变剪接及剪接改变突变预测

免责声明

本项目是 Chencheng Xu、Suying Bao 等人发表的论文《Reference-informed prediction of alternative splicing and splicing-altering mutations from sequences》(https://doi.org/10.1101/gr.279044.124)的非官方实现。

DeltaSplice 的官方代码库位于 chaolinzhanglab/DeltaSplice。

[!TIP] MultiMolecule 团队已确认,所提供的模型和检查点能够生成与原始实现相同的中间表示。

DeltaSplice 的发布团队未为本模型编写此模型卡片,本模型卡片由 MultiMolecule 团队编写。

模型详情

DeltaSplice 可根据序列预测剪接位点使用率(SSU)和剪接改变突变效应。该模型采用有效卷积扩张残差编码器,并包含三个预测模块:剪接位点使用率模块、参考信息指导的 delta-SSU 模块以及辅助剪接位点头。官方软件包在进行 SSU 和 delta-SSU 预测时,会使用五个检查点的平均预测结果;MultiMolecule 将每个已发布数据变体的五个种子检查点存储为内部集成成员,并返回它们的平均预测值。

变体

  • multimolecule/deltasplice: 在上游默认检查点所使用的多物种训练集上训练的 DeltaSplice。
  • multimolecule/deltasplice-human: 上游项目发布的仅针对人类的 DeltaSplice 对比检查点集。

模型规格

变体层数隐藏层大小上下文长度集成成员数参数数量(百万)浮点运算次数(百万)乘加运算次数(百万)
DeltaSplice246430000540.3761642965.72820284.36
DeltaSplice-Human246430000540.3761642965.72820284.36

(FLOPs 和 MACs 是在默认 30 kb 填充上下文下,针对一个请求输出核苷酸测量得出。)

链接

  • 代码:multimolecule.deltasplice
  • 论文:Reference-informed prediction of alternative splicing and splicing-altering mutations from sequences
  • 开发者:徐晨成、鲍素英、王烨、李文星、陈浩、沈裕峰、姜涛、张朝林
  • 模型类型:用于剪接位点使用和delta-SSU预测的扩张残差一维CNN集成
  • 原始仓库:chaolinzhanglab/DeltaSplice

使用方法

模型文件依赖于multimolecule库。您可以使用pip安装该库:

pip install multimolecule

直接用途

剪接位点使用情况

>>> from multimolecule import RnaTokenizer
>>> from multimolecule.models.deltasplice import DeltaSpliceModel

>>> tokenizer = RnaTokenizer.from_pretrained("multimolecule/deltasplice")
>>> model = DeltaSpliceModel.from_pretrained("multimolecule/deltasplice")
>>> inputs = tokenizer("AGCAGUCAUUAUGGCGAAUCUGGCAAGUA", return_tensors="pt")
>>> output = model(**inputs)
>>> output["probabilities"].shape
torch.Size([1, 30, 3])

变异效应

>>> from multimolecule import RnaTokenizer
>>> from multimolecule.models.deltasplice import DeltaSpliceModel

>>> tokenizer = RnaTokenizer.from_pretrained("multimolecule/deltasplice")
>>> model = DeltaSpliceModel.from_pretrained("multimolecule/deltasplice")
>>> reference = tokenizer("AGCAGUCAUUAUGGCGAAUCUGGCAAGUA", return_tensors="pt")
>>> alternative = tokenizer("AGCAGUCAUUAUGGCUAAUCUGGCAAGUA", return_tensors="pt")
>>> output = model(reference["input_ids"], alternative_input_ids=alternative["input_ids"], use_reference=True)
>>> output["delta"].shape
torch.Size([1, 30, 3])

接口

  • 输入:使用RnaTokenizer进行标记化的RNA序列;N被编码为零核苷酸通道
  • 输出通道:no_splice(无剪切)、acceptor(受体)、donor(供体)
  • 仅参考调用:在probabilities中返回每个位置的剪接位点使用概率
  • 参考+替代调用:将参考序列作为input_ids传入,将替代序列作为alternative_input_ids传入
  • 参考使用情况:传入形状为(batch_size, sequence_length, 3)的reference_usage,或省略该参数以使用模型自身的参考使用情况作为参考信号

训练详情

DeltaSplice经过训练,可根据基因序列预测剪接位点的使用情况,并通过整合参考剪接位点使用情况来改进突变效应预测。

训练数据

上游代码库描述了使用gene_dataset.tsu.txt进行训练的过程,该文件包含八个哺乳动物物种成年大脑中的剪接位点使用情况。

训练流程

官方发布版本提供了五个具有相同架构和数据拆分的种子检查点。MultiMolecule将这些种子检查点表示为内部集成成员,而非公开的模型变体。

引用

@article{xu2024deltasplice,
  title     = {Reference-informed prediction of alternative splicing and splicing-altering mutations from sequences},
  author    = {Xu, Chencheng and Bao, Suying and Wang, Ye and Li, Wenxing and Chen, Hao and Shen, Yufeng and Jiang, Tao and Zhang, Chaolin},
  journal   = {Genome Research},
  volume    = {34},
  number    = {7},
  pages     = {1052--1065},
  year      = {2024},
  doi       = {10.1101/gr.279044.124}
}

[!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。

有关论文/模型的问题或意见,请联系 DeltaSplice paper 的作者。

许可证

本模型实现采用 GNU Affero General Public License 许可证。

如需其他条款和说明,请参阅我们的 License FAQ。

SPDX-License-Identifier: AGPL-3.0-or-later