PubChem-PCBA

PubChem / PCBA — 全球最大化学信息数据库与分子机器学习基准 AI-Ready Wikipedia | 千方病案医数集

来源 美国国立卫生研究院(NIH)维护的全球最大公开化学信息数据库发布时间: 2026-08-10最后更新: 2026-08-10 阅读 1

信息速览

数据集名称PubChem-PCBA
数据类型1.19亿化合物,2.95亿生物活性,167万实验 ·
规模2.95 亿生物
接入方式美国国立卫生研究院(NIH)维护的全球最大公开化学信息数据库
AI 就绪度

导航§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 服务的核心药学任务包括:

  1. 先导化合物发现(Lead Identification):通过 HTS 筛选数百万化合物,识别具有生物活性的先导结构
  2. 构效关系建模(QSAR/QSPR):建立化学结构与生物活性/物理化学性质的定量预测模型
  3. 选择性优化(Selectivity Profiling):评估化合物对多个靶点的选择性谱
  4. ADMET 预测:预测吸收、分布、代谢、排泄和毒性性质
  5. 药物-靶点相互作用预测(DTI):预测化合物与蛋白质靶点的结合亲和力
  6. 化学安全评估:利用 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 设备与平台

平台 功能 URL
PubChem Web 在线搜索、浏览、下载 pubchem.ncbi.nlm.nih.gov
PUG-REST RESTful API 程序化访问 pubchem.ncbi.nlm.nih.gov/rest/pug/
PUG-View 完整记录注释检索 pubchem.ncbi.nlm.nih.gov/rest/pug_view/
PUG-SOAP SOAP Web 服务 pubchem.ncbi.nlm.nih.gov/pug/pughelp.html
FTP 批量数据下载 ftp.ncbi.nlm.nih.gov/pubchem/
Entrez NCBI 跨库检索系统 eutils.ncbi.nlm.nih.gov
PubChemRDF 语义网查询 ftp.ncbi.nlm.nih.gov/pubchem/RDF/
PubChem Upload 数据提交系统 pubchem.ncbi.nlm.nih.gov/upload/

§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 官方资源

资源 URL
PubChem 主站 https://pubchem.ncbi.nlm.nih.gov/
统计页面 https://pubchem.ncbi.nlm.nih.gov/docs/statistics
PUG-REST 文档 https://pubchem.ncbi.nlm.nih.gov/docs/pug-rest
PUG-REST 教程 https://pubchem.ncbi.nlm.nih.gov/docs/pug-rest-tutorial
PUG-View 文档 https://pubchem.ncbi.nlm.nih.gov/docs/pug-view
BioAssay 文档 https://pubchem.ncbi.nlm.nih.gov/docs/bioassays
FTP 站点 https://ftp.ncbi.nlm.nih.gov/pubchem/
数据上传 https://pubchem.ncbi.nlm.nih.gov/upload/
分类树 https://pubchem.ncbi.nlm.nih.gov/classification/
GitHub(结构标准化) https://github.com/ncats/pubchem-standardization

§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 第三方工具与库

工具 语言 功能 URL
PubChemPy Python PubChem API 封装 github.com/mcs07/PubChemPy
DeepChem Python ML 框架 + PCBA 加载器 github.com/deepchem/deepchem
RDKit C++/Python 化学信息学工具包 rdkit.org
Open Babel C++/Python 化学格式转换 openbabel.org
CDK Java 化学开发工具包 cdk.github.io
chemfp Python 指纹相似性搜索 chemfp.com

§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
返回 AI Ready 数据集