A graph-based genetic algorithm (GA) is used to identify molecules (ligands) with high absolute docking scores as estimated by the Glide software package using either the faster HTVS or the slower SP scoring functions. Five conformations of each molecule are generated using RDKit and minimized with the MMFF94 force field. The lowest energy conformer is used for docking. The population size is 400 molecules, the mutation rate is 50%, and the number of generations is 50. The maximum molecule size allowed is 30 ± 5 non-hydrogen atoms. Molecules are chosen for mating with a probability proportional to their scores (roulette selection) and the 400 best-scoring molecules are advanced to the next generation (elitism). The initial population is chosen randomly from a 250,000-molecule subset of the ZINC database used in a previous study. As noted by Gao and Coley and Brown et al. generative models in general and GAs in particular often generate molecules with known chemically unstable bonds or molecules that are difficult to synthesise. We address this issue in three ways: we use Walters rd filters code (following Brown et al. ), a score modifier suggested by Gao and Coley based on a heuristic synthetic accessibility (SA) score , and a combination of the two. The rd filers code contains several sets of SMARTS strings defining unstable bonds or groups. We use all the sets and eliminate any molecule with any of these moieties from the population. In the score modifier approach, the docking score is multiplied by a modified Gaussian function that ranges from 0 to 1 for high and low values of the SA score, respectively (a low SA score indicates a synthetically accessible molecule). We found that the heuristic SA score depends on the protonation state of acid/base groups in is lower (better) for the neutral protonation state, so we neutralise such groups before computing the SA score.