用于自监督蛋白质序列分析的ProtBert-BFD模型
ProtBert-BFD模型是一种利用Bert架构进行蛋白质序列自监督学习的预训练工具。该模型使用BFD数据集进行训练,能够捕捉蛋白质的生物物理特性,适用于特征提取和下游任务。其遮蔽语言建模方法无需人工标记即可从大规模数据中进行学习,成为生物信息学中理解蛋白质编码的有效工具。
ProtBert-BFD 是一个预训练的蛋白质序列模型,应用了掩蔽语言模型(MLM)的目标。这一模型首次在此论文中提出,并在这个仓库中发布。该模型专门针对大写氨基酸进行训练,使用时也需要大写的氨基酸字母。
ProtBert-BFD 基于 Bert 模型,通过自监督学习在大规模蛋白质序列语料库上进行预训练。这意味着它只在原始蛋白质序列上进行训练,而无需人工标记,这使得模型可以利用大量的公开数据来自动生成输入和标签。
这个模型与原始 Bert 模型的一个重要区别在于它将每个序列视为独立的文档,因此不使用“下一句预测”策略。而在掩蔽方面,模型遵循 Bert 的训练方法,随机掩盖输入中15%的氨基酸。
最终,从这个模型中提取的特征表明,未经标记的数据(仅有蛋白质序列)的语言模型嵌入捕获了蛋白质形状的重要生物物理性质。这意味着模型学到了一些生命语言在蛋白质序列中呈现的语法。
ProtBert-BFD 模型可以用于蛋白质特征提取或在下游任务中进行微调。在某些任务中,通过微调模型而不是仅用作特征提取,可以获得更高的准确率。
用户可以直接使用此模型与掩蔽语言模型(MLM)管道进行结合:
>>> from transformers import BertForMaskedLM, BertTokenizer, pipeline >>> tokenizer = BertTokenizer.from_pretrained('Rostlab/prot_bert_bfd', do_lower_case=False) >>> model = BertForMaskedLM.from_pretrained("Rostlab/prot_bert_bfd") >>> unmasker = pipeline('fill-mask', model=model, tokenizer=tokenizer) >>> unmasker('D L I P T S S K L V V [MASK] D T S L Q V K K A F F A L V T')
此外,还可以使用下面的方法获取给定蛋白质序列的特征:
from transformers import BertModel, BertTokenizer import re tokenizer = BertTokenizer.from_pretrained('Rostlab/prot_bert_bfd', do_lower_case=False) model = BertModel.from_pretrained("Rostlab/prot_bert_bfd") sequence_Example = "A E T C Z A O" sequence_Example = re.sub(r"[UZOB]", "X", sequence_Example) encoded_input = tokenizer(sequence_Example, return_tensors='pt') output = model(**encoded_input)
ProtBert-BFD 模型在 BFD 数据集上进行了预训练,这个数据集中包含了 21 亿蛋白质序列。
蛋白质序列使用大写处理,按空格分割并使用21个字的词汇表进行标记。模型的输入格式如下:
[CLS] 蛋白质序列 A [SEP] 蛋白质序列 B [SEP]
每个蛋白质序列被视为一个单独文档进行处理。预处理步骤重复进行两次,一次是在两个序列组合长度少于 512 个氨基酸时,另一次是在组合长度少于 2048 个氨基酸时。
掩蔽过程详细地遵循原始 Bert 模型:
[MASK]
模型在一个 TPU Pod V3-1024 上经历了一百万步的训练,其中 80 万步使用了序列长度 512(批量大小 32k),和 20 万步使用了序列长度 2048(批量大小 6k)。使用 Lamb 优化器,学习率为 0.002,权重衰减为 0.01,学习率在 140k 步时进行热启,之后呈线性衰减。
在对下游任务进行微调时,该模型在以下任务中取得了良好的效果:
任务/数据集 | 二级结构(三状态) | 二级结构(八状态) | 定位 | 膜蛋白 |
---|---|---|---|---|
CASP12 | 76 | 65 | ||
TS115 | 84 | 73 | ||
CB513 | 83 | 70 | ||
DeepLoc | 78 | 91 |
这种表现表明 ProtBert-BFD 具有很强的蛋白质序列特征提取能力,是生物信息学研究中的重要工具。