TorchDrug 是一个基于 PyTorch 的药物发现与分子科学机器学习工具箱,围绕图神经网络、预训练模型与任务定义,处理分子、蛋白质和生物知识图谱等数据类型,面向分子性质预测、蛋白质建模、知识图谱推理、分子生成与逆合成规划等场景,提供 40+ 精选数据集和 20+ 模型架构。
主要能力:一是分子性质预测,从结构预测化学、物理与生物性质,如成药性、ADMET、毒性筛选、量子化学性质与结合亲和力,使用 BBBP、HIV、Tox21、QM9 等数据集及 GIN、GAT、SchNet 等模型,配合 PropertyPrediction、MultipleBinaryClassification 任务。二是蛋白质建模,处理序列、结构与性质,包括酶功能、稳定性与溶解度、亚细胞定位、蛋白互作与结构预测,涉及 EnzymeCommission、GeneOntology、PDBBind 等数据集及 ESM、ProteinBERT、ProteinLSTM、GearNet、SchNet 等模型。三是知识图谱推理,预测生物知识图谱中缺失链接,用于药物重定位、疾病机制发现、基因-疾病关联与多跳推理,数据集含 FB15k、WN18、Hetionet,模型含 TransE、RotatE、ComplEx,任务为 KnowledgeGraphCompletion。四是分子生成,支持从头设计、先导优化与化学空间探索,包含自回归生成、GCPN、GraphAutoregressiveFlow 等。五是逆合成,基于 USPTO-50k 数据集的 CenterIdentification 与 SynthonCompletion,构建端到端合成路线规划。此外提供 GCN、GAT、GIN、RGCN、MPNN、SimplE 等 GNN 模型目录。
使用方式:安装命令为 uv pip install torchdrug,完整依赖为 uv pip install torchdrug[full]。典型用法是加载数据集(如 datasets.BBBP)并划分训练/验证/测试集,定义 GNN 模型(如 GIN),创建任务(如 PropertyPrediction)后使用 PyTorch 的优化器与 DataLoader 训练。可与 RDKit 互转分子对象,与 AlphaFold、ESM 集成加载蛋白质结构,也可包装为 PyTorch Lightning 模块。
限制:资料未提供具体的性能基准、收费与许可信息。使用时需注意维度匹配(model.input_dim 与 dataset.node_feature_dim)、分子任务建议使用 scaffold 划分、大图内存占用需调小批次或梯度累积、生成分子需有效性约束与 RDKit 后处理验证。官方文档为 https://torchdrug.ai/docs/,代码仓库为 https://github.com/DeepGraphLearning/torchdrug。