4. 配体小分子数据库构建
在分子对接项目中,受体结构往往只有一个或少数几个,而配体小分子却可能成百上千。配体库的质量直接决定后续虚拟筛选的可信度:如果库中混入了盐离子、重复结构、错误的质子化状态或缺失的三维构象,对接结果就会出现假阳性或假阴性。因此,配体库构建不是简单的“下载文件”,而是一条从数据获取、清洗、标准化到三维构象生成的可复现流水线。本节围绕这条流水线展开,重点说明每一步的实际操作对象、关键参数和判断依据。
一、数据来源的选择与获取方式
常用的公开配体来源各有侧重。ZINC 以“可直接用于对接”为目标,提供已经加氢、生成三维构象并分配电荷的 ready-to-dock 子集,适合快速启动筛选;PubChem 覆盖化合物最广,包含大量实验与计算属性,适合按 CID 或 SMILES 精确获取单个分子;ChEMBL 则偏向具有生物活性数据的药物化学空间,适合构建靶点相关的已知活性配体集。实际项目中,常见做法是:以 ChEMBL 的活性化合物作为阳性对照集,以 ZINC 的类药性子集作为大规模筛选库,再用 PubChem 补充特定骨架或参考分子。
获取方式上,小规模可用网页导出 SDF/SMILES,大规模则建议使用命令行或 API。例如从 PubChem 按 CID 批量下载三维 SDF,可用如下方式(示例):
# 示例:按 CID 列表批量获取 PubChem 三维 SDF
while read cid; do
wget -q "https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/${cid}/SDF?record_type=3d" \
-O "pc_${cid}.sdf"
done < cid_list.txt
ZINC 的 Tranche 子集通常以 mol2 或 SDF 分块提供,下载后需记录来源、版本和下载日期,便于后续复现。ChEMBL 可通过其 Web 服务按靶点或活性阈值导出 SMILES 列表。无论哪种来源,都应保留原始标识(CID、ZINC ID、ChEMBL ID)与标准化后的内部编号的映射表。
二、格式转换与结构标准化
不同来源的格式不统一,SDF、MOL2、SMILES、PDB 之间需要转换。常用工具是 Open Babel 和 RDKit。格式转换本身不难,难点在于转换过程中容易丢失或改变关键信息:SMILES 转三维时若不加氢,芳环和手性中心可能出错;SDF 转 MOL2 时若未指定电荷模型,原子类型可能不匹配。因此建议统一以 SDF 作为中间交换格式,并在转换前后检查原子数、键数和手性标记。
结构标准化包括去除盐离子和溶剂、统一互变异构体、规范质子化状态。例如,许多配体以盐酸盐形式存在,若不脱盐,对接时氯离子会占据结合口袋。RDKit 中可用 SaltRemover 去除常见反离子,用 StandardizeMol 或 rdMolStandardize 处理互变异构和电荷。对于含羧酸、胺基的分子,还需根据目标口袋的 pH 环境决定质子化形式,通常生理 pH 下羧酸去质子、胺基质子化。
三、去重策略
去重不能只看分子式或分子量,因为同分异构体可能具有完全不同的结合模式。推荐按“标准化后的 InChIKey”去重,InChIKey 的前 14 位对应骨架连接,后段对应立体化学和质子化。若只关心骨架多样性,可用前 14 位;若需保留立体异构体,则用完整 InChIKey。实际操作中,先用 RDKit 生成 InChIKey,再用哈希表或 pandas.drop_duplicates 去重,同时保留来源信息以便追溯。对于大规模库,还可先用分子指纹(如 Morgan 指纹)做相似性聚类,再在每个簇内保留一个代表分子,以降低冗余。
四、加氢与三维构象生成
加氢是三维构象生成的前提。加氢时需注意:芳香环上的氢、手性中心的氢、可电离基团的氢要分别处理。RDKit 的 AddHs 可添加显式氢,EmbedMolecule 生成初始三维坐标,MMFFOptimizeMolecule 或 UFFOptimizeMolecule 进行力场优化。对于柔性较大的分子,单一构象可能不足以代表其结合姿态,建议生成多构象并保留能量最低的若干构象。常用参数:numConfs=10、pruneRmsThresh=0.5、maxAttempts=1000。若分子含多个可旋转键,可适当增加构象数,但需权衡计算成本。
生成后应检查:是否所有分子都成功嵌入三维、是否有原子重叠、能量是否合理。失败分子通常是因为价态异常或环张力过大,需回退到标准化步骤重新处理。最终输出建议为 SDF 或 PDBQT(用于 AutoDock 系列),并保留每个分子的能量和构象编号。
五、可复现的配体库构建清单
为了让整个流程可追溯、可复现,建议在项目目录中保留以下内容:原始下载文件与来源说明、标准化后的 SDF、去重后的唯一分子列表、三维构象文件、以及一份记录关键参数的日志。下面给出一个可直接参考的目录结构与字段示例:
| 文件/目录 | 内容 | 关键字段 |
|---|---|---|
| raw/ | 原始下载文件 | 来源、版本、下载日期 |
| standardized.sdf | 标准化后结构 | 内部编号、来源ID、InChIKey |
| unique.csv | 去重后列表 | 内部编号、SMILES、分子量、来源 |
| 3d_conformers.sdf | 三维构象 | 内部编号、构象编号、能量 |
| build.log | 构建日志 | 工具版本、参数、失败分子数 |
完成上述步骤后,配体库就具备了进入对接流程的基本条件。下一阶段将把受体与配体分别转换为对接程序所需的格式,并设置搜索空间与打分函数。在此之前,建议随机抽取若干分子,用可视化工具检查其三维构象是否合理,确认没有原子重叠或异常键长,再批量提交对接。