2. 筛选库的数据来源与获取
构建虚拟筛选库的第一步不是写代码,而是明确“化合物从哪里来”。不同数据库在覆盖范围、数据质量、可编程接口和许可条款上差异很大,选错来源会直接导致后续过滤、去重和对接结果不可复现。本节围绕四类最常用的化合物数据源——ZINC、PubChem、ChEMBL、DrugBank——说明它们各自适合承担什么角色,以及如何通过 API 或批量文件把数据真正取到本地。
四类数据源的定位差异
这四个库并非互相替代,而是处在筛选流程的不同环节。理解它们的定位,比记住网址更重要。
- ZINC:专为虚拟筛选设计,提供“可直接对接”的 3D 构象与质子化状态,化合物按 purchasable、drug-like、lead-like、fragment 等子集划分。它解决的是“拿来就能算”的问题,适合作为筛选库的主干来源。
- PubChem:覆盖面最广的公共化学资源,包含化合物、物质、生物测定等记录,规模达亿级。它适合做广谱检索、补充稀有结构和获取生物活性关联,但原始记录需自行清洗。
- ChEMBL:以人工审编的生物活性数据为核心,每条活性值都关联靶点、测定类型和文献来源。它适合构建“已知活性参照集”,用于验证筛选方法或做靶点富集分析,而不是直接充当大规模筛选库。
- DrugBank:聚焦已上市药物、临床试验药物和药物靶点,条目精、注释深。它适合构建阳性对照集、做药物重定位分析,但许可限制严格,商业使用需授权。
一个常见的组合策略是:以 ZINC 的 drug-like 子集作为筛选主体,用 ChEMBL 提取目标靶点的已知活性化合物作为阳性对照,用 DrugBank 补充已上市药物做重定位评估,用 PubChem 在需要时补充特定骨架或罕见结构。
API 与批量下载:两条获取路径
获取数据有两条路径:按需查询的 API 和一次性拉取的批量文件。前者灵活、数据新,后者稳定、适合大规模建库。
PubChem 的 PUG-REST 接口适合按标识符或条件取数。例如按 CID 获取化合物的规范 SMILES,可直接构造请求:
# 获取 CID 2244(阿司匹林)的规范 SMILES
https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/2244/property/CanonicalSMILES/TXT
# 按靶点相关活性筛选并返回 CSV
https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/target/PTGS1/cids/CSV
批量场景下,PubChem 提供 FTP 形式的按需下载,可按 CID 范围或按分类文件获取 SDF、SMILES 等格式,避免逐条请求触发限流。
ChEMBL 的 Web Services以资源路径组织,适合按靶点或活性类型取数:
# 获取靶点 CHEMBL230 的活性数据(JSON)
https://www.ebi.ac.uk/chembl/api/data/activity?target_chembl_id=CHEMBL230&format=json
# 获取该靶点下活性值优于 100 nM 的化合物
https://www.ebi.ac.uk/chembl/api/data/activity?target_chembl_id=CHEMBL230&standard_value__lte=100&standard_units=nM
ChEMBL 同时提供完整的 SQL 数据库转储和定期发布的 SDF 文件,适合需要全量活性记录的场景。
ZINC 主要通过其网站按子集下载预生成的 3D 文件,格式包括 mol2、SDF、SMILES 等,并按 tranche 分片组织。下载时需注意选择正确的子集和质子化状态,否则后续对接的构象基础会不一致。
DrugBank 的开放版本提供结构文件下载,完整版需注册并遵守其许可协议,API 访问通常面向授权用户。使用前必须确认许可范围。
数据许可与版本管理
数据许可是建库中最容易被忽视、后果却最严重的一环。ZINC 采用较宽松的开放许可,适合学术与多数商业前期研究;PubChem 数据多为公共领域,但部分贡献者数据可能有附加条款;ChEMBL 采用 CC BY-SA 类许可,衍生数据需注意共享要求;DrugBank 的完整数据为专有许可,商业使用必须获得授权。建库时应记录每个来源的许可类型,并在库的元数据中标注,避免后续合规风险。
版本管理同样关键。数据库会持续更新,同一化合物在不同版本中的记录、活性值甚至结构都可能变化。若筛选结果需要复现,必须固定数据版本。建议在库的元数据中记录:来源库名称、版本号或下载日期、子集名称、获取方式(API 或批量文件)、过滤条件。这样当结果出现差异时,可以快速定位是数据版本变化还是方法变化所致。
zinc_2024_druglike_20250115.smi,便于追溯。从获取到入库的衔接
数据取到本地后,通常先统一为 SMILES 或 SDF 格式,再做标准化(去盐、中和电荷、统一互变异构体),然后进入去重和过滤环节。不同来源的同一化合物可能以不同盐型或质子化状态出现,若不先标准化,去重会失效,筛选库中会混入大量重复结构。
下面这张图概括了四类数据源在筛选库构建中的角色分工、获取方式与后续处理关系,可作为建库时的来源选择参考。
图中从四个来源出发,经标准化、去重过滤,最终汇入筛选库,并在库中保留来源与版本信息。这条链路说明:数据获取不是孤立的一步,它决定了后续所有处理的上限。来源选得准、版本记得清、许可理得明,筛选库才具备可复现和可合规使用的基础。