第51章 数据库怎样定义化学对象
51.1 从物质记录到结构记录
打开一个化合物页面,很容易产生一种印象:名称、结构图、性质和相关论文都围绕一个早已确定的对象排列。实际工作更复杂。不同机构提交的记录可能使用不同名称、不同画法,也可能指向不同批次的样品。数据库必须决定哪些信息能够放在一起,又应保留哪些差异。页面的整齐,是处理过程的结果。
PubChem提供了一个可以检查的例子。它区分保存提交者描述的Substance与由结构标准化生成的Compound,前者使用SID,后者使用CID。官方说明把后者解释为将一个或多个提交记录连接到规范结构的方式,而不是将每次提交都当成新的独立化合物。[C51-01] 这使分散信息能够通过共同入口被找到。
归并解决的是实际困难。若同一结构仅因绘图次序、名字或某些表示惯例不同而分散,检索者会漏掉资料,统计者也可能重复计数。一个共同编号能够减少这些负担。但共同入口并不说明不同瓶子具有相同纯度、含水量和制备历史,也不保证不同来源的每项性质已经相互验证。结构同一性是数据库承诺的一种同一性,而不是所有层级的同一性。
提交记录本身也不是一份样品的完整替身。它可能描述商品、文献对象或其他来源材料,具体含义取决于提交者。因此,SID不能简单译成“真实瓶号”,CID也不能译成“已经实验确认的一种物质”。先理解记录的用途,才能判断一个关联究竟提供了多强的证据。编号的精确性不会自动传递给编号所连接的全部说法。
有价值的组织方式不是把来源抹去,而是在归并后仍能回到来源。官方Substance说明强调贡献机构的记录归属,并将可标准化的结构关联到派生的Compound记录。[C51-02] 这允许两种工作同时进行:通过共同结构搜集资料,通过原记录检查不同描述。便利与追溯不是互相排斥的目标。
对化学身份史而言,这里出现了一种新的规模。过去的命名表也合并同物异名,现代数据库则把合并结果变成可被程序反复调用的对象。一次归并不仅影响读者看到哪张页面,还可能影响训练集怎样去重、候选怎样排序、相似性搜索怎样连接。这些后果需要实际追踪,不能只凭规模巨大就宣布所有研究都已改变。
因此,本章将三层放在一起审查:提交者描述了什么,标准化保留了什么,使用者又据此推断了什么。第一层可能含有错误,第二层可能有明确的处理边界,第三层可能超出前两层的承诺。把错误都归给“数据库不准确”,会失去修正位置;把共同编号当成最终裁决,则会让必要的追问停止。
从这里看,数据库定义对象并不意味着它任意创造化学事实。结构规则必须尊重化学限制,资料也有来源约束。但它确实规定了某种可计算的等价关系:在当前任务中,哪些不同记录被允许作为同一入口使用。理解这种等价关系,是理解机器后来探索哪一个化学空间的前提。
51.2 标准化的化学前提
哈恩克、金与博尔顿2018年的原研究把PubChem流程分为结构核验和规范化,并分别讨论价态、互变异构表示与立体信息。[C51-03] 本章据此选三个问题,不把当年的实现细节当成永不变化的规范。标准化既包含化学判断,也包含为了稳定检索而作的表示选择,两者需要逐项区分。
首先是价态。一个连接表能被文件解析器读取,只能说明格式可识别,不说明原子连接在所用模型下合理。如果结构包含不能由现有信息解释的价态,拒绝自动归并可能比猜测提交者意图更可靠。程序无法修正并不证明自然界不可能出现相关化学现象;它说明这份表示与当前规则之间存在尚未解决的不一致。
这里的工程克制具有认识意义。某个异常也许是多画了一根键,也许是想表示特殊相互作用;在缺少来源解释时自动删除一条键,可能修好一个记录,也可能破坏另一个。记录错误、表示不足与化学新颖性不能共用一个标签。应保留异常原因,使后续人员知道需要补的是结构资料、表示能力还是规则本身。
其次是互变异构。为检索选择一个规范形式,目的是让某些可互相联系的表示获得稳定入口。它不必等同特定溶剂与温度下占优势的实际形式。若把用于注册的代表图直接当作计算性质时唯一应考虑的状态,就把两个任务混在一起。稳定编号所需要的唯一性,不能消除体系中实际的状态分布。
共振表示与互变异构也不能混为一谈。不同电子式可以描述同一离域状态,而互变异构涉及原子位置及相应键的变化。某项算法可能对两类差异都做处理,但处理相似不等于化学关系相同。解释标准化时若只说“不同画法被统一”,就可能掩盖哪些差异只是表示问题,哪些还关系到条件依赖。
第三是立体信息。未知构型不等于没有立体异构,更不等于已经证明样品为等量混合。原研究的流程说明,在某些信息不足的情况下保留未定义标记。[C51-03] 对使用者而言,这意味着一张看似完整的结构图仍可能包含未决信息。下游模型应根据任务决定怎样处理,不能自动把空缺补成最方便的确定值。
同样,二维图的布局与真实构型之间需要受控连接。画图为了清楚而安排的方向,不应在没有规则支持时转成实验事实。若文件转换使一个未知中心变成确定中心,形式上增加了信息,证据上却没有增加。数据质量审查因此不能只统计字段是否齐全,还要检查新增字段有没有来源。
这三类问题显示,标准化不是一个统一的“清洗”动作。价态检查关注表示可否接受,规范互变异构关注如何建立共同入口,立体标记关注哪些信息确已给出。每一步都可能合理,却服务于不同承诺。将步骤、输入和输出保存下来,才能让其他研究者判断某次改变对自己的任务是否重要。
标准化的影响可以用保持不变的记录作对照。对于简单且信息完整的结构,若更换规则后表示、检索集合与性质计算均不变,就应将它列入稳定组;对于含未定义立体信息的记录,则检查哪一步改变了关联。这样比较的是同一更新对两类输入的不同后果,既能定位规则的作用,也能保留已可靠归并的成果。
51.3 酸性数据怎样进入条目
酸性使结构身份与性质身份的差别立即显露。同一个CID可以连接多个pKa记录,但pKa不是脱离介质、温度和测量定义的裸数字。前面关于酸度尺度的讨论,在数据库里并没有失效;它只是被压缩进字段、注释、实验编号与来源链。读取者若只取数值列,就可能把原先存在的限定丢掉。
本章进行了一项小范围的实际接口核验:2026年10月16日读取PubChem乙酸CID176的“Dissociation Constants”返回内容。页面数据中既有4.756,也有4.55,并有标为25℃的4.76。前两个值通过同一个SID103176092关联到不同AID,分别为781325与781326。[C51-04] 这证明一个结构入口可以容纳多个有来源的数值,不证明其中哪个错误。
继续读取这两个AID的官方说明,可以看到它们分别回指Liao文献资料与Avdeef资料,并共同连接塞蒂莫等关于实验及预测pKa准确性的论文。[C51-05] 这一步已经超出看页面摘录,却仍未到达对全部原测量条件的审计。本书没有把两个数平均,也没有把差值解释为特定仪器效应,因为现有核验尚不足以支持那些结论。
这个例子可以检验两种整理方式。只按结构归并,会得到“乙酸有多个pKa数值”,甚至在进一步压缩时只留下一个代表值。保留来源和测量条件,则首先得到几个需要判断关系的记录:是否同一原始测量的转引,是否不同条件,是否不同方法,是否还有录入与转换问题。后者暂时不如单一数字简洁,却给出了下一步核验的位置。
同一文献被多个数据库转引时,记录数不能直接当作独立重复实验数。来源链如果最终回到同一组数据,三个页面的一致只是三个接口传递了相同信息。相反,不同来源数值接近,也未必证明条件可忽略;可能只是所选条件变化小。判断证据强度,需要同时看到数值关系与来源关系。
单位与类型也需要保留。pKa是对相应平衡常数取负对数的表示,不能当成带浓度单位的原始测量值;某些记录给出常数,另一些给出对数,转换必须明确。对于多位点分子,还须知道数值描述哪一级或哪种电离关系。结构图相同而所标中心不同,可能反映不同化学问题,而不是重复数据。
温度字段的存在也不等于所有条件已完整。没有列出离子强度,不能默认为零;没有注明溶剂,不能仅因数值熟悉就补成水。某项来源可能在原文统一说明条件,而数据库摘录未重复,需要回到那一层查找。应把未知与默认分开,避免算法用方便的填充值制造虚假的可比性。
如果将这些数据用于模型训练,整理决定便会进入模型学习对象。混合不同条件后,模型可能被要求从结构预测一个实际上没有统一条件的标签。增加算法复杂度未必解决这种问题,因为目标自身已经混合。这里的首要工作是定义预测任务:给定哪些环境条件,预测哪类电离量,再决定哪些记录能够进入同一比较。
缺失值处理也会改变样本组成。若简单删除没有温度字段的记录,得到的集合可能更容易比较,却也可能偏向资料格式较新的来源。若把全部空缺补成室温,则增加数量的同时引入未经证实的假定。两种方案都应说明被排除或被补入的记录占据什么位置,并在可能时回查原文,而不是把数据数量最大化本身当作质量。
对于这个乙酸小例,还有一个可操作的下一步:先列出各记录的直接来源,再向前追溯到首次报告数值的资料,单独登记条件是否已找到。找到共同来源的记录可以标为转引关系,条件不同的记录应分组,条件仍缺失的记录继续保持未决。这样产生的是一张证据关系表,而不是先验地选出一个获胜数字。后续若要生成推荐值,才另行规定误差与证据权重。
这次接口核验把待查问题定位到了具体关系:同一个CID下的不同数值,经SID连接到不同AID,再回到文献来源。后续整理应以这条链为单位,先判定是否重复转引,再检查条件能否对齐,最后才讨论推荐值或训练标签。目前尚未完成条件化训练集或误差比较;已取得的成果,是使差值有了可以逐项追查的位置。
51.4 更正怎样改变未来检索
数据库能够更新,不意味着每次更新都改变化学身份。修订一处文献链接、改正一个结构字段、改变标准化规则,是不同类型的事件。官方更新说明允许提交者以新版本替换既有记录,术语表也说明版本号随提交者更新而增加。[C51-06] 这提供了追踪变化的接口,至于一次具体更新影响了哪些派生结果,还需要进一步核查。
对结构字段的更正,可以提出一条明确检查链:旧记录原先关联哪个规范结构,新记录是否仍关联同一结构,派生性质是否重算,检索结果是否因此改变。若只是补充说明而这些操作保持不变,回写强度就应限于信息可读性的改善。不能因为出现新版本就推断整个化学空间已被重排。
规则更新的影响则可能超出单个提交者。一个更合适的互变异构或立体处理方式,可能改变若干记录的表示及关联,但影响范围必须通过版本比较来确定。2018年研究已指出,细小修改也可能牵涉大量结构与边界情形。[C51-03] 本书不据此猜测具体数量,只据此要求变更验证不能只检查最容易通过的样例。
下游使用者也承担版本责任。下载一份结构集后,自行去盐、去重或忽略立体信息,便生成了新的派生对象集合。此时结果不同不一定来自原数据库出错,可能来自本地处理选择。为了重现研究,需要同时保存数据库取得时间、记录版本与本地转换规则,而不是只在论文中写一个数据库名称。
检索选项本身也决定“相同”的含义。PubChem的结构检索说明区分连接关系及可选择的立体、同位素条件,并提供互变异构相关查询。[C51-07] 用户因此应把查询条件视作结果的一部分。两人输入相似结构却采用不同匹配范围,得到不同集合可以完全合理;只有先对齐问题,才谈得上结果冲突。
一个可检验的更正研究可以选定受影响与未受影响的结构,保存旧新表示,在相同检索任务下比较返回集合,再追踪是否改变候选选择。这里给出的是后续方案,本章未实施全库版本对照。若比较发现所有相关操作不变,应承认更正没有产生所假定的探索后果,而不能用“潜在影响很大”代替证据。
还应保留撤回与无法标准化的记录信息。它们说明哪些描述没有进入规范集合,能够帮助后来的研究者理解数据缺口。一个数据库只展示通过者,容易让使用者误以为它覆盖了全部化学可能。缺失可能源于化学对象难以表示,也可能源于资料不完整、项目范围或处理失败,不能把没有编号读成不存在。
更正还应当能够抵达实际使用者。原页面修好以后,旧下载文件不会自行改变,已经训练的模型也不会自动忘记旧值。因此,声明数据库已修订与声明下游研究已修订,必须由不同记录支持。可追溯标识、变更说明与重建流程能够降低传播成本,但是否真正执行,仍需使用者自己的证据。本书将这种尚未闭合的链条保留为问题,而不写成自动完成的循环。
归并、检索与修订因此需要共享一条可追溯关系。以乙酸记录为例,数值来源若有更正,应先定位受影响的AID与转引,再检查使用该值的训练标签;它未必要求改动CID所代表的结构。化学信息学已有的来源管理在这里承担实质工作。本书将这些接口连起来,所要防止的是把属性记录的修订误当成结构身份改变,或让旧标签继续以新版本名义流通。
下一章的机器人将调用被整理过的原料、结构和性质记录,再将某些候选送入真实装置。到那时,数据库上的同一性只是起点:候选能否配制,过程能否执行,结果是否满足测量目标,都是新的判据。共同编号可以组织行动,却不能替代行动产生的证据。尤其在自动流程中,这个区别需要进入状态记录:已经登记、已经选择、已经执行与已经确认应分别标注,使后续读者不会把一条连续的软件日志误读为连续完成的化学证明。
本章来源与核验边界
[C51-01] PubChem,Standardization Service,官方说明检索文本,访问于2026年10月16日:https://pubchem.ncbi.nlm.nih.gov/docs/standardization-service 。页面打开触发验证,定义通过官方索引核读。
[C51-02] PubChem,Substances,官方说明检索文本:https://pubchem.ncbi.nlm.nih.gov/docs/substances 。记录来源与派生结构关系同时与[C51-03]主文交叉核对。
[C51-03] Volker D. Hähnke、Sunghwan Kim、Evan E. Bolton,PubChem chemical structure standardization,Journal of Cheminformatics 10,36,2018,DOI:10.1186/s13321-018-0293-8。核读背景、流程、失败例、立体处理与结论段落:https://link.springer.com/article/10.1186/s13321-018-0293-8 。不将2013数据集规模或2018实现当成当前全库状态。
[C51-04] PubChem CID176,Dissociation Constants,2026年10月16日实际读取官方JSON:https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/compound/176/JSON?heading=Dissociation%20Constants 。记录值及关联SID/AID已核,不据此裁决准确性。
[C51-05] PubChem AID781325及781326说明,实际读取官方API,分别为当次返回版本4、6:https://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/aid/781325/description/JSON ;https://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/aid/781326/description/JSON 。其中所引论文DOI:10.1007/s11095-013-1232-z;仅核读API转录摘要与来源描述,未核读全部原始酸度测量文献。
[C51-06] PubChem,Update or Remove Substances及Glossary,官方检索文本核验更新与版本语义:https://pubchem.ncbi.nlm.nih.gov/docs/update-or-revoke-substances ;https://pubchem.ncbi.nlm.nih.gov/docs/glossary 。
[C51-07] PubChem,Structure Search,官方说明与查询界面索引,核验连接、立体、同位素及互变异构匹配区别:https://pubchem.ncbi.nlm.nih.gov/docs/structure-search 。访问于2026年10月16日。
本章完成一个化合物属性入口及两个关联实验记录的有限读取,未完成完整条件审计、数据清洗效果评估或全库版本影响研究;相关比较均明确作为后续方案。