1. 项目启动
生成式分子设计并不是“让模型画几个分子结构”这么简单。它要解决的是在巨大的化学空间里,按给定约束快速找到可合成、可评估、可推进的候选分子。化学空间的理论规模常被估计在 1060 量级,而真实可及、可购买的化合物仅约 109。工程化的意义,就是把“模型能生成”转化为“项目能交付”:把目标性质、约束条件、评估口径、数据接口和验收标准固定下来,让生成、筛选、评估、迭代形成可复现的流水线。
本章作为全课程起点,先建立三个共识:工程化目标是什么、一个生成式分子设计项目通常交付什么、以及从靶点或需求到候选分子的全流程如何组织。后续章节会分别展开数据、模型、对接、性质预测、合成可行性与项目管理等细节。
一、工程化目标:从“能生成”到“可交付”
一个生成式分子设计项目的工程化目标,可以拆成四个可检验的维度。
- 有效性(Validity):生成的结构必须是化学上合法的分子。常用 RDKit 解析成功率衡量,工程上通常要求 >95%,否则后续所有评估都建立在噪声上。
- 新颖性(Novelty):候选不能只是训练集的复制。一般用与训练集的 Tanimoto 相似度衡量,例如要求最大相似度 <0.7,避免“记忆式生成”。
- 多样性(Diversity):一批候选之间要有结构差异,避免同一骨架反复出现。可用批次内平均成对 Tanimoto 距离或骨架聚类数衡量。
- 目标导向性(Goal-directedness):候选要满足项目设定的性质约束,如对接打分、logP、QED、溶解度、选择性等。这是最核心、也最难同时满足的维度。
这四个维度之间存在张力:一味追求新颖会牺牲有效性,一味追求目标性质会收敛到同一类骨架而损失多样性。工程化的关键,是把它们写成可量化的验收指标,而不是凭感觉判断“这批分子看起来不错”。
二、典型交付物
生成式分子设计项目的交付物不是单一模型文件,而是一组相互衔接的产物。常见交付物包括:
| 交付物 | 内容 | 验收要点 |
|---|---|---|
| 需求与约束说明 | 靶点、参考分子、目标性质、约束区间、优先级 | 约束可量化、可计算 |
| 数据集与数据卡 | 训练/验证/测试集、来源、清洗规则、分布统计 | 可追溯、无泄漏、有版本号 |
| 生成模型与配置 | 模型权重、超参数、随机种子、环境依赖 | 可复现生成同一批候选 |
| 候选分子库 | SMILES、性质预测值、对接结果、合成可行性 | 字段完整、可排序、可筛选 |
| 评估报告 | 有效性、新颖性、多样性、目标达成率 | 指标与验收口径一致 |
| 优先级清单 | Top-N 候选及推荐理由、风险提示 | 可直接进入下一阶段 |
其中“候选分子库”是核心资产。它通常以表格形式组织,每行一个分子,列包括:mol_id、smiles、valid、qed、logp、sa_score、docking_score、max_tanimoto_to_train、scaffold、rank。这张表既是模型输出,也是后续人工评审和实验排序的输入。
三、全流程概览
从工程视角看,生成式分子设计是一条“需求→数据→生成→筛选→评估→迭代”的闭环。下面这张图给出全流程的关键环节、输入输出与判断关系,便于在项目启动阶段对齐各方认知。
图中①到④是“生成侧”,⑤到⑥是“评估与交付侧”,虚线回路表示迭代。需要特别注意的是,判断节点“达标?”依据的是启动阶段确定的验收口径,而不是事后根据结果反推标准。这是工程化与探索式实验最本质的区别。
四、启动阶段的最小可执行动作
项目启动不需要等所有条件完美。建议先完成以下最小动作,让流程跑通一轮:
- 确定一个靶点或参考分子,写清目标性质与约束区间,例如“对接打分 ≤ -8.0 kcal/mol,logP 在 1~3,QED ≥ 0.6”。
- 准备一份小规模数据集(例如 5,000~20,000 个已知活性分子),完成清洗、去重和训练/验证/测试划分,并记录数据卡。
- 选择一个基线生成模型(如基于 SMILES 的 RNN 或预训练分子生成模型),固定随机种子,生成 1,000 个候选。
- 用 RDKit 计算有效性、QED、logP、SA 等字段,用对接工具计算打分,写入候选分子库。
- 按验收口径统计达标率,输出第一版评估报告和 Top-50 优先级清单。
这一轮跑通后,再逐步替换更强的模型、更准的评估工具和更大的数据集。工程化的价值在于:每一轮迭代都有可比较的指标和可追溯的记录,而不是每次从头开始。