<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Orchestra (FO3N)</title>
    <link>https://forum.sidereus-ai.com/Orchestra</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>MolSculptor Agent 使用教程，在对话中实现药物分子设计</title>
      <description>&lt;h2 id="生成式药物设计 与 MolSculptor 简介"&gt;生成式药物设计 与 MolSculptor 简介&lt;/h2&gt;
&lt;p&gt;生成式药物小分子设计是利用人工智能（AI）技术，自动生成具有潜在药用价值的小分子结构的前沿方法。通过深度学习模型（如变分自编码器、生成对抗网络、扩散模型等），系统可在庞大的化学空间中探索并设计满足特定药理需求的分子，显著加速新药研发进程。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/egg5154/MolSculptor" rel="nofollow" target="_blank" title=""&gt;MolSculptor&lt;/a&gt; 是由北京大学高毅勤教授课题组开发的多目标药物分子设计与优化工具，可以兼顾多靶点抑制剂设计与选择性抑制剂设计，并兼容药物设计中常用的评估性质（类药性 QED / 可合成性 SA 等）。&lt;/p&gt;

&lt;p&gt;目前，MolSculptor Agent 已经集成到平台之中，本教程将介绍如何通过 MolSculptor Agent 实现复杂的药物分子设计任务。通过对设计任务进行拆分，我们可以分为下面几步：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;下载目标靶点的 PDB 文件，进行清洗，去除掉水分子、离子以及非标准残基；&lt;/li&gt;
&lt;li&gt;将清洗好的 PDB 文件转换为 pdbqt 格式，随后生成 docking 脚本；&lt;/li&gt;
&lt;li&gt;确认设计任务类型（从头设计 / 分子优化），对于先导化合物优化任务需要生成先导分子输入文件；&lt;/li&gt;
&lt;li&gt;运行加噪 - 去噪测试（仅针对分子优化任务），获得合适的噪声范围；&lt;/li&gt;
&lt;li&gt;执行设计任务；&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="MolSculptor 设计步骤"&gt;MolSculptor 设计步骤&lt;/h2&gt;
&lt;p&gt;接下来，我们将以 JNK3/GSK3beta 体系（PDB ID: 3OY1 / 6Y9S）双抑制剂的分子优化任务为例，详细介绍这几步应该如何实现。&lt;/p&gt;
&lt;h2 id="1. PDB 文件下载与清洗"&gt;1. PDB 文件下载与清洗&lt;/h2&gt;
&lt;p&gt;这一步您可以上传已经下载好的靶点 PDB 文件，或者按照下面的步骤下载并清理 PDB 文件。&lt;/p&gt;

&lt;p&gt;首先，告诉智能体需要下载的 PDB ID 名称：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/8214e0bc-c91a-412e-9a29-6a141d310a3c.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/d4c7415e-48a5-4f50-b0c6-8ebbbc823b4d.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;请注意，这里需要分别对两个蛋白质进行清洗，不建议用一次指令让 Agent 清洗所有的 PDB 文件，如：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;（不推荐）请帮我清洗 3OY1 和 6Y9S 的 PDB 文件；&lt;/li&gt;
&lt;li&gt;（推荐）请帮我清洗 3OY1 的 PDB 文件；（等待 3OY1 清洗完成后）请帮我清洗 6Y9S 的 PDB 文件；&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="2. PDB 转换为 PDBQT 并生成 docking 脚本"&gt;2. PDB 转换为 PDBQT 并生成 docking 脚本&lt;/h2&gt;
&lt;p&gt;在获得清洗后的 PDB 文件后，我们需要使用 &lt;code&gt;openbabel&lt;/code&gt; 将其转换为 PDBQT 文件并且加氢，这里我们可以直接令 Agent 执行加氢操作：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/7bf22379-333d-4d49-ad99-16a40bc102ab.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/eae0e73f-ff12-4fa8-b1fc-0fbb31bfcda1.png?x-oss-process=image%2Fresize%2Cw_1920" height="200px" alt=""&gt;     &lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/a8b29a1c-2fab-4cdf-9611-168f54575194.png?x-oss-process=image%2Fresize%2Cw_1920" height="200px" alt=""&gt;&lt;/p&gt;
&lt;h2 id="3. 确认任务类型，并且生成起始输入文件"&gt;3. 确认任务类型，并且生成起始输入文件&lt;/h2&gt;
&lt;p&gt;在得到 docking 脚本后，我们需要告诉 Agent 执行的任务是分子优化任务（molecular optimization）还是从头设计（de novo design）。这里我们执行的是分子优化任务，所以需要根据提示，向 Agent 提供起始分子的 SMILES 编码，Agent 会根据此编码生成优化程序的起始输入文件。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/c5259d70-5e81-408a-bdde-a31cd61ec837.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/e1e7e4db-0fc6-4fd8-9c84-1c55424a826b.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;需要注意的是，这里需要告诉 Agent，我们的两个靶点都是 on-target（需要增加亲和力的靶点）。&lt;/p&gt;

&lt;p&gt;对于从头设计任务，我们只需要告诉程序 on-target 和 off-target 与靶点的对应关系，不需要上传起始分子的 SMILES。&lt;/p&gt;
&lt;h2 id="4. 加噪去噪测试（仅针对分子优化任务！）"&gt;4. 加噪去噪测试（仅针对分子优化任务！）&lt;/h2&gt;
&lt;p&gt;在 MolSculptor 的分子优化任务中，扩散时间（diffusion timestep）是一个重要的超参数，决定了程序总体的优化效率。通过加噪去噪测试，我们可以比较迅速地确认扩散时间的合理范围。&lt;/p&gt;

&lt;p&gt;我们可以直接令 Agent 执行加噪去噪测试：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/53e13f22-9e5a-4241-a8c7-adfadff5037d.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;如果测试成功，会得到下面的输出结果：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/43d95cbd-21ac-4aea-8da2-45733c6df6d9.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;随后，我们可以令 Agent 对结果进行统计分析：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/ab024512-2739-4bda-8995-0d4422c1b39c.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/13bf1cb1-33a5-45e6-9205-2db71572f473.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这里横坐标为扩散时间，可以发现扩散时间为 0 时，重构准确率为 1，说明程序可以学习到起始分子的特征。如果扩散时间为 0 时重构准确率较低，则表明 MolSculptor 可能还无法胜任当前起始分子的优化任务。&lt;/p&gt;

&lt;p&gt;接下来我们来看分子相似性：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/5ded6191-9787-4a34-aa1c-933e8e0fef62.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这里可以发现随着扩散时间的增加，分子相似性逐渐减少。在后续优化任务中，我们希望优化得到的分子和初始分子的相似性在 0.4 以上，因此根据该箱线图，我们可以选择扩散时间的范围在 70 到 90 之间。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：对于&lt;strong&gt;从头设计&lt;/strong&gt;任务，我们需要告诉 Agent 扩散时间的最小值，这个值不便于通过前序实验确定，用户可自由进行设置（注意，在 0 到 500 之间）。我们推荐用户尽量设置扩散时间的最小值不要大于 100。&lt;/p&gt;
&lt;h2 id="5. 执行设计任务，输出结果"&gt;5. 执行设计任务，输出结果&lt;/h2&gt;
&lt;p&gt;接下来，我们需要令 Agent 执行 MolSculptor 的主程序，MolSculptor 所采用的是多目标遗传算法，需要让 Agent 确认如下超参数：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;种群大小：对于测试任务，推荐 16 以下，对于正式运行，推荐 128 ~ 256；&lt;/li&gt;
&lt;li&gt;子代个数：对于测试任务，推荐 1 ~ 2，对于正式运行，推荐种群大小 * 子代个数小于等于 1024；&lt;/li&gt;
&lt;li&gt;总共优化轮次：对于测试任务，推荐小于 5，对于正式运行，推荐 15 ~ 30；&lt;/li&gt;
&lt;li&gt;衰减轮次（仅从头设计任务提供）：小于优化轮次即可；&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;此外，我们还可以向 MolSculptor 提供如下约束性质，使设计得到的分子保留一些良好的特性：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;类药性（QED），我们设定最小值为 0.5；&lt;/li&gt;
&lt;li&gt;可合成性（SA），我们设定最大值为 3.0；&lt;/li&gt;
&lt;li&gt;相似性（Sim），仅分子优化任务可以提供，这里我们设定其最小值为 0.4；&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我们将具体的参数设置告知 Agent，令其执行优化任务：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/1ec25894-6197-4e4d-b61a-d4bf2d443a7d.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/593b0cb5-fb32-46d0-b558-34b8b4b80b17.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;执行成功后，会得到如下输出：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/989bb57c-c64d-4a8c-932c-6f558605edd1.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;请注意，程序的执行时间与参数的设置非常相关，当种群大小 * 子代个数 = 1024，优化轮次 = 30 时，程序总耗时约 8 小时。&lt;/p&gt;

&lt;p&gt;程序会将优化过程中每一轮的分子，以及 docking 得分保存为 pickle 文件。我们也可以令 Agent 将输出文件提取为 csv 格式，但目前仅支持将最后的输出分子保存到 csv 中。优化中间过程产生的分子会被丢失。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/20e53990-ca16-4981-bf3d-efcfb1602768.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/b18b7d50-4494-40cf-9904-795c7b498139.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;最后，我们可以得到优化后的分子：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://homeland-peking.oss-cn-beijing.aliyuncs.com/photo/Orchestra/6c16cd59-14c0-4227-bbb3-af8b3bbd248a.png?x-oss-process=image%2Fresize%2Cw_1920" width="650px" alt=""&gt;&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;本教程主要在于展示使用 Agent 调用 MolSculptor 工具的调用过程。AI 有可能犯蠢，以下这些 Tips 可以帮助你提高成功率&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;重新对话：语言模型有时会产生幻觉以及理解错误，此时可以重新开始对话，并上传上一个对话中的中间文件，引导 Agent 继续进行任务；&lt;/li&gt;
&lt;li&gt;分步执行：可以给 Agent 更细致的指引，分步提示；&lt;/li&gt;
&lt;li&gt;告知文件位置：Agent 经常会“灾难性遗忘”，他有时候会忘记一些文件存在哪，这时候你可以提醒它一下；&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>Orchestra</author>
      <pubDate>Fri, 30 May 2025 07:50:18 +0000</pubDate>
      <link>https://forum.sidereus-ai.com/topics/12</link>
      <guid>https://forum.sidereus-ai.com/topics/12</guid>
    </item>
  </channel>
</rss>
