SELFIES(SELF-referencIng Embedded Strings)是一种分子字符串表示,最大特点是:任意 SELFIES 字符串都对应一个化学上合法的分子。这在分子生成任务里非常关键。
它解决了 SMILES 的什么痛点
- SMILES 不鲁棒:生成模型随机产生的 SMILES 经常语法非法(括号/环不闭合、价键错误),导致大量无效输出。
- SELFIES 永远合法:其语法内建了化学约束,模型生成的每个串都能解码成有效分子,提升有效率。
什么时候用它
- 分子生成 / VAE / 强化学习:用 SELFIES 可省去「过滤无效分子」的麻烦。
- 常规建模:判别式任务(性质预测)通常仍用 SMILES + 指纹/图,SELFIES 优势不明显。
- 可用官方库在 SMILES 与 SELFIES 间互转,按需切换。
关键要点
- SELFIES 的卖点是「100% 合法」,专为生成而生;
- 生成任务用它能显著提高有效分子比例;
- 预测任务不一定需要,按场景选择。
延伸资源
- 源码:github.com/aspuru-guzik-group/selfies
- 配套阅读:「AI 模型」模块的分子生成(VAE / 扩散)相关文章。