In the following ring breaking step, we search for a set of bonds to remove such that each of the macrocycles identified in step 1 has exactly one bond removed. All bonds between non-aromatic carbon atoms that are not shared with non-breakable rings (i.e., 6-membered or smaller rings) are candidates for removal. We then perform an exhaustive search to find a set of bonds that when removed minimizes the depth of the deepest branch of rotatable bonds in the resulting acyclic molecular graph in order to minimize the search complexity during the docking. In fact, deeper branches of rotatable bonds (with respect to the central group of atoms in the graph, i.e. "root") have potentially larger conformational variation upon torsional perturbations during the search, even for small angle steps. For most molecules, the number of removed bonds is equal to the number of macrocycles, but when bonds are shared between macrocycles, it is possible that there are fewer removed bonds than macrocycles. Each of the atoms previously bonded by a removed bond (e.g., a1, a2) is first assigned a special atom type CG (CGn), and then attached to a G pseudo atom at the position of the complementary G atom (Gn).