生成式药物小分子设计是利用人工智能(AI)技术,自动生成具有潜在药用价值的小分子结构的前沿方法。通过深度学习模型(如变分自编码器、生成对抗网络、扩散模型等),系统可在庞大的化学空间中探索并设计满足特定药理需求的分子,显著加速新药研发进程。
MolSculptor 是由北京大学高毅勤教授课题组开发的多目标药物分子设计与优化工具,可以兼顾多靶点抑制剂设计与选择性抑制剂设计,并兼容药物设计中常用的评估性质(类药性 QED / 可合成性 SA 等)。
目前,MolSculptor Agent 已经集成到平台之中,本教程将介绍如何通过 MolSculptor Agent 实现复杂的药物分子设计任务。通过对设计任务进行拆分,我们可以分为下面几步:
接下来,我们将以 JNK3/GSK3beta 体系(PDB ID: 3OY1 / 6Y9S)双抑制剂的分子优化任务为例,详细介绍这几步应该如何实现。
这一步您可以上传已经下载好的靶点 PDB 文件,或者按照下面的步骤下载并清理 PDB 文件。
首先,告诉智能体需要下载的 PDB ID 名称:

等待 PDB 文件下载完成后,我们可以通过 Agent 对 PDB 文件进行清洗,去除掉水分子、离子以及其他非标准残基,只保留蛋白质结构:

请注意,这里需要分别对两个蛋白质进行清洗,不建议用一次指令让 Agent 清洗所有的 PDB 文件,如:
在获得清洗后的 PDB 文件后,我们需要使用 openbabel 将其转换为 PDBQT 文件并且加氢,这里我们可以直接令 Agent 执行加氢操作:

在得到 PDBQT 文件后,我们可以让 Agent 对 3OY1 和 6Y9S 这两个靶点生成对应的 docking 脚本。需要注意的是,我们在这里需要向 Agent 提供立方体口袋位置的信息,这一点需要用户通过其他工具确定后上传给 Agent:

在得到 docking 脚本后,我们需要告诉 Agent 执行的任务是分子优化任务(molecular optimization)还是从头设计(de novo design)。这里我们执行的是分子优化任务,所以需要根据提示,向 Agent 提供起始分子的 SMILES 编码,Agent 会根据此编码生成优化程序的起始输入文件。


需要注意的是,这里需要告诉 Agent,我们的两个靶点都是 on-target(需要增加亲和力的靶点)。
对于从头设计任务,我们只需要告诉程序 on-target 和 off-target 与靶点的对应关系,不需要上传起始分子的 SMILES。
在 MolSculptor 的分子优化任务中,扩散时间(diffusion timestep)是一个重要的超参数,决定了程序总体的优化效率。通过加噪去噪测试,我们可以比较迅速地确认扩散时间的合理范围。
我们可以直接令 Agent 执行加噪去噪测试:

如果测试成功,会得到下面的输出结果:

随后,我们可以令 Agent 对结果进行统计分析:

这里会输出五张图片,分别展示了不同扩散时间下的有效性(validity),多样性(diversity),重构准确率(reconstruction accuracy),分子相似性(similarity)以及子结构保留率(substructure retain rate)。我们在这里主要关注重构准确率以及分子相似性,首先可以看到重构准确率:

这里横坐标为扩散时间,可以发现扩散时间为 0 时,重构准确率为 1,说明程序可以学习到起始分子的特征。如果扩散时间为 0 时重构准确率较低,则表明 MolSculptor 可能还无法胜任当前起始分子的优化任务。
接下来我们来看分子相似性:

这里可以发现随着扩散时间的增加,分子相似性逐渐减少。在后续优化任务中,我们希望优化得到的分子和初始分子的相似性在 0.4 以上,因此根据该箱线图,我们可以选择扩散时间的范围在 70 到 90 之间。
注意:对于从头设计任务,我们需要告诉 Agent 扩散时间的最小值,这个值不便于通过前序实验确定,用户可自由进行设置(注意,在 0 到 500 之间)。我们推荐用户尽量设置扩散时间的最小值不要大于 100。
接下来,我们需要令 Agent 执行 MolSculptor 的主程序,MolSculptor 所采用的是多目标遗传算法,需要让 Agent 确认如下超参数:
此外,我们还可以向 MolSculptor 提供如下约束性质,使设计得到的分子保留一些良好的特性:
我们将具体的参数设置告知 Agent,令其执行优化任务:


执行成功后,会得到如下输出:

请注意,程序的执行时间与参数的设置非常相关,当种群大小 * 子代个数 = 1024,优化轮次 = 30 时,程序总耗时约 8 小时。
程序会将优化过程中每一轮的分子,以及 docking 得分保存为 pickle 文件。我们也可以令 Agent 将输出文件提取为 csv 格式,但目前仅支持将最后的输出分子保存到 csv 中。优化中间过程产生的分子会被丢失。


最后,我们可以得到优化后的分子:

本教程主要在于展示使用 Agent 调用 MolSculptor 工具的调用过程。AI 有可能犯蠢,以下这些 Tips 可以帮助你提高成功率