ProteinMPNN核心功能解析:从序列生成到结构评分的完整流程
ProteinMPNN核心功能解析从序列生成到结构评分的完整流程【免费下载链接】ProteinMPNN项目地址: https://ai.gitcode.com/AI4Science/ProteinMPNNProteinMPNN是AI4Science/ProteinMPNN项目中的核心工具专为蛋白质序列设计与结构评分打造。它通过深度学习模型实现了从蛋白质结构到序列的精准预测同时提供了全面的结构评分功能为蛋白质工程研究提供了强大支持。一、核心功能概览 ProteinMPNN主要提供两大核心功能蛋白质序列生成和结构评分。这两个功能通过统一的工作流实现覆盖了从输入处理到结果输出的完整流程。1.1 序列生成功能序列生成是ProteinMPNN最核心的能力通过以下方式实现基于蛋白质结构信息PDB文件或JSONL格式生成全新序列支持指定设计链和固定链实现局部序列设计可通过温度参数控制序列多样性建议值0.1-0.3支持多种高级功能位置固定、氨基酸偏好调整、PSSM集成等1.2 结构评分功能结构评分功能用于评估蛋白质结构与序列的匹配度计算给定结构-序列对的得分越低表示匹配度越高支持从PDB文件或FASTA序列输入进行评分提供全局评分和局部评分两种评估维度输出评分分布统计均值、标准差二、完整工作流程解析 ProteinMPNN的工作流程主要通过protein_mpnn_run.py实现包含以下关键步骤2.1 输入准备阶段支持两种主要输入方式PDB文件输入通过--pdb_path指定单个PDB文件--pdb_path_chains选择设计链JSONL文件输入通过--jsonl_path指定预处理的蛋白质结构数据辅助输入文件链ID定义chain_id_jsonl固定位置定义fixed_positions_jsonlPSSM数据pssm_jsonl2.2 模型加载与配置ProteinMPNN提供多种预训练模型选择普通模型vanilla_model_weights/CA-only模型ca_model_weights/可溶性蛋白模型soluble_model_weights/模型加载代码示例model ProteinMPNN(ca_onlyargs.ca_only, num_letters21, node_featureshidden_dim, edge_featureshidden_dim, hidden_dimhidden_dim, num_encoder_layersnum_layers, num_decoder_layersnum_layers, augment_epsargs.backbone_noise, k_neighborscheckpoint[num_edges]) model.load_state_dict(checkpoint[model_state_dict])2.3 序列生成过程序列生成的核心代码位于protein_mpnn_run.py的sample方法支持批量生成--num_seq_per_target控制数量通过温度参数调整多样性--sampling_temp可指定排除某些氨基酸--omit_AAs支持位置偏好调整--bias_AA_jsonl生成的序列会保存到指定输出目录的seqs文件夹中格式为FASTA。2.4 结构评分计算评分功能通过_scores函数实现对设计区域进行局部评分mask_for_loss对整个结构-序列进行全局评分支持从PDB或FASTA输入计算评分--score_only模式评分结果保存为NPZ格式包含均值、标准差等统计信息三、快速上手指南 3.1 环境准备首先克隆仓库并配置环境git clone https://gitcode.com/AI4Science/ProteinMPNN cd ProteinMPNN conda create --name mlfold python3.10 conda activate mlfold pip install torch2.6.03.2 序列生成示例使用示例脚本生成序列bash examples/submit_example_1.sh该脚本会使用inputs/PDB_monomers/pdbs/中的PDB文件生成的序列将保存在outputs/example_1_outputs/seqs/目录下。3.3 结构评分示例对已有结构-序列对进行评分bash examples/submit_example_3_score_only.sh评分结果将保存在outputs/example_3_score_only_outputs/score_only/目录下包含NPZ格式的评分数据。四、高级功能应用 4.1 条件概率计算ProteinMPNN支持计算两种条件概率序列条件概率给定序列其余部分和结构计算每个位置的概率--conditional_probs_only1结构条件概率仅根据结构计算每个位置的氨基酸概率--unconditional_probs_only14.2 多链协同设计通过tied_positions_jsonl文件实现多链协同设计# 示例代码片段 sample_dict model.tied_sample(X, randn_2, S, chain_M, chain_encoding_all, residue_idx, maskmask, temperaturetemp, omit_AAs_npomit_AAs_np, bias_AAs_npbias_AAs_np, chain_M_poschain_M_pos, omit_AA_maskomit_AA_mask, pssm_coefpssm_coef, pssm_biaspssm_bias, pssm_multiargs.pssm_multi, pssm_log_odds_flagbool(args.pssm_log_odds_flag), pssm_log_odds_maskpssm_log_odds_mask, pssm_bias_flagbool(args.pssm_bias_flag), tied_postied_pos_list_of_lists_list[0], tied_betatied_beta, bias_by_resbias_by_res_all)4.3 PSSM集成结合PSSM数据指导序列设计bash examples/submit_example_pssm.sh该示例使用inputs/PSSM_inputs/中的PSSM数据通过--pssm_jsonl参数传入结合PSSM信息生成更符合进化规律的序列。五、输出文件解析 ProteinMPNN的输出文件主要保存在指定的out_folder中包含以下关键目录5.1 序列输出seqs/以FASTA格式保存生成的序列每条序列包含温度参数样本编号局部评分和全局评分序列恢复率示例输出outputs/example_1_outputs/seqs/5L33.fa5.2 评分输出scores/以NPZ格式保存评分数据包含局部评分数组全局评分数组示例输出outputs/example_4_outputs/scores/3HTN.npz5.3 概率输出probs/当启用--save_probs时保存预测的概率数据包含每个位置的氨基酸概率分布对数概率采样的序列六、常见问题解答 ❓6.1 如何选择合适的模型完整原子结构使用vanilla_model_weights中的模型如v_48_020CA-only结构使用ca_model_weights中的模型可溶性蛋白使用soluble_model_weights中的模型6.2 如何提高生成序列的多样性增加采样温度--sampling_temp建议尝试0.2-0.3增加生成序列数量--num_seq_per_target使用氨基酸偏好调整--bias_AA_jsonl6.3 如何评估生成序列的质量查看局部评分score越低表示序列与结构匹配度越高查看全局评分global_score评估整体结构-序列兼容性序列恢复率seq_recovery与原始序列的相似程度七、总结ProteinMPNN通过强大的深度学习模型实现了从蛋白质结构到序列的精准设计与评分。其完整的工作流程、丰富的功能选项和易用的接口使其成为蛋白质工程研究的理想工具。无论是新手还是专业研究人员都能通过ProteinMPNN快速实现蛋白质序列设计与评估推动蛋白质科学的研究与应用。通过合理配置参数和利用高级功能用户可以定制化地进行蛋白质设计满足不同场景的需求。项目提供的示例脚本和详细文档进一步降低了使用门槛帮助用户快速上手并发挥ProteinMPNN的全部潜力。【免费下载链接】ProteinMPNN项目地址: https://ai.gitcode.com/AI4Science/ProteinMPNN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考