按任务学习
在重复复核前标准化含盐 SMILES
不覆盖提交的 SMILES,为含盐记录创建符合明确复核策略的比较表示。
完成内容
一份小型本地报告,保留每个源 SMILES,并添加适用于明确选择的重复复核策略的标准化结果。
步骤
- 将提交的 SMILES 原样保留为源记录。
- 只有在符合复核策略时,才在本地解析并使用 largest_fragment_only=True 进行标准化。
- 比较复核表示,并在结果中保留两种值和所用策略。
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。报告仍保留原始输入字符串。
遇到问题时
标准化会有意改变表示:最大片段选择会移除对离子,其他策略还可能中和电荷或规范互变异构体。不要将复核表示用作盐形式、立体化学、来源或已声明物质身份的替代。