技能torchdrug
T

torchdrug

用于分子和蛋白质的原生 PyTorch 图神经网络。用于构建药物发现、蛋白质建模或知识图谱推理的自定义 GNN 架构时使用。最适合自定义模型开发、蛋白质性质预测、逆合成。预训练模型和多样化特征提取器使用 DeepChem;用于基准数据集使用 pytdc。

TorchDrug - PyTorch 原生图神经网络药物发现工具箱

技能概述

TorchDrug 是一个基于 PyTorch 的全面机器学习工具箱,专门用于药物发现和分子科学研究,提供图神经网络、预训练模型和任务定义,支持分子、蛋白质和生物医学知识图谱的性质预测、建模、推理和生成。

适用场景

  1. 药物发现与分子优化

    • 预测分子的溶解度、毒性、活性等 ADMET 性质
    • 生成具有特定性质的新分子结构
    • 规划化学合成路线
    • 进行先导化合物优化和多目标药物设计
  2. 蛋白质建模与功能预测

    • 从蛋白质序列预测酶功能和亚细胞定位
    • 基于 3D 结构预测蛋白质稳定性和相互作用
    • 集成 AlphaFold 和 ESM 预测结构进行下游分析
    • 预测蛋白质-蛋白质相互作用和结合亲和力
  3. 生物医学知识图谱推理

    • 在 Hetionet 等生物医学知识库中进行链接预测
    • 发现药物重定位机会和疾病机制
    • 基因-疾病关联预测
    • 多跳医学推理和知识发现

核心功能

  1. 分子性质预测

    • 提供 20+ 分子数据集(BBBP、HIV、Tox21、QM9 等)
    • 支持 GIN、GAT、SchNet 等多种 GNN 架构
    • 用于药物筛选、毒性检测和量子化学性质预测
    • 内置 scaffold 分裂策略以实现真实世界性能评估
  2. 蛋白质建模

    • 支持 15+ 蛋白质数据集和多种模型(ESM、ProteinBERT、GearNet)
    • 处理蛋白质序列和 3D 结构(PDB 文件)
    • 兼容 AlphaFold 和 ESM 预测结构
    • 提供序列模型和结构模型的统一接口
  3. 分子生成与逆合成规划

    • 自回归生成和强化学习驱动的 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。