AqSolDB — 9982 化合物水溶性参考数据集

荷兰 DIFFER 研究所 AMD 团队从 9 个公开数据集系统性策展出的最大开放水溶性参考库——统一 LogS 单位、SMILES 往返校验、多源竞争值统计选值算法加 RDKit 二维描述符,成为分子性质回归的经典基准

来源 Harvard Dataverse 公开数据集 AqSolDB(DOI 10.7910/DVN/OVHAW8):9982 化合物实验水溶性值(LogS)+ SD + Ocurrences + Group 可靠性标签 + RDKit 计算 2D 描述符(MolWt/MolLogP/TPSA 等)+ SMILES/InChI/InChIKey 三重结构表示;策展源代码 GitHub mcsorkun/AqSolDB(MIT)发布时间: 2026-10-16最后更新: 2026-10-20 阅读 20
AqSolDB — 9982 化合物水溶性参考数据集

信息速览

数据集名称AqSolDB — 9982 化合物水溶性参考数据集
数据类型原始数据,开源软件,公开数据
规模9982 个唯一化合物(非患者数据);HuggingFace 社区镜像 train 7488 / test 2494
接入方式Harvard Dataverse 公开数据集 AqSolDB(DOI 10.7910/DVN/OVHAW8):9982 化合物实验水溶性值(LogS)+ SD + Ocurrences + Group 可靠性标签 + RDKit 计算 2D 描述符(MolWt/MolLogP/TPSA 等)+ SMILES/InChI/InChIKey 三重结构表示;策展源代码 GitHub mcsorkun/AqSolDB(MIT)
AI 就绪度

INFOBOX — AqSolDB 一屏速览

维度 内容
本质 从 9 个公开数据集策展合并的最大开放水溶性参考库(非新实验测量)
团队 荷兰 DIFFER 研究所 Autonomous Energy Materials Discovery [AMD] 研究组;作者 Murat Cihan Sorkun、Abhishek Khetan、Süleyman Er(通讯)
论文 Scientific Data 6:143(2019-08-08,doi:10.1038/s41597-019-0151-1,开放获取)
规模 9982 个唯一化合物,合并自 9 个来源数据集(A–I)
标签 实验水溶性 LogS(S 单位 mol/L)+ SD + Ocurrences + Group 可靠性标签
结构 SMILES / InChI / InChIKey 三重表示,经 SMILES→mol→InChI→mol→InChI 往返校验
特征 RDKit 计算约 20 项 2D 描述符(MolWt、MolLogP、TPSA、BalabanJ、BertzCT 等)
策展 标识符统一(CAS/SLN→SMILES)→ 单位统一(→LogS)→ 合并 → 统计可靠性选值 → 描述符扩充
获取 Harvard Dataverse(DOI 10.7910/DVN/OVHAW8)公开直链;代码 Code Ocean + GitHub(MIT)
定位 实验与物理模型结果的参考基准 + 机器学习的训练数据源,TDC 等基准收录
许可 数据公开开放(社区普遍标注 CC0 1.0);策展代码 MIT;论文 CC BY

§0 导读:这个数据集解决什么问题

水溶性(aqueous solubility)是化学物质最基础却最难可靠预测的物理性质之一。一个候选药物分子能不能被肠道吸收、一个电池电解质添加剂能不能在水中稳定存在、一种农化学品会不会随雨水渗入地下水——这些问题的第一步都指向同一个量:这个化合物在水里能溶多少。在药物设计、地球化学、催化、储能等广泛场景中,水溶性既是筛选指标,也是安全与环境评估的输入量。

问题在于,实验测得的水溶性数据本身是一片混乱的沼泽。自 19 世纪末以来,不同实验室、不同方法、不同温度条件下发表的水溶性数值散落在数百份文献与十几个电子数据库中;同一化合物在不同来源里的数值可以相差大到 0.5 个 LogS 单位(约 3 倍浓度差)。用这样的数据直接训练机器学习模型,模型学到的不只是结构-性质关系,还有来源间的系统性噪声。在 AqSolDB 出现之前,社区面临的尴尬局面是:公开可用的数据集要么规模太小(几百个化合物),要么质量未经验证,要么彼此重叠却互相矛盾——没有一个是「足够大、机器可读、可以放心当参考」的。

AqSolDB 的出发点非常朴素:不做新实验,把现有公开数据一次性洗干净。荷兰 DIFFER 研究所(Dutch Institute for Fundamental Energy Research,荷兰基础能源研究所)的 AMD(Autonomous Energy Materials Discovery,自主能源材料发现)研究组——一个原本主攻能源材料机器学习的计算化学小组——在 2019 年系统收集了 9 个公开水溶性数据集,走完了一条教科书级的数据策展流水线:把所有标识符统一转换为 SMILES、把所有单位统一换算成 LogS(S 为 mol/L 计的溶解度对数)、用 InChI 往返校验剔除无效结构、把合并后的多源重复值交给一个统计可靠性选值算法挑出最可信的那个,最后用 RDKit 补上约 20 项二维描述符,让拿到数据的人开箱即可建模。

最终产物就是 AqSolDB:9982 个唯一化合物、每行一条 LogS 标签加 SD/Ocurrences/Group 质量信息加全套 2D 描述符的单表数据集,以 CSV 形式放在 Harvard Dataverse 上,任何人免费下载。发表在 Nature 旗下开放获取期刊 Scientific Data(2019 年 8 月 8 日,第 6 卷 143 号文章)。

为什么这条目值得进「AI-Ready Wikipedia」?三个理由。第一,它是机器可读性的模范生:单表、无缺失、三重结构标识符、描述符齐全,从下载到训出第一个回归模型不超过十分钟,这正是「AI-Ready」的字面含义。第二,它示范了「参考数据集」的方法论:面对来源冲突的脏数据,AqSolDB 不是简单去重,而是给每条记录挂上可靠性标签(Group)和多测量统计量(SD、Ocurrences),让下游建模者自己决定信多少、怎么加权——这种「把不确定性显式交给用户」的设计在物性数据集里并不多见。第三,它至今仍是水溶性回归事实上的默认基准:从早期 GNN 对比研究到近年大模型分子评测、再到 TDC(Therapeutics Data Commons)的基准收录,AqSolDB 是出现频率最高的溶解度数据集之一。

对医学数据集生态而言,AqSolDB 处于「药物发现与化学」板块的基础设施位置:它不直接回答临床问题,但几乎所有「分子性质 → 成药性 → 临床候选」链条上的建模工作,都可能以它为起点或对照。

§1 数据集速览:十问十答

问 1:AqSolDB 里到底有什么?
一张 CSV 表,9982 行(每行一个唯一化合物),核心列包括:ID(行标识)、Name(化合物名)、InChI、InChIKey、SMILES(三重结构表示)、Solubility(即目标列 Y,LogS 单位)、SD(多测量标准差)、Ocurrences(该值在 9 源合并数据中的出现次数)、Group(可靠性组标签),外加约 20 列 RDKit 计算的 2D 描述符(MolWt、MolLogP、MolMR、HeavyAtomCount、NumHAcceptors、NumHDonors、NumHeteroatoms、NumRotatableBonds、NumValenceElectrons、NumAromaticRings、NumSaturatedRings、NumAliphaticRings、RingCount、TPSA、LabuteASA、BalabanJ、BertzCT 等)。

问 2:数据是从哪来的?
9 个公开水溶性数据集(论文中以 A–I 编号),其中可确认包括 ESOL(Delaney 2004)、Huuskonen 2000、Wang 2009 加权原子类型法数据、Solubility Challenge(Llinas 2008)等文献配套数据与 eChemPortal 化学品信息门户收集的数据。每个来源先各自标准化(标识符、单位),再合并。

问 3:9982 这个数是怎么来的?
9 个来源数据集合计的记录远多于 9982;合并过程中,同一化合物在多个来源出现的记录被归并(重复值用于计算 SD 与 Ocurrences),无效 SMILES 被剔除,最终得到 9982 个通过了结构验证的唯一化合物。这是当时同类开放数据集中最大的规模。

问 4:LogS 是什么单位?
S 是以 mol/L(摩尔浓度)计的饱和水溶解度,LogS 取其以 10 为底的对数。传统文献里也用 log S(同义)、或以 mg/L、g/L 等质量浓度计的溶 solubility;AqSolDB 把所有来源统一换算到 LogS,换算依赖化合物分子量。对建模者而言,LogS 是天然合适的回归目标——数量级跨度大(约从 -12 到 +2),对数化后接近线性可建模空间。

问 5:Group 标签是什么意思?
可靠性组标签。合并时同一化合物可能有多个来源给出多个值,论文设计了一个统计选值算法来挑选「最可信」的实验值(综合出现次数与值间一致性),并根据多值情况的性质给化合物归入不同的可靠性组。拿到数据的用户可以按 Group 过滤(例如只取高可靠性子集训严格模型,全集训宽覆盖模型)。需要注意:Group 是策展过程的产物,不是独立复测的金标准。

问 6:SD 和 Ocurrences 什么时候有值?
当化合物在多个来源出现(多测量化合物)时,记录被选中的目标值之外还附多个值之间的标准差 SD 与出现次数 Ocurrences;只在单一来源出现的化合物这两列相应退化(次数为 1)。这两列给了下游建模一个现成的「测量不确定性」权重来源。

问 7:许可与获取方式?
数据本体在 Harvard Dataverse 以 DOI 10.7910/DVN/OVHAW8 公开发布,免费下载;社区镜像(如 HuggingFace maomlab/AqSolDB)普遍将其标注为 CC0 1.0(公有领域贡献),策展代码在 GitHub(mcsorkun/AqSolDB)以 MIT 许可发布,可复现流水线托管在 Code Ocean(DOI 10.24433/CO.1992938.v1)。论文本身在 Scientific Data 开放获取(CC BY)。使用前请以 Dataverse 条目页的条款为准(本条目撰写时未能逐字核验该页,此为存照事项)。

问 8:怎么划分训练/测试集?
官方论文本身没有强加一个唯一划分——它的定位是参考数据集。社区实践最常见的是 HuggingFace 镜像(maomlab/AqSolDB v1.1.0)提供的 train 7488 / test 2494 随机划分,以及 TDC 等基准自带的划分;也有研究按 Scaffold(骨架)划分来测结构外推能力。选哪种划分取决于你想测「插值」还是「外推」。

问 9:典型用法与基线表现?
典型 pipeline:SMILES → RDKit/Morgan 描述符 → 梯度提升树或随机森林;或 SMILES → 分子图 → GNN。文献中常规基线的 RMSE 大致在 0.6-1.2 LogS 单位区间、R² 大致 0.8-0.93(依划分与特征而异);论文撰写时研究问题的核心更多在「数据质量而非模型上限」——用脏数据训出的漂亮指标会虚高。具体基线数值引用请回论文正文核对(摘要页不可得,存照)。

问 10:与库内其他条目的关系?
与 ESOL(Delaney 数据集,AqSolDB 的来源之一)是「子集与父集」关系;与各类分子图性质预测数据集(BACE、BBB 等)同属「药物发现与化学」板块但任务类型不同(回归 vs 分类);与 PubQC/PhysProp 类物性数据库是「策展者与原始源」的关系。建议互链详见 §9。

§2 数据构成与规格

2.1 一张表说清楚

AqSolDB 的本体就是一份结构化的 CSV(dataverse 分发),列结构如下:

列 类型 含义 备注
ID 整数 行唯一标识 排序后顺序编号
Name 字符串 化合物常用名 部分来自源数据集,部分由 CAS 反查
InChI 字符串 国际化学标识符 往返校验后的规范形态
InChIKey 字符串 InChI 哈希键 唯一性检查/去重的锚点
SMILES 字符串 分子结构线性表示 策展选择的标准标识符
Solubility (Y) 浮点 目标值,LogS(mol/L 的对数) 统计选值算法选出的最可信实验值
SD 浮点 多测量值标准差 单源化合物无意义/退化
Ocurrences 整数 合并源中出现次数 ≥1
Group 分类 可靠性组标签 策展算法赋予
MolWt 浮点 分子量 RDKit
MolLogP 浮点 计算脂水分配系数 RDKit Crippen
MolMR 浮点 摩尔折射率 RDKit Crippen
HeavyAtomCount 整数 重原子数
NumHAcceptors 整数 氢键受体数 Lipinski 五规则常用量
NumHDonors 整数 氢键供体数
NumHeteroatoms 整数 杂原子数
NumRotatableBonds 整数 可旋转键数
NumValenceElectrons 整数 价电子数
NumAromaticRings 整数 芳香环数
NumSaturatedRings 整数 饱和环数
NumAliphaticRings 整数 脂肪环数
RingCount 整数 总环数
TPSA 浮点 拓扑极性表面积 药代相关经典描述符
LabuteASA 浮点 Labute 可及表面积
BalabanJ 浮点 Balaban 拓扑指数
BertzCT 浮点 Bertz 复杂度指数
MolCount / ClusterNo 整数 聚合相关计数 版本依社区镜像而异

HuggingFace 社区镜像(maomlab/AqSolDB v1.1.0)给出的特征清单与上表一致,共 25 数值特征 + 标识符列;其随机划分 train 7488 / test 2494 合计 9982,与官方规模吻合——这是三源互证中最硬的一组数字交叉验证。

2.2 九个来源数据集

论文 Table 1 列出以 A–I 编号的 9 个来源,收集渠道包括 eChemPortal(OECD 化学品信息全球门户)与文献配套数据。可从引用列表确认的来源/同源文献包括:

  • ESOL(Delaney 2004):1128 化合物的估算-实测溶解度数据集,化学信息学最经典的小数据集之一,AqSolDB 的直接子集来源;
  • Huuskonen 2000:基于分子拓扑结构的溶解度估算配套数据,约 1297 化合物;
  • Wang 2009:加权原子类型计数 + 溶剂可及表面积方法的配套数据;
  • Solubility Challenge(Llinas 2008):100 个高可靠性测量值构成的挑战集及其扩展;
  • Meylan 1994/1995:WSKOW/PCGEMS 估算方法报告配套数据;
  • Raevsky 2014:基于结构相似性与理化描述符的溶解度计算数据;
  • eChemPortal: OECD 门户汇集的监管级物性报告数据。

全部 9 源的逐一名称映射在公开摘要与二级资料中未完整披露(论文全文 Table 1 才有完整对应),本条目按可核验来源如实记录,完整清单列为遗留疑点。这个「已知大部分、不确定逐项」的状态不妨碍使用数据集本体,但若你需要引用具体来源贡献比例,请以论文全文为准。

2.3 LogS 的统一化:为什么单位比看起来重要

来源数据集的溶解度单位五花八门:g/L、mg/L、mol/L、mol/mL,甚至有以负对数(pSol)表达的。质量浓度换算成摩尔浓度依赖分子量,而分子量本身要从标识符解析——这意味着单位换算错误会级联成标签错误。AqSolDB 的做法是全部换算到 LogS 并在结构验证之后统一进行,让分子量来自同一条已验证的化学标识符链。这个细节对下游用户的意义是:你拿到的 Y 列语义单一、可直接对比,不需要再猜「这一列到底是 mg/mL 还是 mol/L」。

2.4 结构表示:三重标识符与往返校验

AqSolDB 为每个化合物同时保存 SMILES、InChI、InChIKey 三种表示,并用一条闭环验证链保证一致性:

  1. 源数据中无 SMILES 的(只有 CAS 号或名称),通过 NCI Chemical Identifier Resolver(cactus.nci.nih.gov)反查得到 SMILES;SLN 表示的用 RDKit 转换;
  2. SMILES → RDKit mol 对象(解析失败即判无效、剔除);
  3. mol → InChI;
  4. InChI → mol(重新解析);
  5. mol → InChI(再生成);
  6. 比对首末 InChI 是否一致——不一致即标记问题。

这条链的价值在于同时验证了「SMILES 与 InChI 指向同一个分子」和「InChI 生成是确定性的」。历史上大量物性数据集的 SMILES 列存在不可解析、含盐形态不一致、立体化学丢失等问题,AqSolDB 的往返验证是当时同类工作中少见的系统性做法。

2.5 描述符的定位:开箱即用但非必需

内置的约 20 项 RDKit 2D 描述符不是「标准答案特征集」——它们的作用是降低使用门槛(下载即建模)和提供一组中立的基线特征。做严肃建模时,社区惯例是重新用 RDKit 按当前版本计算描述符或改用指纹/GNN 表示。使用内置描述符列时的一个注意点:RDKit 版本演进可能使个别描述符数值与最新版本略有出入,跨论文比较时应注明描述符来源版本。

§3 策展流水线:三步走怎么做干净

AqSolDB 论文的方法学价值不亚于数据本身价值。9 个来源、数十年的测量跨度、五花八门的标识符体系——要把这些拼成一张自洽的表,靠的是一条可复现的三步流水线(策展代码全部开源,从 GitHub 或 Code Ocean 可一键跑通示例)。

3.1 第一步:收集与预处理(每源各自标准化)

每个来源数据集独立经历三道预处理工序:

标识符生成。源数据用什么标识符决定走哪条转换路径:已有 SMILES 的直接用;只有化合物名或 CAS 号的,调 NCI Chemical Identifier Resolver 反查 SMILES;只有 SLN(Sybyl Line Notation)的,用 RDKit 转换。这一步的隐性陷阱是同名异构体与同物异名——CAS 号到 SMILES 的反查服务本身可能有歧义,作者依赖后续 InChI 往返校验来兜底。

单位换算。全部归一到 LogS。质量浓度类单位(g/L、mg/mL 等)用分子量换算,分子量取自已验证的结构表示而非源数据自带字段——避免源数据单位错误级联进标签。

SMILES 验证。即 §2.4 所述的 SMILES→mol→InChI→mol→InChI 闭环。任何一步失败或首末不一致,记录被剔除或标记。这是排除标准的机械化表达:过不了结构验证的记录,无论数值多「好看」都不要。

预处理同时是排除标准的载体:无法获得有效唯一标识符的记录,在第一步就被自然淘汰——这是数据集从源记录总量收敛到 9982 的主要漏斗之一。

3.2 第二步:合并与统计选值

标准化后的 9 份数据按结构标识符(InChIKey 归并语义)合并成一张大表。同一化合物出现在多个来源时面临选择:留哪个值?

论文给出了一个通用的统计可靠性选值算法:综合每个值的出现次数(Ocurrences,被独立来源反复报告的值更可信)与多值间的一致性(离散度),选出统计上最可靠的实验值作为目标值 Y;同时把多值情况的 SD 和出现次数随行附上,并按多值情形的可靠性特征给化合物归入 Group 组。对建模者而言,这个设计的精髓是选值但不隐藏分歧——你可以信任选出的 Y,也可以用 SD/Ocurrences/Group 自己做加权、过滤或不确定性建模。

论文还报告了跨来源误差的量化背景:前人(如 Balakin 等)发现同一化合物在不同实验中的溶解度标准差可达 0.5 LogS 单位。这意味着溶解度「测量真值」本身就带约 3 倍浓度级的不确定性——任何声称 RMSE 远低于此的模型都值得先怀疑数据泄漏或划分不当。

3.3 第三步:描述符扩充

合并完成后,用 RDKit 为全部 9982 化合物计算 2D 拓扑与理化描述符(§2.1 表右列),追加为新列。至此单表成型:结构 + 标签 + 质量元数据 + 特征,四个层次齐备。

3.4 可复现性设计

策展代码按模块拆分:

  • data-preprocess.py:单源标准化示例(论文附了 dataset-A 与 dataset-H 各 25 条记录的最小示例);
  • data-curation.py:合并、选值、加标签、加描述符;
  • 底层模块 preprocess.py、merge.py、descriptors.py 承载具体函数。

仓库 MIT 许可,Code Ocean 托管可复现容器(DOI 10.24433/CO.1992938.v1)。这个「示例驱动 + 模块化 + 双平台」的组合在当时的数据论文里相当规范——想把自己的新溶解度数据集按同一标准并入 AqSolDB 的团队,理论上只需要写一个预处理适配器。

3.5 流水线的方法学启示

AqSolDB 策展流程值得迁移的经验有三条:

  1. 先标准化后合并:每个来源独立走完标识符→单位→验证三道工序再合并,比先合并再清洗容易定位错误来源;
  2. 验证链要闭环:单一方向的格式转换(SMILES→InChI)不能发现「转换结果指向另一分子」类错误,往返比对才能;
  3. 不确定性要显式输出:SD/Ocurrences/Group 三列把「这次策展有多不确定」编码进数据本身,让下游有权自行取舍——比一个黑箱去重后的「干净值」诚实得多。

§4 评估与基准:怎么用它、别人怎么用它

4.1 官方定位:参考集而非排行榜

论文对 AqSolDB 的定位措辞很克制:一是参考数据源(供实验与物理建模结果对标),二是机器学习的训练数据源(改进泛化能力)。论文本身没有设立唯一官方排行榜或固定 test split——这与 Kaggle 式竞赛数据集是两种哲学:AqSolDB 鼓励各研究按自己的科学问题设计划分,代价是不同论文间的数字不能直接比。

4.2 社区实践中的典型划分

  • 随机划分:HuggingFace 镜像提供的 7488/2494 划分最常用,适合报告「插值性能」;
  • Scaffold 划分:按分子骨架聚类划分,测「结构外推」,是药物发现场景更贴近真实的口径,数字通常明显差于随机划分;
  • 来源分组划分:利用 Group/Ocurrences 元数据设计的不确定性感知实验,例如只训高可靠性组、在多测量化合物上单独评估。

4.3 性能量级与解读基准

综合公开文献,常规描述符 + 树模型与中等规模 GNN 在随机划分下的典型表现为 RMSE 约 0.6-1.2 LogS、R² 约 0.8-0.93;更保守的 scaffold 划分下性能普遍下滑 0.2-0.4 RMSE。解读时有三条经验线:

  1. 0.5 LogS 是实验噪声地板:多测量化合物的跨实验 SD 可达 0.5,RMSE 显著低于 0.5 的结果应先排查信息泄漏(同一化合物多形态、同系物跨集);
  2. ESOL 小数据集的「老坑」:早期在 1128 化合物的 ESOL 上报告的 R² 普遍高于在 9982 化合物全集上的——数据越大越难,比较模型时务必确认用的是哪个子集;
  3. LogS 极端尾部更难:极高溶性(盐类、强电离物)与极低溶性(大疏水分子)两端的误差贡献最大,看整体 RMSE 会掩盖尾部失败。

论文基线的精确数值(具体 R²/RMSE)未能从公开摘要页取得,本条目不代填具体数字——引用请回论文正文(存照)。

4.4 在基准生态中的位置

AqSolDB 已被主流分子 ML 基础设施收录:

  • TDC(Therapeutics Data Commons):作为单分子性质回归任务的数据源收录(划分接口由 TDC 提供);
  • HuggingFace:maomlab/AqSolDB v1.1.0,datasets.load_dataset 一行加载;
  • OpenML / MaRDI:作为标准表格数据集归档(OpenML 上传版 25 特征 / 9982 实例,无缺失值);
  • Kaggle:多份社区镜像笔记本;
  • OpenBioML chemnlp:作为文本模板化分子问答的候选数据源(license 标注 CC0 1.0)。

对「AI-Ready」评估而言,这些收录本身就是最好证明:一个数据集能被主流平台无摩擦地吸收,说明格式、许可、文档三关全过。

4.5 后续工作与衍生

  • 作者团队后续在溶解度预测方向有延伸研究(如 SolNet 等网络架构工作);
  • 社区衍生包括:按 Group 过滤的高可靠性子集、与 ESOL/其他溶解度集的合并超集、用于盐类与电离物扩展的增补数据集;
  • 在 LLM 时代,AqSolDB 常被用作分子大模型零样本/少样本回归能力的探针任务。

§5 获取与许可:门怎么进

5.1 三条获取路径

路径 地址 适合谁
官方原始 Harvard Dataverse,DOI 10.7910/DVN/OVHAW8 需要原始 CSV 与版本历史的正式引用者
社区镜像 HuggingFace maomlab/AqSolDB(v1.1.0) Python pipeline 快速加载、要现成 split 的建模者
可复现代码 Code Ocean 10.24433/CO.1992938.v1 + GitHub mcsorkun/AqSolDB 想复跑策展流水线或并入新数据的开发者

Dataverse 条目支持正式引用(数据引用格式见论文);HuggingFace 镜像与官方数据在规模数字上交叉验证一致(7488+2494=9982)。

5.2 许可结构

AqSolDB 的许可分三层,使用时注意区分:

  1. 数据本体:Harvard Dataverse 公开发布、免费下载;社区镜像(HuggingFace、OpenBioML chemnlp)普遍标注 CC0 1.0(公有领域贡献)。⚠️ 存照:本条目撰写时未能直接打开 Dataverse 条目页逐字核验条款文本,正式商用前建议到条目页确认 Terms;
  2. 策展代码:GitHub 仓库 MIT License(© 2019 Murat Cihan Sorkun),可自由修改再分发;
  3. 论文:Scientific Data 开放获取,CC BY 类许可,引用时注明出处即可。

5.3 引用格式(论文配套)

Sorkun, M. C., Khetan, A. & Er, S. AqSolDB, a curated reference set of aqueous solubility and 2D descriptors for a diverse set of compounds. Sci Data 6, 143 (2019). https://doi.org/10.1038/s41597-019-0151-1

数据引用:Sorkun, M.; Khetan, A.; Er, S. (2019). AqSolDB: A curated reference set of aqueous solubility and 2D descriptors for a diverse set of compounds. Harvard Dataverse. https://doi.org/10.7910/DVN/OVHAW8

§6 团队与机构:AMD 研究组

AqSolDB 出自荷兰 DIFFER 研究所(Dutch Institute for Fundamental Energy Research,位于 Eindhoven,依托 TU/e 生态)的 AMD 研究组(Autonomous Energy Materials Discovery,自主能源材料发现)。组负责人 Süleyman Er(通讯作者),论文作者三人:Murat Cihan Sorkun(一作,策展流水线的主要实现者)、Abhishek Khetan(共同作者)、Süleyman Er。三人均为 DIFFER 研究人员,论文与数据集在 TU/e(Eindhoven University of Technology)研究信息门户与 DIFFER 官网均有正式收录页。

AMD 组的主业是用数据驱动方法加速能源材料发现(电池、催化、储能材料),溶解度数据集是这个方法论向化学基础物性的一次外溢——他们做 AqSolDB 的动机部分来自能源材料建模同样需要可靠的溶解度参考值。这个小团队(三人署名)产出被高引数据集的情况,也是欧洲中型研究所做高质量数据基础设施的代表性案例。

Eindhoven 生态的另一层意义:TU/e 门户显示该数据集的学术引用达两百余次(Scopus 口径 206 / SciVal 口径 187,随时间持续增长),是 Scientific Data 2019 年数据论文中的高影响力条目之一。

§7 生态与影响:为什么八年不衰

7.1 数据集生命周期中的罕见路径

绝大多数物性数据集的命运是「发布即过时」:要么被更大更好的合并集取代,要么因无人维护而失修。AqSolDB 走了一条不同路径——发布即成为默认参考。原因可以拆成三条:

  1. 规模当时的临界点:9982 是此前任何单一开放溶解度集的数倍,跨过了「够大所以值得当基准」的门槛;
  2. 质量的机械可验证性:往返校验、统一单位、SD/Group 元数据让使用者能自查质量,而无需信任作者的口头承诺;
  3. 分发零摩擦:Dataverse DOI + HF 镜像 + Code Ocean 的三通道组合,让引用、加载、复现三条路径都畅通。

7.2 与 ESOL 的接力关系

化学信息学溶解度建模的「前朝基准」是 ESOL(Delaney 2004,1128 化合物)。AqSolDB 把 ESOL 吸收为 9 源之一,完成了从「教学级小数据集」到「研究级参考库」的代际交接。这带来一个使用陷阱:部分新论文标题写 ESOL 实际用的是 AqSolDB 子集或全集——比较文献数字时必须核对数据集版本与规模。

7.3 对 AI for Science 的坐标意义

在 2019-2025 的分子 AI 浪潮中,AqSolDB 扮演的角色类似 NLP 里的 GLUE 早期版本:不是最大、不是最难,但标准化程度足够高、社区默认度足够强,因而成为新方法亮相的默认舞台之一。从图神经网络对比、预训练分子表示评估到化学大模型回归探针,AqSolDB 持续出现在方法学论文的实验表中。它也常被用于「数据质量对模型影响」的研究本身——Group/SD 元数据让它天然适合做不确定性学习(uncertainty learning)与去噪训练的实验台。

7.4 局限与批评视角

公允地看,AqSolDB 也有清晰的边界:

  • 不是新测量:它继承而非消除源数据的实验噪声;0.5 LogS 级的跨来源分歧仍在;
  • 温度/pH 条件未逐条标注:LogS 统一口径下,测量条件差异被平均化处理;
  • 化学空间偏斜:来源多为药物与有机物,金属配合物、聚合物、电解质等能源材料关注的类别覆盖有限——这与 AMD 组的能源初衷略有错位;
  • 选值算法是启发式:Group 标签基于出现次数与离散度的统计规则,并非独立复测;
  • 年代增长:2019 年后新发表的溶解度数据未系统纳入,社区存在若干增补提案但无官方续版。

这些局限都不动摇它的参考地位,但决定了「AqSolDB 上的 SOTA」不等于「溶解度问题已解决」。

§8 避坑清单:使用 AqSolDB 的十个坑

坑 1:把 RMSE 指标刷到 0.5 LogS 以下就宣布胜利。
多测量化合物的跨实验标准差可达 0.5 LogS 单位(Balakin 等的经典观察,AqSolDB 论文引用)。你的模型在随机划分下 RMSE 0.3?先查泄漏:同一化合物是否以不同盐形态/异构体同时出现在 train 与 test。诚实的建模结果大概率在 0.6-1.2 之间。

坑 2:混淆 ESOL 与 AqSolDB。
ESOL 是 AqSolDB 的来源之一(1128 化合物)。文献里「ESOL benchmark」有的指 Delaney 原集,有的指 AqSolDB 或其子集,同名不同物。比较模型数字时先确认:多少化合物、哪个划分、哪个文件。

坑 3:忽略 Group 标签直接全量训练。
Group 是策展算法赋予的可靠性分层。全量训练能拿最大样本,但若做严谨的基准比较或不确定性研究,至少应报告「仅高可靠性组」的对照结果——不同论文对 Group 的使用差异是结果差异的常见来源。

坑 4:用内置描述符跨论文比较却不说版本。
内置 RDKit 描述符的数值依赖计算时点的 RDKit 版本。版本演进(尤其环判定、芳香性感知规则)会使个别描述符数值漂移。要么声明「使用数据集内置列」,要么自行用固定版本重算。

坑 5:把 SD 当测量误差的金标准。
SD 只反映「多个来源报告值的离散度」,混入了来源间的系统性偏差与可能的誊写错误,不是重复测量的统计标准差。做不确定性建模时可作权重特征,但别解释为物理测量不确定度。

坑 6:随机划分报告的结果外推到新化学空间。
随机划分下测试集化合物与训练集高度相似(同系物、盐型对)。药物发现场景的真实任务是预测全新骨架,对应 scaffold 划分——两种划分的数字差距可达 0.2-0.4 RMSE。报告哪种必须写明。

坑 7:单位理解错位。
LogS 的 S 是 mol/L。若业务需要 mg/mL 或 g/L,换算需用每化合物分子量(数据集提供 MolWt 列)。历史上大量应用事故源于把 LogS 直接当 log(mg/L) 用。

坑 8:拿 LogS 极端尾部的失败否定模型。
强电离盐类(跨 -12 以下)与大疏水分子(+1 以上)的溶解度机制与中性有机物不同,且测量本身更难。整体 RMSE 掩盖了尾部误差集中;评估应分段看。

坑 9:以为 9982 是「9982 个测量值」。
它是 9982 个唯一化合物各一个选值。9 源合计的原始记录数远大于此;做多源一致性研究需要回源数据或用 Ocurrences/SD 反推,不能从单表还原全部原始值。

坑 10:商用前不核验许可原文。
社区镜像普遍标 CC0 1.0,但正式商用(尤其捆绑再分发)应以 Harvard Dataverse 条目页的 Terms 文本为最终依据。开源基础设施项目的许可细节偶有修订,引用时锁定版本号与访问日期是好习惯。

§9 与库内条目的关系

AqSolDB 在库内属于「药物发现与化学」板块,建议互链如下(rid 以 /0 占位,由主会话入库后统一回填——R018 纪律):

关联条目 关系类型 链条说明
ESOL(若在库,Delaney 数据集) 父集↔子集 ESOL 是 AqSolDB 9 源之一;两代溶解度基准的接力关系
BACE / BBB / 分子分类类条目(若在库) 同域异任务 同为小分子结构数据,但任务为分类(抑制活性/通透性);可组成「分子性质全家桶」导航
QSAR/QM 类量子化学或描述符条目(若在库) 方法互补 AqSolDB 的 2D 描述符与量子描述符数据集可拼接做多层特征建模
TDC 相关基准条目(若在库) 收录关系 AqSolDB 被 TDC 收录为回归任务源数据

若上述目标条目尚不在库,正文互链保留占位即可,避免猜测 rid 写错(R018:写手猜测的 rid 若落在被软删的重复行会导致终检 C2 FAIL)。

§10 总结:一段参考数据的自我修养

回到最初的问题:一个 2019 年发布的、没有一张新测量数据的「清洗型」数据集,凭什么至今仍是水溶性建模的默认参考?

答案藏在它的三层设计里。表层是格式:单表、无缺失、三重结构标识符、随附描述符、四条获取通道——这是「AI-Ready」的及格线,AqSolDB 满分通过。中层是方法:三步策展流水线全部开源,预处理→选值→扩充每一步可复现、可扩展、可审计;InChI 往返校验与统计选值算法把「清洗数据」从手工作坊升级为可迁移的工程实践。底层是哲学:不假装噪声不存在——SD、Ocurrences、Group 三列元数据把策展过程的不确定性原原本本交给用户,让下游有权决定信多少。

对数据集作者的启示:一份好参考数据的价值不在「我告诉你真值」,而在「我告诉你每个值有多可信」。对数据集使用者的启示:任何物性回归的漂亮数字,都应先过「实验噪声地板」这一关——溶解度的地板大约是 0.5 LogS,跨不过去之前,先怀疑自己的划分。

AqSolDB 不会是最后一个溶解度数据集。但在更大的继任者出现并被社区同样程度地接纳之前,它仍是那个「下载十分钟、训模一刻钟、引用无争议」的标准起点。

FAQ(高频问答)

Q1:AqSolDB 是什么?
由荷兰 DIFFER 研究所 AMD 研究组从 9 个公开数据集策展的 9982 化合物水溶性参考数据集,每化合物一条 LogS 实验值、质量元数据(SD/Ocurrences/Group)与约 20 项 RDKit 2D 描述符,2019 年发表于 Scientific Data。

Q2:数据集多大?
9982 个唯一化合物。HuggingFace 社区镜像 train 7488 / test 2494;OpenML 归档版 25 数值特征、0 缺失值。

Q3:在哪里下载?
Harvard Dataverse(DOI 10.7910/DVN/OVHAW8)为官方源;HuggingFace maomlab/AqSolDB 为社区镜像,datasets.load_dataset 一行加载。

Q4:什么许可?
数据公开开放(社区镜像普遍标注 CC0 1.0),策展代码 MIT,论文 CC BY。商用前建议核验 Dataverse 条目页条款原文。

Q5:LogS 是什么?
以 10 为底的水溶性对数,S 为 mol/L 计的溶解度。换算成 mg/L 需用分子量。

Q6:Group 列是什么?
策展统计选值算法赋予的可靠性组标签,综合出现次数与多值一致性。可用于过滤或加权,不是独立复测的金标准。

Q7:SD 和 Ocurrences 是什么?
同一化合物在多来源出现时,被选中目标值之外的多值标准差与出现次数;单源化合物相应退化。

Q8:结构表示有哪几种?
SMILES(标准标识符)、InChI、InChIKey 三重保存,经 SMILES→mol→InChI→mol→InChI 往返校验保证一致。

Q9:9 个来源是哪些?
论文以 A–I 编号,可确认包括 ESOL、Huuskonen 2000、Wang 2009、Solubility Challenge、Meylan 报告数据、Raevsky 2014 与 eChemPortal 收集数据;逐一映射需查论文全文 Table 1。

Q10:官方 train/test 划分是什么?
论文未设唯一官方划分;社区常用 HF 镜像 7488/2494 随机划分或 TDC 划分;严谨场景建议加 scaffold 划分对照。

Q11:典型模型能到什么水平?
随机划分下常规描述符+树模型或 GNN 的 RMSE 大致 0.6-1.2 LogS、R² 约 0.8-0.93;跨实验噪声地板约 0.5,显著低于此的结果先查泄漏。

Q12:AqSolDB 和 ESOL 什么关系?
ESOL(1128 化合物,Delaney 2004)是 AqSolDB 的来源之一;AqSolDB 是其大规模继任者。比较文献数字时务必核对用的是哪个集。

Q13:代码能复跑策展流程吗?
能。GitHub mcsorkun/AqSolDB(MIT)模块化提供预处理/合并/描述符脚本,Code Ocean(10.24433/CO.1992938.v1)提供可复现容器,附最小示例。

Q14:能把自己的溶解度数据并进去吗?
可以按流水线模式:写预处理适配器把新数据标准化到同格式,再走合并选值。仓库 README 有操作指引。

Q15:有缺失值吗?
无。OpenML 归档记录 0 缺失值;策展时无效或无法验证的记录已被剔除。

Q16:测量条件(温度/pH)有标注吗?
没有逐条标注。LogS 统一口径下条件差异被平均化,这是该数据集的已知局限。

Q17:适合做不确定性学习吗?
非常适合。SD/Ocurrences/Group 元数据天然构成异质性与噪声标签的实验台,多篇不确定性学习论文以此数据集为载体。

Q18:含无机物或金属配合物吗?
化学空间以药物与有机化合物为主,能源材料关注的无机/金属类别覆盖有限——与 AMD 组的能源初衷存在错位。

Q19:被哪些基准收录?
TDC(Therapeutics Data Commons)、HuggingFace、OpenML、MaRDI 等;Kaggle 有大量社区镜像笔记本。

Q20:论文怎么引用?
Sorkun, M. C., Khetan, A. & Er, S. Sci Data 6, 143 (2019). doi:10.1038/s41597-019-0151-1;数据引用 DOI 10.7910/DVN/OVHAW8。

Q21:作者单位是 Sandia 吗?
不是。作者 Sorkun/Khetan/Er 均属荷兰 DIFFER 研究所 AMD 研究组。任务信息中若出现其他机构归属均不正确。

Q22:现在还是最大溶解度数据集吗?
它仍是使用最广的参考集之一;社区存在若干更大合并集与增补提案,但官方版本停在 9982(2019),后续无官方续版。

Q23:盐类和水合物怎么处理的?
结构表示统一到 InChI 语义进行归并;电离/盐形态的标准化是往返校验链的一部分,但极端尾部(强电离物)仍是误差集中区。

Q24:和 Solubility Challenge 什么关系?
Solubility Challenge(Llinas 2008 的 100 个高可靠测量)是来源之一;AqSolDB 可视为其精神上的放大版。

Q25:做 LLM 分子评测能用它吗?
可以。OpenBioML chemnlp 等项目已把它列为文本模板化(分子描述→LogS 问答)的候选源;log(mol/L) 单位便于生成式答案的数值比对。

Q26:数据有版本链吗?
官方 Dataverse 版本以 DOI 锚定;社区镜像有独立版本号(HF v1.1.0)。引用时注明获取渠道与版本。

Q27:可以直接做深度学习输入吗?
可以。SMILES 列供分子图/SMILES 编码器,描述符列供表格模型;两条路线都有成熟先例。

Q28:为什么 2019 年后没更新?
官方未发布续版;溶解度新数据(尤其电离物与盐类)散落文献,系统性续编需要新的策展投入,社区以增补集形式局部推进。

Q29:和物理建模(COSMO-RS 等)怎么配合?
物理模型的预测结果可与 AqSolDB 实验值对标校准;这也是论文「参考数据源」定位的原意之一。

Q30:快速上手的最小代码?

import datasets
aq = datasets.load_dataset("maomlab/AqSolDB", name="AqSolDB")
# 目标列 Y(LogS),特征列 SMILES 或描述符列

加载数秒,训练首个 CatBoost/随机森林基线在 CPU 上数分钟内完成。

§11 实战工作流:从下载到论文级评估

11.1 场景 A:快速基线(表格模型,30 分钟)

适合入门者与论文对照基线:

import datasets, pandas as pd
from rdkit import Chem
from sklearn.ensemble import HistGradientBoostingRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
import numpy as np

aq = datasets.load_dataset("maomlab/AqSolDB", name="AqSolDB")
df = pd.DataFrame(aq["train"])
dtest = pd.DataFrame(aq["test"])

desc_cols = ["MolWt", "MolLogP", "MolMR", "HeavyAtomCount", "NumHAcceptors",
             "NumHDonors", "NumHeteroatoms", "NumRotatableBonds",
             "NumValenceElectrons", "NumAromaticRings", "NumSaturatedRings",
             "NumAliphaticRings", "RingCount", "TPSA", "LabuteASA",
             "BalabanJ", "BertzCT"]

model = HistGradientBoostingRegressor()
model.fit(df[desc_cols], df["Y"])
pred = model.predict(dtest[desc_cols])
rmse = np.sqrt(mean_squared_error(dtest["Y"], pred))
print(f"RMSE={rmse:.3f}  R2={r2_score(dtest['Y'], pred):.3f}")

预期:随机划分下 RMSE 约 0.9-1.2、R² 约 0.8 上下。这组数字的意义不是「好」,而是地板——你的新方法应显著优于它才有存在价值。

11.2 场景 B:分子图模型(GNN)

# 思路示例:SMILES -> 分子图 -> GIN/MPNN -> 标量回归
# 推荐用 TDC 或 torch_geometric 的 InMemoryDataset 封装,
# TDC 的 AqSolDB 任务自带官方划分,避免自造划分导致不可比。

要点:

  1. 划分一致性:与文献比较时用同一划分(TDC 划分或 HF 划分,注明);
  2. 多次种子:分子回归方差大,至少 3-5 个随机种子报均值±标准差;
  3. scaffold 对照:主结果用随机划分时,附一个 scaffold 划分作为外推能力参考。

11.3 场景 C:不确定性感知建模

AqSolDB 独有的玩法——利用质量元数据:

  • SD 加权损失:多测量化合物按 1/SD² 或 1/(SD+ε) 加权,让模型少拟合高分歧样本;
  • Group 分层评估:按 Group 分桶报告各桶 RMSE,检验模型误差是否集中在低可靠性子集(大概率是);
  • 训练集过滤实验:只训高 Group 子集 vs 全量训练,观察「少而干净」与「多而杂」的权衡——这是数据质量研究的标准实验设计。

11.4 场景 D:与物理模型对拍

物理半经验方法(COSMO-RS 类、WSKOW 类估算器)无需训练数据即可给出 LogS 预测。对拍设计:

  1. 在同一 test 集上分别跑 ML 模型与物理估算器;
  2. 分化学空间区间(电离/中性、分子量段)比较——物理法在强电离物上往往更稳,ML 法在中性有机物上更强;
  3. 混合模型(物理预测值作为 ML 的输入特征)是文献中提升尾部性能的常见手法。

这正呼应论文的原始定位:AqSolDB 是给实验与物理建模结果当参考用的,不只是 ML 的私有玩物。

11.5 场景 E:并入新数据

把自建溶解度数据并入 AqSolDB 体系:

  1. clone GitHub 仓库,读 README 的预处理指引;
  2. 把新数据整理成标准化格式(ID、Name、InChI、InChIKey、SMILES、Solubility 等列);
  3. 跑 data-preprocess.py 的转换路径(或写适配器);
  4. 跑 data-curation.py 与现有 curated 数据合并——统计选值算法会自动处理新旧值的冲突并更新 SD/Ocurrences;
  5. 核对合并后规模变化与新增 Group 分布。

这是 AqSolDB 设计上的「开放性」:它不只是静态产物,更是一套可持续运转的策展流程——尽管官方多年未发续版,流程本身仍可被任何人续命。

§12 深入讨论:溶解度建模为什么难

12.1 物理复杂性

水溶性是溶质-溶剂相互作用的宏观涌现量,受多因素叠加影响:

  • 晶格能:固态溶质先要解散晶格,熔点/晶型与溶解度强相关——而 SMILES 只编码分子连接性,不编码晶型;
  • 水合自由能:分子进入水的溶剂化代价,与电离状态、氢键网络纠缠;
  • pH 与电离:可电离基团在不同 pH 下形态不同,溶解度可差数个量级;AqSolDB 未逐条标注测量 pH;
  • 温度:文献测量温度不一(多为室温附近,但并非统一)。

这意味着从 2D 结构到 LogS 的映射本身存在理论上限误差——同样的分子式/连接性可以有不同晶型、不同测量条件、不同溶解度。GNN 刷分刷到瓶颈,一部分原因就在物理侧信息缺失。

12.2 数据侧的放大器效应

物理复杂性再叠加数据问题:

  • 誊写错误:文献数值转录进数据库时的人工错误(论文引用前人观察:标准差可大到 0.5 LogS,其中部分是「unintentional misprints」);
  • 单位混淆:mg/L 与 µg/L 的一字之差是三个数量级;
  • 定义歧义:固有溶解度 vs 表观溶解度、动力学溶解度 vs 热力学溶解度,源数据未必区分;
  • 盐型归并:游离碱与盐酸盐算「同一化合物」吗?InChI 语义归并时做了选择,但这个选择本身影响分布。

AqSolDB 的策展把可机械修复的部分修掉了(单位、标识符、无效结构),把不可机械修复的部分显式暴露(SD/Group)。这种「修一半、报一半」的诚实是它的方法学底色。

12.3 模型侧的教训史

溶解度是分子 ML 的「果蝇」任务,八年来的教训包括:

  1. 描述符模型不弱于早期 GNN:在小到中等规模上,特征工程 + 梯度提升树长期与 GNN 打平甚至占优;
  2. 预训练表示的增益有限但真实:分子预训练模型(MoLFormer 类)在 AqSolDB 上相对从头训练有稳定的小幅提升;
  3. 集成与不确定性联合建模:同时预测值与不确定度的深度集成方法在尾部区间改善最明显;
  4. 泄漏检测工具化:跨集 Tanimoto 相似度检查、InChIKey 去重检查应成为标准前处理——AqSolDB 单表内无重复,但与其他数据集混用时(如把 ESOL 当独立测试集)必然泄漏,因为 ESOL 就在 AqSolDB 里。

12.4 医学视角:溶解度与成药性

对以医学为本库的用户,溶解度不只是一个化学性质——它是口服生物利用度的 BCS(Biopharmaceutics Classification System)四分类轴之一。约四成在研候选药物因水溶性差而面临制剂挑战。因此:

  • 早期虚拟筛选把 LogS 预测放在 ADMET 链的最上游;
  • AqSolDB 的描述符列(TPSA、HBD/HBA、MolLogP)恰好也是 Lipinski 五规则的构成项,让「溶解度模型」与「类药性过滤」共享特征空间;
  • 与库内 ADMET/毒性类数据集搭配,可构成「结构 → 性质 → 成药性」的多级建模管线。

§13 数据质量审计:用户自查清单

拿 AqSolDB 做严肃工作前,建议跑一遍自查(多数一行代码即可):

  1. 规模核验:df.shape[0] == 9982?镜像版本若不是 9982,先查版本说明;
  2. InChIKey 唯一性:df.InChIKey.is_unique?若有重复,版本或镜像有问题;
  3. 目标值范围:LogS 合理区间约 [-12, +2],越界值检查;
  4. SD 分布:SD 的分位数——高 SD 化合物的化学类型分布是否偏斜(大概率偏向盐类与表面活性剂类);
  5. 描述符-标签合理性:MolLogP 与 Y 的相关性应为负(更疏水更难溶),若异常说明列对位有误;
  6. 结构可解析:抽样 SMILES 用 RDKit 重解析,失败率应为 0;
  7. 与 ESOL 的交集:若同时使用 ESOL,先算 InChIKey 交集并从 ESOL 侧去除重复。

这套自查对其他物性数据集同样适用——其本身部分借鉴了 AqSolDB 论文的验证思想。

§14 时间线与版本记录

时间 事件
2019-08-08 论文发表于 Scientific Data 6:143(doi:10.1038/s41597-019-0151-1)
2019 数据同步发布于 Harvard Dataverse(DOI 10.7910/DVN/OVHAW8);策展代码 GitHub(MIT)+ Code Ocean(10.24433/CO.1992938.v1)
2020 起 Kaggle/HuggingFace 等社区镜像陆续出现
2022 OpenML 归档(25 特征 / 9982 实例 / 0 缺失);MaRDI 门户建立 RO-Crate 封装
2023 起 TDC、OpenBioML chemnlp 等基础设施收录;HuggingFace maomlab/AqSolDB v1.1.0 提供标准 split
至今 官方版本停在 9982 化合物;学术引用两百余次并持续增长

版本使用建议:正式引用走 Dataverse DOI(版本锚定);工程实验走 HF 镜像(加载快、split 现成);两条路径规模数字一致,可放心混用前提是注明各自来源。

§15 三源互证记录

本条目核心数字的核验来源(写作时点 2026-10-16):

硬数字/事实 源 1 源 2 源 3
9982 化合物 / 9 源 DIFFER 官网新闻稿 MaRDI/OpenML 条目 GitHub README(mcsorkun/AqSolDB)
论文元数据(Sci Data 6:143, 2019-08-08, DOI) TU/e 研究门户 OpenBioML chemnlp bibtex HF 引用块
Dataverse DOI 10.7910/DVN/OVHAW8 TU/e 门户 OpenBioML chemnlp GitHub README
Code Ocean DOI 10.24433/CO.1992938.v1 GitHub README OpenML/MaRDI —
字段清单(25 特征) HF README 特征列表 OpenML 特征计数 GitHub README 示例
HF split 7488/2494 HF README DatasetDict 回显 与 9982 总量算术吻合 —
许可:代码 MIT GitHub LICENSE 文件全文 — —
许可:数据 CC0 1.0(社区标注) OpenBioML chemnlp meta HF license 字段(MIT 标注系代码仓库镜像口径) —(Dataverse 原页未直核,存照)
跨实验 SD 可达 0.5 LogS 论文 PDF 引述 Balakin — —

单源数字(无法三源互证但已如实标注):HF split 具体行数、Scopus 引用计数 206/187(随时间变动)。

§16 化合物案例:从几个名字理解数据

抽象的 9982 行数据可以通过几类代表性化合物来具象化(以下为类别性描述,具体数值以数据集实查为准):

类 1:经典药物小分子。如苯妥英、卡马西平、布洛芬式的中分子量(200-350)、含可电离基团的有机分子。它们在 9 源中出现频次最高——Ocurrences 常大于 1、SD 非零——是统计选值算法的主要工作对象。这类化合物撑起了数据集与药物发现场景的连接。

类 2:简单有机溶剂与醇类。甲醇、乙醇、丙酮式的小分子,LogS 接近正区间上限(易溶乃至无限互溶)。它们数值稳定、来源一致、SD 接近零,是模型最容易学对的部分——也是为什么整体 RMSE 会被「简单分子」拉低,需要分段看尾部。

类 3:大疏水分子。多环芳烃、长链脂肪烃类,LogS 深负(低至 -10 以下)。测量本身困难(过饱和、溶解平衡极慢),来源间分歧大,是 SD 大、Group 可靠性低的常客。模型的失败案例绝大多数落在这里。

类 4:盐类与强电离物。有机酸盐/胺盐等,InChI 归并时涉及「游离形态 vs 盐形态」的语义选择。这类化合物是数据集化学空间中最「模糊」的部分——同一疗效分子以不同盐型出现时,溶解度可以差数个量级,策展的归并规则直接决定标签语义。

给建模者的操作性建议:按上述四类把数据切成四个分层,分别报指标——很多「模型 vs 模型」的差异其实只是「数据分层权重」的差异。

§17 术语表(30 条)

  1. LogS:以 10 为底的溶解度对数,S 为 mol/L 计的饱和水溶解度;AqSolDB 的目标值单位。
  2. 溶解度(solubility):给定条件下溶质在溶剂中达到饱和的浓度。
  3. 水溶性(aqueous solubility):以水为溶剂的溶解度。
  4. SMILES:分子结构的线性文本表示,AqSolDB 选定的标准标识符。
  5. InChI:IUPAC 国际化学标识符,规范化、可逆的结构表示。
  6. InChIKey:InChI 的定长哈希键,适合做唯一性检查与数据库索引。
  7. CAS 号:美国化学文摘社的化合物登记号,多个源数据集的原生标识符。
  8. SLN:Sybyl Line Notation,另一 种线性结构表示,部分源数据使用。
  9. RDKit:开源化学信息学工具库,AqSolDB 的转换与描述符计算引擎。
  10. 2D 描述符:仅从分子拓扑图计算的数值特征(区别于 3D 构象描述符)。
  11. MolLogP:RDKit Crippen 法计算的脂水分配系数对数,疏水性度量。
  12. TPSA:拓扑极性表面积,与被动膜通透性相关的经典描述符。
  13. Lipinski 五规则:基于分子量、LogP、氢键供受体数的类药性经验规则。
  14. BCS:生物药剂学分类系统,按溶解度与通透性对药物四分类。
  15. ADMET:吸收、分布、代谢、排泄、毒性,成药性评估链条。
  16. QSAR:定量构效关系,从结构描述符建模生物/理化活性的方法学。
  17. Scaffold 划分:按分子骨架聚类切分训练/测试集,测结构外推能力。
  18. 数据策展(data curation):对既有数据进行标准化、验证、合并、标注的系统工程。
  19. 统计选值算法:AqSolDB 合并多源冲突值时,综合出现次数与一致性选出最可信值的规则。
  20. Group 标签:策展算法赋予的可靠性分组列。
  21. Ocurrences:化合物目标值在合并源中的出现次数列。
  22. SD(standard deviation):多测量化合物多来源值的离散度列。
  23. GNN(graph neural network):以分子图为输入的图神经网络,现代分子回归主流模型。
  24. Morgan 指纹:圆形指纹(ECFP 家族),表格模型常用的分子特征化方法。
  25. TDC(Therapeutics Data Commons):治疗学数据公共基准平台,收录 AqSolDB。
  26. Harvard Dataverse:哈佛主持的开放数据仓储,AqSolDB 官方发布地。
  27. Code Ocean:可复现计算容器平台,托管 AqSolDB 策展流水线。
  28. DIFFER:Dutch Institute for Fundamental Energy Research,荷兰基础能源研究所,数据集产出机构。
  29. AMD 研究组:Autonomous Energy Materials Discovery,DIFFER 内的数据驱动材料发现团队。
  30. Scientific Data:Nature 旗下开放获取数据描述论文期刊,AqSolDB 论文的发表载体。

§18 事实清单(硬事实 40 条)

  1. 数据集名称:AqSolDB: A curated reference set of aqueous solubility and 2D descriptors for a diverse set of compounds。
  2. 规模:9982 个唯一化合物。
  3. 来源:9 个公开水溶性数据集(论文编号 A–I)。
  4. 目标值单位:LogS(S 为 mol/L)。
  5. 论文:Scientific Data 6:143,2019 年 8 月 8 日。
  6. 论文 DOI:10.1038/s41597-019-0151-1,开放获取。
  7. 作者:Murat Cihan Sorkun、Abhishek Khetan、Süleyman Er(通讯)。
  8. 机构:DIFFER(Dutch Institute for Fundamental Energy Research),荷兰。
  9. 团队:AMD(Autonomous Energy Materials Discovery)研究组。
  10. 数据 DOI:Harvard Dataverse 10.7910/DVN/OVHAW8。
  11. 代码 DOI:Code Ocean 10.24433/CO.1992938.v1。
  12. 代码仓库:GitHub mcsorkun/AqSolDB,MIT License(© 2019 Murat Cihan Sorkun)。
  13. 字段:ID、Name、InChI、InChIKey、SMILES、Solubility(Y)、SD、Ocurrences、Group + 描述符。
  14. 描述符由 RDKit 计算,含 MolWt、MolLogP、MolMR、TPSA、LabuteASA、BalabanJ、BertzCT、环计数与氢键计数等。
  15. OpenML 归档口径:25 数值特征、9982 实例、0 缺失值。
  16. HuggingFace 镜像 maomlab/AqSolDB v1.1.0,train 7488 / test 2494。
  17. 三重结构表示(SMILES/InChI/InChIKey)经 SMILES→mol→InChI→mol→InChI 往返校验。
  18. 无 SMILES 的源记录经 NCI Chemical Identifier Resolver 由 CAS/名称反查。
  19. SLN 表示经 RDKit 转换为 SMILES。
  20. 质量浓度单位(g/L、mg/L 等)经分子量换算为 LogS。
  21. 论文引用 Balakin 等的观察:同化合物跨实验溶解度标准差可大至 0.5 LogS 单位。
  22. 策展脚本:data-preprocess.py 与 data-curation.py,底层模块 preprocess.py、merge.py、descriptors.py。
  23. 仓库附 dataset-A 与 dataset-H 各 25 条记录的预处理示例。
  24. 可确认的来源同源文献:ESOL(Delaney 2004)、Huuskonen 2000、Wang 2009、Solubility Challenge(Llinas 2008)、Meylan 1994/1995、Raevsky 2014,及 eChemPortal 门户数据。
  25. 论文定位:实验与物理建模的参考基准 + 机器学习训练源。
  26. 数据集发布时为同类开放数据集中最大。
  27. 被 TDC(Therapeutics Data Commons)收录。
  28. 被 OpenML、MaRDI 归档(MaRDI 提供 RO-Crate 封装)。
  29. Kaggle 存在多份社区镜像与笔记本。
  30. TU/e 门户记录学术引用 200 余次(Scopus 206 / SciVal 187,随时间变动)。
  31. 数据发布年:2019(TU/e 门户 availability 记录一致)。
  32. 社区镜像普遍将数据标注为 CC0 1.0;Dataverse 原始条款未逐字核验(存照)。
  33. 论文提及的跨源合并流程:标准化→合并→按可靠性与出现次数分组→选值→加描述符。
  34. 结构验证失败或 InChI 不一致的记录被剔除或标记。
  35. HF 镜像特征清单与官方字段吻合(数值特征 25 + 标识符)。
  36. 官方未设定唯一 test split;7488/2494 为社区镜像提供的随机划分。
  37. AMD 组主业为能源材料的数据驱动发现,溶解度数据集是其方法论外溢产物。
  38. DIFFER 官网发布过数据集新闻稿,引用三人原话说明动机。
  39. 数据集发布至今无官方续版;社区以增补与合并集形式局部扩展。
  40. 任务头派发信息中「Panapitiya 等 Sandia」归属有误,实核为 Sorkun/Khetan/Er(DIFFER),本条目按实核成稿。

§19 数据获取操作手册

19.1 官方路径(Dataverse)

  1. 访问 https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/OVHAW8;
  2. 条目页含 CSV 数据文件(curated 主表)与版本记录;
  3. 引用按钮可导出标准数据引用格式;
  4. 需要特定历史版本时在 Versions 页签选取。

19.2 工程路径(HuggingFace)

pip install datasets
import datasets
aq = datasets.load_dataset("maomlab/AqSolDB", name="AqSolDB")

镜像为 DatasetDict 结构(train/test),特征名与官方一致(含 Y 目标列)。HF 被网络环境封锁时可用 hf-mirror.com 端点:

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"

19.3 复现路径(GitHub + Code Ocean)

git clone https://github.com/mcsorkun/AqSolDB.git
# 依赖 RDKit;先跑 data-preprocess.py 的示例,再跑 data-curation.py

Code Ocean 提供环境封好的容器版本,适合不想配 RDKit 环境的复现者。

19.4 引用义务

使用数据集请同时引用论文与数据 DOI(见 §5.3);使用策展代码请保留 MIT 许可声明;镜像版本(HF/OpenML)在方法节注明获取渠道与日期。

§20 与医学数据生态的接口

本库以医学数据为主轴,AqSolDB 在其中的接口价值体现在三处:

  1. ADMET 上游:溶解度是口服吸收的第一道闸门;库内 ADMET 类分类数据集(BBB 通透、CYP 抑制等)与之构成从物理性质到临床前性质的建模链条;
  2. 描述符共享:AqSolDB 内置描述符与多数分子数据集的描述符体系同源(RDKit),跨数据集特征工程可以复用;
  3. 方法学范式:它的「策展 + 元数据 + 参考集定位」是物性类数据集的标准模板,可对照评审库内其他化学数据集的成熟度。

§26 数据列深度注解:每一列的来历与用法

26.1 标识符三兄弟:SMILES、InChI、InChIKey 的分工

三列不是冗余,而是三种用途:

  • SMILES:模型输入的首选。主流分子库(RDKit、DeepChem、torch_geometric)都以 SMILES 为第一入口;它也可逆、可枚举变体(用于数据增强)。
  • InChI:规范化语义层。层状编码把电离、互变异构等语义选择显式化;策展合并时以 InChI 语义为归并锚点。
  • InChIKey:纯哈希键。定长、无转义字符,是唯一性检查、跨数据库 join(PubChem 等均支持)的最稳键。

实践建议:去重与跨库 join 用 InChIKey;喂模型用 SMILES;需要处理盐型/互变异构语义时回 InChI。三列一起用可以构建「同一化合物的多 SMILES 写法归一」管线——这对避免「同一分子两种写法被当成两个样本」的隐性重复至关重要。

26.2 目标列 Y:语义与边界

Y 的语义是「统计选值算法从多源值中选出的实验 LogS」。三个边界要记牢:

  1. 它是单值化的结果——原始多源值不随表分发;
  2. 它是实验值——不是计算预测值(尽管个别源数据本身含估算成分,策展口径以实验测量为主);
  3. 它的测量条件未逐条标注——温度/pH 差异被平均化。

当你的应用对测量条件敏感(如制剂开发),AqSolDB 只适合做粗筛与先验,不适合替代针对性实验。

26.3 SD 列的统计性质

SD 是「被选中值所在化合物在多源中的值离散度」。它的分布本身有信息量:高 SD 化合物集中在哪些化学类型(电离物、表面活性剂、易水解物),能直接告诉你数据集的软肋在哪。用 SD 做样本权重的常见写法:weight = 1/(SD + eps) 或对 SD 超过阈值的样本直接降采样。

26.4 Ocurrences 列的信息

Ocurrences(出现次数)与 SD 联合使用更有意义:次数高且 SD 低 = 社区共识值(最可信);次数高但 SD 高 = 来源系统性分裂(需人工裁决);次数为 1 = 孤证(可信度完全取决于单一来源质量)。这三个象限可以作为数据清洗的第一刀。

26.5 Group 列的正确打开方式

Group 的官方语义是「策展算法按可靠性与出现情况赋予的分组标签」。它最稳妥的用法是分层对照:主结果全量训练,附一份「仅高 Group」的对照结果。若两份结果差异巨大,说明你的模型对标签噪声敏感——这本身是重要发现。

26.6 描述符列的三重身份

同一批 RDKit 描述符列有三重身份:

  1. 开箱基线特征:下载即建模;
  2. 化学合理性检查器:MolLogP 与 Y 的负相关、TPSA 与 Y 的相关性等可用于快速验证数据对位正确;
  3. 类药性过滤器输入:Lipinski 五规则所需的量(分子量、LogP、HBD、HBA)全部在列。

但它们不是完整特征集:电学性质、3D 构象、晶体信息都不在列。严肃建模建议扩充特征或改用指纹/GNN 表示。

§27 扩展 FAQ(进阶 20 问)

Q31:如何检测我的 train/test 泄漏?
对两个集合的 SMILES 算 Tanimoto 相似度矩阵(RDKit Morgan 指纹),检查跨集最近邻相似度分布;或按 InChIKey 前缀(骨架哈希)检查跨集同骨架比例。显著高于随机即有近似泄漏。

Q32:能把 AqSolDB 和其他溶解度集合并训练吗?
可以但要先做 InChIKey 交集去重——ESOL 等常见集完全包含于 AqSolDB,直接合并会把测试样本泄进训练。

Q33:模型预测的不确定度和 SD 列有关系吗?
好模型的不确定度估计应与 SD 正相关(多源分歧大的样本更难预测)。这个相关性检验可以当成模型校准的质量探针。

Q34:LogS 与 log P(MolLogP)什么关系?
相关但不同:log P 是分配系数(两相溶解比例),log S 是绝对溶解度。二者联合(如 Katritzky 类经验式)曾是无 ML 时代的主流估算思路。

Q35:数据里有没有多组分体系(共晶、混合物)?
策展以单一纯化合物为主,InChI 语义归并会把盐型映射到统一形态;共晶与真混合物不在覆盖范围。

Q36:为什么有的化合物 Name 列为空或不规范?
Name 来自源数据或 CAS 反查,非唯一标识符;策展以结构标识符为准,Name 仅辅助阅读。程序化使用请勿依赖 Name。

Q37:描述符里的 ClusterNo / MolCount 是什么?
与分子聚合/簇相关的计数特征(版本依镜像而异)。使用前对照 HF README 特征清单确认含义,不确定的特征可弃用——少量特征缺失不影响基线质量。

Q38:能否用于多任务学习(同时学溶解度+其他性质)?
可以。以 SMILES/InChIKey 为 join 键与 ADMET 类数据集拼接,但注意跨集交集泄漏(先去重再划分)。

Q39:AqSolDB 上有竞赛吗?
无官方竞赛;Kaggle 社区偶有非官方练习赛。基准比较主要走论文间互比与 TDC 排行。

Q40:数据多久更新一次?
官方 2019 年后无续版。使用时锁定你下载的版本并在论文中注明。

Q41:SDF/3D 构象版本存在吗?
官方仅 2D 单表。需要 3D 构象可用 RDKit ETKDG 自行生成(注意构象不确定性的传递)。

Q42:如何引用镜像版本而非官方版?
引用官方 DOI 为主,镜像版本在方法节注明(如「HuggingFace maomlab/AqSolDB v1.1.0,accessed 2026-10-16」)。

Q43:高 SD 化合物应该删除吗?
不建议一刀切。先看研究目的:稳健基准可用高 Group 过滤;建模研究应保留并利用 SD 信息——删除等于丢掉数据集最有价值的元数据。

Q44:溶解度预测在制药流程的哪个环节用?
虚拟筛选与先导优化早期,作为 ADMET 链最上游的粗筛项;制剂开发阶段需要实测替代。

Q45:能用 AqSolDB 训练跨物种/跨溶剂模型吗?
不能直接。它只有水相数据;跨溶剂扩展需另接溶剂参数化数据集。

Q46:LogS 尾部样本占比多少合理?
分布大致单峰、主体在 -6 到 0 区间,双尾各占少数。若你的子集尾部占比异常,多半是过滤操作引入的偏倚。

Q47:为什么我的模型在 train 上 RMSE 0.3、test 上 1.5?
典型过拟合或泄漏诊断信号:先查跨集相似化合物,再查特征是否含目标代理列(如用 MolLogP 强特征 + 随机划分的虚高)。

Q48:可以拿 Group 当分类标签做辅助任务吗?
有先例(多任务中把可靠性当辅助头),但 Group 是策展产物而非物理性质,辅助任务设计需谨慎解释。

Q49:AqSolDB 与 MoleculeNet 什么关系?
MoleculeNet 收录了 ESOL 等子集;AqSolDB 不是 MoleculeNet 的官方组成部分,但常被社区加入对比表。

Q50:想系统学溶解度建模,入门路径?
先跑 §11.1 表格基线 → 读论文方法节理解策展 → 换 GNN 与 scaffold 划分 → 做 SD 加权与分层评估实验。四步走完即可读懂该方向大部分论文。

§28 快速核对卡(一页带走)

  • 数据集:AqSolDB,9982 化合物,9 源策展,2019
  • 论文:Sci Data 6:143,doi:10.1038/s41597-019-0151-1,Sorkun/Khetan/Er,DIFFER(荷兰)
  • 数据:doi:10.7910/DVN/OVHAW8(Dataverse);代码 MIT(github.com/mcsorkun/AqSolDB);容器 10.24433/CO.1992938.v1
  • 目标:LogS(mol/L 对数);元数据:SD / Ocurrences / Group
  • 镜像:HF maomlab/AqSolDB v1.1.0(7488/2494)
  • 噪声地板:跨实验 SD 可达 0.5 LogS
  • 三个慎用:单值化目标非全值、条件未标注、化学空间偏药物有机物
  • 三个必做:InChIKey 去重、注明划分口径、SD/Group 分层对照

§29 结语:给三类读者的话

给建模者:把它当「有说明书的高质量地板」。基线好打、元数据好用、泄漏好查——但任何漂亮数字都要先过 0.5 LogS 噪声地板的审视。

给数据集作者:它的成功配方可复制——机械化验证、显式不确定性、零摩擦分发、参考集定位。数据策展是科学贡献,且是被长期引用的那种。

给医学数据生态的建设者:AqSolDB 证明了一条路径:小团队(三人)+ 严谨流程 + 开放基础设施,可以做出领域默认标准。这正是本库「AI-Ready Wikipedia」希望在每个条目里看到的品质:数字可核、方法可复现、局限可查证。

附录 A:证据链自证

关键数字/事实 来源 获取渠道(写作时点 2026-10-16)
9982 化合物 / 9 源 DIFFER 新闻稿;MaRDI/OpenML 条目;GitHub README WebSearch 摘要三源互证
Sci Data 6:143,2019-08-08 TU/e 研究门户;OpenBioML chemnlp bibtex;HF 引用块 WebSearch 摘要互证
DOI 10.1038/s41597-019-0151-1 TU/e 门户;OpenBioML;GitHub README 三源互证
DOI 10.7910/DVN/OVHAW8 TU/e 门户;OpenBioML links;GitHub README 三源互证
Code Ocean 10.24433/CO.1992938.v1 GitHub README;MaRDI 条目 双源互证
作者 Sorkun/Khetan/Er,DIFFER DIFFER 新闻稿;TU/e 门户;论文元数据 三源互证
25 数值特征 / 0 缺失 OpenML 条目;HF README 特征列表 双源互证
HF split 7488/2494 HF README DatasetDict 回显 单源(与 9982 总量算术自洽)
代码 MIT(© 2019 Murat Cihan Sorkun) GitHub LICENSE 全文 单源(许可文本原文)
数据许可 CC0 1.0(社区标注) OpenBioML meta;HF license 字段 双源标注,Dataverse 原页未直核(存照)
跨实验 SD 可达 0.5 LogS 论文 PDF 正文引述 Balakin 单源一手(论文)
引用 206/187 次 TU/e 门户(Scopus/SciVal 口径) 单源快照,随时间变动
TDC 收录 OpenBioML benchmarks 字段 单源

附录 B:DAIMS 评估全表

维度 评分(1-10) 依据
D 可发现性 9 论文开放获取 + Dataverse DOI + HF/OpenML/MaRDI 多平台收录;AqSolDB 名称唯一性好,检索歧义小
A 可获取性 9 官方 CSV 公开直链(Dataverse)+ 镜像一行加载(HF)+ 容器复现(Code Ocean),无任何请求制环节
I 可互操作 9 单表 CSV 无缺失 + SMILES/InChI/InChIKey 三重标识符(化学信息学通用 join 键)+ RDKit 描述符开箱即用
M 元数据质量 8 SD/Ocurrences/Group 三列不确定性元数据为同类少见亮点;扣分项:测量条件(温度/pH)未逐条标注,论文基线数值在摘要页不可得
S 可持续性 7 Dataverse 平台稳定、DOI 永久锚定;扣分项:官方 2019 后无续版,维护依赖社区镜像
综合评级 8.4/10(优秀) 可发现、可获取、可互操作三面接近满分;可持续性与条件元数据为主要失分点

附录 C:数据获取决策树

需要 AqSolDB?
├─ 只要数据本体(正式引用/版本锚定)
│   → Harvard Dataverse:dataverse.harvard.edu
│     persistentId=doi:10.7910/DVN/OVHAW8 → 下载 CSV
├─ 要 Python 快速加载 + 现成划分
│   → HF:datasets.load_dataset("maomlab/AqSolDB")
│     (网络受限时 HF_ENDPOINT=hf-mirror.com)
├─ 要复跑/扩展策展流水线
│   → GitHub:github.com/mcsorkun/AqSolDB(MIT)
│     或 Code Ocean 容器:10.24433/CO.1992938.v1
└─ 要基准排行榜口径比较
    → TDC 任务接口(自带官方划分),注明 TDC 版本

附录 D:最小可复用代码集

加载与规模核验

import datasets, pandas as pd
aq = datasets.load_dataset("maomlab/AqSolDB", name="AqSolDB")
df = pd.concat([pd.DataFrame(aq["train"]), pd.DataFrame(aq["test"])])
assert len(df) == 9982, "镜像版本与官方规模不符,先查版本说明"

InChIKey 唯一性与分布快查

assert df["InChIKey"].is_unique
print(df["Y"].describe())        # LogS 主体约 -6..0,双尾少数
print(df["Ocurrences"].value_counts())

SD 三象限清洗第一刀

multi = df[df["Ocurrences"] > 1]
consensus = multi[multi["SD"] < multi["SD"].median()]   # 共识值
conflict  = multi[multi["SD"] >= multi["SD"].median()]  # 来源分裂,慎用/人工裁决
singleton = df[df["Ocurrences"] == 1]                   # 孤证

Scaffold 粗划分(Bemis-Murko 骨架,InChIKey 前缀近似)

df["scaffold"] = df["InChIKey"].str[:14]  # 近似骨架层
# 严谨做法用 RDKit BemisMurkoHash 或 rdFingerprintGenerator,
# 此处前缀法仅作快速稳健性检查。

泄漏自检(跨集最近邻相似度)

from rdkit import Chem, DataStructs
from rdkit.Chem import AllChem
fps_tr = [AllChem.GetMorganFingerprintAsBitVect(Chem.MolFromSmiles(s), 2)
          for s in df_train["SMILES"]]
# 对 test 逐条取与 train 最大相似度,直方图看尾部

附录 E:常见错误信息对照

症状 多半是 处置
load_dataset 找不到数据集 HF 主站网络封锁 设 HF_ENDPOINT=https://hf-mirror.com
SMILES 解析返回 None 抽样命中无效写法(罕见) 核对镜像版本;官方数据应 0 失败
RMSE < 0.5 且 R² > 0.95 泄漏(跨集同物/近邻) 附录 D 泄漏自检;改 scaffold 划分
指标比文献差很多 划分口径不同(scaffold vs 随机) 对齐划分口径再比较
Y 值域异常(>2 或 <-12) 混入了其他数据集的列或单位误读 回 Dataverse 原始 CSV 核对
跨论文比较对不上 描述符版本/特征子集/划分三重差异 全部写明口径(附录 A 证据链方法)

附录 F:与本库写作纪律的对照说明

  • 互链 rid 全文占位 /0(R018 纪律:写手不猜 rid,主会话入库后回填);
  • frontmatter 双引号字段内无英文直引号(R009 纪律),中文强调一律「」;
  • schema_org 的 cr:RecordSet 为节点式(J2 教训),块式列表逐项核对 - 前缀(R010);
  • title 含「| 千方病案医数集」站点后缀(R006/S2);
  • data_source 为块式、非内联(R003 教训),name 长度 ≤255;
  • part 全程写入私有区 .parts_agent-b-aqsoldb_1792109021_89511/(R004/R005/R007/R008 教训),段尾空行保留,拼接后行数 = 各 part 行数之和;
  • 三源互证核心数字并逐条落附录 A;无法核验项(Dataverse 条款原文、论文基线数值、Table 1 完整映射)全部存照而非臆填。

附录 G:统计选值算法思想例解

论文的统计选值算法未在摘要层给出完整伪代码,但其思想可以用一个数值例子讲清楚(以下数字为示意,非数据集实值)。

示例化合物 X 在 9 源合并后出现 4 次:

来源 LogS 报告值 备注
源 A(ESOL) -3.10
源 B -3.15
源 C -2.20 离群
源 D -3.05
  • 全体均值 -2.88、标准差 0.43——离群值把中心拉高;
  • 剔除离群后(源 A/B/D)均值 -3.10、标准差 0.05。

算法的倾向是给后者背书:多数一致(3/4 源在 0.1 LogS 内)的簇更可信。于是:选中值 Y ≈ -3.10(一致簇的中心),SD 记多源离散度(是否含离群依算法口径),Ocurrences = 4,Group 归入「多源一致」高可靠性组。

对比一个分裂情形:化合物 Y 两个来源分别报 -2.0 与 -4.0(差 2 个 LogS,100 倍浓度)。没有多数簇可依,算法只能二选一或标中性,Group 落低可靠性组——这正是 Group 标签存在的意义:它告诉下游「这条是算法也没把握的」。

给数据集使用者的推论:

  1. 高 Group + 低 SD = 社区共识,放心当标签用;
  2. 低 Group + 高 SD = 系统性分裂,做加权/剔除/人工复核三选一,别直接全信;
  3. Ocurrences = 1 = 孤证,可信度完全取决于该源质量——ESOL 这类经典源可信度较高,门户收集数据需保守。

附录 H:分层评估的预期形态

把 9982 化合物按 §16 四类切片后,一个健康的模型应呈现如下形态(区间为文献综合印象,供自查参考而非硬指标):

分层 占比印象 典型误差 备注
简单有机小分子 少 很低 易溶、来源一致,几乎白送分
经典药物小分子 主体 中 数据集的主战场,模型差异主要在此
大疏水分子 次主体 高 晶格能信息缺失的物理上限
盐类/强电离物 少 高且不稳 语义归并选择 + 测量难,双重难点

用法:先在全量上报告整体指标,再附本表分层指标。若你的模型整体数字与文献接近但「药物层」明显偏差,说明模型学到了溶剂小分子的简单模式而非药物相关的结构-溶解关系——这是论文评审常见的追问点。

附录 I:给接管代理的交接说明(如本实例中断)

  • 私有区:writing/aqsoldb/.parts_agent-b-aqsoldb_1792109021_89511/,part1-8 已落盘,拼接顺序 1→2→3→4→5→7→8→6(part6 是尾注必须最后);
  • FACTS.md 已完成(九节全),FACTS §9 的存照与遗留疑点清单与成稿附录 A/尾注一一对应;
  • 成稿命名与路径:writing/aqsoldb/aqsoldb_Wikipedia.md(注意曾误写到 writing/ 根,已移正);
  • 双检要求:check_md(行数 ≥1200 + DAIMS 表存在)与 preflight_check 双零后方可交验收;
  • 若接管:先 md5 稳定性采样(R007/R008),勿重抓网络资料(网络预算已用:WebSearch 3/3、WebFetch 5/6,资料以 FACTS.md 为准)。

附录 J:术语首现速查(中英对照补遗)

  • 水溶性 aqueous solubility;溶解度 solubility;饱和 saturation

  • 数据策展 data curation;标准化 standardization;合并 merging

  • 可靠性标签 reliability label;统计选值 statistical value selection

  • 分子指纹 molecular fingerprint;圆形指纹 circular fingerprint

  • 结构外推 structural extrapolation;近似泄漏 near-duplicate leakage

  • 共形预测 conformal prediction;深度集成 deep ensembles

  • 公有领域贡献 public domain dedication(CC0);再分发 redistribution

  • 晶格能 lattice energy;水合自由能 hydration free energy

  • 电离态 ionization state;互变异构 tautomerism;盐型 salt form

  • 公共参考集 public reference set;基准循环 benchmark churn

  • 哈希键 hash key;规范化 canonicalization;语义归并 semantic merging

  • 分层评估 stratified evaluation;离群值 outlier;孤证 singleton

  • 分布偏斜 distribution skew;多任务学习 multi-task learning

  • 表格回归 tabular regression;数据增强 data augmentation

  • 参考基准 reference benchmark;许可条款 license terms

  • 版本锚定 version anchoring;访问日期 access date

注:本附录为术语检索便利层,正文中英对照以正文首次出现为准。

§21 横向对比:溶解度数据集地图

在 AqSolDB 前后,溶解度数据生态的主要玩家如下(规模为公开口径,个别为近似值):

数据集 规模 年代 与 AqSolDB 的关系
ESOL(Delaney) 1128 2004 AqSolDB 来源之一,前代教学基准
Huuskonen ~1297 2000 来源之一
Wang 等 数百-千级 2009 来源之一
Solubility Challenge 100(高可靠) 2008 来源之一,精神前身
PhysProp / SRC 数据库 数千-万级 商业 部分数据经 eChemPortal 等渠道流入
AqSolDB 9982 2019 本条目,开放参考集
各社区合并/增补集 1 万-2 万级 2020s 未官方合并,散见论文附录

解读要点:

  1. 开放性是分水岭:商业库(PhysProp 类)规模更大但不开放或限制许可,学术生态因此选择 AqSolDB 作为公共基准;
  2. 策展深度差异:多数开放集只是「格式转换」,AqSolDB 是少数做了跨源统计选值与可靠性分层的;
  3. 2020s 增补浪潮:电离物、盐类、聚合物溶解度的专题数据集以论文附录形式散落,无权威合并者——这是 AqSolDB 留下的空白,也是潜在续作者的机会窗口。

§22 许可深读:三层许可怎么守

22.1 数据层(CC0 标注与存照)

社区镜像(OpenBioML chemnlp 的 meta 声明、HF 镜像字段)一致将数据标注为 CC0 1.0(公有领域贡献)。CC0 的含义:作者放弃全部著作权,使用者无需署名即可商用、修改、再分发——但学术礼貌与可追溯性要求仍应引用论文与数据 DOI。

存照重申:本条目撰写时 Dataverse 条目页有反爬限制未能逐字打开,CC0 结论基于两个独立社区镜像的一致标注。若用于高合规场景(产品捆绑、监管材料),请以 Dataverse 条目页 Terms 文本为最终依据并截图存档。

22.2 代码层(MIT)

GitHub 仓库 LICENSE 文件全文为标准 MIT 文本,版权归 Murat Cihan Sorkun(2019)。MIT 的义务极轻:保留版权声明与许可文本即可。衍生策展工具发布时建议保留上游声明。

22.3 论文层(CC BY)

Scientific Data 为开放获取期刊,论文以 CC BY 类许可发布:可自由转载、改编,需注明出处。本条目对论文方法的转述遵循此义务。

22.4 组合使用场景速查

场景 结论
论文中用数据训模型并报告 允许,引用论文+数据 DOI
把 CSV 打包进开源工具再分发 允许(CC0 标注下无义务),建议随包附引用说明
商业产品内使用模型(用 AqSolDB 训练) 允许;模型不属于数据分发,训练数据引用为学术规范
把数据本体捆绑进商业软件分发 大概率允许(CC0),但先核 Dataverse 条款原文(存照事项)
修改策展代码再发布 允许(MIT),保留版权与许可声明

§23 批评视角与常见争议

23.1 「清洗型数据集算贡献吗?」

对 AqSolDB 早期的一种质疑是:它没有新测量,只是「洗数据」。八年过去,这个质疑基本被实践否定——恰恰因为溶解度领域最稀缺的不是测量而是可信的汇总。分散测量只有被策展成机器可读参考集,才能进入 ML 闭环。Scientific Data 的 data descriptor 体裁本身即为此设计。后来者(如各类「MoleculeNet 扩充集」)大多沿着同一思路推进。

23.2 「选值算法是黑箱吗?」

不是黑箱但也是强假设:统计选值基于「多数与一致者胜」的启发式,当多个来源系统性分裂(如方法学差异导致两簇值)时,算法只是选了较大一簇而非仲裁对错。论文对此的诚实处理是把 SD/Ocurrences/Group 留给用户——批评者若仍不满,可以按自己的规则从原始源重选(流程开源)。

23.3 「化学空间偏斜」

以药物与有机物为主的构成,使 AqSolDB 对能源材料(AMD 组的主场)与无机物的覆盖不足。这算「出身错位」:一个能源材料组做了个偏药物的数据集,反而最大的受益者是制药 ML 社区。对能源场景用户,AqSolDB 应被视为有机子集参考而非全域参考。

23.4 「没有官方 leaderboard」

有研究者把「无固定划分」视为缺点(跨论文不可比)。另一种观点认为固定 leaderboard 会引发过拟合基准的竞赛,参考集定位反而更健康。折中方案是社区事实标准(HF split / TDC split)——本条目建议:主实验用事实标准划分,附自己设计划分的稳健性检查。

§24 应用案例编年

以下为 AqSolDB 被典型使用的场景类型(按主题归纳,非穷举):

  1. 2019-2020:GNN vs 描述符的对比浪潮。AqSolDB 成为图神经网络方法学论文的标准回归试验田之一,多篇文章在同一划分上对齐比较 MPNN/GCN/GIN 与梯度提升树。
  2. 2020-2022:分子预训练评估。分子预训练表示(自监督 GNN、SMILES 语言模型)发布时,溶解度回归几乎必在评估表里,AqSolDB 是最常用的数据源之一。
  3. 不确定性学习实验台。SD/Group 元数据使其成为噪声标签学习、深度集成、共形预测(conformal prediction)等方法的载体数据集。
  4. 2023 起:大模型时代的回归探针。化学大模型与 LLM 分子问答把 LogS 预测做成生成式数值任务,AqSolDB 的文本模板化使用(OpenBioML chemnlp 等)延续其基准生命。
  5. 物理-ML 混合建模。COSMO-RS 类物理模型与 ML 的对拍与融合研究,持续以 AqSolDB 实验值为公共参照。
  6. 数据质量方法论研究。「策展元数据如何改善模型」本身成为研究方向,AqSolDB 是少数自带元数据可支撑此类研究的数据集。

§25 尾注

数据集与论文

社区镜像与收录

  • HuggingFace:https://huggingface.co/datasets/maomlab/AqSolDB (v1.1.0,train 7488 / test 2494)
  • OpenML / MaRDI:条目 Dataset:6036643(25 特征 / 9982 实例 / 0 缺失)
  • TDC:Therapeutics Data Commons 收录(回归任务)
  • OpenBioML chemnlp:meta.yaml 标注 license CC0 1.0、目标列 Solubility(单位 log(mol/L))

本条目存照事项汇总

  1. 派发 brief 的「Panapitiya 等 Sandia」与实核(Sorkun/Khetan/Er,DIFFER)不符,全文按实核成稿;
  2. 数据本体 CC0 1.0 标注来自社区镜像双源,Dataverse 条目页因反爬未逐字核验;
  3. 论文基线 R²/RMSE 具体数值未从公开渠道取得,相关表述使用文献常见区间并注明需回正文核对;
  4. 9 源逐一名称映射(Table 1 完整版)未全文核对,已列可确认子集;
  5. HF split 行数(7488/2494)为镜像 README 口径,与总量算术自洽;
  6. 引用计数(206/187)为 TU/e 门户写作时点快照,随时间变动。

撰写信息

  • 条目 slug:aqsoldb;撰写代理:agent-b-aqsoldb;成稿时间:2026-10-16。
  • 互链 rid 一律占位 /0,由主会话入库后按 R018 纪律统一回填。
  • 私有区:writing/aqsoldb/.parts_agent-b-aqsoldb_1792109021_89511/(五段拼接,段间空行保留)。

相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • moleculenet — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测 / 评测基准
  • openadmet-expansionrx — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测 / 评测基准
  • matbench — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测 / 评测基准
  • bace — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测 / 评测基准
  • qm9 — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测 / 评测基准
  • plumber — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测 / 评测基准
  • pubchem-pcba — 共享标签:药物发现与化学 / 化学信息学 / 评测基准
  • tdc — 共享标签:药物发现与化学 / 化学信息学 / 评测基准
  • ctrp-v2 — 共享标签:药物发现与化学 / 化学信息学 / 分子性质预测
  • pcqm4mv2 — 共享标签:药物发现与化学 / 化学信息学 / 评测基准

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集