拿到一批化合物数据,最先要做的两件事就是去盐和去重复。它们简单却关键,做不好会让后续建模从一开始就带病。
去盐(desalting)
- 问题:很多记录是盐形式(含反离子、溶剂分子),SMILES 里有多个片段(用
.分隔)。 - 做法:通常保留最大有机片段作为「母体」,剥离反离子与溶剂。
- 注意:盐型会影响溶解度等性质,若研究对象就是盐型,要单独处理。
去重复(deduplication)
- 判重依据:用规范 SMILES 或 InChIKey(见 033),而非原始字符串。
- 处理冲突:同一分子多条活性数据时,需按规则合并(取中位数/均值或按来源优先级)。
- 防泄漏:重复分子若分散在训练与测试集,会造成数据泄漏。
关键要点
- 去盐:保留主结构,剥离反离子/溶剂;
- 去重:按 InChIKey/规范 SMILES,妥善合并重复活性;
- 处理不当会直接导致数据泄漏。
延伸资源
- 实操:RDKit
SaltRemover+ InChIKey 判重。 - 配套:046《分子标准化》、048《异常结构识别》。