如何用LigandMPNN实现高效分子对接?超详细AI药物设计教程 🚀
LigandMPNN是一款基于消息传递神经网络(MPNN)的AI驱动分子对接工具,能够精准预测蛋白质-配体相互作用,显著提升药物设计效率。本教程将带你快速掌握从环境配置到高级设计的全流程,让复杂的分子优化变得简单!
🌟 为什么选择LigandMPNN?
LigandMPNN作为ProteinMPNN的增强版,专为配体存在下的蛋白质设计优化,核心优势包括:
✅ 多模型支持:内置ProteinMPNN/LigandMPNN/膜蛋白专用模型,满足不同场景需求
✅ 精准控制:支持固定残基、氨基酸偏好调整、对称性设计等高级功能
✅ 高效解析:保留原始PDB文件的残基编号和链信息,避免序列错位
✅ 集成工具链:自带侧链 packing、序列评分功能,一站式完成设计-评估
⚡ 特别适合小分子药物开发、酶工程改造和蛋白质-配体相互作用研究
📋 环境准备与安装指南
🔧 核心依赖
Python ≥3.0 | PyTorch | Numpy | ProDy (PDB解析)
🚀 一键安装步骤
# 1. 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/li/LigandMPNN.git
cd LigandMPNN
# 2. 创建虚拟环境
conda create -n ligandmpnn_env python=3.11
conda activate ligandmpnn_env
# 3. 安装依赖包
pip3 install -r requirements.txt
# 4. 下载模型参数 (关键步骤!)
bash get_model_params.sh "./model_params"
💡 模型参数存储路径:
./model_params,包含多种噪声水平的预训练权重
🎯 快速上手:第一个分子设计任务
以1BC8蛋白(含配体结构)为例,5分钟完成序列设计:
python run.py \
--model_type "ligand_mpnn" \ # 使用配体感知模型
--seed 111 \ # 随机种子(确保结果可复现)
--pdb_path "./inputs/1BC8.pdb" \ # 输入PDB文件
--out_folder "./outputs/my_first_design" # 结果输出目录
📂 输出文件说明
| 文件路径 | 说明 |
|---|---|
outputs/my_first_design/seqs/1BC8.fa |
设计的蛋白质序列(含置信度评分) |
outputs/my_first_design/backbones/1BC8_1.pdb |
带设计序列的PDB结构 |
✨ 序列文件中会显示
overall_confidence和ligand_confidence指标,数值越高表示模型对设计结果越自信(范围0-1)
⚙️ 核心功能详解与实战案例
1️⃣ 氨基酸偏好控制(全局/逐残基)
全局偏好设置
# 偏向W/P/C,避免A
python run.py \
--pdb_path "./inputs/1BC8.pdb" \
--bias_AA "W:3.0,P:3.0,C:3.0,A:-3.0" \
--out_folder "./outputs/global_bias"
逐残基精确控制
创建JSON配置文件 inputs/bias_AA_per_residue.json:
{
"C1": {"P": 10.0}, # C1强制为脯氨酸
"C3": {"G": -5.0} # C3禁止甘氨酸
}
运行命令:
python run.py \
--pdb_path "./inputs/1BC8.pdb" \
--bias_AA_per_residue "./inputs/bias_AA_per_residue.json" \
--out_folder "./outputs/per_residue_bias"
2️⃣ 对称性设计(同源寡聚体专用)
实现C1=C2=C3、C4=C5对称设计:
python run.py \
--pdb_path "./inputs/1BC8.pdb" \
--symmetry_residues "C1,C2,C3|C4,C5" \ # 分组定义
--symmetry_weights "0.33,0.33,0.33|0.5,0.5" \ # 权重分配
--out_folder "./outputs/symmetry_design"
🔬 常用于设计同源二聚体、四聚体等对称性蛋白质
3️⃣ 侧链 packing 功能
设计序列后自动优化侧链构象:
python run.py \
--model_type "ligand_mpnn" \
--pdb_path "./inputs/1BC8.pdb" \
--pack_side_chains 1 \ # 启用侧链packing
--number_of_packs_per_design 4 \ # 生成4个构象样本
--out_folder "./outputs/sc_default"
📊 输出文件位于
./outputs/sc_default/packed/,B因子列显示侧链构象置信度
4️⃣ 批量处理多PDB文件
通过JSON配置文件批量处理多个蛋白:
# inputs/pdb_ids.json 示例
{
"./inputs/1BC8.pdb": "",
"./inputs/4GYT.pdb": ""
}
运行命令:
python run.py \
--pdb_path_multi "./inputs/pdb_ids.json" \
--out_folder "./outputs/batch_design"
📈 设计结果评估:序列评分工具
使用 score.py 评估设计序列的合理性:
# 自回归评分(考虑序列依赖关系)
python score.py \
--model_type "ligand_mpnn" \
--pdb_path "./outputs/my_first_design/backbones/1BC8_1.pdb" \
--autoregressive_score 1 \
--use_sequence 1 \ # 使用设计的序列进行评估
--out_folder "./outputs/design_scores"
📉 输出指标解析
| 指标 | 说明 |
|---|---|
log_probs |
对数概率(越高越好) |
mean_of_probs |
位置平均概率(反映序列保守性) |
std_of_probs |
概率标准差(反映设计多样性) |
🛠️ 高级参数调优指南
温度参数(控制序列多样性)
--temperature 0.1 # 低温度 → 保守设计(多样性低)
--temperature 1.0 # 高温度 → 激进设计(多样性高)
残基固定与重设计
# 固定C1-C10,重设计其他区域
--fixed_residues "C1 C2 C3 C4 C5 C6 C7 C8 C9 C10"
配体上下文开关
# 不使用配体信息(用于对照实验)
--ligand_mpnn_use_atom_context 0
📚 项目结构与核心模块
LigandMPNN/
├── inputs/ # 输入文件(PDB/JSON配置)
├── outputs/ # 设计结果(序列/PDB)
├── model_params/ # 预训练模型参数
├── openfold/ # 依赖模块(结构解析/工具函数)
├── run.py # 主程序入口
├── score.py # 序列评分工具
└── sc_utils.py # 侧链packing功能
📌 核心算法实现:
model_utils.py(模型构建)、data_utils.py(数据处理)
🚫 常见问题与解决方案
Q1: 运行时报错 "模型参数文件不存在"?
A: 确保执行了 bash get_model_params.sh "./model_params",若下载慢可手动从项目主页获取。
Q2: 设计序列与配体发生空间冲突?
A: 启用侧链优化并增加pack次数:--number_of_packs_per_design 10
Q3: 如何设计跨膜蛋白?
A: 使用膜蛋白专用模型:
--model_type "per_residue_label_membrane_mpnn" \
--transmembrane_buried "C1 C2 C3" # 指定跨膜区域
📝 引用与致谢
如果使用本工具发表论文,请引用:
@article{dauparas2023atomic,
title={Atomic context-conditioned protein sequence design using LigandMPNN},
author={Dauparas, Justas and Lee, Gyu Rie and Pecoraro, Robert and others},
journal={Biorxiv},
year={2023}
}
🙏 本项目基于ProteinMPNN开发,部分代码借鉴自Openfold
🎯 总结
LigandMPNN通过AI驱动的分子设计,为药物研发和蛋白质工程提供了强大工具。从基础的序列设计到复杂的对称性改造,只需简单参数配置即可实现专业级结果。立即上手,开启你的分子设计之旅吧!
🔗 项目地址:https://gitcode.com/gh_mirrors/li/LigandMPNN
📧 问题反馈:提交issue至项目仓库
祝你的分子设计实验顺利!💊🧬
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00