相似性降选:一种用于寻找n个最不相似项集合的启发式搜索算法的Python实现及其在构象采样中的应用
生物大分子
2021-05-10 v1 数学软件
摘要
从更大的总体中找出彼此最不相似的n个项的集合,随着n或总体规模的增大,变得越来越困难且计算代价高昂。寻找n个最不相似项的集合不同于简单地对数字数组排序,因为总体中每一项与所有其他项之间存在成对关系。例如,若你有一个最不相似的n=4项的集合,n=4中的一项或多项可能不在n=5的集合中。精确解必须穷举地搜索总体中所有大小为n的组合。我们提出一个名为相似性降选(SDS)的开源软件,用Python编写并免费发布于GitHub。SDS实现了一种启发式算法,用于快速寻找n个最不相似项的近似集合。我们将SDS与一种蒙特卡洛方法进行了基准比较,后者试图通过重复随机采样寻找精确解。我们表明,对于SDS寻找n个最不相似构象的集合,我们的方法不仅快了几个数量级,而且比运行1,000,000次迭代的蒙特卡洛更准确,每次迭代从50,000的总体中寻找n=3-7的集合大小。我们还将SDS与小规模总体的精确解进行基准比较,表明在这些情况下SDS产生的解接近精确解。
引用
@article{arxiv.2105.02991,
title = {Similarity Downselection: A Python implementation of a heuristic search algorithm for finding the set of the n most dissimilar items with an application in conformer sampling},
author = {Felicity F. Nielson and Sean M. Colby and Ryan S. Renslow and Thomas O. Metz},
journal= {arXiv preprint arXiv:2105.02991},
year = {2021}
}