DiffSBDD:基于结构的药物设计equivariant扩散模型
项目介绍
DiffSBDD是一个基于equivariant扩散模型的药物设计项目,专注于结构基础的药物设计。该项目由Arne Schneuing、Yuanqi Du等多位专家联合开发,旨在通过先进的机器学习技术,推动药物设计领域的创新与发展。DiffSBDD已经在arXiv上发表了相关论文(链接),并且提供了在Google Colab上运行的版本(链接),方便用户快速上手。
项目技术分析
DiffSBDD采用了equivariant扩散模型,这是一种能够保持几何对称性的深度学习模型,特别适用于处理分子结构数据。项目依赖的主要技术栈包括:
- PyTorch: 用于深度学习模型构建和训练。
- PyTorch Lightning: 提供高效的训练流程管理。
- WandB: 用于实验跟踪和可视化。
- RDKit: 化学信息处理工具包。
- BioPython: 生物信息学工具包。
- OpenBabel: 化学格式转换工具。
项目支持多种预训练模型,用户可以从Zenodo下载(链接),涵盖了CrossDocked和Binding MOAD等多个数据集。
项目及技术应用场景
DiffSBDD适用于以下应用场景:
- 全新药物设计(De novo design): 通过指定蛋白质结构,生成新的配体分子。
- 子结构修复(Substructure inpainting): 在已有分子骨架的基础上,设计新的分子片段。
- 药物筛选与优化: 利用预训练模型,快速筛选和优化潜在的药物分子。
项目特点
1. 易于使用
项目提供了详细的安装指南和示例代码,用户可以通过简单的命令行操作,快速生成新的药物分子。例如,使用以下命令可以生成20个新的配体分子:
python generate_ligands.py checkpoints/crossdocked_fullatom_cond.ckpt --pdbfile example/3rfm.pdb --outfile example/3rfm_mol.sdf --ref_ligand A:330 --n_samples 20
2. 灵活的子结构修复
用户可以通过指定固定的子结构,进行分子设计。例如:
python inpaint.py checkpoints/crossdocked_fullatom_cond.ckpt --pdbfile example/5ndu.pdb --outfile example/5ndu_linked_mols.sdf --ref_ligand example/5ndu_C_8V2.sdf --fix_atoms example/fragments.sdf --center ligand --add_n_nodes 10
3. 强大的基准测试
项目在CrossDocked和Binding MOAD等多个数据集上进行了基准测试,确保模型的性能和可靠性。
4. 开源与可扩展
DiffSBDD是一个开源项目,用户可以根据自己的需求进行定制和扩展。项目提供了详细的训练和推理脚本,方便用户进行二次开发。
总结
DiffSBDD是一个功能强大、易于使用的药物设计工具,适用于全新药物设计和子结构修复等多种应用场景。通过先进的equivariant扩散模型,项目在药物设计领域展现了巨大的潜力。欢迎广大科研人员和开发者使用和贡献代码,共同推动药物设计的创新发展。
更多信息请访问项目GitHub页面:DiffSBDD。