These steps are iterated until the fitness call budget is exhausted or a predefined maximum of generations is reached. In GB-GA, and hence also in GB-BI and GB-EPI, molecules are encoded by their molecular graphs, and the mutations and the crossovers act on these graphs. In practice, the mutations and the crossovers of GB-GA are implemented using the chemical reaction capabilities of the open-source cheminformatics package RDKit . To rule out unwanted and potentially toxic molecules, GB-GA discards molecules containing macrocycles, allene centers in rings, fewer than five heavy atoms, or incorrect valences. GB-EPI also applies functional group filters from the ChEMBL database in combination with restrictions on absorption, distribution, metabolism and excretion (ADME) properties on candidate molecules before they enter the evaluation step.