DiffDock 是一种最先进的分子对接方法,基于扩散模型(diffusion model),专注于预测小分子配体如何与蛋白质结合的空间结构。
DiffDock 的简介
研究背景与创新:
由 Gabriele Corso 等研究人员提出,核心采用扩散模型模拟分子间的复杂相互作用。
主要目标是预测小分子药物与靶标蛋白的结合位点和结合模式。
新版本更新:
2024 年发布的 DiffDock-L 提升了模型的性能和泛化能力,默认运行该版本。
支持 Docker 部署及本地用户界面(UI)。
团队与支持:
最初由 Corso 团队开发,Jacob Silterra 后续维护改进。
文档详细说明了安装、运行、数据集下载及模型评估的方法。
核心功能
分子对接预测:
输入: 提供蛋白质(.pdb 文件或序列)和配体(SMILES 字符串或支持的分子文件,如 .sdf)。
输出: 蛋白质-配体复合物的结合位点及结构预测。
支持多种输入格式:
单一复合物: 指定单个蛋白质和配体文件进行预测。
批量预测: 提供包含多个复合物描述的 CSV 文件。
置信度得分:
预测结果附带置信度评分,帮助评估预测可靠性。
可视化支持:
支持生成 .sdf 文件用于分子可视化。
Hugging Face Spaces:
https://huggingface.co/spaces/reginabarzilaygroup/DiffDock-Web
使用指南
快速开始:
可以通过 Hugging Face Spaces 在线试用,免安装。
环境设置:
使用 Anaconda 配置环境:
git clone https://github.com/gcorso/DiffDock.git
conda env create --file environment.yml
conda activate diffdock
或者使用 Docker:
docker pull rbgcsail/diffdock
docker run -it --gpus all --entrypoint /bin/bash rbgcsail/diffdock
运行预测:
单个复合物:
python -m inference --config default_inference_args.yaml --protein_path protein.pdb --ligand ligand.sdf --out_dir results/
批量预测(CSV 文件):
python -m inference --config default_inference_args.yaml --protein_ligand_csv data/protein_ligand_example.csv --out_dir results/
图形界面:
启动本地界面:
python app/main.py
访问
http://localhost:7860
。
常见问题解答
置信度得分的意义?
分数越高,预测越可靠。但对于大型分子、非结合态蛋白质等复杂情况需谨慎解读。
是否预测结合亲和力?
DiffDock 仅预测结合结构,不直接预测结合亲和力(binding affinity)。
是否支持蛋白质-蛋白质或核酸相互作用?
DiffDock 专注于小分子对接,不适合蛋白质-蛋白质或蛋白质-核酸相互作用。
DiffDock 是基于机器学习的前沿分子对接工具,突破了传统方法的限制,提供了高效、准确的分子对接预测能力。文档内容全面,适合研究者快速上手并将其应用于药物设计或生物研究中。