GENA-LM: 一个用于长DNA序列的开源基础模型家族
人工智能在基因组学领域取得了巨大进展,为解释基因组序列提供了前所未有的能力。然而,准确解码基因组序列需要理解分布在数千个核苷酸上的丰富上下文信息。为了应对这一挑战,研究人员开发了GENA-LM,这是一系列基于Transformer的DNA语言模型,可以处理长达36,000个碱基对的输入序列。
GENA-LM的主要特点
- 采用BPE分词方法,而不是k-mer
- 最大输入序列长度从4,500到36,000个碱基对不等
- 在最新的T2T人类基因组组装上进行预训练
GENA-LM模型家族包括多个版本,如bert-base、bert-large和bigbird-base等。这些模型在不同的数据集上进行了训练,包括人类T2T v2基因组组装及其1000基因组SNP扩增数据,总计约480 x 10^9个碱基对。多物种模型还包括了其他物种的数据,总计约1072 x 10^9个碱基对。
模型性能
GENA-LM在多个下游任务中展现出卓越的性能:
- 启动子预测(300bp): F1分数达76.44±0.16
- 启动子预测(2000bp): F1分数达93.70±0.44
- 剪接位点预测(15000bp): PR AUC达93.59±0.11
这些结果表明,GENA-LM在处理各种基因组学任务时具有很强的适应性和准确性。
应用示例
GENA-LM可以应用于多种基因组学任务,包括但不限于:
- 序列分类
- 基因表达预测
- 变异效应预测
- DNA嵌入生成与聚类
以下是使用GENA-LM进行序列分类的示例代码:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained('AIRI-Institute/gena-lm-bert-base')
model = AutoModel.from_pretrained('AIRI-Institute/gena-lm-bert-base', trust_remote_code=True)
# 使用模型进行序列分类
开源贡献
GENA-LM项目完全开源,欢迎社区贡献。您可以通过以下方式参与:
- 在GitHub上提出问题或建议
- 提交pull请求以改进代码
- 在下游任务中使用GENA-LM并分享结果
项目地址: https://github.com/AIRI-Institute/GENA_LM
未来展望
GENA-LM为基因组学和多组学数据分析开辟了新的可能性。随着模型的不断改进和应用范围的扩大,我们期待看到它在以下领域产生重大影响:
- 个性化医疗
- 基因治疗
- 新药研发
- 农业育种
总之,GENA-LM代表了DNA语言模型的一个重要里程碑,为解决复杂的生物学问题提供了强大的工具。随着更多研究人员和开发者加入这个开源项目,我们有理由相信GENA-LM将在推动基因组学研究和应用方面发挥越来越重要的作用。