The search for particular fragments or backbones within virtual molecules is
one of the most common tasks in computational chemistry. Obviously, the speed
of the search becomes a bottleneck as the size of the database to search increases
in size. Virtual libraries with millions of compounds are not unusual in modern
drug design. This fact highlights the importance of flexible and fast substructure
CDL implements Ullmann's algorithm for exact subgraph isomorphism matching, which is fast and flexible. However, there are other techniques for fast pruning of chemical structures, being the fingerprints the most frequently used.
CDL's substructure search is tackled in two steps: