1. 引言:什么是分子生成?为什么需要质量评估?
大家好,我是做计算化学和机器学习交叉研究的。这几年分子生成这个话题是真火——从药物发现到材料设计,到处都在提。但说实话,我入行那会儿,大家更多是「生成出来就行」,对质量评估这事重视不够。直到我在一个项目里吃过亏,才彻底改变看法。
1.1 分子生成到底在干什么?
分子生成,说白了就是用算法「创作」新分子。传统方法靠化学家在实验室里一个一个试,或者用计算机枚举类似物。现在深度学习来了,我们可以训练一个模型,让它学会化学空间里的规律,然后自动产出大量候选分子。
举个例子:你想找一种新的抗生素。你可以把已知的抗菌分子结构喂给生成模型,模型会学习这些分子的骨架、官能团、电荷分布等特征。训完后,你给它一个「目标活性」或者「要抑制的靶点」,它就能噼里啪啦生成几千个理论上可行的分子结构。
听起来很美好对吧?但问题来了——你怎么知道这些分子靠谱不靠谱?
1.2 为什么质量评估是绕不过去的坎
我记得有一次,我们团队用生成模型跑了十万个分子,看上去个个结构新颖、满足合成可行性。结果一测活性,90%都是假阳性。嗯,那个月我基本都在洗数据。你想想看,如果不做质量评估,直接往下游推进,实验经费、人力全白搭。
质量评估要回答这几个核心问题:
- 有效性(Validity):生成的分子化学上合理吗?有没有违背价键规则?
- 新颖性(Novelty):它是不是真的「新」,还是仅仅在重复已知分子?
- 多样性(Diversity):生成的一批分子彼此之间差异够大吗?还是都长差不多?
- 可合成性(Synthesizability):实验室里能不能造出来?
- 目标相关性(Relevance):它有没有我们想要的生物活性或物理性质?
这些维度不是互斥的,它们经常相互冲突。比如,新颖的分子往往合成难度高;活性高的分子可能多样性不够。好评估方法,要能帮你在这些目标之间找到平衡。
1.3 一个真实案例:为什么我从此不敢跳过评估
我曾经参与过一个合作项目,甲方要求用生成模型设计新型激酶抑制剂。我们模型跑出来一万多个候选,结构五花八门。当时觉得「嗯,看起来不错」,直接给甲方交付了 top-100 列表。结果对方拿去做虚拟筛选,发现一半以上分子连基本的氢键供体/受体数目都不对劲——根本不符合利平斯基五规则。
那次之后我学乖了:生成质量评估不能最后才做,而应该在模型训练、采样、后处理各个阶段都加入检查。至少加个基本的有效性滤波器,也能拦下 30% 的无用分子。
1.4 本书要讲什么?一张图先看全貌
这本指南会从最基本的概念开始,一步步深入每个质量指标的定义、计算公式、优缺点以及实际使用场景。下面这张图是我们整本书的知识架构,你先有个整体印象:
1.5 你会在本书中学到什么?
这不是一本纯理论书。我个人习惯把每个指标都落到代码可执行的层面。比如:
- 有效性:怎么用 RDKit 快速检查分子价键合法性?
- 新颖性:如何定义「新颖」?用 Tanimoto 相似度还是用专利数据库去重?
- 多样性:用平均 pairwise Tanimoto 还是用聚类中心距离?优缺点是什么?
- 可合成性:SA Score 是怎么算出来的?能不能自己实现一个简化版?
- 目标相关性:怎么结合对接打分和药效团匹配做综合评估?
每个章节都会给出公式推导、图解说明、Python 实现示例以及需要注意的坑。我还会穿插一些项目中的踩坑记录,让你少走弯路。
先从有效性和新颖性这两个基础指标开始,跑通 pipeline 后再加上多样性和可合成性。目标相关性需要具体项目背景,可以放在最后。
1.6 质量评估的核心公式一览(预告)
这里我先列一个快速索引表,每个公式在后续章节都会有展开讲解和代码实现:
| 指标 | 核心公式 / 定义 | 典型阈值 | 常用工具 |
|---|---|---|---|
| 有效比率 (Valid Ratio) | 通过 RDKit 解析的分子数 ÷ 总生成分子数 | > 80% | RDKit MolFromSmiles |
| 新颖性比率 (Novelty Ratio) | 不在训练集中的分子数 ÷ 有效分子数 | > 70% | 指纹库 / 数据库查重 |
| 内部多样性 (Internal Diversity) | 1 - average pairwise Tanimoto | > 0.4 | RDKit DataStructs |
| SA Score (合成可及性) | 基于片段贡献的回归分数 (1-10) | < 4 (容易合成) | SA_Score 或自定义 |
| FCD (Fréchet ChemNet Distance) | ChemNet 隐藏层特征的 Fréchet 距离 | < 1.0 | FCD 包 |
| QED (定量类药性) | 多参数加权组合 (0-1) | > 0.5 | RDKit QED |