🚀 ESM2 蛋白質功能預測器
本項目基於基因本體論(GO),利用進化尺度模型(ESM)從氨基酸序列中預測蛋白質功能。該模型基於 ESM2 Transformer 架構,在 UniRef50 上進行預訓練,並在 AmiGO 數據集上進行微調。它能夠預測特定蛋白質序列的 GO 子圖,讓你深入瞭解蛋白質的分子功能、生物過程以及在細胞內的活動位置。
注意:此版本僅對基因本體論的 分子功能
子圖進行建模。
🚀 快速開始
本模型藉助進化尺度模型(ESM),依據基因本體論(GO),從氨基酸序列中預測蛋白質功能。它以 ESM2 Transformer 架構為基礎,在 UniRef50 完成預訓練,並在 AmiGO 數據集上微調,能預測特定蛋白質序列的 GO 子圖。
✨ 主要特性
- 基於 ESM2 架構:利用先進的 Transformer 架構進行蛋白質功能預測。
- 多數據集訓練:在 UniRef50 上預訓練,在 AmiGO 數據集上微調。
- 特定子圖建模:當前版本專注於基因本體論的
分子功能
子圖。
📚 詳細文檔
什麼是 GO 術語?
"基因本體論(GO)是一個概念層次結構,它從不同的抽象層面描述基因和基因產物的生物學功能(Ashburner 等人,2000)。它是描述蛋白質功能多面性的優秀模型。"
"GO 是一個有向無環圖。圖中的節點是功能描述符(術語或類別),它們之間通過關係聯繫(如 is_a、part_of 等)相連。例如,術語 '蛋白質結合活性' 和 '結合活性' 通過 is_a 關係相連;然而,圖中的邊通常是反向的,從結合指向蛋白質結合。該圖包含三個子圖(子本體):分子功能(MF)、生物過程(BP)和細胞組分(CC),由它們的根節點定義。從生物學角度來看,每個子圖代表蛋白質功能的不同方面:它在分子水平上的作用(MF)、它參與的生物過程(BP)以及它在細胞中的位置(CC)。"
摘自 CAFA 5 蛋白質功能預測
代碼倉庫
https://github.com/andrewdalpino/esm2-function-classifier
模型規格
屬性 |
詳情 |
詞彙表大小 |
33 |
嵌入維度 |
640 |
注意力頭 |
20 |
編碼器層數 |
30 |
上下文長度 |
1026 |
💻 使用示例
基礎用法
對於基本演示,我們可以對特定序列的 GO 術語進行排序。如需更高級的示例,請參閱 predict-subgraph.py 源代碼文件。
import torch
from transformers import EsmTokenizer, EsmForSequenceClassification
model_name = "andrewdalpino/ESM2-35M-Protein-Molecular-Function"
tokenizer = EsmTokenizer.from_pretrained(model_name)
model = EsmForSequenceClassification.from_pretrained(model_name)
model.eval()
sequence = "MCNAWYISVDFEKNREDKSKCIHTRRNSGPKLLEHVMYEVLRDWYCLEGENVYMM"
top_k = 10
out = tokenizer(sequence)
input_ids = out["input_ids"]
input_ids = torch.tensor(input_ids, dtype=torch.int64).unsqueeze(0)
with torch.no_grad():
outputs = model.forward(input_ids)
probabilities = torch.sigmoid(outputs.logits.squeeze(0))
probabilities, indices = torch.topk(probabilities, top_k)
probabilities = probabilities.tolist()
terms = [model.config.id2label[index] for index in indices.tolist()]
print(f"Top {top_k} GO Terms:")
for term, probability in zip(terms, probabilities):
print(f"{probability:.4f}: {term}")
🔧 技術細節
參考文獻
- A. Rives, et al. Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences, 2021.
- Z. Lin, et al. Evolutionary-scale prediction of atomic level protein structure with a language model, 2022.
- G. A. Merino, et al. Hierarchical deep learning for predicting GO annotations by integrating protein knowledge, 2022.
- M. Ashburner, et al. Gene Ontology: tool for the unification of biology, 2000.