🚀 ESM2蛋白質功能調用器
本項目是一個基於進化尺度模型(ESM)的蛋白質功能預測工具,它藉助基因本體論(GO),能夠依據氨基酸序列對蛋白質功能進行精準預測。該模型基於ESM2 Transformer架構,在UniRef50上進行預訓練,並在AmiGO數據集上進行微調,可預測特定蛋白質序列的GO子圖,讓你深入瞭解蛋白質的分子功能、參與的生物過程以及在細胞內的活動位置。
注意:此版本僅對基因本體論的分子功能
子圖進行建模。
🚀 快速開始
代碼倉庫
你可以在以下鏈接獲取本項目的代碼倉庫:
https://github.com/andrewdalpino/esm2-function-classifier
✨ 主要特性
- 精準預測:基於基因本體論(GO)和氨基酸序列,準確預測蛋白質的分子功能。
- 架構先進:採用ESM2 Transformer架構,預訓練和微調過程保證模型的有效性。
- 多方面洞察:可提供蛋白質在分子層面的功能、參與的生物過程以及在細胞內的位置信息。
📚 詳細文檔
什麼是GO術語?
“基因本體論(GO)是一個概念層次結構,它從不同的抽象層面描述了基因和基因產物的生物學功能(Ashburner等人,2000)。它是描述蛋白質功能多面性的良好模型。”
“GO是一個有向無環圖。圖中的節點是功能描述符(術語或類別),它們通過各種關係(如is_a、part_of等)相互連接。例如,術語‘蛋白質結合活性’和‘結合活性’通過is_a關係相連;不過,圖中的邊通常是反向的,從結合指向蛋白質結合。這個圖包含三個子圖(子本體):分子功能(MF)、生物過程(BP)和細胞成分(CC),由它們的根節點定義。從生物學角度看,每個子圖代表了蛋白質功能的不同方面:它在分子水平上的作用(MF)、參與的生物過程(BP)以及在細胞中的位置(CC)。”
以上內容摘自CAFA 5蛋白質功能預測
模型規格
屬性 |
詳情 |
詞彙表大小 |
33 |
嵌入維度 |
480 |
注意力頭 |
20 |
編碼器層數 |
12 |
上下文長度 |
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.