跳转到正文

ChEMBL Webresource Client

Michal Nowotka, Eloy Felix / ChEMBL group

由 ChEMBL 团队维护的官方 Python 客户端,用于查询 ChEMBL 数据和化学信息学服务,提供 QuerySet 风格的筛选器、惰性检索和本地结果缓存。

条目更新 ·

概览

ChEMBL Webresource Client 是由 ChEMBL 团队开发和支持的 Python 库,用于访问 ChEMBL 数据和化学信息学工具。它是 ChEMBL Web 服务的编程访问层,而非独立数据库或预测模型。文档介绍的接口负责处理 HTTPS 通信,让用户无需编写 SQL 或直接管理 REST 请求即可使用服务资源。

其查询设计遵循 Django 的 QuerySet 接口。输入包括特定端点的字段筛选条件,以及可选的返回字段列表;输出为服务结果,由客户端在需要时检索并缓存在本地文件系统中。支持的查找方式包括精确匹配和不区分大小写的匹配、成员关系、数值比较、范围、空值检查、正则表达式和搜索。惰性求值会将数据请求推迟到需要某个值时,因此该库适用于先构建查询、再读取记录的 Python 工作流。

only 方法允许用户限制返回字段,但这些字段必须存在于所选端点上。嵌套字段选择不会保留到该粒度:选择 molecule_properties__alogp 会被视为选择 molecule_properties。README 还指出,对于多对多关系,only 不提供 SQL 联接优化。

配置选项涵盖本地缓存、缓存过期时间、重试次数、请求并发数和超时。文档说明,FAST_SAVE 设置可能导致缓存数据丢失。这些控制项有助于规划重复检索工作流,但来源摘录并未证实经过测量的性能、特定端点的输出架构或经过测试的科学结果。

主要功能

  • 提供用于访问 ChEMBL 数据和化学信息学工具的官方 Python 接口,并处理 HTTPS 通信。
  • 支持 QuerySet 风格的筛选,包括精确匹配、不区分大小写的文本匹配、成员关系、比较、范围、空值检查、正则表达式和搜索。
  • 采用惰性求值,仅在需要某个值时请求数据。
  • 在本地缓存检索到的结果,并可配置缓存启用状态、过期时间和 SQLite 缓存文件名。
  • 通过 `only` 限制返回字段,但受端点字段可用性及文档所述嵌套字段限制的约束。
  • 提供超时、HTTP 重试、请求并发数和缓存保存行为等设置。

使用场景

  • 建议评估:在 Python 中构建经过筛选的 ChEMBL 检索工作流,用于药物发现数据准备,而无需自行实现 REST 请求处理。
  • 建议评估:检索指定记录字段以供后续分析,并检查嵌套字段行为能否满足所需的详细程度。
  • 建议评估:使用有代表性的工作负载和选定的缓存设置,评估本地缓存与惰性检索对重复探索性查询的适用性。

使用方式

  1. 在将该库集成到 Python 工作流之前,阅读官方客户端 README,了解查询接口、安装说明和配置选项。
  2. 按照 README 中的软件包安装说明操作。可将其链接的示例笔记本用作入门参考;此处尚未确认该笔记本是否可用。
  3. 查阅 ChEMBL API 文档,确定合适的端点及其字段。选择与计划检索的记录相匹配、且有文档说明的查找类型。
  4. 如需减少返回字段,请对该端点上可用的字段使用 only。在依赖精细选择的属性之前,先检查其嵌套字段限制。
  5. 按照 README 的说明,在使用客户端前配置相关设置。检查缓存过期时间、重试次数、并发数和超时需求;并考虑文档所述的 FAST_SAVE 数据丢失风险。
  6. 先评估一个具有代表性的小型查询,检查返回字段和检索行为,再扩展工作流。这是建议的评估步骤,并非已完成测试的报告。

相关资源

ChEMBL MCP (cyanheads) 将 MCP 客户端连接到 ChEMBL 化合物、靶点、生物活性和药物记录,并支持结构搜索以及可选的 DuckDB 大型活性数据集分析。

开源TypeScript

药物发现 · 科学数据

PocketScout MCP 帮助 AI 助手利用公开的结构、生物活性、保守性、变异和文献数据评估已知蛋白结合位点,为靶点筛选或结合蛋白设计提供依据。

开源Python

药物发现 · 科学数据

RCSB MCP (cnyambura) 是一个第三方 MCP 服务器,可向 MCP 客户端提供 RCSB PDB 条目和聚合物元数据、结构下载及自定义 Data API 查询。

Python

药物发现 · 科学数据

RCSB PDB Data API 提供 REST 和 GraphQL 接口,可访问 PDB 条目及部分计算结构模型的结构元数据、分子序列、化学描述符和注释。

药物发现 · 科学数据

UniProt MCP (cyanheads) 是一个第三方 MCP 服务器,可将 AI 客户端连接到 UniProt 的蛋白质搜索、注释、标识符映射、蛋白质组、分类学和氨基酸序列数据。

开源TypeScript

药物发现 · 科学数据

AIDDISON Explorer 是一个托管式药物发现平台,可根据目标特性要求、设计约束、预测属性和合成可行性生成并排序分子候选物。

分子生成 · 药物发现

相关指南

工作流

蛋白质与结构生物学 AI 工作流:UniProt + RCSB PDB + Agent

构建以证据为依据的蛋白质工作流:从 UniProt 身份信息和序列,到 RCSB 结构元数据、已观察到的配体接触,以及拟议的下游候选物评估;并明确检查物种、蛋白质亚型、链、缺失数据和实验验证。

APIs

化学 AI 应用中的科学 API:PubChem 与 RCSB PDB 入门

围绕 PubChem PUG REST 和 RCSB PDB Data API 构建化学 AI 集成,涵盖有文档说明的请求、化学身份核验、明确的错误处理、来源记录,以及 API 与 MCP 封装器之间的清晰界限。