🚀 GO-Language模型
GO-Language模型旨在将蛋白质的基因本体定义编码为向量表示,可用于预测新基因的功能,在基因研究领域具有重要价值。
🚀 快速开始
本模型是一个有用的基因本体功能封装,可用于探索基因层面的相似性以及比较功能术语。作为一个BERT风格的掩码语言学习器,它可用于确定掩码位置最可能的标记。
from transformers import pipeline
unmasker = pipeline("fill-mask", model="damlab/GO-language")
unmasker("involved_in [MASK] involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372")
[{'score': 0.1040298342704773,
'token': 103,
'token_str': 'GO:0002250',
'sequence': 'involved_in GO:0002250 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.018045395612716675,
'token': 21,
'token_str': 'GO:0005576',
'sequence': 'involved_in GO:0005576 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.015035462565720081,
'token': 50,
'token_str': 'GO:0000139',
'sequence': 'involved_in GO:0000139 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.01181247178465128,
'token': 37,
'token_str': 'GO:0007165',
'sequence': 'involved_in GO:0007165 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'},
{'score': 0.01000668853521347,
'token': 14,
'token_str': 'GO:0005737',
'sequence': 'involved_in GO:0005737 involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372'}
]
✨ 主要特性
- 可将蛋白质的基因本体定义编码为向量表示。
- 用于探索基因层面的相似性以及比较功能术语。
- 作为BERT风格的掩码语言学习器,可确定掩码位置最可能的标记。
📦 安装指南
文档未提及安装步骤,故跳过该章节。
💻 使用示例
基础用法
from transformers import pipeline
unmasker = pipeline("fill-mask", model="damlab/GO-language")
unmasker("involved_in [MASK] involved_in GO:0007165 located_in GO:0042470 involved_in GO:0070372")
高级用法
文档未提及高级用法相关代码示例,故跳过该部分。
📚 详细文档
模型概述
此模型旨在将蛋白质的基因本体定义编码为向量表示。它在来自模式生物的一组基因本体术语上进行训练。每个功能按ID号排序,并与其注释描述(如 is_a
、enables
、located_in
等)相结合。该模型进行了标记化处理,使得每个描述和GO术语都是一个独立的标记。其目的是作为PROT - BERT和GO语言之间的翻译模型,这种类型的翻译模型对于预测新基因的功能很有用。
预期用途和局限性
该模型是一个有用的基因本体功能封装,允许探索基因层面的相似性以及比较功能术语。
训练数据
使用来自 damlab/uniprot 的数据集,从一个随机初始模型开始训练。基因本体功能(按ID号)与注释术语一起进行了排序。
训练过程
预处理
将所有字符串连接起来,并分块为256个标记的块进行训练。随机抽取20%的块用于验证。
训练
使用HuggingFace训练模块,通过MaskedLM数据加载器进行训练,掩码率为15%。学习率设置为E - 5,有50K的热身步骤,采用cosine_with_restarts学习率调度,直到连续3个epoch在保留数据集上的损失没有改善为止。
🔧 技术细节
本模型使用HuggingFace训练模块,结合MaskedLM数据加载器,以15%的掩码率进行训练。学习率设置为E - 5,有50K的热身步骤,并采用cosine_with_restarts学习率调度。在训练过程中,将所有字符串连接并分块为256个标记的块,随机抽取20%的块用于验证,训练持续到连续3个epoch在保留数据集上的损失不再改善。
📄 许可证
本项目采用MIT许可证。
📄 BibTeX引用和引用信息
[更多信息待补充]