SuperAPI AI 工具集

chembl-database

数据与分析

查看项目

更新于 10-15 10:45

技能介绍

ChEMBL 数据库技能概述

ChEMBL 是欧洲生物信息研究所(EBI)维护的人工策展生物活性分子数据库,包含超过 200 万化合物、1900 万条生物活性测量、13000+ 药物靶点,以及已批准药物和临床候选药物的数据。本技能用于以编程方式访问和查询这些数据,服务于药物发现与药物化学研究。

适用场景

本技能应在以下情况使用:化合物搜索(按名称、结构或性质查找分子);靶点信息(检索蛋白质、酶或生物靶点数据);生物活性数据(查询 IC50、Ki、EC50 或其他活性测量);药物信息(查询已批准药物、作用机制或适应症);结构搜索(相似性或子结构搜索);化学信息学(分析分子性质与成药性);靶点-配体关系(探查化合物-靶点相互作用);药物发现(识别抑制剂、激动剂或生物活性分子)。

安装与设置

程序化访问需要 ChEMBL Python 客户端:uv pip install chembl_webresource_client

基本使用模式

from chembl_webresource_client.new_client import new_client

访问不同端点:molecule = new_client.molecule;target = new_client.target;activity = new_client.activity;drug = new_client.drug

核心能力

  1. 分子查询:按 ChEMBL ID 检索(molecule.get('CHEMBL25'));按名称搜索(molecule.filter(pref_name__icontains='aspirin'));按性质过滤(如查找 MW <= 500 且 LogP 良好 的小分子)。

  2. 靶点查询:检索靶点信息(target.get('CHEMBL203'));搜索特定靶点类型(如查找所有激酶靶点)。

  3. 生物活性数据:按靶点查询活性(如查找强效 EGFR 抑制剂:standard_type='IC50'、standard_value__lte=100、standard_units='nM');获取某化合物的全部活性。

  4. 基于结构的搜索:相似性搜索(similarity.filter(smiles=..., similarity=85));子结构搜索(substructure.filter(smiles='c1ccccc1'))。

  5. 药物信息:检索药物数据;获取作用机制(mechanism.filter(molecule_chembl_id=...));查询药物适应症(drug_indication.filter(...))。

查询工作流

工作流 1:为某靶点寻找抑制剂。先按名称识别靶点,再查询该靶点的生物活性数据,提取化合物 ID 并检索详情。

工作流 2:分析已知药物。获取药物信息,检索作用机制,查找全部生物活性。

工作流 3:构效关系(SAR)研究。查找相似化合物,获取每个化合物的活性,结合分子性质分析性质-活性关系。

过滤操作符

支持 Django 风格查询过滤:__exact 精确匹配;__iexact 不区分大小写精确匹配;__contains / __icontains 子串匹配;__startswith / __endswith 前缀/后缀匹配;__gt、__gte、__lt、__lte 数值比较;__range 范围;__in 列表内;__isnull 空/非空检查。

数据导出与分析

可将结果转换为 pandas DataFrame 进行分析,例如统计标准值分布、按标准类型分组计数。

性能优化

缓存:客户端自动缓存结果 24 小时,可通过 Settings 配置(禁用缓存或调整缓存过期时间)。

惰性求值:查询仅在访问数据时执行,转换为 list 可强制立即执行。

分页:结果自动分页,可迭代遍历全部结果。

常见用例

查找激酶抑制剂:识别激酶靶点,再获取强效抑制剂。

探索药物重定位:获取已批准药物,再为每个药物查找全部靶点。

虚拟筛选:查找具有目标性质的化合物(如 MW 范围、LogP、氢键受体/供体数量限制)。

资源

scripts/example_queries.py:可直接使用的 Python 函数,演示常见 ChEMBL 查询模式,包括 get_molecule_info()、search_molecules_by_name()、find_molecules_by_properties()、get_bioactivity_data()、find_similar_compounds()、substructure_search()、get_drug_info()、find_kinase_inhibitors()、export_to_dataframe() 等。

references/api_reference.md:完整 API 文档,包含端点列表、过滤操作符、分子性质与生物活性字段、高级查询示例、配置与性能调优、错误处理与速率限制。

重要说明

数据可靠性:ChEMBL 数据为人工策展,但可能存在不一致;应检查活动记录中的 data_validity_comment 字段,注意 potential_duplicate 标记。

单位与标准:生物活性值使用标准单位(nM、uM 等);pchembl_value 提供归一化活性(-log 尺度);检查 standard_type 以了解测量类型。

速率限制:遵守 ChEMBL 公平使用政策,使用缓存减少重复请求,大规模数据集考虑批量下载,避免快速连续请求冲击 API。

化学结构格式:SMILES 字符串为主要结构格式;化合物可提供 InChI key;可通过 image 端点生成 SVG 图像。

附加资源

ChEMBL 网站:https://www.ebi.ac.uk/chembl/

API 文档:https://www.ebi.ac.uk/chembl/api/data/docs

Python 客户端 GitHub:https://github.com/chembl/chembl_webresource_client

接口文档:https://chembl.gitbook.io/chembl-interface-documentation/

示例 notebooks:https://github.com/chembl/notebooks