配体感知蛋白质序列设计工具Skill ligandmpnn

LigandMPNN 是一个基于深度学习的蛋白质序列设计工具,专门用于在考虑配体(如小分子、金属离子、辅因子或核酸)存在的情况下,设计或优化蛋白质序列。它适用于酶活性位点设计、配体结合口袋优化、金属配位位点设计等生物医药和合成生物学场景。核心功能是进行配体感知的逆折叠,生成与特定配体高亲和力结合的蛋白质序列。关键词:蛋白质设计,配体感知,逆折叠,酶设计,结合口袋优化,LigandMPNN,AI蛋白质工程,生物计算。

合成生物学 0 次安装 2 次浏览 更新于 2/27/2026

name: ligandmpnn description: > 使用LigandMPNN进行配体感知的蛋白质序列设计。 在以下情况使用此技能:(1) 围绕小分子设计序列, (2) 酶活性位点设计, (3) 配体结合口袋优化, (4) 金属配位位点设计, (5) 辅因子结合蛋白设计。

对于标准蛋白质设计,请使用proteinmpnn。 对于溶解度优化,请使用solublempnn。 license: MIT category: design-tools tags: [sequence-design, inverse-folding, ligand-aware] biomodals_script: modal_ligandmpnn.py

LigandMPNN 配体感知设计

先决条件

要求 最低 推荐
Python 3.8+ 3.10
CUDA 11.0+ 11.7+
GPU 显存 8GB 16GB (T4)
内存 8GB 16GB

如何运行

第一次使用? 请参阅 安装指南 来设置 Modal 和 biomodals。

选项 1: Modal (推荐)

cd biomodals
modal run modal_ligandmpnn.py \
  --pdb-path protein_ligand.pdb \
  --num-seq-per-target 16 \
  --sampling-temp 0.1

GPU: T4 (16GB) | 超时: 默认 600 秒

选项 2: 本地安装

git clone https://github.com/dauparas/LigandMPNN.git
cd LigandMPNN

python run.py \
  --pdb_path protein_ligand.pdb \
  --out_folder output/ \
  --num_seq_per_target 16

关键参数

参数 默认值 范围 描述
--pdb_path 必需 路径 包含配体的 PDB 文件
--num_seq_per_target 1 1-1000 每个结构生成的序列数
--sampling_temp “0.1” “0.0001-1.0” 采样温度(字符串!)
--ligand_mpnn_use_side_chain_context true 布尔值 使用配体上下文

配体规范

在 PDB 文件中

配体必须以 HETATM 记录形式存在:

ATOM    ...蛋白质原子...
HETATM  1  C1  LIG A 999      x.xxx  y.yyy  z.zzz  1.00  0.00           C

支持的配体类型

  • 小分子 (HETATM)
  • 金属离子 (Zn, Fe, Mg, Ca 等)
  • 辅因子 (NAD, FAD, ATP)
  • DNA/RNA

输出格式

output/
├── seqs/
│   └── protein.fa          # FASTA 序列文件
└── protein_pdb/
    └── protein_0001.pdb    # 包含设计序列的 PDB 文件

示例输出

成功运行

$ python run.py --pdb_path enzyme_substrate.pdb --out_folder output/ --num_seq_per_target 8
正在加载 LigandMPNN 模型权重...
正在处理 enzyme_substrate.pdb
发现配体:LIG (12 个原子)
在 3.1 秒内生成了 8 条序列

output/seqs/enzyme_substrate.fa:
>enzyme_substrate_0001, score=1.45, global_score=1.38
MKTAYIAKQRQISFVKSHFSRQLE...
>enzyme_substrate_0002, score=1.52, global_score=1.41
MKTAYIAKQRQISFVKSQFSRQLD...

良好输出的特征:

  • 分数:1.0-2.0 (越低表示置信度越高)
  • 检测到配体并将其纳入上下文
  • 活性位点残基被保留或优化

决策树

我应该使用 LigandMPNN 吗?
│
├─ 你的结合位点有什么?
│  ├─ 小分子 / 配体 → LigandMPNN ✓
│  ├─ 金属离子 (Zn, Fe 等) → LigandMPNN ✓
│  ├─ 辅因子 (NAD, FAD, ATP) → LigandMPNN ✓
│  ├─ DNA/RNA → LigandMPNN ✓
│  └─ 无 / 仅蛋白质 → 使用 ProteinMPNN
│
├─ 进行哪种类型的设计?
│  ├─ 酶活性位点 → LigandMPNN ✓
│  ├─ 金属结合位点 → LigandMPNN ✓
│  ├─ 蛋白质-蛋白质结合剂 → 使用 ProteinMPNN
│  └─ 从头设计支架 → 使用 ProteinMPNN
│
└─ 优先考虑什么?
   ├─ 溶解度/表达 → 考虑 SolubleMPNN
   └─ 配体上下文准确性 → LigandMPNN ✓

典型性能

任务规模 时间 (T4) 成本 (Modal) 备注
100 个骨架 × 8 条序列 15-20 分钟 ~$2 标准
500 个骨架 × 8 条序列 1-1.5 小时 ~$8 大型任务

吞吐量:在 T4 GPU 上约 50-100 条序列/分钟。


验证

grep -c "^>" output/seqs/*.fa  # 应匹配 backbone_count × num_seq_per_target

故障排除

配体未被识别:检查 HETATM 格式,验证配体残基名称 结合残基设计不佳:增加活性位点周围的采样 缺少接触:验证 PDB 中的配体坐标

错误解释

错误 原因 解决方法
RuntimeError: CUDA out of memory 蛋白质过长或批次过大 减小 batch_size
KeyError: 'LIG' 在 PDB 中未找到配体 检查 HETATM 记录
ValueError: no ligand atoms 配体为空 验证 PDB 中配体有原子

下一步:用于验证的结构预测 → 使用 protein-qc 进行筛选。