按任务学习
用 Python 从 SMILES 写出 SDF 记录
创建本地 SDF 结构记录,并将结构名和精确源 SMILES 保留为 SD 数据。
完成内容
一个 ethanol.sdf 文件,包含乙醇结构、自动生成的二维坐标、记录名称和 source_smiles 字段。
步骤
- 在本地解析一个完整 SMILES,并设置人类可读的记录名称。
- 写文件前将精确源 SMILES 存为 SD 属性。
- 用 SDWriter 写出一条 SDF 记录,然后检查文件头、属性块和记录终止符。
import chematic
smiles = "CCO"
mol = chematic.from_smiles(smiles)
mol.SetProp("_Name", "ethanol")
mol.SetProp("source_smiles", smiles)
with chematic.SDWriter("ethanol.sdf") as writer:
writer.write(mol)
print({"input_smiles": smiles, "file": "ethanol.sdf"})预期结果
ethanol.sdf 会作为名为 ethanol 的 V2000 SDF 记录打开。SD 数据包含值为 CCO 的 source_smiles,记录以 $$$$ 结束。
遇到问题时
写出文件前先修正解析错误。该 writer 生成的是结构记录和二维坐标,不能证明化学身份、立体化学意图、材料来源、安全性或实验有效性。批量转换时请保留原始文件。