[ PROMPT_NODE_26486 ]
workflows_examples
[ SKILL_DOCUMENTATION ]
# DiffDock 工作流与示例
本文档提供了常见 DiffDock 任务的实用工作流和使用示例。
## 安装与设置
### Conda 安装(推荐)
bash
# 克隆仓库
git clone https://github.com/gcorso/DiffDock.git
cd DiffDock
# 创建 conda 环境
conda env create --file environment.yml
conda activate diffdock
### Docker 安装
bash
# 拉取 Docker 镜像
docker pull rbgcsail/diffdock
# 运行支持 GPU 的容器
docker run -it --gpus all --entrypoint /bin/bash rbgcsail/diffdock
# 在容器内激活环境
micromamba activate diffdock
### 首次运行
首次执行会预计算 SO(2) 和 SO(3) 查找表,需要几分钟时间。后续运行将立即开始。
## 工作流 1:单蛋白质-配体对接
### 使用 PDB 文件和 SMILES 字符串
bash
python -m inference
--config default_inference_args.yaml
--protein_path examples/protein.pdb
--ligand "COc1ccc(C(=O)Nc2ccccc2)cc1"
--out_dir results/single_docking/
**输出结构**:
results/single_docking/
├── index_0_rank_1.sdf # 排名第一的预测结果
├── index_0_rank_2.sdf # 排名第二的预测结果
├── ...
├── index_0_rank_10.sdf # 第 10 个预测结果 (如果 samples_per_complex=10)
└── confidence_scores.txt # 所有预测的得分
### 使用配体结构文件
bash
python -m inference
--config default_inference_args.yaml
--protein_path protein.pdb
--ligand ligand.sdf
--out_dir results/ligand_file/
**支持的配体格式**: SDF, MOL2 或任何 RDKit 可读取的格式
## 工作流 2:蛋白质序列到结构对接
### 使用 ESMFold 进行蛋白质折叠
bash
python -m inference
--config default_inference_args.yaml
--protein_sequence "MSKGEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLTLKFICTTGKLPVPWPTLVTTFSYGVQCFSRYPDHMKQHDFFKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNYNSHNVYIMADKQKNGIKVNFKIRHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSALSKDPNEKRDHMVLLEFVTAAGITHGMDELYK"
--ligand "CC(C)Cc1ccc(cc1)C(C)C(=O)O"
--out_dir results/sequence_docking/
**使用场景**:
- PDB 中没有蛋白质结构
- 对突变或变体进行建模
- 从头蛋白质设计验证
**注意**: ESMFold 折叠会增加计算时间(根据序列长度,30秒至5分钟不等)
## 工作流 3:批量处理多个复合物
### 准备 CSV 文件
创建包含必需列的 `complexes.csv`:
csv
complex_name,protei