面向分子的布隆过滤器
化学物理
2023-04-12 v1
摘要
超大型化学库正达到数百亿至数千亿个分子规模。这类库面临的一项挑战是高效检查所提议的分子是否已存在。在此我们提出并研究了用于检测分子中是否存在于某集合的布隆过滤器,其基于字符串或分子指纹表示。布隆过滤器足够小,仅用几 GB 内存即可容纳数十亿个分子,并在亚毫秒内完成成员检测。我们发现字符串表示的假阳性率可低于 1%,且比使用分子指纹所需存储显著更少。采用规范 SMILES 与简单 FNV 哈希函数的布隆过滤器可提供快速、准确的成员检测,且内存需求小。我们提供了一个通用实现,以及用于根据现有数据库检测分子是否可购买、已获专利或属天然产物的专用过滤器,见 https://github.com/whitead/molbloom。
引用
@article{arxiv.2304.05386,
title = {Bloom filters for molecules},
author = {Jorge Medina and Andrew D White},
journal= {arXiv preprint arXiv:2304.05386},
year = {2023}
}