torchdrug
用于分子和蛋白质的原生 PyTorch 图神经网络。用于构建药物发现、蛋白质建模或知识图谱推理的自定义 GNN 架构时使用。最适合自定义模型开发、蛋白质性质预测、逆合成。预训练模型和多样化特征提取器使用 DeepChem;用于基准数据集使用 pytdc。
TorchDrug - PyTorch 原生图神经网络药物发现工具箱
技能概述
TorchDrug 是一个基于 PyTorch 的全面机器学习工具箱,专门用于药物发现和分子科学研究,提供图神经网络、预训练模型和任务定义,支持分子、蛋白质和生物医学知识图谱的性质预测、建模、推理和生成。
适用场景
-
药物发现与分子优化
- 预测分子的溶解度、毒性、活性等 ADMET 性质
- 生成具有特定性质的新分子结构
- 规划化学合成路线
- 进行先导化合物优化和多目标药物设计
-
蛋白质建模与功能预测
- 从蛋白质序列预测酶功能和亚细胞定位
- 基于 3D 结构预测蛋白质稳定性和相互作用
- 集成 AlphaFold 和 ESM 预测结构进行下游分析
- 预测蛋白质-蛋白质相互作用和结合亲和力
-
生物医学知识图谱推理
- 在 Hetionet 等生物医学知识库中进行链接预测
- 发现药物重定位机会和疾病机制
- 基因-疾病关联预测
- 多跳医学推理和知识发现
核心功能
-
分子性质预测
- 提供 20+ 分子数据集(BBBP、HIV、Tox21、QM9 等)
- 支持 GIN、GAT、SchNet 等多种 GNN 架构
- 用于药物筛选、毒性检测和量子化学性质预测
- 内置 scaffold 分裂策略以实现真实世界性能评估
-
蛋白质建模
- 支持 15+ 蛋白质数据集和多种模型(ESM、ProteinBERT、GearNet)
- 处理蛋白质序列和 3D 结构(PDB 文件)
- 兼容 AlphaFold 和 ESM 预测结构
- 提供序列模型和结构模型的统一接口
-
分子生成与逆合成规划
- 自回归生成和强化学习驱动的 GCPN 生成
- 支持条件生成和多目标属性优化
- 基于 USPTO-50k 数据集的逆合成预测
- 提供反应中心识别和合成子完成的端到端流程
常见问题
TorchDrug 是什么?适合用来做什么?
TorchDrug 是一个 PyTorch 原生的机器学习工具箱,专为药物发现和分子科学设计。它主要用于分子性质预测、蛋白质建模、知识图谱推理、分子生成和逆合成规划。如果你需要构建自定义的图神经网络架构用于药物发现、蛋白质建模或知识图谱推理,TorchDrug 是理想选择。对于预训练模型和多样化特征化器,可以使用 DeepChem;对于基准数据集,可以使用 PyTDC。
TorchDrug 需要什么安装环境?支持哪些 PyTorch 版本?
TorchDrug 0.2.1 需要 Python 3.7-3.10 和 PyTorch 1.8-2.0。在安装 TorchDrug 之前,需要先安装 PyTorch 以及与你的 PyTorch 和 CUDA 版本匹配的 torch-scatter 和 torch-cluster(具体 wheel URL 取决于你的 PyTorch 和 CUDA 版本)。在 Apple Silicon 上,需要从源码编译 scatter/cluster,TorchDrug 仅在 CPU 上运行(不支持 MPS)。也可以使用 Conda 安装:conda install torchdrug -c milagraph -c conda-forge -c pytorch -c pyg。
TorchDrug 与 DeepChem 有什么区别?如何选择?
TorchDrug 和 DeepChem 都是药物发现机器学习工具,但侧重点不同。TorchDrug 基于 PyTorch 构建,更适合自定义模型开发和深度研究,特别是当你需要构建自定义 GNN 架构、蛋白质建模或知识图谱推理时。DeepChem 则提供更丰富的预训练模型和特征化器,更适合快速原型开发和标准流程。如果你专注于基准数据集和标准任务,PyTDC 可能是更好的选择。简单来说:做定制化研究选 TorchDrug,快速应用选 DeepChem。