20. Genetic Algorithm and Evolutionary Programming Docking

Since the new search methods were implemented in an object-oriented fashion, there is a new way of specifying the parameters, that the user should be aware of. All the relevant parameters should be specified first. Then, in order to use the genetic algorithm, the user must set up a global optimizer object using the " set_ga " command. Otherwise, if this set_ga command is given before the " ga_* " parameters are specified, AutoDock will ignore these GA parameters and use the default GA object, which has default parameters built-in.

Both the GA and LGA begin with a population of random ligand conformations in random orientations and at random translations. The user must decide the number of individuals in the population, using " ga_pop_size ": we have typically found 50 to be a good value. AutoDock counts the number of energy evaluations and the number of generations as the docking run proceeds: the run terminates if either limit is reached (" ga_num_evals " and " ga_num_generations " respectively). The user can set the number of the best individuals in the current population that automatically survive into the next generation, using " ga_elitism ": typically this is 1. The user can specify the rate of gene mutation using " ga_mutation_rate " and the rate of gene crossover " ga_crossover_rate "; typically these are 0.02 and 0.80 respectively, although setting " ga_crossover_rate " to 0.00 reduces the genetic algortihm (GA) to an evolutionary programming (EP) method. If the EP approach is used, you should also use an increased mutation rate to ensure a good exploration of the search space. The number of generations for picking the worst individual is set by " ga_window_size " and is usually 10.

If the user wants to perform a local search (LS), and for the Larmarckian GA (LGA), the user must specify the local search parameters first ( ls_* ), and then set them ( set_sw1 or set_psw1 ). The maximum number of local search iterations is set by " sw_max_its ": this is typically about 300. The maximum number of consecutive successes or failures are both typically 4, and should be set by " sw_max_succ " and " sw_max_fail " respectively. The size of the local search space to sample is set by " sw_rho " and is usually 1.0. The lower bound on rho, " sw_lb_rho ", sets the smallest step size that a move can make before terminating the local search, and is usually 0.01. The probability that an individual in the population will experience local search is set by " ls_search_freq ", and is typically about 0.07.

After specifying the local search parameters using the " ls_* " keywords, the user must set up a local optimizer object using " set_sw1 " or " set_psw1 ", for Solis and Wets or pseudo Solis and Wets. The former is the standard implementation of the local search, while the latter allows the variances which control a step's size to differ from gene to gene. This latter method, pseudo-SW, is preferable in docking, since a 1 Å-step in translational space is small in comparison to a 1 radian-step in rotation space. The pseudo-SW local search takes its cue about the relative sizes of the translational, orientational and torsional step sizes from the tstep , qstep and dstep values set earlier in the AutoDock input parameter file.

Having set all these parameters and made all these choices, the user must tell AutoDock what to do.

To perform a number of local searches (or "energy minimizations") the user should put this line into the DPF: " do_local_only 50 ", where the number after the command is the number of local search dockings to perform.

To carry out simulated annealing dockings, the command " simanneal " should be given; this will perform the number of runs set by the " runs 10 " command, which here would be 10 runs.

To do a number of standard genetic algorithm (GA) dockings, give the " ga_run 10 " command, but do not use the " set_sw1 " or " set_psw1 " commands in the same DPF. In this example, AutoDock would do 10 GA dockings.

To use the Lamarckian genetic algorithm (LGA) in dockings, you must still use the " ga_run 10 " command, but you must have specified either the " set_sw1 " or " set_psw1 " command in one of the preceding lines of the DPF.

Finally, after the docking command, you will almost certainly want to perform cluster analysis on your search results. Give the 'analysis ' command, and after the last docking run is completed, AutoDock will perform conformational clustering and then output a histogram ranked by increasing energy.