【亲测免费】 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 项目进行分子对接和药物发现研究。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0123
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00