第13期 进阶 约10分钟

化合物数据库检索

使用ChEMBL、PubChem、DrugBank快速检索化合物数据

⚠️
免责声明: 本内容仅供医学学习参考,不作为临床诊断依据。 实际临床决策请结合患者具体情况和多学科意见。 药物研发需遵循相关法规和伦理规范。
🎯

技能简介

化合物数据库检索是药物发现化学信息学的核心技能。 通过查询ChEMBL、PubChem、DrugBank等数据库, 可以快速获取化合物的SMILES结构活性数据物化性质药物信息等关键数据。

传统检索方式需要打开网页、搜索、筛选、下载、整理,找100个化合物至少要1天。 使用AI辅助检索,10分钟就能完成!

🧪 开始检索化合物前先准备这 4 类信息

靶点与检索目标

先明确你是想找某个靶点抑制剂、同类先导化合物,还是上市药的重定位线索,不同目标决定数据库与筛选阈值。

结构标识统一

化合物名称、SMILES、InChIKey、CAS 号最好至少锁定两种标识,避免后面把同名不同结构或盐型当成同一个分子。

活性与证据边界

先定好要看 IC50、Ki、EC50 还是细胞实验结果,并写清 assay 类型、物种、靶点亚型,否则活性值很难横向比较。

后续使用约束

如果目标是采购、对接、成药性评估或专利分析,最好一开始就把纯度、供应商、可购性和法规限制纳入筛选条件。

📦 一次可复用的化合物数据库检索至少交付这 4 样

结构化候选清单

至少整理出化合物名称、数据库 ID、SMILES/InChIKey 和靶点信息,而不是只截一张网页搜索结果图。

活性证据表

把核心活性值、实验体系、文献来源和是否为确认性实验统一汇总,后续做 SAR 或优先级判断才有依据。

标准化性质结果

至少补齐分子量、LogP、HBD/HBA、TPSA 或其他你关心的类药性质指标,保证不同来源数据能放到同一张表里比较。

下一步优先级说明

说明哪些分子适合继续做对接验证、采购验证或专利排查,以及它们为什么入选,避免检索结果停留在“找到很多分子”。

💡 使用场景

💊

靶点抑制剂筛选

针对特定靶点(如EGFR、TP53)检索已知的抑制剂化合物,获取活性和结构数据

🔬

先导化合物优化

分析同类化合物的结构-活性关系(SAR),指导药物分子设计

📊

药物重定位

查找已上市药物的新适应症,加速药物研发进程

🛒

实验采购

查找化合物供应商信息,快速获取实验所需的化学试剂

🛠️ 核心技能调用

📊

ChEMBL

生物活性分子数据库,含200万+化合物和1500万+活性数据

⚗️

PubChem

公共化合物数据库,含1.1亿+化合物和丰富的生物活性数据

💊

DrugBank

药物信息数据库,含1.5万+药物和详细的药理数据

1 ChEMBL - 生物活性数据检索

ChEMBL是最常用的药物活性数据库,包含IC50、Ki、EC50等活性数据, 每条数据都有文献来源。适合查找特定靶点的抑制剂化合物。

# 调用ChEMBL数据库技能
# 示例:检索EGFR抑制剂

"从ChEMBL检索EGFR抑制剂:
- 靶点:EGFR (CHEMBL203)
- 活性类型:IC50
- 活性阈值:<100nM
返回SMILES、活性值、文献来源"

# 输出示例:
# 346个化合物
# Erlotinib - IC50: 2.5nM - PMID: 12345678
# Gefitinib - IC50: 33nM - PMID: 23456789
# ...

💡 活性阈值选择
<100nM:高活性化合物,适合进一步研究
100-1000nM:中等活性,可作为起点
>1μM:低活性,参考价值有限
建议根据具体靶点和研究目的调整阈值。

2 PubChem - 补充检索

PubChem是NIH维护的公共数据库,除了结构信息,还包含丰富的 物化性质、毒性数据、专利信息和供应商信息。

# 调用PubChem数据库技能
# 示例:补充检索化合物信息

"用PubChem检索这些化合物的:
- 物理化学性质(分子量、LogP、溶解度)
- 安全性数据(毒性、致突变性)
- 专利信息
- 供应商信息"

# 输出示例:
# Erlotinib
# - MW: 393.4 Da
# - LogP: 3.2
# - 供应商: Sigma-Aldrich, Selleckchem
# - 专利: US5747558

3 DrugBank - 药物信息查询

DrugBank专注于已批准和实验性药物的详细信息, 包括适应症、作用机制、药代动力学、药物相互作用等。

# 调用DrugBank数据库技能
# 示例:查询已上市药物

"在DrugBank中查询哪些是已上市药物:
- 药物名称和商品名
- 适应症和批准状态
- 作用机制(MOA)
- 药代动力学(PK)参数"

# 输出示例:
# Erlotinib (Tarceva)
# - 状态:FDA批准
# - 适应症:NSCLC, 胰腺癌
# - MOA:EGFR酪氨酸激酶抑制剂
# - PK: 口服,t1/2=36h

4 结构分析

获取化合物结构后,可以进行骨架分析、官能团统计、类药性评估, 为药物设计提供参考。

# 调用结构分析技能(如RDKit)

"分析这些化合物的结构特征:
- 骨架分类(Bemis-Murcko)
- 官能团统计
- 类药性评估(Lipinski规则)
- 分子指纹生成"

# 输出示例:
# 骨架:喹唑啉(quinazoline)
# 官能团:芳香胺、醚键、乙酰基
# Lipinski:5/5规则符合
# MW<500, LogP<5, HBD<5, HBA<10

📌 Lipinski规则(类药性五规则)
分子量 ≤ 500 Da
LogP ≤ 5(脂溶性)
氢键供体 ≤ 5
氢键受体 ≤ 10
符合这些规则的化合物更容易口服吸收。

📖 实战示例

Step 1: 靶点检索 - 找EGFR抑制剂

假设我们想研究EGFR(表皮生长因子受体)的抑制剂,用于非小细胞肺癌治疗。

# ChEMBL检索
target = "EGFR" # 或使用靶点ID: CHEMBL203
activity_type = "IC50"
threshold = 100 # nM

# 检索结果
compounds = query_chembl(target, activity_type, threshold)
# 返回346个化合物

# Top 5化合物:
# 1. Erlotinib - IC50: 2.5 nM
# 2. Afatinib - IC50: 0.5 nM
# 3. Osimertinib - IC50: 1.2 nM
# 4. Gefitinib - IC50: 33 nM
# 5. Lapatinib - IC50: 11 nM
Step 2: 数据补充 - 获取物化性质

使用PubChem补充化合物的物理化学性质和安全性数据。

# PubChem批量查询
for compound in compounds:
  data = query_pubchem(compound.smiles)
  print(f"{compound.name}")
  print(f" MW: {data.molecular_weight}")
  print(f" LogP: {data.logp}")
  print(f" TPSA: {data.tpsa}")
  print(f" 溶解度: {data.solubility}")

# 输出:
# Erlotinib
#  MW: 393.4 Da
#  LogP: 3.2
#  TPSA: 86.2 Ų
#  溶解度: 0.34 mg/mL
Step 3: 药物状态 - 查询上市信息

使用DrugBank查询哪些化合物已经上市,获取临床信息。

# DrugBank查询
approved_drugs = []
for compound in compounds:
  info = query_drugbank(compound.name)
  if info.approved:
    approved_drugs.append(info)
    print(f"{info.name} ({info.brand_name})")
    print(f" 适应症: {info.indications}")
    print(f" 批准年份: {info.approval_year}")

# 输出:
# Erlotinib (Tarceva)
#  适应症: NSCLC, 胰腺癌
#  批准年份: 2004
#
# Gefitinib (Iressa)
#  适应症: NSCLC
#  批准年份: 2002

💡 药物重定位机会: 已上市药物的安全性已验证,可以探索新的适应症(药物重定位), 这比从头开发新药更快捷、成本更低。

Step 4: 结果汇总 - 生成报告

整合所有数据,生成完整的化合物报告。

# 生成汇总表格
report = pd.DataFrame({
  '化合物': [c.name for c in compounds],
  'SMILES': [c.smiles for c in compounds],
  'IC50 (nM)': [c.ic50 for c in compounds],
  'MW': [c.mw for c in compounds],
  'LogP': [c.logp for c in compounds],
  'Lipinski': [c.lipinski_pass for c in compounds],
  '已上市': ['是' if c.approved else '否' for c in compounds],
  '供应商': [c.suppliers for c in compounds]
})

# 保存为Excel
report.to_excel('EGFR_inhibitors.xlsx', index=False)

🧯 化合物数据库检索最常见的 4 个误区

只看名称,不核对结构

同名异构体、前药、盐型和代谢物很容易混在一起,真正用于分析和实验的永远应该是标准化后的结构标识。

把不同实验体系的活性值直接比较

酶学、细胞、结合实验和不同物种数据混比,会让“最强化合物”结论失真,必须先分层看证据来源。

数据库命中就直接推进实验

能检索到不代表可买、可合成、可成药,至少还要过一轮性质过滤、供应商确认和文献复核。

忽视专利与法规边界

尤其是上市药重定位和热门靶点项目,专利状态、适应症范围和地区法规会直接影响后续研发可行性。

⚠️ 注意事项

1

活性数据可信度

不同实验室测定的活性值可能有差异。 建议优先选择活性数据来自 reputable 期刊、使用标准实验方法的化合物。 注意实验条件(如细胞系、底物)的差异。

2

SMILES规范

不同数据库可能使用不同的SMILES表示法(立体化学、互变异构等)。 使用前建议用RDKit标准化SMILES,确保结构一致性。

3

靶点ID映射

不同数据库使用不同的靶点标识符: ChEMBL用CHEMBL ID,UniProt用UniProt ID,NCBI用Gene ID。 使用前确保靶点ID正确映射。

4

专利和法规

使用化合物进行研发前,务必检查专利状态和法规限制。 已上市药物的专利可能仍在保护期内,仿制需遵守相关法规。

🔗 相关技能链接

相关工具

RDKit DiffDock ZINC 分子对接
📦

下载完整代码包

包含:示例代码、数据文件、结果图表 · 33个文件 · 2.3MB

立即下载

💡 代码包内含 README.md 文档,包含环境配置和运行说明。解压后即可使用。