按任务学习

在重复复核前标准化含盐 SMILES

不覆盖提交的 SMILES,为含盐记录创建符合明确复核策略的比较表示。

完成内容

一份小型本地报告,保留每个源 SMILES,并添加适用于明确选择的重复复核策略的标准化结果。

步骤

  1. 将提交的 SMILES 原样保留为源记录。
  2. 只有在符合复核策略时,才在本地解析并使用 largest_fragment_only=True 进行标准化。
  3. 比较复核表示,并在结果中保留两种值和所用策略。
import chematic

inputs = ["CC(=O)[O-].[Na+]", "O=C(O)C"]
report = []
for smiles in inputs:
    mol = chematic.from_smiles(smiles)
    standardized = mol.standardize(largest_fragment_only=True)
    report.append({"input_smiles": smiles, "review_smiles": standardized.smiles})

for row in report:
    print(row)

预期结果

醋酸钠 CC(=O)[O-].[Na+] 和醋酸 O=C(O)C 都会得到 CC(O)=O 作为 review_smiles。报告仍保留原始输入字符串。

遇到问题时

标准化会有意改变表示:最大片段选择会移除对离子,其他策略还可能中和电荷或规范互变异构体。不要将复核表示用作盐形式、立体化学、来源或已声明物质身份的替代。

下一步

复核 SMILES CSV 中的重复候选