2024年7月——使用ESM3(进化尺度的蛋白质语言模型)

需要的库:huggingface

path = Path(snapshot_download(repo_id="EvolutionaryScale/esm3-sm-open-v1"))

权重文件会下载到当前工作目录下的 .cache/huggingface/datasets/downloads 目录中。

安装:pip install esm

(esm2安装是 pip install fair-esm ,)

下面是使用说明,其中可以设置login(token="YOUR_TOKEN_HERE")为自己的huggingface令牌

from huggingface_hub import login
from esm.models.esm3 import ESM3
from esm.sdk.api import ESM3InferenceClient, ESMProtein, GenerationConfig

# This will prompt you to get an API key from huggingface hub, make one with
# "Read" or "Write" permission and copy it back here.
login()

# This will download the model weights and instantiate the model on your machine.
model: ESM3InferenceClient = ESM3.from_pretrained("esm3_sm_open_v1").to("cuda") # or "cpu"

# Generate a completi

### ESM蛋白质语言模型在生物信息学中的实现与使用 #### 实现细节 ESM(Evolutionary Scale Modeling)蛋白质语言模型通过处理大量未标注的蛋白质序列数据来学习生物学结构和功能。该模型利用无监督学习技术,在超过2.5亿条蛋白质序列上进行了训练,从而能够捕捉到复杂的模式并预测未知的功能特性[^1]。 对于具体的实现方面,ESM-1b是一个基于Transformer架构构建的大规模预训练模型实例。它采用了自回归的方式来进行氨基酸残基级别的建模,并引入了多尺度注意力机制以更好地理解不同长度范围内的相互作用关系。此外,为了提高效率和支持更广泛的下游任务需求,还开发了一系列轻量化版本供研究人员选择适用。 ```python from esm import pretrained import torch # 加载预训练好的esm1b_t33_650M_UR50S模型 model, alphabet = pretrained.load_model_and_alphabet('esm1b_t33_650M_UR50S') batch_converter = alphabet.get_batch_converter() # 准备输入数据 data = [("protein1", "MKQHKAMIVALIVALEGEV"), ("protein2", "KALTARQQEVFDLIRDHISQT")] batch_labels, batch_strs, batch_tokens = batch_converter(data) # 进行推理计算 with torch.no_grad(): results = model(batch_tokens, repr_layers=[33], return_contacts=True) ``` 这段Python代码展示了如何加载预先训练完成的一个具体变体`esm1b_t33_650M_UR50S`以及怎样准备一批待分析的数据样本;最后执行了一次前向传播操作得到表示层特征和其他有用的信息输出。 #### 使用场景 当涉及到实际应用场景时,ESM可以应用于多个领域: - **蛋白质分类**:通过对已知类别标签的小型数据集微调大型预训练模型,可以在新发现但尚未充分表征过的蛋白质之间建立联系。 - **突变效应预测**:借助于强大的上下文感知能力,即使是在非常规位置发生的单核苷酸变异也有可能被准确评估其潜在影响程度。 - **远程同源检测**:由于具备跨越远距离识别相似性的潜力,因此非常适合用来寻找那些表面上看起来差异很大但实际上可能具有共同祖先起源的关系对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LRJ-jonas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值