Many of the genetic algorithm (GA) parameters used in GOLD are standard to GAs and are referred to in the J. Mol. Biol. papers that describe this program. The Default button in the front end will give a set of parameters that has been shown in extensive tests to be a reasonable compromise. Unfortunately, the ideal parameterisation is likely to be problem specific. Here is a brief summary of what each of the parameters does:
Population Size or Popsize The genetic algorithm maintains a set of possible solutions to the problem. Each possible solution is known as a chromosome and the set of solutions is termed a population. The variable popsize is the number of chromosomes in the population. Each chromosome is assigned a fitness score based on its predicted binding affinity and the chromosomes within the population are ranked according to fitness.
No Operations or Maxops The genetic algorithm starts off with a random population (each value in every chromosome is set to a random number). Genetic operations (crossover and mutation) are then applied iteratively to the population. Maxops is the number of operators that are applied over the course of a GA run.
Selection Pressure Each of the genetic operations (crossover or mutation) takes information from parent chromosomes and assembles this information in child chromosomes. The child chromosomes then replace the worst members of the population. The selection of parent chromosomes is biased towards those of high fitness, i.e. a "fit" chromosome is more likely to be a parent than an "unfit" one. The selection pressure is defined as the ratio between the probability that the most fit member of the population is selected as a parent to the probability that an average member is selected as a parent. Too high a selection pressure will result in the population converging too early. For the GOLD docking algorithm, a selection pressure of 1.1 seems appropriate.
No Islands or N_Islands Rather than maintaining a single population, the GA can maintain a number of populations that are arranged as a ring of islands. Specifically, the algorithm maintains N_Islands populations, each of size popsize. Individuals can migrate between adjacent islands using the migration operator. At the moment, there is no real advantage to using a number of islands rather that one large population. However, the use of several islands may be attractive in the long term since it enables, in principle, the development of a version of GOLD that can be distributed over multiple processors.
Niche Size or NicheSiz Niching is a common technique used in GAs to preserve diversity within the population. When adding a new individual to the population, the number of individuals in the population that inhabit the same niche as the new chromosome is determined. If there are more than NicheSiz individuals in the niche, then the new individual replaces the worst member of the niche rather than the worst member of the total population. In GOLD, two individuals share the same niche if the RMSD between their donor and acceptor coordinates is less than 1.0 Angstrom.
Operator Weights These are mutate, migrate and pt_cross or crossover. When the GA applies a genetic operator, a stochastic choice is made. Any bias in this choice is determined by the operator weights. For example, if mutate is 40 and pt_cross is 10 then, on average, four mutations will be applied for every crossover. The migrate weight should be zero if there is only one island, otherwise migration should occur about 5% of the time.
The H_Bond_Energy term of the fitness function normally only comprises pairwise interactions between the protein and ligand. However, by clicking on the Fitness Flags button and selecting Internal H-Bonds, you can include intramolecular ligand hydrogen bonds. Use this with care as it can make ligands like methotrexate curl up like scorpions.
Your parameterisation is saved in the file that appears in the Config File box. To re-use a configuration, type the appropriate file name into this box and hit return. The configuration in the specified file will be loaded into the front end.