[ PROMPT_NODE_26292 ]
Chembl Database API 参考
[ SKILL_DOCUMENTATION ]
# ChEMBL Web 服务 API 参考
## 概述
ChEMBL 是由欧洲生物信息学研究所 (EBI) 维护的具有类药性质的生物活性分子人工精选数据库。它包含有关化合物、靶点、测定、生物活性数据和已获批药物的信息。
ChEMBL 数据库包含:
- 超过 200 万条化合物记录
- 超过 140 万条测定记录
- 超过 1900 万条活性值
- 13,000 多个药物靶点信息
- 16,000 多种已获批药物和临床候选药物数据
## Python 客户端安装
bash
pip install chembl_webresource_client
## 关键资源与端点
ChEMBL 提供对 30 多个专用端点的访问:
### 核心数据类型
- **molecule** - 化合物结构、属性和同义词
- **target** - 蛋白质和非蛋白质生物靶点
- **activity** - 生物测定测量结果
- **assay** - 实验测定详情
- **drug** - 已获批药物信息
- **mechanism** - 药物作用机制数据
- **document** - 文献来源和参考资料
- **cell_line** - 细胞系信息
- **tissue** - 组织类型
- **protein_class** - 蛋白质分类
- **target_component** - 靶点组件详情
- **compound_structural_alert** - 毒性结构预警
## 查询模式与过滤器
### 过滤运算符
API 支持 Django 风格的过滤运算符:
- `__exact` - 精确匹配
- `__iexact` - 不区分大小写的精确匹配
- `__contains` - 包含子字符串
- `__icontains` - 不区分大小写的包含
- `__startswith` - 以...开头
- `__endswith` - 以...结尾
- `__gt` - 大于
- `__gte` - 大于等于
- `__lt` - 小于
- `__lte` - 小于等于
- `__range` - 值在范围内
- `__in` - 值在列表中
- `__isnull` - 为空/不为空
- `__regex` - 正则表达式匹配
- `__search` - 全文搜索
### 过滤查询示例
**分子量过滤:**
python
molecules.filter(molecule_properties__mw_freebase__lte=300)
**名称模式匹配:**
python
molecules.filter(pref_name__endswith='nib')
**多条件查询:**
python
molecules.filter(
molecule_properties__mw_freebase__lte=300,
pref_name__endswith='nib'
)
## 化学结构搜索
### 子结构搜索
使用 SMILES 搜索包含特定子结构的化合物:
python
from chembl_webresource_client.new_client import new_client
similarity = new_client.similarity
results = similarity.fil