导航:§0 信任声明 · §1 概览 · §2 医学/药学背景 · §3 数据集规格 · §4 数据结构 · §5 数据划分 · §6 AI 就绪指南 · §7 质量评估 · §8 基准性能 · §9 资源引用 · §10 AI 声明
| INFOBOX |
|
| 数据集名称 |
PubChem / PCBA(PubChem BioAssay) |
| 维护机构 |
NCBI / NLM / NIH(美国国立卫生研究院) |
| 发布年份 |
2004 年 9 月(PubChem 上线);2018 年(PCBA 进入 MoleculeNet) |
| 数据类型 |
化学结构 + 生物活性 + 实验描述 + 蛋白靶点 + 基因 + 通路 + 专利 |
| 数据规模 |
1.19 亿化合物 / 3.22 亿物质 / 2.95 亿生物活性 / 167 万实验 / 5083 万专利 |
| PCBA 基准子集 |
128 个生物实验 × 43.8 万化合物(二分类,正样本率 1.40%) |
| 主要标识符 |
CID(化合物)/ SID(物质)/ AID(实验)/ GI(蛋白质)/ Gene ID(基因) |
| 数据格式 |
SDF / SMILES / InChI / ASN.1 / XML / CSV / JSON / RDF / PNG |
| API |
PUG-REST(5 req/s)/ PUG-View / PUG-SOAP / Entrez Utilities |
| 许可证 |
公共领域(U.S. Government Work)— 无任何使用限制 |
| DUO 标签 |
DUO:0000007(无限制使用) |
| 访问方式 |
免费开放,无需注册 |
| 数据来源数 |
1,006+ 个数据贡献组织 |
| 基金来源 |
NIH 内部资金(NCBI/NLM 运营预算) |
| 引用论文 |
Kim et al., Nucleic Acids Research, 2025, 53(D1):D1516-D1525 |
| AI 就绪度评分 |
17/24 ⭐⭐⭐⭐ |
§0 E-E-A-T 信任声明与免责声明
| 维度 |
声明 |
| 内容审核 |
[千方病案医学编辑部]交叉审核:数据集规格、技术参数、基准结果、AI 使用指南 |
| 页面状态 |
published |
| 最后更新 |
2026-08-10 |
| 数据来源 |
PubChem 官方网站(pubchem.ncbi.nlm.nih.gov)、NAR 2025 论文、MoleculeNet 论文(Chemical Science, 2018)、NCBI BioAssay 数据模型文档 |
| 利益冲突 |
无。千方病案与 PubChem/NCBI/NIH 无商业关联 |
免责声明:本页面是对 PubChem 数据库和 PCBA 基准子集的百科式综述,旨在帮助 AI 研究者和药物发现工程师理解数据特性。PubChem 数据为美国政府部门作品,属于公共领域。使用 PCBA 基准数据时请引用 MoleculeNet 论文(Wu et al., 2018)。本页面不构成医学或药学建议。
§1 数据集概览
§1.0 📌 30 秒速览
PubChem 是美国国立卫生研究院(NIH)维护的全球最大公开化学信息数据库,自 2004 年上线以来已收录 1.19 亿化合物、2.95 亿条生物活性数据和 167 万个生物实验,数据来自全球 1,006+ 个贡献组织。作为美国政府部门作品,全部数据处于公共领域,无任何使用限制。
PCBA(PubChem BioAssay)是 PubChem BioAssay 数据库的一个子集,在 MoleculeNet 基准中用于评估分子机器学习模型,包含 128 个生物实验和 43.8 万化合物的二元活性标签(正样本率仅 1.40%),推荐使用 随机划分和 PRC-AUC 指标。
核心价值:PubChem 是药物发现、毒理学评估和分子性质预测领域的事实标准数据源,而 PCBA 是评估多任务分子机器学习模型泛化能力的标准基准。
§1.1 摘要
PubChem 于 2004 年作为 NIH 分子库路线图计划(Molecular Libraries Roadmap Initiatives)的组成部分启动,旨在为科学社区提供免费的化学信息和生物活性数据。经过 20 余年发展,PubChem 已从最初的三数据库(Substance、Compound、BioAssay)扩展为包含九大数据集合的综合信息系统:Substance(3.22 亿物质描述)、Compound(1.19 亿唯一化学结构)、BioAssay(167 万生物实验)、Protein(24.8 万蛋白质靶点)、Gene(11.3 万基因)、Pathway(24.1 万通路)、Cell Line(2,007 细胞系)、Taxonomy(10.8 万物种分类)和 Patent(5,084 万专利文献)。
PubChem 的数据采集模式与 ChEMBL 存在本质差异:ChEMBL 采用手工策展(从文献中逐条提取生物活性数据),而 PubChem 采用自动采集 + 结构标准化模式——数据贡献者通过 PubChem Upload 系统直接提交原始实验数据,PubChem 自动执行化学结构标准化管道(Checker → Standardizer → GetParent)将物质去重为唯一化合物。这使得 PubChem 的化合物规模是 ChEMBL 的约 47 倍(1.19 亿 vs 250 万),但数据策展深度不如 ChEMBL。
PCBA 基准子集来源于 MoleculeNet(Wu et al., 2018, Chemical Science),这是一个分子机器学习综合基准平台。PCBA 子集包含 128 个来自 PubChem BioAssay 的生物实验,覆盖约 43.8 万化合物的二元活性标签,正样本率仅 1.40%,属于极端类别不平衡场景。MoleculeNet 推荐使用随机划分和 PRC-AUC(精确率-召回率曲线下面积)指标进行评估。
§1.2 为什么重要
| 维度 |
说明 |
| 规模无与伦比 |
1.19 亿化合物是全球最大的公开化学结构库,远超 ChEMBL(250 万)、ChemSpider(1 亿含未标注)和 DrugBank(~1.4 万药物) |
| 公共领域许可 |
美国政府部门作品,无版权限制,无需署名,允许商业使用和再分发——这是化学数据库中最宽松的许可 |
| PCBA 基准地位 |
MoleculeNet 中 Biophysics 类别的核心基准,评估多任务分子性质预测模型的泛化能力 |
| API 生态成熟 |
PUG-REST 是化学信息学领域最广泛使用的 RESTful API,5 req/s 速率限制满足大多数研究需求 |
| 数据互连性 |
通过 InChI Key 与 ChEMBL、DrugBank、KEGG 等 20+ 数据库互连;通过 PubMed ID 与文献系统互连 |
| 持续更新 |
每周全量 FTP 转储 + 每日增量更新;NAR 数据库专刊论文自 2008 年起每 2 年发表一次 |
| 免费无门槛 |
无需注册、无需申请、无数据使用协议——这是与 Controlled-access 数据集的根本区别 |
§1.3 与相关数据集对比
| 特性 |
PubChem / PCBA |
ChEMBL |
DrugBank |
ChemSpider |
BindingDB |
| 化合物数 |
1.19 亿 |
250 万 |
~1.4 万 |
~1 亿 |
~240 万 |
| 生物活性数 |
2.95 亿 |
2,100 万 |
N/A |
N/A |
~2,500 万 |
| 策展方式 |
自动标准化 |
手工策展 |
手工策展 |
自动 |
半自动 |
| 许可证 |
公共领域 |
CC BY-SA 3.0 |
付费/学术 |
CC BY-NC |
CC BY 4.0 |
| API |
PUG-REST (5/s) |
RESTful (无限制) |
付费 API |
RESTful |
RESTful |
| ML 基准 |
PCBA (MoleculeNet) |
QSAR 标准源 |
N/A |
N/A |
N/A |
| 维护机构 |
NIH/NCBI/NLM |
EMBL-EBI |
University of Alberta |
RSC |
UCSD |
| 数据来源 |
1,006+ 组织 |
~230 期刊 |
机构内部 |
~400 来源 |
文献+PDB |
| 版本频率 |
每周 FTP + 每日增量 |
每年 ~3 版 |
每年 ~1 版 |
持续 |
每年 ~1 版 |
§1.4 时间轴
| 时间 |
事件 |
| 2004-09 |
PubChem 作为 NIH 分子库路线图计划组成部分正式上线 |
| 2008 |
首篇 NAR 数据库专刊论文发表(Wang et al., 2008) |
| 2009 |
BioAssay 数据模型发布,支持 RNAi 筛选数据 |
| 2012 |
PubChem3D 上线——理论 3D 结构自动生成 |
| 2013 |
PubChemRDF 发布——语义网格式数据 |
| 2015 |
PUG-REST 发布——RESTful API 接口(Kim et al., NAR 2015) |
| 2015-09 |
1.57 亿物质 / 6,000 万化合物 / 100 万实验(NAR 2016 论文数据) |
| 2018 |
PUG-REST 更新论文发表(Kim et al., NAR 2018);化学结构标准化管道论文发表 |
| 2018-01 |
MoleculeNet 发布(Wu et al., Chemical Science)——PCBA 成为标准分子 ML 基准 |
| 2019 |
1.10 亿化合物(NAR 2019 论文数据) |
| 2021 |
1.11 亿化合物 / 2.71 亿生物活性(NAR 2021 论文数据) |
| 2023 |
1.15 亿化合物 / 2.81 亿生物活性(NAR 2023 论文数据) |
| 2024-09 |
1.19 亿化合物 / 2.95 亿生物活性 / 167 万实验 / 1,006 数据来源(NAR 2025 论文数据) |
| 2025-01 |
PubChem 2025 update 论文正式发表(Kim et al., NAR 2025, 53(D1):D1516-D1525) |
| 2026-07 |
最新功能更新:DSLD 膳食补充剂数据集成、EPA CPDat v4.1 更新、ToxValDB 毒性数据集成 |
§1.5 核心用例
| 用例 |
描述 |
涉及数据集合 |
| 分子性质预测 |
基于 SMILES/图结构预测化合物生物活性——PCBA 是 MoleculeNet 中的标准多任务基准 |
Compound + BioAssay |
| 虚拟筛选 |
使用相似性搜索或药效团匹配从数百万化合物中筛选候选分子 |
Compound |
| 药物重定位 |
利用多靶点生物活性谱分析已有药物的新适应症 |
BioAssay + Protein + Gene |
| 毒性预测 |
基于 ToxValDB、Tox21 等毒性数据训练预测模型 |
BioAssay + Patent |
| 化学信息检索 |
通过名称、SMILES、InChI、结构式搜索化合物的全面信息 |
Compound + Substance |
| 专利分析 |
利用专利知识面板分析化学物-基因-疾病的专利共现关系 |
Patent + Compound + Gene |
| 通路分析 |
追踪化学物在生物通路中的影响和相互作用 |
Pathway + Gene + Protein |
| 结构-活性关系 |
构建 QSAR 模型,探索化学结构与生物活性的定量关系 |
Compound + BioAssay |
§2 医学/药学背景
§2.1 标准编码映射
| 标准体系 |
编码 |
描述 |
| ATC(解剖学治疗学化学分类) |
多层级 |
PubChem 通过 DrugBank 和 Drugs@FDA 映射关联 ATC 药物分类 |
| ChEBI(化学实体本体) |
多层级 |
PubChem Compound 通过 InChI Key 关联 ChEBI 本体条目 |
| EFO(实验因子本体) |
多层级 |
PubChem BioAssay 靶点通过 UniProt/Gene ID 关联 EFO |
| MeSH(医学主题词) |
多层级 |
PubChem 文献面板通过 PubMed ID 关联 MeSH 词表 |
| UNII(唯一成分标识符) |
字母数字 |
FDA UNII 与 PubChem CID 通过结构匹配互连 |
| RxNorm |
RxCUI |
临床药物命名标准化,通过 NLM 内部系统与 PubChem 互连 |
| DrugBank ID |
DBxxxxx |
通过 UniChem 交叉引用建立映射 |
| ChEMBL ID |
CHEMBLxxxxx |
通过 UniChem 交叉引用建立映射 |
| KEGG |
Cxxxxx/Dxxxxx |
通过 FTP 批量下载的 xrefs 关联 KEGG 化合物/药物条目 |
§2.2 临床/药学任务
PubChem/PCBA 服务的核心药学任务包括:
- 先导化合物发现(Lead Identification):通过 HTS 筛选数百万化合物,识别具有生物活性的先导结构
- 构效关系建模(QSAR/QSPR):建立化学结构与生物活性/物理化学性质的定量预测模型
- 选择性优化(Selectivity Profiling):评估化合物对多个靶点的选择性谱
- ADMET 预测:预测吸收、分布、代谢、排泄和毒性性质
- 药物-靶点相互作用预测(DTI):预测化合物与蛋白质靶点的结合亲和力
- 化学安全评估:利用 EPA IRIS、ToxValDB 等毒性数据评估化学物质安全性
§2.3 患者人群与疾病覆盖
PubChem 不直接包含患者数据,但其生物活性数据覆盖的靶点和通路与多种疾病相关:
| 疾病领域 |
相关靶点/通路 |
PubChem 数据覆盖 |
| 癌症 |
激酶、HDAC、CDK、topoisomerase |
数百万活性数据点 |
| 感染性疾病 |
HIV protease、结核杆菌靶点、疟原虫靶点 |
MLPCN 筛选数据 + ChEMBL-NTD 联合 |
| 神经系统疾病 |
AChE、Dopamine receptor、NMDA receptor |
大量 HTS 数据 |
| 代谢性疾病 |
PPAR、DPP-4、SGLT2 |
FDA 获批药物注释 |
| 心血管疾病 |
ACE、ACE2、β-adrenergic receptor |
DrugBank 关联 |
§2.4 金标准与参考方法
| 任务 |
金标准方法 |
PubChem 提供的数据 |
| 活性确定 |
剂量-响应曲线(IC50/EC50/Ki) |
“active concentration summary” 字段,单位 µM |
| 活性分类 |
专家判断(active/inactive/inconclusive) |
五级 bioactivity outcome 分类 |
| 化合物结构验证 |
NMR / X-ray 晶体学 |
提交者提供 SMILES/InChI,PubChem 标准化 |
| 靶点验证 |
Western blot / 活性测定 |
Protein/Gene 交叉引用 |
| 毒性评估 |
体内动物实验 |
ToxValDB、EPA IRIS 集成 |
§3 数据集规格
§3.0 版本抉择矩阵
| 版本/子集 |
数据量 |
用途 |
推荐场景 |
| PubChem 全库(2025) |
1.19 亿化合物 / 2.95 亿活性 |
完整数据访问 |
需要最大化合物覆盖的研究 |
| PubChem Compound FTP |
~119M SDF 结构文件 |
批量结构下载 |
离线分析、化合物库构建 |
| PubChem BioAssay FTP |
167 万实验 CSV/XML |
批量活性下载 |
虚拟筛选、QSAR 建模 |
| PCBA(MoleculeNet) |
128 实验 × 43.8 万化合物 |
分子 ML 基准 |
模型评估、论文复现 |
| MUV(MoleculeNet) |
17 实验 × 9.3 万化合物 |
虚拟筛选验证 |
最大无偏验证(也从 PubChem 提取) |
| PubChem3D |
理论 3D 构象库 |
3D QSAR / 对接 |
需要理论 3D 结构的研究 |
| PubChemRDF |
语义网格式 |
关联数据查询 |
SPARQL 查询、知识图谱构建 |
| PUG-REST API |
实时查询 |
在线数据获取 |
脚本化访问、Web 应用集成 |
§3.1 数据模态
| 模态 |
描述 |
数据量 |
| 2D 化学结构 |
SMILES、InChI、InChI Key、SDF |
1.19 亿 |
| 3D 理论结构 |
PubChem3D 生成的理论构象(每化合物最多 500 构象) |
~6,000 万化合物 |
| 生物活性数据 |
实验测试结果(活性/非活性/不确定 + 定量 IC50/AC50) |
2.95 亿 |
| 实验元数据 |
实验描述、协议、靶点信息 |
167 万实验 |
| 蛋白质靶点 |
蛋白质序列、分类、注释 |
24.8 万 |
| 基因靶点 |
基因 ID、符号、同义词 |
11.3 万 |
| 生物通路 |
KEGG、WikiPathways、Reactome 通路 |
24.1 万 |
| 专利文献 |
专利全文索引、化学物-基因-疾病共现 |
5,084 万 |
| 科学文献 |
PubMed 关联文献 |
4,156 万 |
| 分类树 |
药理、安全、暴露、用途分类 |
73 棵 |
| RDF 关联数据 |
SIO/CHEMINF 本体格式 |
全库 RDF 转储 |
§3.2 样本与规模
| 指标 |
数值 |
说明 |
| 化合物总数 |
118,596,691 |
截至 2024-09-12 |
| 物质总数 |
322,395,335 |
提交者提供的原始化学描述 |
| 生物活性总数 |
295,360,133 |
实验测试结果数据点 |
| 生物实验总数 |
1,671,325 |
BioAssay 记录数 |
| 蛋白质靶点 |
248,298 |
测试靶点蛋白质序列 |
| 基因靶点 |
113,242 |
测试靶点基因 |
| 生物通路 |
241,163 |
化学物-基因-蛋白质互作通路 |
| 细胞系 |
2,007 |
实验测试的细胞系 |
| 物种分类 |
107,617 |
靶点生物体 |
| 文献引用 |
41,558,769 |
带 PubChem 链接的出版物 |
| 专利引用 |
50,836,952 |
带 PubChem 链接的专利 |
| 数据来源 |
1,006 |
贡献组织数 |
| PCBA 子集化合物 |
437,929 |
MoleculeNet 基准 |
| PCBA 子集任务数 |
128 |
二分类任务 |
| PCBA 正样本率 |
1.40% |
极端类别不平衡 |
§3.3 数据格式
| 格式 |
用途 |
获取方式 |
| SDF(Structure Data File) |
化合物 2D 结构 + 属性 |
FTP 批量下载 / PUG-REST |
| SMILES |
分子线性表示法 |
PUG-REST / FTP |
| InChI / InChI Key |
国际标准化学标识符 |
PUG-REST / FTP |
| ASN.1 |
原始 PubChem 数据格式 |
FTP 批量下载 |
| XML |
BioAssay 完整记录 |
FTP / PUG-REST |
| CSV |
BioAssay 数据表(表格格式) |
FTP / PUG-REST |
| JSON |
API 响应格式 |
PUG-REST / PUG-View |
| RDF(N-Triples / Turtle) |
语义网格式 |
FTP 批量下载 |
| PNG |
化合物 2D 结构图像 |
PUG-REST |
| TXT |
单值属性查询结果 |
PUG-REST |
§3.4 存储与下载
| 下载方式 |
内容 |
路径/URL |
说明 |
| FTP 全量 |
Compound SDF |
ftp.ncbi.nlm.nih.gov/pubchem/Compound/CURRENT-Full/SDF/ |
~500 个分片文件,每个 ~250K 化合物 |
| FTP 全量 |
BioAssay CSV/XML |
ftp.ncbi.nlm.nih.gov/pubchem/BioAssay/ |
每周全量 + 每日增量 |
| FTP 全量 |
Substance ASN.1 |
ftp.ncbi.nlm.nih.gov/pubchem/Substance/CURRENT-Full/ |
原始提交者数据 |
| FTP 全量 |
PubChemRDF |
ftp.ncbi.nlm.nih.gov/pubchem/RDF/ |
语义网格式 |
| PUG-REST |
在线查询 |
pubchem.ncbi.nlm.nih.gov/rest/pug/ |
5 req/s 限制 |
| PUG-View |
完整注释记录 |
pubchem.ncbi.nlm.nih.gov/rest/pug_view/ |
~5 MB JSON/记录 |
| Web 界面 |
交互式搜索 |
pubchem.ncbi.nlm.nih.gov |
文本/结构/子结构/相似性搜索 |
| Entrez |
NCBI 跨库搜索 |
eutils.ncbi.nlm.nih.gov |
与 PubMed/Protein/Gene 联合查询 |
§3.5 标注协议
PubChem BioAssay 的标注流程:
| 步骤 |
描述 |
| 1. 数据提交 |
数据贡献者通过 PubChem Upload 系统提交 BioAssay 记录(描述 + 结果表) |
| 2. 必填字段 |
每条测试结果必须包含:物质引用(SID)、活性结果(1=非活性 / 2=活性) |
| 3. 活性结果 |
五级分类:chemical probe / active / inactive / inconclusive / unspecified |
| 4. 活性评分 |
0-100 分值,便于区分高活性与低活性化合物 |
| 5. 活性浓度 |
主要终点(IC50/AC50/EC50)以 µM 为单位(如适用) |
| 6. 实验阶段 |
HTS 项目阶段追踪:screening → confirmatory → doseresponse → counter screen |
| 7. 交叉引用 |
靶点(Gene ID/Protein GI)、文献(PMID)、外部数据库链接 |
重要区别:PubChem 的标注由数据提交者完成,而非 PubChem 团队手工策展。这与 ChEMBL 的手工文献提取模式形成对比。
§3.6 标注者信息
| 标注者类型 |
说明 |
| NIH 分子库筛选中心 |
MLPCN 联盟的 9 个筛选中心,执行 qHTS 筛选 |
| 学术研究者 |
通过 PubChem Upload 提交实验数据的学术实验室 |
| 政府机构 |
EPA(毒性数据)、FDA(药物信息)、USDA 等 |
| 制药公司 |
自愿公开筛选数据的制药企业 |
| 化学供应商 |
提供化合物目录和结构信息的供应商 |
| PubChem 团队 |
仅执行结构标准化和系统集成,不做活性标注 |
§3.7 采集设备与方法
| 设备/方法 |
用途 |
数据来源 |
| qHTS(定量高通量筛选) |
多浓度梯度筛选 |
NIH MLPCN 中心 |
| 荧光偏振(FP) |
生化实验读数 |
各筛选中心 |
| AlphaScreen/AlphaLISA |
均相时间分辨荧光 |
各筛选中心 |
| 细胞活力测定 |
细胞毒性评估 |
各筛选中心 |
| 报告基因实验 |
通路活性评估 |
各筛选中心 |
| SPR(表面等离子共振) |
结合亲和力测定 |
部分确认实验 |
§3.8 地域与机构
| 地区 |
机构 |
贡献类型 |
| 美国 |
NIH/NCBI/NLM(运营方)、EPA、FDA、NCI-DTP、NIST |
数据运营 + 毒性/药物数据 |
| 欧洲 |
EMBL-EBI(通过 UniChem 互连)、ChEMBL(交叉引用) |
结构交叉验证 |
| 全球 |
1,006+ 数据贡献组织 |
化合物目录、筛选数据、文献数据 |
§3.9 设备与平台
§3.10 深度溯源链
原始实验数据
├── 提交者(1,006+ 组织)
│ ├── NIH MLPCN 筛选中心 → qHTS 数据
│ ├── 学术实验室 → 文献发表数据
│ ├── EPA → 毒性数据(IRIS, PPRTV, ToxValDB)
│ ├── FDA → 药物信息(Drugs@FDA, UNII)
│ └── 化学供应商 → 化合物目录
│
├── PubChem Upload 系统
│ ├── Substance 记录(SID)—— 原始提交
│ ├── BioAssay 记录(AID)—— 实验描述 + 结果
│ └── 版本追踪 + 修改历史
│
├── 自动化处理管道
│ ├── 化学结构标准化
│ │ ├── Checker(验证输入结构)
│ │ ├── Standardizer(标准化操作:去盐、互变异构归一化等)
│ │ └── GetParent(提取母体结构)
│ ├── Compound 生成(CID)—— 从 Substance 去重
│ ├── PubChem3D 理论 3D 结构生成
│ └── 共现数据文本挖掘(文献/专利面板)
│
├── 数据互连
│ ├── InChI Key → UniChem → ChEMBL/DrugBank/KEGG
│ ├── Gene ID → NCBI Gene → KEGG/Reactome
│ ├── Protein GI → NCBI Protein → UniProt
│ └── PubMed ID → NCBI PubMed → MeSH
│
└── 输出
├── Web 界面(搜索/浏览/分析)
├── PUG-REST API(JSON/XML/CSV/SDF/PNG)
├── FTP 批量下载(ASN.1/XML/CSV/SDF/RDF)
└── PubChemRDF(语义网/Turtle)
§4 数据结构详解
§4.1 目录树预览
PubChem/
├── Compound/ # 唯一化学结构(119M)
│ ├── CURRENT-Full/
│ │ └── SDF/ # SDF 格式,~500 分片
│ ├── CURRENT-Daily/ # 每日增量
│ └── Extras/ # 额外属性(CID-Title, CID-Synonym-filtered)
│
├── Substance/ # 原始物质描述(322M)
│ ├── CURRENT-Full/
│ │ └── ASN.1/ # ASN.1 格式
│ └── CURRENT-Daily/ # 每日增量
│
├── BioAssay/ # 生物实验(1.67M)
│ ├── README # 数据格式说明
│ ├── ASN.1/ # 完整 ASN.1 格式
│ ├── XML/ # XML 格式
│ ├── CSV/ # CSV 数据表
│ ├── Concise/ # 精简视图(活性结果+评分+浓度)
│ └── AssayNeighbors/ # 实验间关联
│
├── RDF/ # 语义网格式
│ ├── compound/ # 化合物 RDF
│ ├── substance/ # 物质 RDF
│ ├── assay/ # 实验 RDF
│ ├── bioactivity/ # 生物活性 RDF
│ ├── protein/ # 蛋白质 RDF
│ ├── gene/ # 基因 RDF
│ ├── pathway/ # 通路 RDF
│ ├── taxonomy/ # 分类 RDF
│ ├── patent/ # 专利 RDF
│ └── cooccurrence/ # 共现关系 RDF
│
├── Conformers/ # PubChem3D 理论构象
├── Classification/ # 分类树数据
└── Extras/ # 额外数据集
├── CID-Title/ # CID → 标题映射
├── CID-Synonym-filtered/ # CID → 同义词
├── CID-To-CAS/ # CID → CAS 号
├── CID-To-Patent/ # CID → 专利号
├── CID-To-Gene/ # CID → 基因 ID
├── CID-To-PubMed/ # CID → PubMed ID
└── Categorized-SIDs/ # 分类物质
§4.2 BioAssay 数据模型(DAIMS 标准化数据字典)
| 字段名 |
类型 |
描述 |
示例 |
AID |
Integer |
实验 ID(主键) |
1 |
Assay Name |
Text |
实验名称 |
“Inhibitor screening for…” |
Source ID |
Text |
数据来源标识 |
“MLPCN” |
Source Category |
Text |
来源类别 |
“NIH Molecular Libraries Program” |
Assay Type |
Enum |
实验类型 |
screening / confirmatory / doseresponse / panel / rnai / summary |
Assay Group Type |
Enum |
实验组类型 |
cellbased / biochemical / invivo / invitro |
Description |
Text |
实验描述 |
“This assay determines…” |
Protocol |
Text |
实验协议 |
详细操作步骤 |
Target GI |
Integer |
靶点蛋白质 GI |
23807 |
Target Name |
Text |
靶点名称 |
“c-Jun N-Terminal Kinase 3” |
Gene ID |
Integer |
靶点基因 ID |
5602 |
Gene Symbol |
Text |
基因符号 |
“MAPK10” |
Result Row |
Record |
单条测试结果 |
— |
SID |
Integer |
物质 ID(外键) |
104234342 |
CID |
Integer |
化合物 ID(外键) |
16750016 |
Activity Outcome |
Enum |
活性结果 |
1=inactive / 2=active / 3=inconclusive / 4=unspecified |
Activity Score |
Integer |
活性评分(0-100) |
85 |
Active Concentration |
Float |
活性浓度(µM) |
1.50 |
Tested Concentration |
Float |
测试浓度(µM) |
10.0 |
TID |
Integer |
测试结果字段 ID |
1 |
PubMed ID |
Integer |
关联文献 PMID |
12345678 |
§4.3 PCBA 基准子集结构
MoleculeNet 中的 PCBA 数据集结构:
| 属性 |
值 |
| 化合物数 |
437,929 |
| 任务数 |
128(每个任务对应一个 BioAssay AID) |
| 任务类型 |
二分类(active/inactive) |
| 正样本率 |
1.40% |
| 输入特征 |
SMILES 字符串 |
| 推荐特征化 |
ECFP4(2048-bit Morgan 指纹,radius=2)/ Graph Convolution |
| 推荐划分 |
Random(80/10/10 训练/验证/测试) |
| 推荐指标 |
PRC-AUC(精确率-召回率曲线下面积) |
| 缺失值 |
大量(未测试的化合物-实验对为 NaN) |
| DeepChem 加载 |
deepchem.molnet.load_pcba(featurizer=''''''''''''''''''''''''''''''''ECFP'''''''''''''''''''''''''''''''', splitter=''''''''''''''''''''''''''''''''random'''''''''''''''''''''''''''''''') |
§4.4 标签分布与统计
PCBA 子集统计:
| 统计指标 |
值 |
| 化合物总数 |
437,929 |
| 任务总数 |
128 |
| 总数据点 |
437,929 × 128 = 56,054,912 |
| 已标注数据点 |
~数百万(大部分为 NaN/未测试) |
| 正样本率 |
1.40% |
| 平均每任务正样本数 |
~数千 |
| SMILES 平均长度 |
~50-60 字符 |
| 分子量范围 |
~150-600 Da(药物样分子) |
活性结果分布(全库 BioAssay):
| 活性类别 |
编码 |
占比估计 |
说明 |
| Inactive |
1 |
~95%+ |
绝大多数测试结果 |
| Active |
2 |
~1-5% |
筛选命中 |
| Inconclusive |
3 |
~1-3% |
边界结果 |
| Unspecified |
4 |
<1% |
未判定 |
| Chemical Probe |
— |
<0.01% |
经验证的化学探针 |
§4.5 数据层级与关联
Substance (SID)
├── 1:N → Compound (CID) [标准化去重]
├── 1:N → BioAssay Result [测试结果]
└── 1:1 → Source [数据来源]
Compound (CID)
├── N:1 ← Substance [多个来源映射]
├── 1:N → BioAssay Result [活性数据]
├── 1:N → Synonyms [同义词]
├── 1:N → Patents [专利引用]
├── 1:N → PubMed IDs [文献引用]
├── 1:1 → InChI Key [标准标识符]
└── 1:N → 3D Conformers [PubChem3D]
BioAssay (AID)
├── 1:N → Test Results [每物质一条]
├── 1:1 → Target Protein [蛋白质靶点]
├── 1:1 → Target Gene [基因靶点]
├── 1:N → PubMed IDs [关联文献]
└── 1:1 → Source [数据来源]
Protein (GI)
├── N:1 ← BioAssay [实验靶点]
├── 1:N → Gene IDs [基因映射]
└── 1:1 → UniProt [外部引用]
Gene (Gene ID)
├── N:1 ← BioAssay [实验靶点]
├── 1:N → Pathways [通路参与]
└── 1:1 → NCBI Gene [外部引用]
§4.6 缺失值处理
| 缺失类型 |
处理方式 |
影响 |
| 未测试的化合物-实验对 |
NaN(PCBA 中大量存在) |
多任务学习需处理稀疏矩阵 |
| 缺失活性浓度 |
空/不适用 |
仅 active 结果通常有 IC50 |
| 缺失靶点信息 |
空字段 |
部分实验无明确靶点 |
| 缺失实验协议 |
空/简略 |
影响可重复性评估 |
| 立体化学不确定 |
标准化后可能丢失 |
影响手性敏感的活性预测 |
§5 数据划分与使用建议
§5.1 PCBA 官方划分
MoleculeNet 推荐的 PCBA 划分策略:
| 划分 |
比例 |
化合物数 |
说明 |
| 训练集 |
80% |
~350,343 |
Random split |
| 验证集 |
10% |
~43,793 |
用于超参数调优 |
| 测试集 |
10% |
~43,793 |
最终性能评估 |
划分策略选择理由:PCBA 使用 Random split 而非 Scaffold split,因为该数据集的主要目的是评估多任务学习在极端类别不平衡下的表现,而非测试对新化学类型的泛化。Random split 允许相似分子出现在训练和测试集中,这在实际虚拟筛选场景中是合理的(化合物库中常有结构类似物)。
§5.2 多任务学习建议
| 建议 |
说明 |
| 任务共享 |
PCBA 的 128 个任务天然适合多任务学习——共享底层特征表示 |
| 正则化效果 |
MoleculeNet 论文证实多任务训练对 PCBA 有正则化作用,减少过拟合 |
| 稀疏标签处理 |
大部分化合物-实验对为 NaN,需使用掩码损失(masked loss) |
| 类别不平衡 |
正样本率 1.40%,建议使用加权损失或过采样 |
| 指标选择 |
必须使用 PRC-AUC 而非 ROC-AUC——在 1.40% 正样本率下 ROC-AUC 会严重高估性能 |
§5.3 DeepChem 加载代码
import deepchem as dc
# 加载 PCBA 基准数据集
tasks, datasets, transformers = dc.molnet.load_pcba(
featurizer=''''''''''''''''''''''''''''''''ECFP'''''''''''''''''''''''''''''''', # ECFP4 指纹(2048-bit)
splitter=''''''''''''''''''''''''''''''''random'''''''''''''''''''''''''''''''', # 推荐的随机划分
reload=True # 缓存到本地
)
train_dataset, valid_dataset, test_dataset = datasets
print(f"Tasks: {len(tasks)}") # 128
print(f"Train: {len(train_dataset)}") # ~350K
print(f"Valid: {len(valid_dataset)}") # ~44K
print(f"Test: {len(test_dataset)}") # ~44K
# 使用图卷积特征化
tasks, datasets, transformers = dc.molnet.load_pcba(
featurizer=''''''''''''''''''''''''''''''''GraphConv'''''''''''''''''''''''''''''''', # 图卷积特征
splitter=''''''''''''''''''''''''''''''''random''''''''''''''''''''''''''''''''
)
§5.4 PUG-REST 在线查询示例
import requests
import time
BASE = "https://pubchem.ncbi.nlm.nih.gov/rest/pug"
# 1. 通过名称获取 CID
url = f"{BASE}/compound/name/aspirin/cids/JSON"
cid = requests.get(url).json()["IdentifierList"]["CID"][0]
# → 2244
# 2. 获取化合物属性
url = f"{BASE}/compound/cid/2244/property/MolecularFormula,MolecularWeight,XLogP,InChIKey/JSON"
props = requests.get(url).json()["PropertyTable"]["Properties"][0]
# 3. 获取生物活性摘要
url = f"{BASE}/compound/cid/2244/assaysummary/CSV"
assays = requests.get(url).text
# 4. 批量查询(最多 ~100 CIDs/请求)
url = f"{BASE}/compound/cid/2244,5362069,1983/property/MolecularWeight,XLogP/JSON"
results = requests.get(url).json()
# 5. 相似性搜索(Tanimoto ≥ 90%)
url = f"{BASE}/compound/fastsimilarity_2d/cid/2244/cids/JSON?Threshold=90"
similar = requests.get(url).json()
# ⚠️ 速率限制:每秒不超过 5 个请求
time.sleep(0.2)
§5.5 全库 FTP 批量下载
# 下载全部 Compound SDF(~119M 化合物,~500 分片)
wget -r -np -nH cut-dirs=3 \
ftp://ftp.ncbi.nlm.nih.gov/pubchem/Compound/CURRENT-Full/SDF/
# 下载全部 BioAssay CSV
wget -r -np -nH cut-dirs=3 \
ftp://ftp.ncbi.nlm.nih.gov/pubchem/BioAssay/CSV/
# 下载 PubChemRDF
wget -r -np -nH cut-dirs=3 \
ftp://ftp.ncbi.nlm.nih.gov/pubchem/RDF/
§6 AI 就绪指南
§6.0 云端快速启动(Google Colab)
# === PubChem/PCBA 一键启动 ===
# 1. 安装依赖
!pip install deepchem rdkit-pypi pubchempy
# 2. 加载 PCBA 基准
import deepchem as dc
tasks, datasets, transformers = dc.molnet.load_pcba(
featurizer=''''''''''''''''''''''''''''''''ECFP'''''''''''''''''''''''''''''''', splitter=''''''''''''''''''''''''''''''''random''''''''''''''''''''''''''''''''
)
train, valid, test = datasets
# 3. 训练多任务 DNN
from deepchem.models import MultitaskClassifier
n_features = train.X.shape[1]
model = MultitaskClassifier(
n_tasks=len(tasks),
n_features=n_features,
layer_sizes=[500, 200],
dropouts=0.25,
learning_rate=0.001
)
model.fit(train, nb_epoch=10)
# 4. 评估
from deepchem.metrics import Metric, prc_auc_score
metric = Metric(prc_auc_score, np.mean, mode="classification")
scores = model.evaluate(test, [metric], transformers)
print(f"Test PRC-AUC: {scores[''''''''''''''''''''''''''''''''mean-prc_auc_score'''''''''''''''''''''''''''''''']:.4f}")
# 5. 在线查询 PubChem
import pubchempy as pcp
compound = pcp.get_compounds(''''''''''''''''''''''''''''''''aspirin'''''''''''''''''''''''''''''''', ''''''''''''''''''''''''''''''''name'''''''''''''''''''''''''''''''')[0]
print(f"CID: {compound.cid}, SMILES: {compound.canonical_smiles}")
§6.1 PyTorch DataLoader
import torch
from torch.utils.data import Dataset, DataLoader
import pandas as pd
import numpy as np
from rdkit import Chem
from rdkit.Chem import AllChem
class PCBADataset(Dataset):
"""PCBA 多任务分子性质预测数据集"""
def __init__(self, csv_path, tasks=None, featurizer=''''''''''''''''''''''''''''''''ecfp'''''''''''''''''''''''''''''''', radius=2, n_bits=2048):
df = pd.read_csv(csv_path)
self.smiles = df[''''''''''''''''''''''''''''''''smiles''''''''''''''''''''''''''''''''].values
self.tasks = tasks or [c for c in df.columns if c != ''''''''''''''''''''''''''''''''smiles'''''''''''''''''''''''''''''''']
self.labels = df[self.tasks].values.astype(np.float32)
self.featurizer = featurizer
self.radius = radius
self.n_bits = n_bits
def __len__(self):
return len(self.smiles)
def __getitem__(self, idx):
smiles = self.smiles[idx]
labels = self.labels[idx]
# ECFP4 指纹特征化
mol = Chem.MolFromSmiles(smiles)
if mol is None:
features = np.zeros(self.n_bits, dtype=np.float32)
else:
fp = AllChem.GetMorganFingerprintAsBitVect(
mol, self.radius, nBits=self.n_bits
)
features = np.zeros((self.n_bits,), dtype=np.float32)
Chem.DataStructs.ConvertToNumpyArray(fp, features)
# 掩码:NaN → 未测试
mask = ~np.isnan(labels)
labels_clean = np.nan_to_num(labels, nan=0.0)
return {
''''''''''''''''''''''''''''''''features'''''''''''''''''''''''''''''''': torch.FloatTensor(features),
''''''''''''''''''''''''''''''''labels'''''''''''''''''''''''''''''''': torch.FloatTensor(labels_clean),
''''''''''''''''''''''''''''''''mask'''''''''''''''''''''''''''''''': torch.BoolTensor(mask)
}
# 加载数据
train_ds = PCBADataset(''''''''''''''''''''''''''''''''pcba_train.csv'''''''''''''''''''''''''''''''', featurizer=''''''''''''''''''''''''''''''''ecfp'''''''''''''''''''''''''''''''')
train_loader = DataLoader(train_ds, batch_size=256, shuffle=True, num_workers=4)
§6.2 预处理流程
| 步骤 |
操作 |
工具 |
说明 |
| 1 |
SMILES 标准化 |
RDKit Chem.MolFromSmiles |
统一 SMILES 表示 |
| 2 |
特征化 |
ECFP4 / Graph Convolution |
2048-bit Morgan 指纹或图特征 |
| 3 |
缺失值掩码 |
~np.isnan(labels) |
标记未测试的化合物-实验对 |
| 4 |
类别加权 |
pos_weight = (1 - pos_rate) / pos_rate |
处理 1.40% 极端不平衡 |
| 5 |
归一化 |
(通常不需要,ECFP 为二值) |
图特征可能需要节点度归一化 |
| 6 |
划分 |
Random 80/10/10 |
遵循 MoleculeNet 推荐 |
§6.3 坑点指南(6 大已知问题)
坑点 ① 极端类别不平衡(正样本率 1.40%)
问题:PCBA 的正样本率仅 1.40%,远低于一般分类任务。ROC-AUC 在这种极端不平衡下会产生误导性高分——一个全部预测为"非活性"的模型在 ROC-AUC 上仍可获得 ~0.5+ 的分数。
解决方案:
- 必须使用 PRC-AUC 而非 ROC-AUC 作为评估指标
- 使用加权交叉熵损失:
pos_weight = (1 - 0.014) / 0.014 ≈ 70
- 或使用 Focal Loss 自动调节难易样本权重
- 考虑过采样(SMOTE)或欠采样策略
坑点 ② PAINS 和假阳性化合物
问题:PubChem 的 HTS 数据包含大量 Pan-Assay Interference Compounds(PAINS),这些化合物在多种实验中均显示"活性",但实际上是由于非特异性干扰(如荧光淬灭、聚集、反应活性)。
解决方案:
- 使用 RDKit 的 PAINS 过滤器(
FilterCatalog)预先过滤
- 参照 Baell & Walters(2014, Nature)的 PAINS 子结构规则
- 在多任务分析中,如果一个化合物在 >50% 的实验中均"活性",应标记为可疑
坑点 ③ 数据来源异质性导致的批次效应
问题:PubChem 的 167 万实验来自 1,006+ 个不同组织,不同实验室使用的实验协议、仪器、试剂和判定标准各异,导致严重的批次效应。同一靶点的不同实验可能给出完全不同的活性分类。
解决方案:
- 按
Source ID 分组分析,识别来源特异性模式
- 在多任务学习中引入实验来源作为条件变量
- 对于 PCBA 基准的 128 个实验,注意它们来自不同筛选中心,协议不一致
- 考虑使用 source-aware 的数据划分(留一来源验证)
坑点 ④ 化学结构标准化丢失信息
问题:PubChem 的标准化管道(Checker → Standardizer → GetParent)会去除盐类、中和电荷、归一化互变异构体。这个过程可能丢失对生物活性至关重要的信息——例如,盐的形式影响溶解度,互变异构体可能有不同活性。
解决方案:
- 同时保留 Substance 原始结构和 Compound 标准化结构
- 对于手性敏感的靶点,使用 isomeric SMILES 而非 canonical SMILES
- 在 PubChem FTP 上可同时获取
Substance/ 原始数据和 Compound/ 标准化数据
坑点 ⑤ PCBA 与全库 BioAssay 的混淆
问题:PCBA(128 个实验、43.8 万化合物)是 MoleculeNet 论文中使用的一个特定子集,而非 PubChem BioAssay 的全量数据。研究者可能混淆"PCBA 基准"和"PubChem BioAssay 全库"。
解决方案:
- PCBA 基准:通过
deepchem.molnet.load_pcba 加载,用于模型评估和论文复现
- PubChem BioAssay 全库:通过 FTP 下载 167 万实验,用于自定义分析
- MUV(17 个实验、9.3 万化合物)也是从 PubChem BioAssay 提取的另一个基准子集
- 在论文中明确说明使用的是哪个子集
坑点 ⑥ PUG-REST 速率限制和大数据获取
问题:PUG-REST 限制为 5 请求/秒。对于需要查询数万化合物的任务,逐个查询需要数小时。此外,大量并发请求会导致 IP 被暂时封禁。
解决方案:
- 批量查询:单次请求最多 ~100 个 CID(
/compound/cid/1,2,3,...,100/property/.../JSON)
- FTP 批量下载:对于 >1,000 个化合物的需求,直接从 FTP 下载 SDF
- ListKey 机制:对于大量结果,PUG-REST 返回 ListKey,可用于分页获取
- 本地缓存:使用本地 SQLite 缓存查询结果
- 遵守限速:脚本中添加
time.sleep(0.2) 确保不超过 5 req/s
§6.4 数据增强策略
| 策略 |
适用模型 |
说明 |
| SMILES 枚举 |
Transformer / RNN |
对同一分子生成多种 SMILES 字符串表示 |
| 分子图扰动 |
GNN |
随机删除边/节点或添加噪声 |
| Mixup |
全连接 DNN |
在 ECFP 指纹空间线性插值 |
| 多任务预训练 |
所有模型 |
先在 ChEMBL 或 PubChem 全库上预训练,再在 PCBA 上微调 |
| 自监督学习 |
GNN / Transformer |
掩码原子/键预测(如 MolBERT、ChemBERTa) |
§6.5 模型推荐
| 模型类型 |
推荐模型 |
PCBA 预期性能 |
说明 |
| 经典 ML |
Random Forest, XGBoost |
PRC-AUC ~0.10-0.13 |
ECFP4 特征 + 多任务 |
| DNN |
Multitask DNN |
PRC-AUC ~0.10 |
共享表示 + 多任务头 |
| GNN |
Graph Convolution (GC) |
PRC-AUC ~0.14 |
MoleculeNet 最佳基线 |
| GNN |
Weave |
PRC-AUC ~0.11 |
密集图连接 |
| Transformer |
ChemBERTa, MolBERT |
PRC-AUC ~0.15-0.35 |
预训练 + 微调 |
| 大模型 |
ChemFM-3B |
PRC-AUC ~0.35 |
3B 参数化学语言模型 |
| 集成 |
GC + XGBoost |
PRC-AUC ~0.15-0.20 |
模型集成 |
§6.6 硬件需求
| 场景 |
CPU |
GPU |
内存 |
存储 |
时间 |
| PCBA 基准训练 |
8 核 |
1× RTX 3090 |
32 GB |
10 GB |
~2-4 小时 |
| PubChem 全库 FTP 下载 |
4 核 |
— |
16 GB |
5+ TB |
~数天 |
| ECFP4 特征化全库 |
32 核 |
— |
128 GB |
500 GB |
~数天 |
| GNN 全库训练 |
16 核 |
4× A100 80GB |
256 GB |
2 TB |
~数周 |
§6.7 评估指标详解
| 指标 |
公式 |
适用场景 |
PCBA 推荐度 |
| PRC-AUC |
精确率-召回率曲线下面积 |
极端类别不平衡 |
⭐⭐⭐⭐⭐ 推荐 |
| ROC-AUC |
ROC 曲线下面积 |
平衡数据集 |
⚠️ 不推荐(会高估) |
| F1-Score |
2·P·R/(P+R) |
需要单一阈值 |
⭐⭐⭐ |
| BedROC |
加权 ROC(早期富集) |
虚拟筛选 |
⭐⭐⭐⭐ |
| Enrichment Factor |
特定浓度下的富集比 |
筛选优先级 |
⭐⭐⭐ |
| Cohen’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’'s Kappa |
分类一致性(校正随机一致性) |
类别不平衡 |
⭐⭐⭐ |
| Matthews CC |
相关系数(平衡指标) |
类别不平衡 |
⭐⭐⭐ |
§7 质量评估与局限性
§7.1 数据偏倚
| 偏倚类型 |
描述 |
影响 |
缓解措施 |
| 靶点偏倚 |
数据集中于少数热门靶点(如激酶、GPCR) |
模型对冷门靶点泛化差 |
按靶点频率加权采样 |
| 化合物偏倚 |
药物样小分子过度代表 |
对非药物样分子预测差 |
扩展训练集到非药物分子 |
| 来源偏倚 |
NIH MLPCN 贡献大量数据 |
实验协议集中化 |
按来源分组交叉验证 |
| 发表偏倚 |
活性化合物更可能被公开 |
模型对非活性预测偏 |
使用 deposited data 补充 |
| PAINS 偏倚 |
假阳性化合物干扰 |
多任务模型学到 PAINS 模式 |
PAINS 过滤 |
§7.2 标注质量
| 质量维度 |
评估 |
说明 |
| 活性分类准确性 |
⚠️ 中等 |
由提交者判定,无统一阈值;不同实验室标准不一 |
| 定量活性精度 |
⚠️ 可变 |
IC50/AC50 精度取决于实验类型和条件 |
| 结构准确性 |
✅ 高 |
经标准化管道处理,InChI Key 可验证 |
| 靶点注释准确性 |
✅ 高 |
通过 NCBI Gene/Protein 交叉验证 |
| 实验协议完整性 |
⚠️ 可变 |
部分实验描述详尽,部分仅简要说明 |
| 可重复性 |
⚠️ 有限 |
原始实验数据可下载,但实验室特定条件难复现 |
§7.3 泛化性
| 泛化维度 |
评估 |
说明 |
| 化学空间覆盖 |
✅ 广泛 |
1.19 亿化合物覆盖极广的化学空间 |
| 靶点空间覆盖 |
✅ 广泛 |
24.8 万蛋白质靶点 |
| 物种覆盖 |
✅ 广泛 |
10.8 万物种分类 |
| 时间覆盖 |
✅ 20 年+ |
2004 至今持续积累 |
| PCBA 子集泛化 |
⚠️ 有限 |
128 个实验可能不代表全库 |
| 新化学类型泛化 |
⚠️ 未评估 |
PCBA 使用 random split,未测试 scaffold 泛化 |
§7.4 伦理考量
| 伦理维度 |
评估 |
说明 |
| 人类受试者 |
N/A |
纯化学/生物数据,无人类受试者 |
| 隐私保护 |
✅ 无风险 |
无个人身份信息 |
| 动物实验 |
⚠️ 间接 |
部分毒性数据来自动物实验,PubChem 仅索引结果 |
| 数据公正 |
✅ 公共领域 |
全球免费访问,无地理/机构限制 |
| 商业利益冲突 |
⚠️ 存在 |
专利数据可能反映商业优先级 |
§7.5 公平性
| 公平性维度 |
评估 |
说明 |
| 化学公平性 |
⚠️ 偏倚 |
小分子过度代表,大分子/生物制剂覆盖不足 |
| 疾病公平性 |
⚠️ 偏倚 |
发达国家疾病靶点过度研究 |
| 物种公平性 |
⚠️ 偏倚 |
人类/模式生物靶点过度代表 |
| 地理公平性 |
✅ 良好 |
公共领域,全球无差别访问 |
§7.6 数据安全与隐私
PubChem 不涉及个人身份信息或敏感数据。所有数据均为化学结构和生物活性数据,无人类受试者、无患者记录、无临床数据。数据安全风险极低。
§7.7 DAIMS 24 项数据就绪度评估
| # |
评估项 |
状态 |
说明 |
| 1 |
数据来源标识 |
✅ |
1,006+ 来源完整记录,每条数据可溯源 |
| 2 |
数据采集协议 |
✅ |
HTS 协议文档化,实验类型/阶段/组类型标注 |
| 3 |
数据标注协议 |
✅ |
五级活性分类 + 评分 + 浓度标准化(µM) |
| 4 |
数据质量控制 |
✅ |
化学结构标准化管道(Checker→Standardizer→GetParent) |
| 5 |
标注者间一致性 |
❌ |
无 IAA 指标,不同提交者标准不一 |
| 6 |
数据版本控制 |
✅ |
每周全量 FTP + 每日增量;实验记录版本追踪 |
| 7 |
伦理审批 |
⚠️ |
公共领域化学数据,部分毒性数据涉及动物实验 |
| 8 |
知情同意 |
N/A |
化学数据,无人类受试者 |
| 9 |
隐私保护 |
✅ |
无 PII,无敏感信息 |
| 10 |
偏倚文档化 |
✅ |
靶点/化合物/来源偏倚已识别 |
| 11 |
数据完整性 |
✅ |
缺失值标注(NaN/未测试),必填字段强制 |
| 12 |
人口统计信息 |
N/A |
化学数据,无人口信息 |
| 13 |
数据格式标准化 |
✅ |
SDF/SMILES/InChI/CSV/XML/JSON/RDF/ASN.1 |
| 14 |
纵向数据 |
⚠️ |
版本化更新但非临床纵向追踪 |
| 15 |
数据量充分性 |
✅ |
1.19 亿化合物,2.95 亿活性,远超 ML 需求 |
| 16 |
数据多样性 |
✅ |
1,006+ 来源,多种实验类型和靶点 |
| 17 |
数据可及性 |
✅ |
免费开放,无需注册,公共领域 |
| 18 |
数据文档完整性 |
✅ |
完善文档 + PUG-REST 教程 + NAR 论文 |
| 19 |
数据引用机制 |
✅ |
NAR 论文 DOI + 统计页面 URL |
| 20 |
真值质量 |
⚠️ |
提交者报告,无独立验证/复核 |
| 21 |
公平性与代表性 |
⚠️ |
人类靶点和小分子过度代表 |
| 22 |
数据偏倚评估 |
✅ |
靶点/化合物/物种偏倚已识别 |
| 23 |
长期可用性 |
✅ |
NIH 永久资助,20 年持续运营 |
| 24 |
临床部署准备 |
N/A |
研究数据库,非临床工具 |
DAIMS 评分:17/24 ⭐⭐⭐⭐ (排除 4 个 N/A 项后有效评分 17/20 = 85%)
扣分项:
- #5 IAA:无标注者间一致性指标(-1 分)
- #7 伦理审批:部分毒性数据涉及动物实验(-0.5 分)
- #14 纵向数据:版本化但非临床纵向(-0.5 分)
- #20 真值质量:提交者自报,无独立验证(-1 分)
- #21 公平性:靶点和化合物偏倚(-1 分)
评分说明:PubChem 作为全球最大的公共化学数据库,在数据规模、可及性、格式标准化和长期可用性方面表现卓越。主要短板在于缺乏统一的质量控制标准(不同于 ChEMBL 的手工策展)和标注者间一致性评估。
§7.8 外部验证矩阵
| 验证维度 |
验证方法 |
结果 |
来源 |
| 化学结构正确性 |
与 ChEMBL 通过 UniChem 交叉验证 |
✅ InChI Key 匹配率 >99% |
UniChem |
| 生物活性一致性 |
与 BindingDB 交叉验证 |
✅ 共享化合物活性一致 |
BindingDB |
| 靶点注释准确性 |
与 UniProt 交叉验证 |
✅ 蛋白质序列匹配 |
NCBI Protein |
| 药物信息完整性 |
与 DrugBank 交叉验证 |
✅ 获批药物信息一致 |
DrugBank/UniChem |
| API 可靠性 |
月度可用性监控 |
✅ 99.9%+ 可用 |
NCBI 监控 |
| 引用影响力 |
NAR 论文引用趋势 |
✅ 持续高引用 |
PubMed |
| 化合物覆盖率 |
与 CAS Registry 对比 |
✅ 互为补充 |
CAS |
| FTP 数据完整性 |
MD5 校验 |
✅ 每文件附带 MD5 |
NCBI FTP |
§8 基准性能与生态
§8.1 MoleculeNet PCBA 排行榜
MoleculeNet(Wu et al., 2018, Chemical Science, DOI: 10.1039/C7SC02664A)中 PCBA 基准的完整结果(PRC-AUC,random split):
| 排名 |
方法 |
训练 PRC-AUC |
验证 PRC-AUC |
测试 PRC-AUC |
特征化 |
说明 |
| 1 |
GC(Graph Convolution) |
0.151±0.001 |
0.136±0.003 |
0.136±0.004 |
GraphConv |
MoleculeNet 最佳基线 |
| 2 |
Logreg(逻辑回归) |
0.166±0.001 |
0.130±0.004 |
0.129±0.003 |
ECFP |
单任务,过拟合最严重 |
| 3 |
Bypass |
0.121±0.001 |
0.111±0.003 |
0.112±0.002 |
ECFP |
多任务 + bypass 结构 |
| 4 |
Multitask DNN |
0.100±0.003 |
0.097±0.000 |
0.100±0.006 |
ECFP |
标准多任务网络 |
注意:MoleculeNet 仅在 PCBA 上测试了 4 种模型——部分模型因计算成本过高无法在 43.8 万化合物的数据集上运行。
§8.2 后续研究 PCBA 基准结果
| 方法 |
年份 |
PCBA PRC-AUC |
说明 |
| MoleculeNet GC(基线) |
2018 |
0.136 |
图卷积基线 |
| Chemprop(D-MPNN) |
2019 |
0.335 |
定向消息传递神经网络 |
| MMNB |
2024 |
0.276 |
分子建模基线 |
| ChemFM-3B |
2024 |
0.346 |
3B 参数化学语言模型,当前 SOTA |
趋势分析:从 2018 年 GC 基线(0.136)到 2024 年 ChemFM-3B(0.346),PCBA 基准性能提升了 154%。这一进步主要归功于:(1) 更强大的分子表示学习(Transformer vs GC);(2) 大规模预训练(数十亿参数);(3) 更好的训练策略。
§8.3 相关基准:MUV
MUV(Maximum Unbiased Validation)也是从 PubChem BioAssay 中提取的基准子集,通过精炼的最近邻分析选择,确保训练/测试集之间无近邻化合物:
| 方法 |
MUV PRC-AUC(测试) |
说明 |
| Multitask DNN |
0.184 |
MoleculeNet 最佳 |
| KernelSVM |
0.137 |
核方法 |
| Bypass |
0.148 |
多任务 bypass |
| IRV |
0.087 |
Influence Relevance Voter |
| GC |
0.049 |
图卷积 |
| Chemprop |
0.041 |
D-MPNN |
| Weave |
0.109 |
密集图 |
| ChemFM-3B |
0.135 |
大模型 |
MUV 的正样本率仅 0.20%(比 PCBA 更极端),所有方法性能均较低。
§8.4 评估协议
| 协议项 |
PCBA |
MUV |
| 划分方式 |
Random |
Random |
| 划分比例 |
80/10/10 |
80/10/10 |
| 评估指标 |
PRC-AUC |
PRC-AUC |
| 正样本率 |
1.40% |
0.20% |
| 特征化 |
ECFP4 / GraphConv |
ECFP4 / GraphConv |
| 多任务 |
128 任务 |
17 任务 |
| 缺失值 |
大量 NaN |
大量 NaN |
| 重复次数 |
通常 3-5 次 |
通常 3-5 次 |
§8.5 相关数据集与生态系统
| 资源 |
描述 |
与 PubChem 的关系 |
| ChEMBL |
手工策展生物活性数据库 |
通过 UniChem InChI Key 交叉引用 |
| DrugBank |
药物数据库 |
通过 UniChem 交叉引用 |
| BindingDB |
结合亲和力数据库 |
共享部分实验数据 |
| ChemSpider |
RSC 化学数据库 |
PubChem 数据来源之一 |
| KEGG |
京都基因与基因组百科全书 |
通路数据交叉引用 |
| UniProt |
蛋白质序列数据库 |
靶点蛋白质注释来源 |
| UniChem |
化学数据库交叉引用 |
InChI Key 匹配服务 |
| PDB |
蛋白质数据银行 |
结构数据来源 |
| CAS Registry |
化学物质登记 |
与 PubChem 互补 |
| Tox21/ToxCast |
毒性数据库 |
数据存放在 PubChem BioAssay |
| MLPCN |
NIH 分子库筛选中心 |
PubChem HTS 数据的主要来源 |
| MoleculeNet |
分子 ML 基准平台 |
PCBA/MUV/HIV 等数据来源 |
§8.6 关键论文
| 年份 |
论文 |
期刊 |
意义 |
| 2025 |
PubChem 2025 update (Kim et al.) |
Nucleic Acids Research |
最新 NAR 数据库专刊论文 |
| 2023 |
PubChem 2023 update (Kim et al.) |
Nucleic Acids Research |
NAR 更新 |
| 2021 |
PubChem 2021 update (Kim et al.) |
Nucleic Acids Research |
NAR 更新 |
| 2018 |
MoleculeNet: a benchmark for molecular machine learning (Wu et al.) |
Chemical Science |
PCBA 成为标准 ML 基准 |
| 2018 |
PubChem chemical structure standardization (Hähnke et al.) |
J. Cheminformatics |
标准化管道论文 |
| 2018 |
An update on PUG-REST (Kim et al.) |
Nucleic Acids Research |
API 更新 |
| 2016 |
PubChem Substance and Compound databases (Kim et al.) |
Nucleic Acids Research |
三数据库架构论文 |
| 2015 |
PUG-SOAP and PUG-REST (Kim et al.) |
Nucleic Acids Research |
API 首次发布 |
| 2014 |
PubChem BioAssay resource overview (Wang & Bryant) |
NCBI Handbook |
BioAssay 数据模型详述 |
| 2010 |
PubChem BioAssay (Wang et al.) |
Nucleic Acids Research |
BioAssay 首次 NAR 论文 |
| 2008 |
PubChem overview (Sayers et al.) |
NCBI Handbook |
首次全面描述 |
| 2004 |
NIH Molecular Libraries Roadmap |
NIH |
PubChem 起源 |
§8.7 生态快照
PubChem 生态系统
│
├── 数据采集
│ ├── 1,006+ 数据贡献组织
│ ├── NIH MLPCN 筛选中心(qHTS 数据)
│ ├── 政府机构(EPA/FDA/USDA/NIST)
│ ├── 学术实验室(文献发表数据)
│ └── 化学供应商(化合物目录)
│
├── 数据处理
│ ├── PubChem Upload(提交系统)
│ ├── 结构标准化管道(开源,GitHub)
│ ├── PubChem3D(理论 3D 构象)
│ └── 共现文本挖掘(文献/专利面板)
│
├── 数据分发
│ ├── Web 界面(搜索/浏览/分析)
│ ├── PUG-REST(5 req/s)
│ ├── PUG-View(完整注释记录)
│ ├── PUG-SOAP(SOAP 接口)
│ ├── FTP(ASN.1/XML/CSV/SDF/RDF)
│ └── PubChemRDF(语义网)
│
├── 数据互连
│ ├── UniChem → ChEMBL/DrugBank/KEGG
│ ├── InChI Key → 全球化学数据库
│ ├── PubMed → 文献系统
│ ├── Gene/Protein → NCBI 跨库
│ └── Pathway → KEGG/Reactome/WikiPathways
│
├── AI/ML 生态
│ ├── MoleculeNet(PCBA/MUV 基准)
│ ├── DeepChem(Python 加载器)
│ ├── RDKit(化学信息学工具包)
│ ├── PyTorch Geometric / DGL(GNN)
│ ├── ChemBERTa / MolBERT(预训练模型)
│ └── ChemFM(大模型基准)
│
└── 使用统计
├── 月度独立用户:数百万
├── 交互式 + 程序化用户
└── 全球免费访问
§9 相关资源与引用
§9.1 官方资源
§9.2 推荐引用格式
@article{kim2025pubchem,
title={PubChem 2025 update},
author={Kim, Sunghwan and Chen, Jie and Cheng, Tiejun and Gindulyte, Asta and He, Jia and He, Siqian and Li, Qingliang and Shoemaker, Benjamin A and Thiessen, Paul A and Yu, Bo and Zaslavsky, Leonid and Zhang, Jian and Bolton, Evan E},
journal={Nucleic Acids Research},
volume={53},
number={D1},
pages={D1516D1525},
year={2025},
doi={10.1093/nar/gkae1059}
}
@article{wu2018moleculenet,
title={MoleculeNet: a benchmark for molecular machine learning},
author={Wu, Zhenqin and Ramsundar, Bharath and Feinberg, Evan N and Gomes, Joseph and Geniesse, Caleb and Pappu, Aneesh S and Leswing, Karl and Pande, Vijay},
journal={Chemical Science},
volume={9},
number={2},
pages={513530},
year={2018},
doi={10.1039/C7SC02664A}
}
@article{kim2016pubchem,
title={PubChem Substance and Compound databases},
author={Kim, Sunghwan and Thiessen, Paul A and Bolton, Evan E and Chen, Jie and Fu, Gang and Gindulyte, Asta and Han, Lianyi and He, Jane and He, Siqian and Shoemaker, Benjamin A and Wang, Jiyao and Yu, Bo and Zhang, Jian and Bryant, Stephen H},
journal={Nucleic Acids Research},
volume={44},
number={D1},
pages={D1202D1213},
year={2016},
doi={10.1093/nar/gkv951}
}
§9.3 第三方工具与库
§10 AI 使用声明卡
§10.1 数据集用途声明
| 维度 |
声明 |
| 适用 AI 任务 |
分子性质预测、多任务学习、虚拟筛选、QSAR 建模、药物重定位、毒性预测 |
| 不适用场景 |
临床决策、患者诊断、治疗方案制定——PubChem 是研究数据库,非临床工具 |
| 许可声明 |
公共领域(U.S. Government Work)——无任何使用限制,允许商业使用 |
| 引用要求 |
推荐引用 Kim et al. (2025) NAR 论文;使用 PCBA 时同时引用 Wu et al. (2018) Chemical Science |
§10.2 已知局限声明
| 局限 |
影响 |
建议 |
| 无手工策展 |
活性数据质量不一 |
交叉验证多个来源数据 |
| PAINS 化合物存在 |
假阳性干扰 |
使用 PAINS 过滤器 |
| 来源异质性 |
批次效应 |
按来源分组分析 |
| PCBA 正样本率极低 |
指标选择敏感 |
必须使用 PRC-AUC |
| 无 IAA 指标 |
标注可靠性未知 |
避免过度依赖单条活性数据 |
§10.3 版本与更新
| 信息 |
值 |
| 本页面数据截止 |
2024-09-12(NAR 2025 论文统计) |
| PubChem 最新版本 |
持续更新(每周 FTP + 每日增量) |
| PCBA 版本 |
MoleculeNet 2018 版(无后续更新) |
| 页面最后审核 |
2026-08-10 |
§10.4 人工校验表
| 校验项 |
状态 |
校验者 |
日期 |
| 数据集基本参数 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| 技术规格准确性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| 基准结果完整性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| API 文档准确性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| DAIMS 评估客观性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| 坑点实用性和准确性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| JSON-LD 结构一致性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |
| 引用信息完整性 |
✅ 已通过 |
千方病案医学编辑部 |
2026-08-10 |