跳转到正文

TorchDrug

TorchDrug Team

TorchDrug 是一个基于 PyTorch 的图与分子机器学习工具包,支持 SMILES 输入、图操作、性质预测构建模块以及多 CPU/GPU 执行。

条目更新 ·

概览

TorchDrug 是一个用于在 PyTorch 中开发基于图的药物发现工作流的机器学习工具箱。它提供数据表示、图操作、数据集、模型和任务组件,而非单一的预训练预测器。其文档所述用途是支持研究原型开发,并通过可复用的构建模块组装训练和推理工作流。

README 中展示的输入包括图的边列表和分子 SMILES 字符串。图可以移至 GPU,并提取节点诱导子图。分子对象提供原子类型和节点特征,并可生成骨架表示。用户也可以附加自定义节点、边或图属性;这些属性会在索引时得到处理,因此这些对象适用于需要额外注释的实验。

性质预测示例会加载 Tox21,创建训练、验证和测试子集,并将 GIN 模型连接到 PropertyPrediction 任务。Engine 组件支持 CPU、GPU 和分布式执行,而可选的 Weights & Biases 日志记录器可用于实验跟踪。源材料展示的输出包括分子特征、骨架和子图;预测行为取决于用户组装的任务和模型。

所提供的安装指南列出了 Python 3.7–3.10 和 PyTorch 的要求,并说明了 Windows 和 Apple silicon 的其他设置注意事项。指南明确指出不支持 mps 设备。虽然 README 链接到了基准测试,但来源摘录不包含基准测试结果,也未提供针对特定科学应用的预测准确性证据。

主要功能

  • 基于 PyTorch 的图操作,支持 GPU 加速和自动微分,包括提取节点诱导子图。
  • 从 SMILES 构建分子,支持默认原子和键特征、原子类型访问以及骨架转换。
  • 自定义节点、边和图属性;索引操作会自动处理这些属性。
  • 以 Tox21、GIN 和 PropertyPrediction 任务为例展示的数据集与建模组件。
  • Engine 接口支持使用单个或多个 CPU 和 GPU 进行训练与推理,包括分布式配置。
  • 通过 Weights & Biases 进行可选的实验日志记录。

使用场景

  • 建议的评估:使用文档所述的 GIN 和 PropertyPrediction 组件构建 Tox21 性质预测基线,然后在留出子集上评估。
  • 建议的评估:将有代表性的 SMILES 字符串转换为分子对象,并检查原子特征和骨架,以评估其在分子表示工作流中的用途。
  • 建议的评估:附加自定义图注释,并检查提取子图时是否保留预期属性。
  • 建议的评估:针对选定的训练工作流比较可用的 CPU 和 GPU 执行配置;来源摘录未证实存在任何加速效果。

使用方式

  1. 阅读仓库 README,并选择其中的 Conda、pip 或源码安装途径。检查所列的 Python 和 PyTorch 要求;如适用,请参阅 Windows 或 Apple silicon 说明。
  2. 参照文档选择图或分子表示。从小型边列表或有代表性的 SMILES 字符串开始,并在继续之前检查生成的特征。
  3. 结合 README 示例使用教程,探索子图、骨架和自定义属性。针对自己的注释检查索引行为。
  4. 以文档中的 Tox21、GIN 和 PropertyPrediction 示例为起点,组装性质预测工作流。根据预期评估方式划分训练、验证和测试子集。
  5. 根据可用的 CPU 或 GPU 资源配置 Engine,并可选择启用 Weights & Biases 日志记录。查阅所链接的基准测试以了解更多背景,然后独立评估预测质量和资源使用情况。

相关资源

DrugAgent 是一个研究型多智能体框架,它结合 LLM 规划与领域指导的代码生成,用于构建和评估药物发现领域的机器学习工作流。

分子性质预测 · 药物发现

Therapeutics Data Commons 提供治疗领域的机器学习数据集、Python 加载器、数据划分、评估指标和基准测试,供预测与分子生成研究使用。

开源Python

分子性质预测 · 药物发现

AIDDISON Explorer 是一个托管式药物发现平台,可根据目标特性要求、设计约束、预测属性和合成可行性生成并排序分子候选物。

分子生成 · 药物发现

AutoDock Vina

开源工具

AutoDock Vina 是一款开源分子对接与虚拟筛选程序,提供 Vina 和 AutoDock4.2 评分、多配体对接、大环分子支持及 Python 3 绑定。

开源Python

药物发现

Boltz

模型

Boltz 是生物分子相互作用预测模型家族;Boltz-2 提供复合物结构与结合亲和力预测流程。

开源Python

药物发现

ChemBERTa

模型

ChemBERTa 提供用于化学 SMILES 的类 BERT 模型,包括采用 RoBERTa 掩码语言建模的检查点,以及用于预训练、微调和分子性质预测研究的笔记本。

开源Python

分子性质预测

相关指南

工作流

AI 药物发现工具指南:Agent、MCP 与科研平台

按工作流程阶段选择工具:靶点证据、蛋白质结构、已知结合位点、分子生成、性质分析和筛选。比较研究智能体、MCP 集成、托管 API 与平台,并参考一个拟议的端到端示例和实用评估关卡。

模型

QM9 分子性质预测:如何正确评估

明确 QM9 目标和单位,区分分子图与几何输入,防止评估泄漏,并保留原始数据与处理过程的来源记录。