【亲测免费】 DiffDock 项目使用教程
1. 项目介绍
DiffDock 是一个用于分子对接的扩散生成模型,由 Gabriele Corso、Hannes Stark、Bowen Jing、Regina Barzilay 和 Tommi Jaakkola 开发。该项目提供了一种先进的方法来进行分子对接,即预测蛋白质和配体之间的三维结合结构。DiffDock 的核心思想是通过扩散步骤、扭转和旋转来生成潜在的结合姿势。
自 2024 年以来,Jacob Silterra 一直领导着代码的维护和改进工作。DiffDock 项目不仅提供了代码实现,还提供了详细的安装和使用说明,以及 Docker 容器支持,方便用户快速上手和部署。
2. 项目快速启动
2.1 环境设置
首先,克隆 DiffDock 项目到本地:
git clone https://github.com/gcorso/DiffDock.git
进入项目目录:
cd DiffDock
使用 Anaconda 创建并激活环境:
conda env create --file environment.yml
conda activate diffdock
2.2 使用 Docker 容器
如果你更倾向于使用 Docker 容器,可以按照以下步骤操作:
构建 Docker 容器:
docker build -f Dockerfile -t diffdock
或者直接拉取预构建的容器:
docker pull rbgcsail/diffdock
运行容器:
docker run -it --gpus all --entrypoint /bin/bash rbgcsail/diffdock
在容器中激活环境:
micromamba activate diffdock
2.3 运行分子对接预测
对于单个复合物,可以使用以下命令进行预测:
python -m inference --config default_inference_args.yaml --protein_path protein.pdb --ligand ligand.sdf --out_dir results/user_predictions_small
对于多个复合物,可以创建一个 CSV 文件,包含蛋白质和配体的路径或 SMILES 字符串,然后使用以下命令:
python -m inference --config default_inference_args.yaml --protein_ligand_csv data/protein_ligand_example.csv --out_dir results/user_predictions_small
3. 应用案例和最佳实践
3.1 药物发现
DiffDock 在药物发现领域有广泛的应用,特别是在预测小分子药物与蛋白质靶点的结合结构方面。通过 DiffDock,研究人员可以快速生成潜在的结合姿势,从而加速药物筛选和优化过程。
3.2 蛋白质-蛋白质相互作用
虽然 DiffDock 主要针对蛋白质-配体相互作用,但它也可以用于预测蛋白质-蛋白质相互作用。尽管模型在处理大分子复合物时可能不如处理小分子配体那样高效,但 DiffDock 仍然可以提供有价值的初步预测。
3.3 结合亲和力预测
虽然 DiffDock 本身不直接预测结合亲和力,但其输出的置信度分数可以与其他工具(如 GNINA、MM/GBSA 或绝对结合自由能计算)结合使用,以评估结合亲和力。
4. 典型生态项目
4.1 ESMFold
ESMFold 是一个用于蛋白质折叠的深度学习模型,可以与 DiffDock 结合使用,特别是在蛋白质结构未知的情况下,ESMFold 可以生成蛋白质的三维结构,然后由 DiffDock 进行分子对接预测。
4.2 RDKit
RDKit 是一个用于化学信息学的开源工具包,支持多种化学数据格式的读取和处理。DiffDock 可以与 RDKit 结合使用,处理输入的配体文件(如 SDF 或 MOL2 格式)。
4.3 Hugging Face Spaces
Hugging Face Spaces 提供了一个在线平台,用户可以在不安装任何软件的情况下直接尝试 DiffDock 模型。这为研究人员提供了一个便捷的途径来测试和验证 DiffDock 的性能。
通过以上步骤和案例,您可以快速上手并充分利用 DiffDock 项目进行分子对接和药物发现研究。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0193- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00