The genetic algorithm uses a SMILES textual representation of a molecule as a chromosome. Corina Classic is used to convert the representations into mol2 or pdb files and CCDC GOLD is used to perform the docking to protein cavities . The population of chromosomes is computationally evolved from low scoring molecules to high scoring molecules. The landscape of the fitness function is very complicated due to atomic interactions between ligand and protein, and the algorithm will evolve molecules towards local or possibly global minima as the population of chromosomes iterate.