用途:DiffDock 是基于扩散模型的深度学习分子对接工具,用于预测小分子配体与蛋白质靶点的 3D 结合构象,服务于基于结构的药物发现与化学生物学研究。
主要能力:支持 PDB 蛋白结构或氨基酸序列(经 ESMFold);配体输入支持 SMILES、SDF、MOL2;可处理单个复合物或批量虚拟筛选;输出多个排序构象与置信度评分。需注意:它预测结合构象与置信度,不预测结合亲和力(ΔG、Kd),亲和力评估需结合 GNINA、MM/GBSA 等打分函数。
使用方式:安装可用 Conda(git clone https://github.com/gcorso/DiffDock.git,conda env create --file environment.yml,conda activate diffdock)或 Docker(docker pull rbgcsail/diffdock)。运行前可用 python scripts/setup_check.py 检查环境。单复合物对接示例:python -m inference --config default_inference_args.yaml --protein_path protein.pdb --ligand "CC(=O)Oc1ccccc1C(=O)O" --out_dir results/single_docking/。批量对接使用 CSV(含 complex_name、protein_path、ligand_description、protein_sequence 列),命令加 --protein_ligand_csv batch_input.csv --batch_size 10。大规模筛选可先用 datasets/esm_embedding_preparation.py 预计算蛋白嵌入,再以 --esm_embeddings_path 运行。结果可用 python scripts/analyze_results.py results/batch/ 分析,支持 --top、--threshold、--export、--best 等参数。交互界面可运行 python app/main.py 后访问 http://localhost:7860,或使用在线演示 https://huggingface.co/spaces/reginabarzilaygroup/DiffDock-Web。
置信度解读:>0 为高,-1.5 至 0 为中等,<-1.5 为低;置信度高仅表示模型对结构的确定性,不代表结合强。
适用与限制:适用于小分子配体(约 100-1000 Da)、类药有机化合物、小肽(<20 残基)及单/多链蛋白。不适用于蛋白-蛋白对接、大肽、共价对接、亲和力预测及膜蛋白(未专门训练)。建议使用 GPU,首次运行会预计算查找表并自动下载约 500MB 模型权重。
引用:DiffDock-L(Stärk et al., 2024, arXiv:2402.18396)与原始 DiffDock(Corso et al., ICLR 2023, arXiv:2210.01776)。