The first efficient algorithm to search for substructures in combinatorial libraries was described by Rarey, Volkamer and Ehrlich. 8, Rarey et al. propose to first cut the query substructure into all possible sub-substructures, then to match these sub-substructure onto the combinatorial building blocks keeping track of sub-substructure connection points. The hit structures are then constructed from matching building blocks if the sub-substructures reconnection matches the query substructure. This procedure essentially reduces the substructure search problem spanning multiple building blocks to a large number of substructure searches in individual building blocks.