核对含盐化合物的列表时,先选择用于比较的共同表示,工作会更清楚。chematic 可以按所选步骤进行标准化,并返回处理后的结构与逐阶段报告。在调用方同时保留原始 SMILES,就可以说明从输入到结果的处理过程。

按明确的设置处理醋酸钠

以醋酸钠 CC(=O)[O-].[Na+] 为例。调用 standardize_smiles_report_json 时,启用最大碎片选择和电荷中和,关闭显式氢移除与互变异构体规范化。公开 npm 包 v1.1.2 返回的结果 SMILES 为 CC(O)=O。

报告显示,NeutralizeCharges 和 LargestFragment 两个阶段改变了结构。本例的原子计数不包括隐式氢:输入为五个,输出为四个。调用方可以保存下面的简短记录:

input_smiles:  CC(=O)[O-].[Na+]
review_smiles: CC(O)=O
settings:     largest fragment + charge neutralization
changed:      NeutralizeCharges, LargestFragment

input_smiles 与设置由调用方记录。API 返回处理后的 SMILES、输入与输出的概要,以及每个阶段的报告。

查看每个阶段的变化

StandardizationReport 包含阶段名称、是否启用、结构是否变化,以及操作前后的概要。概要包括原子数、键数和结构哈希。按顺序查看 steps,就能追踪各项设置如何反映到结果中。

这份记录可以用于按同样设置重新运行批处理,也方便向其他人解释处理过程。为原始数据与复核用表示分别保留一列,表格的用途也更明确。

连接输入记录、转换与验证

前一篇文章介绍了如何将处理结果对应到原始行。标准化进一步加入所选设置和各阶段变化。API 返回可追溯输入与结果的信息,便于将 chematic 接入文件处理流程和小型分析工具。

实现可在标准化流程与报告和 WASM API中查看。验证页面介绍了核对部分计算结果时使用的条件。