Professional Documents
Culture Documents
What is docking?
Prediction of the optimal physical configuration and energy between two molecules Categories of docking 1. Protein-Protein Docking: Both molecules are rigid Interaction produces no change in conformation Similar to lock-and key model
2. Protein-Ligand Docking: Ligand is flexible but the receptor protein is rigid Interaction produces conformational changes in ligand
anop.perl
AUTODOCK
An Automated Docking Software for Predicting Optimal ProteinLigand Interaction. Download from -:
http://autodock.scripps.edu/downloads/autodock-4-2-x-installation-on-windows
AutoDock has applications in: X-ray crystallography; structure-based drug design; lead optimization; virtual screening (HTS); combinatorial library design; protein-protein docking; chemical mechanism studies
anop.perl
anop.perl
The Algorithms
anop.perl
Simulated Annealing
Algorithm modeled after the cooling of a solution to form glass, though its better explained by crystal formation Given a long enough cooling time, molecules will relax into their lowest energy state to form the largest crystals Quick cooling - highly disordered system Slow cooling - highly ordered crystal, with each molecule in its lowest energy state Algorithm simulates either linear or proportional slow cooling
anop.perl
The SA Algorithm
Uses neighborhood operator N(s) to generate a set of solutions according to a fixed distribution New solution compared to preceding solution, and is accepted if its energy is lower than that of previous solution If new solution has higher energy, it is accepted probabilistically according to Boltzmann distribution (see figure above) At high temperatures, many higher energy solutions will be accepted; at low temps., majority of probabilistic moves rejected Boltzmann probability distribution = e exp(delta E/T) where delta E = energy difference between two solutions, T= temperature Boltzmann finds p(of finding a system with energy E at temp T)
anop.perl
Pseudocode for SA
Compute a random initial state s n=0, x*n = s // initialize best solution to s and first state to 0 Repeat i = 1, 2, // specify number of temperatures to try Repeat j = 1, 2, , mi // no. of steps to perform for each temp. Ti Compute a neighbor s = N(s) // s = new solution from N(s) if (f(s) <= f(s)) then // if energy of s <= energy of s s = s // accept new solution s if (f(s) < f(x*n)) then // if energy of new solution < x*n = s // energy of best solution of n = n + 1 // state n, replace best with new endif else // otherwise replace s with s using s = s with probability e (f(s) - f(s))/Ti // Boltzmann dist. endif EndRepeat EndRepeat
anop.perl
anop.perl
Selection
Selection based on a fitness function f(x) This operator chooses those individuals with the lowest values Those with higher values chosen with a very low probability
1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 20 13 48 52
anop.perl
Crossover
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 1 0
anop.perl
Mutation
0 1 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 0 1 1 0
0 0
anop.perl
Replacement
Lower scoring individuals create more offspring, higher scoring ones create fewer or none at all Offspring replace parental generation Elitism function allows best individual from parent generation to persist, if it is a better solution than new individuals created Cycle of selection, mutation, crossover and replacement repeated
0 1 1 0
0 1 1 0
1 1 1 1
1 0 1 0
0 1 0 1
0 1 1 0
15
22
anop.perl
Pseudocode for GA
Select an initial population set xi0 = {x10 , x20,, xM0} Determine fitness values f(xi0) for each individual Repeat for g = 1, 2, # of generations
Perform selection Perform crossover with probability Perform mutation with probability Determine fitness f(xig) for new individuals xg* = argmini=1,M f(xig) and yg* = f(xg*) Perform replacement Until stopping criterion (# of generations) is reached
anop.perl
anop.perl
Mapping
In standard GA, the genotype (x,y,z coordinates plus rotation and any torsion angles) are mapped to the fitness function f(x) The fitness function value corresponds to each individuals phenotype According to the right hand side of the figure, genotypes of parents with high f(x) values are mutated to form genotypes of children with lower f(x) values
anop.perl
anop.perl
Replacement
Individuals with betterthan-average fitness receive proportionally more offspring no= (fw fi)/(fw - <f>), fw != <f> where no= number of offspring fi = fitness of individual (energy of ligand) fw = fitness of worst individual in last g generations (typically 10) <f> = mean fitness of population
anop.perl
anop.perl
Step
1. Coordinate le preparaEon
2. AutoGrid calculaEon 3. Docking using AutoDock 4. Analysis using AutoDock Tools (ADT)
anop.perl
anop.perl