拉到的数据里 SMILES 往往有无效项、混合物、立体/电荷不一致。清洗让它们变成可训练的数据集。
操作步骤
- 用 RDKit 解析:
Chem.MolFromSmiles(smi),None即无效,丢弃或记录; - 拆分点号分隔的多片段,识别混合物/盐(见 329);
- 规范化:
Chem.MolToSmiles(mol)得到 canonical SMILES; - 统一立体与电荷处理策略(保留还是清除);
- 去重前先标准化(见 328),避免「同分子不同写法」漏判。
常见坑与提示
清洗顺序很重要:先标准化再去重;规则要全数据集一致且可复现;对被丢弃的数据抽样人工核查,避免误删有效分子。
延伸资源
- 概念见 031《SMILES》、046《分子标准化》;下一步 328。