news 2026/6/3 13:25:25

ProteinMPNN:基于深度学习的蛋白质序列设计实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ProteinMPNN:基于深度学习的蛋白质序列设计实战指南

ProteinMPNN:基于深度学习的蛋白质序列设计实战指南

【免费下载链接】ProteinMPNNCode for the ProteinMPNN paper项目地址: https://gitcode.com/gh_mirrors/pr/ProteinMPNN

ProteinMPNN 是一个革命性的蛋白质序列设计工具,它利用先进的深度学习技术为蛋白质工程领域带来了突破性的变革。作为一款基于图神经网络(GNN)的开源项目,ProteinMPNN 能够根据蛋白质的三维结构逆向设计出稳定且功能性的氨基酸序列,为蛋白质工程、药物开发和合成生物学研究提供了强大的计算支持。

项目核心价值与应用场景

ProteinMPNN 的核心价值在于其逆向蛋白质设计能力——给定蛋白质的三维结构,模型能够设计出可能折叠成该结构的氨基酸序列。这一能力在多个领域具有重要应用:

  • 蛋白质工程:设计具有特定功能或稳定性的新型蛋白质
  • 药物开发:优化抗体、酶和其他治疗性蛋白质的特性
  • 合成生物学:创建自然界中不存在的功能性蛋白质
  • 基础研究:探索蛋白质序列与结构之间的关系

技术架构深度解析

ProteinMPNN 采用了创新的图神经网络架构,将蛋白质结构表示为图数据,其中节点代表氨基酸残基,边代表残基之间的空间关系。这种表示方法使模型能够有效捕捉蛋白质的三维结构信息。

核心模型特性

多尺度特征提取:模型同时考虑局部和全局结构特征,从原子级到整体构象级的多层次信息都被整合到序列设计过程中。

条件概率建模:ProteinMPNN 使用条件概率分布来建模氨基酸序列,给定蛋白质骨架结构,模型计算每个位置氨基酸的概率分布,从而实现序列设计。

噪声鲁棒性训练:通过在训练过程中向蛋白质骨架添加高斯噪声,模型学会处理结构的不确定性,增强了在实际应用中的鲁棒性。

快速上手:从安装到第一个设计

环境配置与安装

# 克隆仓库 git clone https://gitcode.com/gh_mirrors/pr/ProteinMPNN cd ProteinMPNN # 创建并激活conda环境 conda create --name proteinmpnn python=3.9 conda activate proteinmpnn # 安装依赖 conda install pytorch torchvision torchaudio -c pytorch pip install numpy

第一个蛋白质设计示例

项目提供了丰富的示例脚本,让用户能够快速上手。最简单的单体蛋白质设计示例位于examples/submit_example_1.sh

#!/bin/bash python protein_mpnn_run.py \ --jsonl_path inputs/PDB_monomers/parsed_pdbs.jsonl \ --out_folder outputs/example_1_outputs/ \ --num_seq_per_target 100 \ --sampling_temp "0.1" \ --seed 37 \ --batch_size 1 \ --model_name "v_48_020"

这个脚本会从inputs/PDB_monomers/目录读取PDB文件,为每个蛋白质结构生成100个新的氨基酸序列变体,并将结果保存到outputs/example_1_outputs/

特色功能亮点

1. 灵活的序列设计控制

ProteinMPNN 提供了多种控制序列设计过程的参数:

  • 温度参数控制多样性:通过--sampling_temp参数调节序列多样性,较低温度产生保守序列,较高温度产生更多样化序列
  • 固定位置设计:使用--fixed_positions_jsonl指定哪些残基位置保持不变
  • 氨基酸偏好性:通过--bias_AA_jsonl引入特定氨基酸的偏好性
  • 对称性约束:使用--tied_positions_jsonl确保对称位置采用相同氨基酸

2. 多链蛋白质复合物设计

项目特别优化了多链蛋白质复合物的设计能力:

# 多链设计示例 python protein_mpnn_run.py \ --jsonl_path inputs/PDB_complexes/parsed_pdbs.jsonl \ --chain_id_jsonl helper_scripts/assign_fixed_chains.py \ --out_folder outputs/example_2_outputs/ \ --num_seq_per_target 50

3. 评分与概率分析

除了序列设计,ProteinMPNN 还提供强大的评分功能:

  • 序列评分:评估现有序列与给定结构的兼容性
  • 条件概率输出:生成每个位置氨基酸的概率分布
  • 无条件概率:计算仅基于结构的氨基酸偏好性

高级应用场景

PSSM整合设计

ProteinMPNN 支持与位置特异性评分矩阵(PSSM)的整合,这在进化约束设计中特别有用:

# 使用PSSM偏好的设计 python protein_mpnn_run.py \ --jsonl_path inputs/PDB_complexes/parsed_pdbs.jsonl \ --pssm_jsonl inputs/PSSM_inputs/3HTN.npz \ --pssm_multi 0.3 \ --out_folder outputs/example_pssm_outputs/

可溶性蛋白质优化

项目提供了专门针对可溶性蛋白质训练的模型权重,位于soluble_model_weights/目录:

# 使用可溶性优化模型 python protein_mpnn_run.py \ --use_soluble_model \ --path_to_model_weights soluble_model_weights/ \ --model_name v_48_020 \ --jsonl_path inputs/PDB_monomers/parsed_pdbs.jsonl \ --out_folder outputs/soluble_designs/

模型训练与自定义

数据准备

训练 ProteinMPNN 需要蛋白质结构数据集:

# 下载训练数据(16.5GB) wget https://files.ipd.uw.edu/pub/training_sets/pdb_2021aug02.tar.gz tar -xzf pdb_2021aug02.tar.gz

启动训练

使用training/training.py脚本启动模型训练:

python training/training.py \ --path_for_training_data ./pdb_2021aug02 \ --path_for_outputs ./training_output \ --num_epochs 150 \ --batch_size 10000 \ --num_neighbors 48 \ --backbone_noise 0.2

训练参数调优

关键训练参数包括:

  • --num_neighbors:控制图神经网络中每个节点的邻居数量
  • --backbone_noise:训练时添加到骨架的噪声水平
  • --hidden_dim:模型隐藏层维度
  • --dropout:防止过拟合的正则化参数

项目结构与代码组织

ProteinMPNN 的代码结构清晰,便于理解和扩展:

ProteinMPNN/ ├── protein_mpnn_run.py # 主运行脚本 ├── protein_mpnn_utils.py # 工具函数 ├── helper_scripts/ # 辅助脚本 │ ├── parse_multiple_chains.py # 多链解析 │ ├── make_fixed_positions_dict.py # 固定位置处理 │ └── make_bias_AA.py # 氨基酸偏好性生成 ├── examples/ # 使用示例 ├── inputs/ # 示例输入数据 ├── outputs/ # 示例输出结果 ├── training/ # 训练相关代码 └── model_weights/ # 预训练模型权重

性能优化与最佳实践

内存与计算优化

  • 批处理大小调整:根据GPU内存调整--batch_size参数
  • 序列长度限制:使用--max_length控制处理的蛋白质大小
  • 并行处理:可以同时处理多个PDB文件以提高效率

结果分析与验证

生成的序列可以通过多种方式进行验证:

  1. 序列恢复率分析:比较设计序列与天然序列的相似性
  2. 结构预测验证:使用AlphaFold等工具预测设计序列的结构
  3. 物化性质评估:分析疏水性、电荷分布等理化性质

社区贡献与扩展

ProteinMPNN 的开源特性鼓励社区参与和扩展:

  • 自定义模型架构:可以修改training/model_utils.py中的模型定义
  • 新特征集成:在protein_mpnn_utils.py中添加新的数据处理功能
  • 应用场景扩展:开发针对特定应用(如酶设计、抗体优化)的专用脚本

结语:蛋白质设计的未来

ProteinMPNN 代表了蛋白质计算设计领域的重要进展,它将深度学习的强大能力与蛋白质工程的实践需求相结合。通过开源项目的持续发展,研究人员和开发者可以共同推动这一领域的进步,为解决生物医学和工业应用中的复杂蛋白质设计问题提供新的解决方案。

无论是学术研究还是工业应用,ProteinMPNN 都提供了一个强大而灵活的平台,让更多人能够参与到蛋白质设计的创新过程中,共同探索生命科学的未知领域。

【免费下载链接】ProteinMPNNCode for the ProteinMPNN paper项目地址: https://gitcode.com/gh_mirrors/pr/ProteinMPNN

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 13:25:25

基于ESP8266的网络状态监控器:从Ping检测到《辐射》主题桌面摆件制作

1. 项目概述:一个能“感知”网络状态的桌面摆件如果你和我一样,家里或者工作室的网络环境有点复杂,比如通过电力猫把网络延伸到后院的工作间,时不时就会遇到网络“抽风”的情况。每次视频会议卡顿或者文件上传失败,都得…

作者头像 李华
网站建设 2026/6/3 13:24:10

BetterRenderDragon终极指南:3步解锁Minecraft极致画质体验

BetterRenderDragon终极指南:3步解锁Minecraft极致画质体验 【免费下载链接】BetterRenderDragon 更好的渲染龙 项目地址: https://gitcode.com/gh_mirrors/be/BetterRenderDragon BetterRenderDragon是一款专为Minecraft基岩版设计的渲染引擎增强工具&#…

作者头像 李华
网站建设 2026/6/3 13:23:08

终极Windows和Office激活指南:一键永久激活的完整解决方案

终极Windows和Office激活指南:一键永久激活的完整解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出的激活提示而烦恼吗?Office文档突然…

作者头像 李华
网站建设 2026/6/3 13:21:57

科研党必备:坚果云Zotero官方插件彻底解决WebDAV同步报错

写论文最奔溃的瞬间是什么?不是实验跑不出数据,而是你想看文献时,发现平板上的 PDF 同步死活过不来。 这事儿恐怕许多学术打工人都深有体会。由于坚果云以高效稳定著称,自2011年上线至今已稳定运营超过15年,积累了超千…

作者头像 李华