尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

SaProt 快速上手:结构感知蛋白语言模型推理与微调实战

SaProt 快速上手:结构感知蛋白语言模型推理与微调实战 SaProt 快速上手结构感知蛋白语言模型推理与微调实战【免费下载链接】SaProtSaprot: Protein Language Model with Structural Alphabet (AA3Di)项目地址: https://gitcode.com/gh_mirrors/sa/SaProtSaProt 是一款结构感知的蛋白语言模型除 20 种氨基酸外它用 Foldseek 3Di 结构 token 表示局部构型突变效应预测比 ESM2 等纯序列模型更准。做蛋白突变分析、需要蛋白 embedding 特征的你跟着本文 10 分钟即可跑起来。3 步装好运行环境第 1 步拿代码git clone https://gitcode.com/gh_mirrors/sa/SaProt cd SaProt第 2 步建环境项目锁定了 torch 1.13 等版本直接跑 environment.sh 即可conda create -n SaProt python3.10 conda activate SaProt bash environment.sh第 3 步放权重。从 HuggingFace 下载SaProt_650M_AF2650M 参数40M AF2 结构预训练把整个目录放到weights/PLMs/下——这是配置里默认指向的位置。注意仓库 README 的提醒35M/650M 模型要配合结构输入才能发挥最佳效果纯序列模式建议微调后再用。第一次推理跑哪条命令先跑通加载和一次前向传播确认环境没问题from transformers import EsmTokenizer, EsmForMaskedLM model_path weights/PLMs/SaProt_650M_AF2 tokenizer EsmTokenizer.from_pretrained(model_path) model EsmForMaskedLM.from_pretrained(model_path) inputs tokenizer(M#EvVpQpL#VyQdYaKv, return_tensorspt) print(model(**inputs).logits.shape)序列里的#表示低置信区域pLDDT 70用 AF2 结构时加上掩码效果最好。拿到结构文件后一行代码把它转成结构感知序列from utils.foldseek_util import get_struc_seq seq, foldseek_seq, combined_seq get_struc_seq(bin/foldseek, example/8ac8.cif, [A])想做突变效应零样本预测则用SaprotFoldseekMutationModel调用predict_mut(seq, V3A)即可具体 API 见 model/ 里的实现。项目里都有什么目录放什么为什么需要model/LM、突变、回归、接触等任务头不同下游任务换不同头config/各任务saprot.yaml/esm2.yaml一条命令指定一个任务scripts/training、mutation_zeroshot 等入口所有命令都从这里跑dataset/各任务数据集加载器对接 LMDB 格式数据utils/foldseek 编码、ESM 加载等工具结构转序列依赖它weights/PLMs/预训练权重目录配置默认指向这里output/预测结果输出跑完来这看关键配置改哪 3 个参数配置集中在 config/每个任务一个 yaml。最常动的就这几个参数名含义建议值model.kwargs.config_path预训练权重目录weights/PLMs/SaProt_650M_AF2dataset.dataloader_kwargs.batch_size每批样本数8~32显存不够就调小model.kwargs.plddt_threshold低置信结构掩码阈值70AF2 结构必开输出结果去哪看、怎么解读零样本评估两条命令结果直接落盘python scripts/mutation_zeroshot.py -c config/ClinVar/saprot.yaml python scripts/compute_clinvar_auc.py -c config/ClinVar/saprot.yamlProteinGym输出在output/ProteinGym/下的 tsv路径由配置里out_path决定一行一个位点的预测分数。ClinVar标签文件output/ClinVar/ClinVar_labels.csv约 1.9 万条突变ClinVar_labels列 0/1 代表良/致病compute_clinvar_auc.py会汇总各日志文件算出 AUC——650M 模型论文值为 0.909。微调则用python scripts/training.py -c config/Thermostability/saprot.yaml权重存到配置的save_path。常见坑问题精度明显低于论文值。解法确认输入带结构 tokenAA-only 模式效果差AF2 结构记得开 pLDDT 掩码。问题结构转序列报错。解法foldseek 二进制需单独下载放进bin/目录配置里写bin/foldseek。问题微调 OOM。解法README 明确说默认训练设置因硬件而异按显卡调batch_size或accumulate_grad_batches。问题提示找不到数据。解法下游数据集需解压后放到LMDB/目录路径对应 yaml 里的train_lmdb等字段。【免费下载链接】SaProtSaprot: Protein Language Model with Structural Alphabet (AA3Di)项目地址: https://gitcode.com/gh_mirrors/sa/SaProt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表