名称: 可溶性MPNN 描述: > 使用SolubleMPNN进行可溶性优化的蛋白质序列设计。 在以下情况下使用此技能:(1) 为大肠杆菌表达进行设计时, (2) 优化设计蛋白质的可溶性时, (3) 降低聚集倾向时, (4) 需要高产量表达时, (5) 避免包涵体形成时。
对于标准设计,请使用proteinmpnn。 对于配体感知设计,请使用ligandmpnn。 许可证: MIT 类别: 设计工具 标签: [序列设计, 反向折叠, 可溶性] biomodals脚本: modal_ligandmpnn.py
SolubleMPNN 可溶性优化设计
前提条件
| 要求 | 最低 | 推荐 |
|---|---|---|
| Python | 3.8+ | 3.10 |
| CUDA | 11.0+ | 11.7+ |
| GPU显存 | 8GB | 16GB (T4) |
| 内存 | 8GB | 16GB |
如何运行
第一次使用? 请参阅安装指南来设置Modal和biomodals。
选项1:Modal(推荐)
SolubleMPNN使用带有可溶性模型的ProteinMPNN Modal包装器:
cd biomodals
modal run modal_proteinmpnn.py \
--pdb-path backbone.pdb \
--num-seq-per-target 16 \
--sampling-temp 0.1 \
--model-name v_48_020
GPU: T4 (16GB) | 超时: 默认600秒
选项2:本地安装
git clone https://github.com/dauparas/ProteinMPNN.git
cd ProteinMPNN
# 使用可溶性模型权重
python protein_mpnn_run.py \
--pdb_path backbone.pdb \
--out_folder output/ \
--num_seq_per_target 16 \
--sampling_temp "0.1" \
--model_name "v_48_020" # 可溶性模型
关键参数
| 参数 | 默认值 | 范围 | 描述 |
|---|---|---|---|
--pdb_path |
必需 | 路径 | 输入结构 |
--num_seq_per_target |
1 | 1-1000 | 每个结构的序列数 |
--sampling_temp |
“0.1” | “0.0001-1.0” | 温度(字符串!) |
--model_name |
v_48_020 | 字符串 | 可溶性模型变体 |
模型变体
| 模型 | 描述 | 使用场景 |
|---|---|---|
| v_48_002 | 标准 | 通用设计 |
| v_48_020 | 可溶性训练 | 大肠杆菌表达 |
| v_48_030 | 高可溶性 | 困难目标 |
输出格式
output/
├── seqs/backbone.fa
└── backbone_pdb/backbone_0001.pdb
示例输出
成功运行
$ python protein_mpnn_run.py --pdb_path backbone.pdb --model_name v_48_020 --num_seq_per_target 8
正在加载可溶性模型权重 (v_48_020)...
为backbone.pdb设计序列
在2.1秒内生成了8个序列
output/seqs/backbone.fa:
>backbone_0001, score=1.31, global_score=1.24, seq_recovery=0.78
MKTAYIAKQRQISFVKSHFSRQLE...
>backbone_0002, score=1.28, global_score=1.21, seq_recovery=0.81
MKTAYIAKQRQISFVKSQFSRQLD...
良好输出的特征:
- 分数:1.0-2.0(越低表示置信度越高)
- 与标准MPNN相比,疏水斑块减少
- 电荷分布改善
决策树
我应该使用SolubleMPNN吗?
│
├─ 使用什么表达系统?
│ ├─ 大肠杆菌 → SolubleMPNN ✓
│ ├─ 哺乳动物 → ProteinMPNN(翻译后修饰更重要)
│ └─ 酵母 → 两者皆可
│
├─ 是否有表达问题历史?
│ ├─ 是,有聚集问题 → SolubleMPNN ✓
│ ├─ 是,产量低 → SolubleMPNN ✓
│ └─ 否 → ProteinMPNN即可
│
├─ 结合位点有什么?
│ ├─ 小分子 / 配体 → 使用LigandMPNN
│ └─ 无 / 仅蛋白质 → SolubleMPNN ✓
│
└─ 需要最高可溶性?
├─ 是 → 使用v_48_030模型
└─ 标准 → 使用v_48_020模型
典型性能
| 任务规模 | 时间 (T4) | 成本 (Modal) | 备注 |
|---|---|---|---|
| 100个骨架 × 8个序列 | 15-20分钟 | ~$2 | 标准 |
| 500个骨架 × 8个序列 | 1-1.5小时 | ~$8 | 大型任务 |
预期改进:与标准ProteinMPNN相比,可溶性分数提高+15-30%。
验证
grep -c "^>" output/seqs/*.fa # 应匹配backbone_count × num_seq_per_target
故障排除
仍然不可溶:尝试v_48_030(更高的可溶性偏置) 多样性低:将温度提高到0.2 折叠效果差:使用标准ProteinMPNN并在后期优化
错误解释
| 错误 | 原因 | 解决方法 |
|---|---|---|
RuntimeError: CUDA out of memory |
蛋白质过长或批次过大 | 减小batch_size |
FileNotFoundError: v_48_020 |
缺少模型权重 | 下载可溶性权重 |
下一步:用于验证的结构预测 → 使用protein-qc进行过滤。