3. 常用药物数据源:从源头搞定药物信息

做药物图谱,说白了就是个拼图游戏。

你得知道药长什么样、靶点是谁、临床试验走到哪一步、文献里有没有新发现。这些信息散落在不同的数据库里。我记得刚入行那会儿,光是找齐一个药物的完整信息就要折腾一整天,还总漏东西。

今天咱们就把最常用的几个数据源,一个一个捋清楚。

3.1 DrugBank:药物信息的“身份证”

DrugBank 是我个人最依赖的起点。
它把药物分为小分子药、生物药、营养品和实验性药物,每个条目都有唯一 ID。你要是想确认一个药物的基本属性,从这里开始最稳。

核心字段你得记住:

DrugBank ID: DB00001
名称: Lepirudin
类型: Biotech
靶点: Thrombin
作用机制: 直接凝血酶抑制剂
CAS号: 138068-37-8
SMILES: N[C@@H](CCC(=O)N[C@@H]...)

我的一点经验
查 DrugBank 时,别只看“靶点”那一栏。
“酶”、“载体”、“转运体”这些关联条目经常被忽略,但它们往往是药物相互作用的关键。我踩过坑——有个项目只盯着靶点,结果漏了 CYP 酶信息,后面图谱关联全乱套了。

3.2 ChEMBL:活性数据的“金矿”

ChEMBL 主打的是生物活性数据。药对靶点的 IC50、Ki、EC50 都在这里。
你想想看,做药物重定位或者构效关系分析,没这个库几乎寸步难行。

常用查询字段:

  • Molecule ChEMBL ID:分子唯一标识
  • Target ChEMBL ID:靶点标识
  • Standard Type / Value:活性类型与数值
  • Assay Description:实验方法描述
# 示例:ChEMBL API 查询阿司匹林活性数据
# API Endpoint: https://www.ebi.ac.uk/chembl/api/data/activity
# 请求参数: molecule_chembl_id=CHEMBL25

注意活性数据的单位
不同实验室用的单位可能不一样——nM、μM、mg/L 常有混用。我建议在入库时统一转换为 nM,否则后续数值比较全是坑。

3.3 PubChem:化合物信息的“大百科”

PubChem 是美国 NIH 管着的,数据量极大。它不仅能查小分子,还能查混合物、甚至一些简单的高分子。
我个人最常用它的 Substance 和 Compound 两个子库。

区别很关键:

子库 内容 用途
Substance (SID) 提交者原始数据 追踪数据来源、验证批次差异
Compound (CID) 去重后的标准化结构 核心化学结构检索、属性计算
BioAssay (AID) 生物活性测定结果 活性筛选、毒性预测

PubChem 最厉害的地方,是它能把生物活性数据量化。你查一个化合物,直接能看到几百个靶点的活性数据热图。我做某次抗肿瘤靶点筛查,就是靠 PubChem 的 BioAssay 数据快速锁定了两个候选分子。

3.4 ClinicalTrials.gov:临床试验的“风向标”

药物有没有进入临床、在哪个阶段、招募了多少人——这些问题只有这里能回答。
这个库是美国国立卫生研究院维护的,全球注册的临床试验都会往上报。

# 示例:查询 NCT 编号的 API 调用
# API: https://clinicaltrials.gov/api/query/full_studies
# 参数: expr=NCT00000101&fmt=json

我习惯看这几个字段:

  • Brief Title:试验简述
  • Phase:I/II/III/IV
  • Enrollment:入组人数
  • Primary Outcome:主要终点
  • Sponsor:申办方

避坑指南
千万不要只依赖 ClinicalTrials.gov 的“状态”字段。我遇到过不少试验实际已经终止了,但状态还挂着“Recruiting”。最好交叉比对 PubMed 上发表的试验结果文献,才能确认真实进度。

3.5 PubMed 与生物医学文献

数据库再全,也赶不上文献新。
PubMed 是全球最大的生物医学文献库,收录了 MEDLINE 和 PMC(开放获取全文)。做图谱维护时,文献是发现新关联、更新旧信息的重要来源。

我的文献检索三板斧:

  1. MeSH 主题词:用 Drug Therapy / Pharmacological Action 这类词精确命中
  2. 全文链接:优先选择 PMC 标识(PN:PMCXXXXXX),能直接看全文
  3. 引文网络:顺藤摸瓜,找到原始研究——综述里的信息不一定准确
# PubMed 检索示例:查询阿司匹林与 COX-2 的文献
# 查询字符串: aspirin AND ("cyclooxygenase 2"[MeSH Terms]) 
# 返回格式: PubMed XML 格式用于结构化解析

怎么快速筛选高质量文献?
我个人常用 Filter 里的“Review”和“5 years”组合。
先看近5年的综述,建立框架。再精读高引用的原创文章。这样一来,效率能提升不止一倍。

3.6 数据源整合逻辑:一张图说清楚

六个数据源,各有各的强项。做图谱时,不是每个药都要把所有库查一遍。我一般按这条路径走:

  1. 起点:DrugBank —— 拿到药物基本信息和靶点
  2. 查底细:PubChem —— 确认化学结构、物理化学属性
  3. 查活性:ChEMBL —— 定量活性数据
  4. 查临床:ClinicalTrials.gov —— 验证在研状态
  5. 查文献:PubMed —— 补充最新发现和机制细节

下面这张图,能帮你一眼看明白它们的关系和工作流:

药物图谱核心数据源关系与工作流 药物图谱核心数据枢纽 DrugBank 基础属性·靶点·分类 PubChem 化学结构·物理化学参数 ChEMBL 生物活性·IC50/Ki/EC50 ClinicalTrials.gov 临床试验阶段·终点 PubMed 生物医学文献·新发现 生物医学文献 综述·原始研究·专利 五大核心功用 唯一标识 → 属性验证 → 活性定量 → 临床状态核实 → 文献佐证 常见坑点(我踩过的) 试验状态滞后 · 单位不统一 · 文献与库数据打架 · API 限制 · 数据重复 实战建议:先 DrugBank → 再 PubChem → 最后交叉验证

3.7 我的一些额外提醒

数据源本身不复杂,复杂的是你怎么用它。

  • API 限流:PubChem 和 ChEMBL 都有速率限制。批量查询时,一定要加 0.5 秒以上的延迟。我最快的一次把 ChEMBL 查崩了,被限制了 IP 24 小时……
  • 版本管理:每个季度全量拉一次。我习惯用脚本记录拉取日期和版本号,便于回溯和增量更新。
  • 数据冲突处理:同一个药物在不同库里的 SMILES 可能不一样。我的做法是以 PubChem 的标准化结构为准,再在备注中记录其他版本。

最后一句真话
没有哪一个库是完美的。DrugBank 的更新周期长,PubChem 的数据量大但噪声多,ClinicalTrials.gov 的状态滞后。
所以我的原则一直是:用最少的数据源,交叉验证最关键的字段。别贪多,贪多嚼不烂。