4. 分子描述符与特征工程
在药物分子性质预测中,模型真正“看到”的并不是分子结构式,而是一组数值化的描述符。特征工程的质量,往往比换一个更复杂的算法更能决定预测上限。本节围绕四类核心特征——理化描述符、拓扑描述符、药效团特征,以及特征选择与降维策略——说明它们各自刻画什么、如何计算、在建模中如何取舍。
一、理化描述符:直接对应成药性质
理化描述符来自分子本身的物理化学属性,与吸收、分布、代谢、排泄和毒性高度相关,是性质预测中最先被使用的一类特征。常见的有:分子量(MW)、脂水分配系数(logP)、拓扑极性表面积(TPSA)、氢键供体数(HBD)、氢键受体数(HBA)、可旋转键数(RotB)、芳香环数、pKa、溶解度等。它们大多可由 RDKit 等工具直接计算。
以经典的“类药五规则”为例,MW≤500、logP≤5、HBD≤5、HBA≤10 是口服成药性的经验边界。这些描述符不仅可作为模型输入,也可作为数据过滤条件。例如在构建训练集时,先剔除 MW>800 或 RotB>15 的分子,可减少极端样本对模型的干扰。
from rdkit import Chem
from rdkit.Chem import Descriptors, Crippen, rdMolDescriptors
mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O") # 阿司匹林
mw = Descriptors.MolWt(mol) # 180.16
logp = Crippen.MolLogP(mol) # 1.31
tpsa = rdMolDescriptors.CalcTPSA(mol) # 63.60
hbd = rdMolDescriptors.CalcNumHBD(mol) # 1
hba = rdMolDescriptors.CalcNumHBA(mol) # 4
rotb = rdMolDescriptors.CalcNumRotatableBonds(mol) # 3
理化描述符的优点是物理意义明确、可解释性强;缺点是数量有限,难以区分结构相似但活性差异明显的分子。因此需要拓扑描述符补充结构信息。
二、拓扑描述符:从连接关系编码结构
拓扑描述符只依赖分子的原子连接关系,不考虑三维构象。它把分子抽象为图:原子是节点,化学键是边。常见的拓扑描述符包括:
- 分子指纹:如 Morgan/ECFP 指纹,以每个原子为中心,按半径逐层扩展并哈希成固定长度位向量(如 2048 位)。ECFP4 表示半径 2,能捕捉局部子结构。
- MACCS 键:166 位预定义子结构模式,每一位对应一个 SMARTS 规则是否命中,可解释性好。
- 拓扑指数:如 Wiener 指数(所有原子对距离之和)、Randić 连接性指数、Balaban J 指数,用单一数值概括分子形状与分支程度。
- 图论描述符:度分布、环数、最短路径统计等。
指纹类描述符维度高、稀疏,适合树模型和相似性搜索;拓扑指数维度低,适合线性模型或作为补充特征。实际建模中常把 ECFP4(2048 位)与几十个理化描述符拼接,形成混合特征矩阵。
三、药效团特征:面向相互作用的关键要素
药效团描述的是分子与靶点结合所必需的空间和化学特征组合,通常包括氢键供体、氢键受体、芳香环、疏水中心、正/负电中心,以及它们之间的距离和角度约束。与拓扑描述符不同,药效团特征更关注“能否与靶点形成关键相互作用”,对骨架跃迁(scaffold hopping)更鲁棒。
在特征工程中,药效团可以两种方式使用:一是用 Pharm2D 指纹(如 Gobbi 指纹)把药效团模式编码为位向量;二是用 3D 药效团匹配打分作为特征。对于仅有 2D 结构的场景,常用基于 SMARTS 的药效团计数特征,例如统计分子中“芳香环-氢键受体-疏水中心”三元组的数量。
四、特征选择与降维:控制维度与共线性
把上述特征拼接后,维度可能达到数千。高维会带来过拟合、训练慢和共线性问题。常用策略分两类:
特征选择保留原始特征子集,可解释性好。常用方法有:
- 方差过滤:删除取值几乎不变的位(如指纹中命中率<1% 的位)。
- 相关性过滤:对理化描述符计算 Pearson 相关系数,|r|>0.95 时保留其一。
- 基于模型的选择:用随机森林或 Lasso 得到特征重要性,保留 Top-K。
- 递归特征消除(RFE):反复训练并剔除最弱特征。
降维把特征映射到低维空间,牺牲部分可解释性换取紧凑表示。主成分分析(PCA)是最常用的线性方法;对于指纹类高维稀疏数据,也可用 TruncatedSVD。需要强调的是,PCA 必须在训练集上拟合,再变换验证集和测试集,否则会造成信息泄漏。
五、实操建议与常见陷阱
第一,先做数据划分,再做特征工程。任何依赖全体数据的操作(标准化、PCA、特征选择)都只能在训练集上拟合,再应用到验证集和测试集。否则交叉验证分数会虚高。
第二,理化描述符要标准化。MW 在数百量级,而 HBD 只有个位数,若不标准化,距离类模型和正则化模型会被大量纲特征主导。树模型对此不敏感,可省略。
第三,指纹位不要标准化。ECFP 位是 0/1 变量,标准化会破坏其稀疏语义,通常直接使用或做方差过滤即可。
第四,特征数量与样本量匹配。经验上每个特征至少对应 5–10 个样本;若样本仅几百,应优先使用理化描述符加少量拓扑指数,而不是直接拼接 2048 位指纹。
综合来看,一个稳健的特征工程方案通常是:以理化描述符和少量拓扑指数作为基础特征,按任务需要加入 ECFP4 或药效团指纹,先做方差与相关性过滤,再用 Lasso 或随机森林重要性做二次筛选,最后在训练集上拟合标准化或 PCA。这样既保留了可解释性,也控制了维度与过拟合风险。