Codar
下载

生成式分子设计与先导优化

生成式分子设计不从现成化合物库里挑,而是让模型按设定目标直接产生新结构。常见两类思路:基于配体的生成从已知活性分子的化学空间出发,产出相似但不同的分子,适合先导优化;基于口袋的生成在蛋白结合位点的几何约束下直接生成分子,适合骨架跃迁或从头设计。两类方式都需要一个打分函数来定义什么叫好分子——通常是活性预测、对接得分、ADMET 性质和可合成性的组合。生成式方法真正的难点不在生成本身,而在打分函数的设计:优化目标写得稍有疏漏,模型就会产出得分很高却毫无意义的结构。

什么时候用

  • 已有活性骨架,想在保留核心结构的前提下批量产生类似物
  • 需要骨架跃迁,绕开已有专利或改善某个性质瓶颈
  • 希望在活性之外同时优化溶解度、代谢稳定性等多个目标
  • 有口袋结构,想在几何约束下从头生成候选分子
  • 需要为某个取代位点枚举片段,再按打分排序
  • 想扩展一个化学系列的 SAR 探索范围

不适合的情况

  • 打分函数不可靠时追求高得分:模型会专门找打分函数的漏洞
  • 希望直接得到可进临床的分子:生成结果仍需合成、测活和多轮优化
  • 数据极少且无靶点结构:既无活性模型也无几何约束,生成缺少方向

需要准备的数据

起始分子或骨架
SMILES 形式的活性分子、需保留的骨架或片段;用骨架约束时标明可修饰的连接位点
打分函数定义
各目标项及其阈值与权重,如活性预测、对接得分、QED、可合成性、分子量上限
活性预测模型或靶点结构
基于配体时需训练好的 QSAR 模型;基于口袋时需蛋白结构和已定义的结合位点坐标
结构过滤规则
需排除的子结构(PAINS、反应性基团、不稳定官能团)与性质范围约束
参考化合物集
已知活性分子与已有专利分子,用于评估生成结果的新颖性和相似度

分析步骤

  1. 1

    明确优化目标

    先把要解决的问题写成具体指标:是提高活性、改善溶解度、降低 hERG 风险,还是换骨架。目标写得含糊会导致打分函数含糊,生成结果无法评价。建议列出必须满足的硬约束和希望改善的软目标,分开处理。

  2. 2

    选择生成方式

    有明确骨架要保留时用骨架约束生成或片段生长,只在指定位点做修饰;要换骨架时用自由生成或基于口袋生成。约束越强,结果越可控但多样性越低;约束过松会产出大量偏离项目范围的结构。

  3. 3

    搭建打分函数

    把多个目标组合成一个打分:常见做法是对每项用分段函数映射到 0 到 1,再加权求和或取几何平均。几何平均对任一项很差的分子惩罚更重,不容易出现用一项极高分掩盖其他项不合格的情况。

  4. 4

    加入硬性过滤

    在打分之前先过滤:排除 PAINS 和已知反应性基团、限制分子量和可旋转键、要求可合成性在可接受范围。过滤放在打分前能避免模型把算力花在注定被淘汰的结构上,也防止这些结构污染排序。

  5. 5

    运行生成与迭代

    生成一批分子,打分,用高分样本引导下一轮(强化学习或迭代微调)。每轮记录得分分布和结构多样性。若得分快速上升但生成结构趋同,说明模型已收敛到某个局部区域,应提高多样性惩罚或重启。

  6. 6

    检查打分是否被钻空子

    把得分最高的几十个分子画出来人工看。典型的漏洞信号是:出现大量长链、重复基团、异常多的卤素或超大环,这些结构往往只是让某个描述符取极值。发现这种情况要回去修打分函数,而不是继续加轮次。

  7. 7

    去重与聚类

    按规范 SMILES 去重,再按骨架或指纹聚类,每簇挑代表分子。生成结果里大量近似重复很常见,不聚类直接取前列会得到同一个结构的多个琐碎变体,浪费后续评估名额。

  8. 8

    可合成性与路线核查

    对入选分子做逆合成路线检查,确认能用可购原料在可接受步数内做出来。可合成性打分只是粗筛,真正决定能否推进的是是否找到路线以及关键原料的可得性。

关键参数与决策

打分项的权重与组合方式

加权求和允许某项极高分补偿其他项,几何平均或乘积要求各项都达标。先导优化阶段通常需要全部达标,宜用乘积型组合;探索阶段可以放宽。权重设定后要用已知分子验证排序是否符合预期。

多样性约束

生成过程中若不惩罚相似结构,模型会反复输出同一区域的分子。常用做法是对与已产出分子相似度过高的样本降低奖励,或限制同一骨架的产出数量。约束太强则会牺牲得分,需要折中。

性质硬约束范围

分子量、cLogP、TPSA、可旋转键数、氢键供受体数的上下限要按项目类型设定,口服小分子与其他给药方式差别很大。范围设得太宽会让生成结果偏离可成药空间,太窄会压缩可探索的化学空间。

骨架约束与修饰位点

明确哪些原子必须保留、哪些位点可改。位点开放越多,组合空间越大,结果越难控制。实践中常一次只开放一到两个位点,分轮推进,便于把活性变化归因到具体修饰。

每轮生成数量与轮次

单轮样本量太小会让奖励信号噪声大,太大则每轮耗时长。轮次过多容易过度优化打分函数。建议固定一个中等样本量,监控得分分布与多样性,二者同时恶化时停止。

常见错误

  • 完全信任打分函数:模型会找到让打分极高而化学上不合理的结构,这是生成式方法最常见的失败模式。
  • 用对接得分当唯一目标:结果常是分子量很大、能填满口袋的油腻分子,实际溶解度和选择性都不可用。
  • 不做子结构过滤:生成结果里混入反应性基团和干扰筛选的 PAINS 结构,后续实验得到假阳性。
  • 忽略可合成性:得分最高的一批分子常常无法在合理步数内合成,等于白跑一轮,优化方向也无法被实验检验。
  • 不去重不聚类就取前列:挑出的分子彼此只差一个甲基,信息量重复,浪费合成与测试资源。
  • 不检查与已有专利分子的相似度:生成出落在他人保护范围内的结构,后续推进受限,发现得越晚返工代价越大。

结果怎么看

得分分布随轮次变化

看各轮得分的中位数与分布宽度。健康的优化是中位数上升而分布仍有宽度;若分布迅速收窄成一条窄峰,说明已坍缩到单一结构区域,此时继续迭代不会带来新信息。

生成分子属性分布

把分子量、cLogP、TPSA、可旋转键的分布与参考活性分子集对比。生成分子整体漂向更大更亲脂的区域是典型的打分函数缺陷信号,需要补上性质惩罚项。

候选分子列表

每行一个分子,含结构、各打分项数值、与最近已知活性分子的相似度、可合成性或是否找到合成路线。应逐个看结构图,纯看数值挑分子几乎一定会挑进不合理结构。

多样性与新颖性指标

常看有效性(能被正确解析的比例)、唯一性、相对训练集的新颖性和集合内平均相似度。新颖性极高但有效性或可合成性很低,说明模型在生成训练分布之外的无意义结构。

骨架聚类概览

按骨架聚类后看簇数与各簇大小。少数几个大簇说明探索不足;若希望骨架跃迁,应关注那些与起始骨架差异大且仍满足全部硬约束的小簇。

和相近方法怎么选

生成式设计与虚拟筛选

虚拟筛选在已有化合物库里挑,命中分子多数可以直接购买,推进快,但受库的覆盖限制;生成式设计可以产出库里不存在的结构,化学空间更大,代价是每个分子都要自己合成,且需要额外的可合成性把关。资源有限时先做筛选,遇到专利或性质瓶颈再转生成。

基于配体生成与基于口袋生成

基于配体的生成依赖已知活性分子,产出与起始系列相近的结构,适合优化;基于口袋的生成只需蛋白结构,能提出全新骨架,但受对接或结合预测准确性限制,假阳性比例更高。有可靠活性数据时前者更稳,缺数据而结构清楚时用后者。

生成式设计与人工类似物设计

人工设计一次只能提出少量分子,但每个都考虑了合成路线、专利和机制;生成式方法可以在短时间内枚举大量变体,覆盖人想不到的组合。当前可行的分工是用模型扩大候选池,由化学家判断哪些值得合成。

常见问题

生成的分子真的能合成吗

不一定。可合成性打分只是基于子结构复杂度的粗略估计,真正的判断要靠逆合成路线搜索:看能否在可接受步数内用可购原料拆到底。实践中建议把路线搜索直接作为筛选的一环,没有找到路线的分子不进入合成名单。

打分函数被钻空子怎么识别和解决

识别方式是把高分分子画出来看:如果反复出现长链、重复片段、异常多的卤素或超大环,就是模型在让某个描述符取极值。解决办法包括给这些特征加惩罚、改用乘积型组合使任一项不合格就整体失分、加入硬性性质范围和子结构过滤,而不是继续增加训练轮次。

生成式设计需要多少活性数据

取决于路线。基于口袋的生成不需要活性数据,但需要可靠的结构和结合位点;基于配体的优化需要足够的数据来训练活性预测模型,数据越少,打分函数越不可信,这时应降低对活性项的权重,更多依赖性质和结构约束,把生成当作扩展探索范围的工具。

生成的分子怎么挑出去做实验

常见流程是:硬约束过滤,去重后按骨架聚类,每簇取代表,再核查与已知活性分子和专利分子的相似度、逆合成路线是否成立、ADMET 预测有无明显红灯,最后由化学家逐个看结构。最终名单应覆盖多个骨架,而不是同一结构的若干微小变体。

在 Codar 里怎么做

在生信模式里说明起始骨架、优化目标和约束,Codar 会先确认打分函数的组成,再运行生成式分子设计与 ADMET 优化,或从靶点出发走靶点到先导化合物发现的流程,交付候选分子列表与结构图、各打分项数值、属性分布对比、骨架聚类概览和可复现脚本。

可以这样提问
这是我的先导化合物 SMILES,核心骨架要保留,想在两个取代位点上生成类似物,目标是降低 logP 并保持预测活性,给我按多目标打分排序的前 30 个分子。
了解AI 药物发现插件