During the process of core hopping, the 1st step is to define the possible points at which the cores are attached. It is performed in the ''Define Combinations'' step from the Combinatorial Screening panel in Schrodinger2009 (www.schrodinger.com). The 2nd step is to define the ''receptor grid file'', which was done in the ''Receptor Preparation'' panel. The 3rd step is the cores preparation that was operated with the ''Protocore Preparation'' module to find the cores attaching to the scaffold using the fragment database derived from ZINC [50] . The 4th step is to align and dock the entire molecular structure built up by the core and scaffold. The cores are sorted and filtered by goodness of alignment and then redocked into the receptor after attaching the scaffold, followed by using the docking scores to sort the final molecules.