[ PROMPT_NODE_27586 ]
Zinc Database API 参考
[ SKILL_DOCUMENTATION ]
# ZINC 数据库 API 参考
## 概述
关于 ZINC 数据库编程访问的完整技术参考,涵盖了 ZINC22、ZINC20 及旧版本的 API 端点、查询语法、参数、响应格式和高级使用模式。
## 基础 URL
### ZINC22(当前)
- **CartBlanche22 API**: `https://cartblanche22.docking.org/`
- **文件仓库**: `https://files.docking.org/zinc22/`
- **主网站**: `https://zinc.docking.org/`
### ZINC20(维护中)
- **API**: `https://zinc20.docking.org/`
- **文件仓库**: `https://files.docking.org/zinc20/`
### 文档
- **Wiki**: `https://wiki.docking.org/`
- **GitHub**: `https://github.com/docking-org/`
## API 端点
### 1. 通过 ZINC ID 检索物质
使用 ZINC 标识符检索化合物信息。
**端点**: `/substances.txt`
**参数**:
- `zinc_id` (必需): 单个 ZINC ID 或逗号分隔的列表
- `output_fields` (可选): 逗号分隔的字段名称 (默认: 所有字段)
**URL 格式**:
https://cartblanche22.docking.org/substances.txt:zinc_id={ZINC_ID}&output_fields={FIELDS}
**示例**:
单个化合物:
bash
curl "https://cartblanche22.docking.org/[email protected]_fields=zinc_id,smiles,catalogs"
多个化合物:
bash
curl "https://cartblanche22.docking.org/substances.txt:zinc_id=ZINC000000000001,ZINC000000000002,ZINC000000000003&output_fields=zinc_id,smiles,tranche"
从文件批量检索:
bash
# 创建包含 ZINC ID 的文件(每行一个或逗号分隔)
curl -X POST "https://cartblanche22.docking.org/substances.txt?output_fields=zinc_id,smiles"
-F "zinc_id=@zinc_ids.txt"
**响应格式** (TSV):
zinc_id smiles catalogs
ZINC000000000001 CC(C)O [vendor1,vendor2]
ZINC000000000002 c1ccccc1 [vendor3]
### 2. 通过 SMILES 进行结构搜索
按化学结构搜索化合物,并可选择相似性阈值。
**端点**: `/smiles.txt`
**参数**:
- `smiles` (必需): 查询的 SMILES 字符串 (必要时进行 URL 编码)
- `dist` (可选): Tanimoto 距离阈值 (0-10, 默认: 0 = 精确匹配)
- `adist` (可选): 其他距离度量 (0-10, 默认: 0)
- `output_fields` (可选): 逗号分隔的字段名称
**URL 格式**:
https://cartblanche22.docking.org/smiles.txt:smiles={SMILES}&dist={DIST}&adist={ADIST}&output_fields={FIELDS}
**示例**:
精确结构匹配:
bash
curl "https://cartblanche22.docking.org/smiles.txt:smiles=c1ccccc1&output_fields=zinc_i