Computational Considerations. It was infeasible to calculate all-by-all similarity matrices for libraries on the order of 10 6 molecules, as the task would require performing 10 12 similarity scoring operations. We instead calculated all-by-all similarity matrices for building blocks at each position individually and then evaluated combinatorial effects at a later step in the analysis. This was a much more computationally tractable approach. Additionally, it mimics considerations involved in library design, one of our key interests, where one might want to use knowledge about current building blocks to help design libraries for screening.