AutoDock Tutorial
Download
Report
Transcript AutoDock Tutorial
Using
AutoDock With
AutoDockTools:
A Tutorial
Ruth Huey
&
Garrett M. Morris
7/15/2015
AutoDock & ADT Tutorial
1
What is Docking?
“Best ways to put two molecules
together.”
Three steps:
(1) Definition of the structure of the
target molecule.
(2) Location of the binding site.
(3) Determination of the binding
mode.
7/15/2015
AutoDock & ADT Tutorial
2
What is Docking?
“Best ways to put two molecules
together.”
“Best ways to put two molecules
together.”
(plural) Experimental structure may be
amongst one of several predicted
solutions.
“Best ways to put two molecules
together.”
7/15/2015
Need to quantify or rank solutions;
Scoring function or force field.
Need a Search method
AutoDock & ADT Tutorial
3
Questions…
Search
Scoring
What is it?
Dimensionality
7/15/2015
What is it?
When/why and which search?
Why is this important?
AutoDock & ADT Tutorial
4
Spectrum of Search
Breadth and Detail
Search Breadth
Local
Molecular
Mechanics
Short - Medium
Monte Carlo
Simulated
Annealing
Brownian
Dynamics
Molecular
Dynamics
Global
Docking
7/15/2015
AutoDock & ADT Tutorial
Level-of-Detail
Atom types
Terms of force field
Bond stretching
Bond-angle
bending
Torsional
potentials
Polarizability
terms
Implicit solvation
5
Two Kinds of
Search
Systematic
7/15/2015
Exhaustive.
Deterministic.
Dependent on
granularity of
sampling.
Feasible only for lowdimensional
problems
DOT, 6D search.
AutoDock & ADT Tutorial
Stochastic
Random.
Outcome varies.
Repeat to improve
chances of success
Feasible for higherdimensional
problems
AutoDock, < ~40D
search.
6
Stochastic Search
Methods
Simulated Annealing (SA)*
Evolutionary Algorithms (EA)
Others
Genetic Algorithm (GA)*
Tabu Search (TS)
Hybrid Global-Local Search
Lamarckian GA (LGA)*
*In AutoDock
7/15/2015
AutoDock & ADT Tutorial
7
How an SA works…
7/15/2015
One copy of the ligand (Population = 1)
Starts from a random or specific
postion/orientation/conformation (=state)
Constant temperature annealing cycle
(Accepted & Rejected Moves)
Temperature reduced before next cycle
Stops at maximum cycles
AutoDock & ADT Tutorial
8
How a GA Works…
7/15/2015
Start with a random population (50-200)
Perform Crossover (Sex, two parents > 2 children) and Mutation (Cosmic
rays, one individual gives 1 mutant
child)
Compute fitness of each individual
Proportional Selection & Elitism
New Generation begins if total energy
evals or maximum generations reached
AutoDock & ADT Tutorial
9
Search Parameters
Simulated Annealing
7/15/2015
Initial temperature
(K)
Temperature
reduction factor (K1cycle)
Termination criteria:
accepted moves
rejected moves
cycles
AutoDock & ADT Tutorial
Genetic Algorithm &
Lamarckian GA
Population size
Crossover rate
Mutation rate
Local search
energy evals
Termination criteria:
energy evals
generations
10
AutoDock 3
Scoring Function
DGbinding = DGvdW + DGelec + DGhbond +
DGdesolv + DGtors
•
•
•
•
•
7/15/2015
DGvdW
12-6 Lennard-Jones potential
DGelec
Coulombic with Solmajer-dielectric
DGhbond
12-10 Potential with Goodford Directionality
DGdesolv
Stouten Pairwise Atomic Solvation Parameters
DGtors
Number of rotatable bonds
AutoDock & ADT Tutorial
11
AutoDock
Atom Types
Atom type codes
Small number of types:
CNOSHXM
N with 12-10 can accept H-bonds
7/15/2015
7
Protein/Macromolecule types:
First character of atom name
Use ‘n’ with 12-6 for “N-H”
AutoDock & ADT Tutorial
12
Dimensionality of
Molecular Docking
Degrees of Freedom (DOF)
Position or Translation
Orientation or Quaternion
7/15/2015
(qx, qy, qz, qw) = 4
Rotatable Bonds or Torsions
(x,y,z) = 3
(tor1, tor2, … torn) = n
Total DOF, or Dimensionality,
D=3+4+n
AutoDock & ADT Tutorial
13
Multidimensional
Treasure Hunt…
Dimensions
Landscape
Divide into 2
Treasure
Chances?
$
0.5
1
¥
2
£
3
7/15/2015
AutoDock & ADT Tutorial
0.25
0.125
14
Sampling
Hyperspace
Say we are hunting in D-dimensional
hyperspace…
We want to sample each of the D
dimensions N times.
The number of “evals” needed, e, is:
e = ND
\ N = e1/D
For example,
7/15/2015
e=106, D=6, N=10.0 samples
e=106, D=36, N=~1.5 samples
More dimensions, tougher it gets.
AutoDock & ADT Tutorial
15
Next, AutoDock…
7/15/2015
Now for some specifics about
AutoDock…
AutoDock & ADT Tutorial
16
AutoDock
Introduction
Automated docking of flexible ligands to
proteins.
Global search algorithms:
Local search algorithm:
7/15/2015
Solis & Wets (Morris et al. 1998)
Hybrid global-local search algorithm:
Simulated Annealing (Goodsell et al. 1990)
Distributed SA (Morris et al. 1996)
Genetic Algorithm (Morris et al. 1998)
Lamarckian GA (Morris et al. 1998)
Empirical free energy function
estimates Ki (Std. dev. ~2 Kcal mol-1)
AutoDock & ADT Tutorial
17
AutoDock Software
AutoDock & AutoGrid
AutoDockTools/ADT
1990
2000
Number crunching
Visualizing, set-up
Command-line.
awk, shell & python scripts.
Text editors
GUI, PMV, \ Python;
front- & back-end.
GUI-less, self-logging &
rescriptable
Python, interpreted
C & C++, compiled
7/15/2015
AutoDock & ADT Tutorial
18
AutoDock Citations
500
450
400
# Citations
350
300
250
200
150
100
50
0
NIH/NIGMS
P01
GM48870
7/15/2015
1991 1992 1993 19
94
1995 1996 1997 19
98
Year
All Cit ations
Goodsell 199 0
Morris 1996
Morris 1998
1999 2000 2001 20
02
Source: ISI Science Citation Index
19
AutoDock User Licenses
2000
1500
1000
500
# Ftp Requests
2500
P01
GM48870
7/15/2015
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
NIH/NIGMS
1991
C um NA V
1992
0
Year
20
Docking & AutoDock
What problem does AutoDock solve?
Flexible ligands (4.0 flexible protein).
What range of problems is feasible?
Depends on the search method:
When is AutoDock not suitable?
7/15/2015
LGA > GA >> SA >> LS
SA : trajectories, D = ~8 torsions.
LGA : D = ~20-30 torsions.
No 3D structures available;
Modelled structure of poor quality;
Too many (torsions, atoms, types);
Target protein too flexible.
AutoDock & ADT Tutorial
21
Flexible Docking
Step-By-Step
7/15/2015
Set up the ligand & macromolecule.
Pre-compute AutoGrid Maps for all atom
types in your set of ligands.
Perform dockings of ligand to target
using AutoDock, in parallel if possible.
Cluster dockings.
Visualize results.
AutoDock & ADT Tutorial
22
Things you need to
do before AutoDock
Ligand:
Add all hydrogens, compute Gasteiger
charges, and unite non-polar H
Distinguish aliphatic and aromatic
carbons
Choose root & rotatable bonds
Macromolecule:
7/15/2015
Add polar H, assign Kollman charges
Assign Stouten solvation parameters
Compute AutoGrid maps
AutoDock & ADT Tutorial
23
AutoGrid:
Why Use Grid Maps?
AutoGrid computes grid maps
Representation of macromolecule
7/15/2015
Ligand ‘probe’ samples force field
One map for each ligand atom type
AutoDock uses trilinear interpolation
Regular orthogonal lattice of points
to compute interaction energy between
ligand and target
Non-bonded energy is pre-calculated
Saves time: ~100x faster than traditional
NB-list method
AutoDock & ADT Tutorial
24
AutoGrid Grid Box
Grid box depends on:
Orientation with respect to protein.
Where should I center the grid box?
7/15/2015
Center on ligand;
Center on macromolecule;
Pick atom;
Type in x-, y- and z-coordinates.
Spacing (0.2Å-1.0Å: default 0.375Å).
Specify an Even Number of x-, y-, zpoints (222 - 126126126).
% makebox mol.gpf > mol.gpf.box.pdb
AutoDock & ADT Tutorial
25
Modeling Hydrogens
AutoDock uses ‘United Atom’ model
Why? Reduces number of atoms
Need to:
Add polar Hs. Remove non-polar Hs.
Replace missing atoms (disorder).
Fix hydrogens at chain breaks.
Need to consider pH:
Acidic & Basic residues, Histidines.
Other molecules in receptor:
7/15/2015
Both Ligand & Macromolecule
Waters; Cofactors; Metal ions.
Molecular Modelling elsewhere.
AutoDock & ADT Tutorial
26
Partial Charges
Partial Atomic Charges:
Peptides & Proteins; DNA & RNA
Organic compounds; Cofactors
Gasteiger (PEOE);
MOPAC (MNDO, AM1, PM3);
Gaussian (6-31G*).
Integer total charge per residue.
Non-polar hydrogens:
Always merge
7/15/2015
Kollman United Atom (Table);
(unless using All Atom,‘H’ & ‘h’);
Can override &merge just selected H
AutoDock & ADT Tutorial
27
Carbons
Solvation Free Energy
Need to rename ligand aromatic ‘C’ to ‘A’.
ADT determines if ligand is a peptide:
7/15/2015
Based on Stouten method.
Treats aliphatic (‘C’) and aromatic (‘A’)
carbons differently.
If so, uses a look-up dictionary.
If not, inspects geometry of ‘C’s in rings.
Renames ‘C’ to ‘A’ if flat enough.
Can adjust ‘flatness’ criterion (15° detects
more rings than default 7.5°).
AutoDock & ADT Tutorial
28
Ligand Flexibility
Set Root of Torsion Tree:
By interactively picking, or
Automatically.
Interactively Pick Rotatable Bonds:
No ‘leaves’;
No bonds in rings;
Can freeze:
7/15/2015
Smallest ‘largest sub-tree’.
Peptide/amide/selected/all;
Can set the number of active torsions
that move either the most or the fewest
atoms
AutoDock & ADT Tutorial
29
AutoDock File
Formats
Prepare 4 Input Files
Run AutoGrid
7/15/2015
Needs: PDBQS, GPF (depends on PDBQ)
Makes: grid maps
Run AutoDock
Ligand - PDBQ
Macromolecule - PDBQS
AutoGrid Parameter File - GPF
AutoDock Parameter File - DPF
Needs: maps, PDBQ, DPF
Performs: dockings & clustering
Analyze Results
AutoDock & ADT Tutorial
30
Setting Up Your
Environment
At TSRI:
Modify .cshrc
% cd tutorial
% adt1
Web Addresses
7/15/2015
% source /tsri/python/share/bin/initadtcsh
To start AutoDockTools, type:
setenv PATH (/mgl/apps/bin/$archosv:/tsri/python:$path)
% limit stacksize unlimited
ADT Tutorial, every time you open a Shell or Terminal,
type:
Change PATH & stacksize:
www.scripps.edu/pub/olson-web/doc/autodock/
www.scripps.edu/~sanner/python/
AutoDock & ADT Tutorial
31
Choose the Docking
Algorithm
SA.dpf -> Simulated Annealing
GA.dpf -> Genetic Algorithm
LS.dpf -> Local Search
Solis-Wets (SW)
Pseudo Solis-Wets (pSW)
7/15/2015
GALS.dpf -> Genetic Algorithm
with Local Search, i.e. Lamarckian
GA
AutoDock & ADT Tutorial
32
Run AutoGrid
Check: Enough disk space?
Maps are ASCII, but can be ~2-8MB !
Start AutoGrid from the Shell:
% autogrid3 –p mol.gpf –l mol.glg &
% autogrid3 -p mol.gpf -l mol.glg ; autodock3 -p mol.dpf -l mol.dlg
Follow the log file using:
% tail -f mol.glg
7/15/2015
Type <Ctrl>-C to break out of the ‘tail
-f’ command
Wait for “Successful Completion” before
starting AutoDock
AutoDock & ADT Tutorial
33
Run AutoDock
Do a test docking, ~ 20 000 evals
Do a full docking, if test is OK, ~
250 000 to 50 000 000 evals
From the Shell:
7/15/2015
% autodock3 –p yourFile.dpf –l yourFile.dlg &
Expected time? Size of docking log?
Distributed computation
At TSRI, SGI PowerChallenge Cluster
% submit.py stem 20
% recluster.py stem 20 during 3.5
AutoDock & ADT Tutorial
34
Analyzing AutoDock
Results
In ADT, you can:
Read & view a single DLG, or
Read & view many DLG results
files in a single directory
Re-cluster docking results by
conformation & view these
Outside ADT, you can re-cluster
several DLGs
Useful in distributed docking
7/15/2015
% recluster.py stem 20 [during|end] 3.5
AutoDock & ADT Tutorial
35
Viewing Conformational
Clusters by RMSD
List of available RMSD tolerances
Histogram of conformational clusters
Number in cluster versus energy
Pick a cluster
7/15/2015
Separated by spaces
makes a list of the conformations in that
cluster;
makes these the current sequence for
states player.
AutoDock & ADT Tutorial
36
Acknowledgments
7/15/2015
Art J. Olson
David S.
Goodsell
Michel Sanner
William
Lindstrom
Sophie Coon
Daniel Stoffler
AutoDock & ADT Tutorial
Rik Belew (UCSD)
Bill Hart (Sandia)
Scott Halliday
Chris Rosin
Flavio Grynszpan
(TSRI)
Many patient ADT
users
39