4. 目标定义与约束建模
在生成式分子设计项目中,真正决定模型“往哪里走”的并不是生成算法本身,而是目标函数与约束条件的工程化表达。一个分子是否值得被推荐,往往同时取决于活性、选择性、药代动力学性质、毒性风险以及合成可及性。如果这些维度只停留在口头描述,模型就无法稳定地朝正确方向搜索。因此,本节的核心任务是把模糊的“好分子”翻译成可计算、可加权、可约束的工程对象。
一、从“好分子”到可计算目标
多目标优化首先要解决的是目标定义问题。假设我们关注五个维度:靶点活性(pIC50)、选择性(对脱靶靶点的差值)、口服暴露(AUC 或 Cmax)、hERG 抑制风险(IC50 或概率)、合成可及性(SAscore)。每个维度都需要明确三件事:方向(越大越好还是越小越好)、量纲(原始单位或归一化区间)、阈值(可接受边界)。例如 pIC50 越大越好,SAscore 越小越好,hERG 概率越小越好。方向不统一会导致加权求和时相互抵消,因此工程上通常先把所有目标统一为“收益型”或“代价型”。
常见做法是构造一个综合评分:
Score = w1 * f1(pIC50) + w2 * f2(selectivity)
- w3 * g1(hERG_risk) - w4 * g2(SAscore)
+ w5 * h(AUC_pred)
其中 f、g、h 是归一化或分段映射函数。权重不是拍脑袋决定的,而应来自项目阶段:先导发现阶段可能更重视活性与新颖性,先导优化阶段则更重视 ADMET 与合成可行性。权重变化会直接改变推荐分子的排序,因此建议把权重作为显式配置项,而不是硬编码在模型内部。
二、药代动力学约束的工程化表达
药代动力学(PK)约束通常包括吸收、分布、代谢、排泄几个层面。工程上不必一开始就做完整 PBPK 模型,而是先用可计算的代理指标:脂水分配系数 logP、拓扑极性表面积 TPSA、氢键供体数 HBD、分子量 MW、血浆蛋白结合率预测值、CYP450 代谢稳定性预测值。这些指标可以组合成“类药性”约束区间。例如口服药物常见经验区间为:MW ≤ 500、logP 在 1~4、TPSA ≤ 120、HBD ≤ 5。它们不是绝对真理,但可以作为硬约束或软惩罚项。
更工程化的做法是把 PK 约束写成不等式组:
200 ≤ MW ≤ 500
1.0 ≤ logP ≤ 4.0
TPSA ≤ 120
HBD ≤ 5
CYP3A4 代谢概率 ≤ 0.6
血浆蛋白结合率 ≤ 0.95
在生成模型中,这些约束可以转化为过滤规则、惩罚项或条件生成标签。过滤规则简单但容易导致生成空间过窄;惩罚项更平滑,适合梯度优化;条件生成则把约束作为输入条件,让模型直接学习满足约束的分布。
三、毒性与合成可及性约束
毒性约束通常分为结构警示和预测模型两类。结构警示包括 PAINS、Brenk 警示、反应性基团等,适合作为硬过滤;预测模型如 hERG、肝毒性、致突变性则输出概率或类别,适合作为软约束。合成可及性方面,SAscore 是最常用的快速指标,取值通常在 1~10,越低越易合成。工程上可设定 SAscore ≤ 4 为可接受,4~6 为警告,大于 6 为拒绝。
需要注意的是,毒性和合成可及性往往与活性存在冲突。强行提高活性可能引入反应性基团或增加合成难度。因此,多目标优化不是把所有约束都设为硬边界,而是分层处理:硬约束用于不可接受的毒性或法规红线,软约束用于可权衡的性质。这样模型才能在可行域内寻找帕累托前沿,而不是被单一目标锁死。
四、工程实现中的关键细节
把上述逻辑落到代码时,建议采用“配置驱动”的方式。目标权重、约束阈值、归一化区间都放在 YAML 或 JSON 配置中,模型只负责读取和执行。这样可以在不重新训练模型的情况下调整优化方向。例如:
objectives:
pIC50: {weight: 0.30, direction: max, range: [4, 9]}
selectivity:{weight: 0.20, direction: max, range: [0, 3]}
AUC: {weight: 0.15, direction: max, range: [0, 100]}
hERG: {weight: 0.20, direction: min, range: [0, 1]}
SAscore: {weight: 0.15, direction: min, range: [1, 10]}
hard_constraints:
PAINS: false
mutagenic: false
SAscore_max: 6.0
soft_constraints:
logP: {range: [1, 4], penalty: 0.1}
TPSA: {max: 120, penalty: 0.05}
CYP3A4: {max: 0.6, penalty: 0.1}
在每一轮生成后,先执行硬约束过滤,再计算软约束惩罚,最后按综合评分排序。如果候选集过小,说明硬约束过紧,可以适当放宽;如果候选集很大但质量不高,说明软约束权重需要调整。这个反馈循环本身就是多目标优化的一部分。
五、结果判读与迭代
评估优化结果时,不能只看综合评分最高的分子,还要看帕累托前沿的分布。如果前沿集中在少数几个骨架,说明多样性不足;如果前沿分散但评分普遍偏低,说明约束过严或权重失衡。一个实用的检查方法是:分别统计硬约束通过率、软约束平均惩罚、各目标维度的分布区间,并与项目初始设定对比。若某一维度长期触边,说明该约束可能过于苛刻,需要重新校准。
最终,目标定义与约束建模不是一次性任务,而是伴随项目全程的迭代过程。随着实验数据回流,PK 预测模型和毒性预测模型会更新,约束阈值和权重也应随之调整。把这一套逻辑工程化、配置化,才能让生成式分子设计从“能生成”走向“生成有用的分子”。