1 Energy Maintenance for Molecular Simulation kinematics + energy motion + structure Main...

91
1 Energy Maintenance for Molecular Simulation inematics + energy motion + structur Main computational issue: Proximity computation

Transcript of 1 Energy Maintenance for Molecular Simulation kinematics + energy motion + structure Main...

Page 1: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

1

Energy Maintenancefor Molecular

Simulationkinematics + energy motion + structure

Main computational issue: Proximity computation

Page 2: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

2

Energy

q1

qi

q2

qj

qN-1

qN

Function defined over large dimensionalconformation space

Page 3: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

3

Energy FunctionEnergy FunctionE = ES + E + ES + ETor + EvdW + Edipole

bonded terms (in linear number)

Page 4: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

4

Energy FunctionEnergy FunctionE = ES + E + ES + ETor + EvdW + Edipole

bonded terms (in linear number)

EvdW

non-bonded terms(in quadratic number)

Page 5: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

5

Role of vdW TermsRole of vdW Terms

vdW terms maze of in conformational space

Other terms steer the molecule in this maze

Page 6: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

6

Heuristic Energy TermsHeuristic Energy Terms(e.g., Gō Models)(e.g., Gō Models)

Page 7: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

7

Interaction with SolventInteraction with Solvent

Explicit solvent models: 100s or 1000s of discrete solvent molecules

Implicit solvent models: solvent as continuous medium, interface is solvent-accessible surface

Page 8: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

8

Energy FunctionEnergy Function E = bonded terms

+ non-bonded terms + solvation terms

Bonded terms - Relatively few

Non-bonded terms - Depend on distances between pairs of atoms - Quadratic number Expensive to compute

Solvation terms- May require computing molecular surface

Page 9: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

9

Energy FunctionEnergy Function E = bonded terms

+ non-bonded terms + solvation terms

Bonded terms - Relatively few

Non-bonded terms - Depend on distances between pairs of atoms - Quadratic number Expensive to compute

Solvation terms- May require computing molecular surface

Page 10: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

10

Uses of Energy FunctionUses of Energy Function

Generate energetically plausible conformations: sample (at random), minimize, cluster

Generate meaningful distributions (e.g., Boltzman) of conformations: Monte Carlo simulation

Generate motion pathways to study molecular kinetics: molecular dynamics, MC simulation

Page 11: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

11

Popular approach to study thermodynamic and kinetic properties of proteins

Random walk through conformation space At each cycle:

– Perturb current conformation at random– Accept step with probability:

(Metropolis acceptance criterion) The conformations generated by an arbitrarily long

MCS are Boltzman distributed, i.e.,

#conformations in V ~

ΔE-

kTP(accept)=min 1,e

Monte Carlo Simulation Monte Carlo Simulation (MCS)(MCS)

E

-kT

Ve dV

Page 12: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

12

Uses of Energy FunctionUses of Energy Function

Generate energetically plausible conformations: sample (at random), minimize, cluster

Generate meaningful distributions (e.g., Boltzman) of conformations: Monte Carlo simulation

Generate motion pathways to study molecular kinetics: molecular dynamics, MC simulation

One issue in common: Energy must be evaluated frequently

E.g., MD and MC simulation runs may consist of millions of steps, each

Page 13: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

13

Uses of Energy FunctionUses of Energy Function

Generate energetically plausible conformations: sample (at random), minimize, cluster

Generate meaningful distributions (e.g., Boltzman) of conformations: Monte Carlo simulation

Generate motion pathways to study molecular kinetics: molecular dynamics, MC simulation

Problem:How to efficiently compute and update energy during minimization and simulation?

Page 14: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

14

Non-Bonded Energy TermsNon-Bonded Energy Terms Quadratic number of pairs of atoms

Energy terms go to 0 when distance increases Cutoff distance (6 - 12Å)

vdW forces prevent atoms from bunching up Only O(n) interacting pairs [Halperin&Overmars 98]

Problems: How can we find the interacting pairs without

enumerating all atom pairs? How can we detect atomic clashes quickly?Main computational issue: Proximity computation

Page 15: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

15

Grid MethodGrid Method

dcutoff

Subdivide 3-space into cubic cells

Compute cell that contains each atom center

Represent grid as hashtable

Page 16: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

16

Grid MethodGrid Method

dcutoff O(n) time to build grid O(1) time to find

interactive pairs for each atom

Θ(n) to find all interactive pairs of atoms [Halperin&Overmars, 98]

Asymptotically optimal in worst-case

Page 17: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

17

Energy Update

Compare the interacting pairs at new step with those at previous step

For every pair that has disappeared, subtract the corresponding energy term from energy value

For every new pair, add the corresponding energy term to energy value

Takes Θ(n) time, even if very few pairs have changed

Page 18: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

18

Conservation of partialenergy sums

The grid method is unable to recognize and re-use such partial sums

Page 19: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

19

Grid MethodGrid Method

dcutoff O(n) time to build grid O(1) time to find

interactive pairs for each atom

Θ(n) to find all interactive pairs of atoms [Halperin&Overmars, 98]

Asymptotically optimal in worst-case

But:- Energy partial sums? - Atomic clashes?

[second grid with small cutoff distance]

Page 20: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

20

Grid Method Grid Method Surface Surface [Halperin and Shelton, 97][Halperin and Shelton, 97]

Each sphere intersects O(1) spheres

Computing each atom’s contribution to molecular surface takes O(1) time

Computation of molecular surface takes Θ(n) time

implicit solvation term in Θ(n) time

Page 21: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

21

General ProblemGeneral Problem

Molecules form geometrically complex objects that deform and move relative to each other

(Self-)collision detection Distance computation

Several computational approaches: Space occupancy: grid, octree Tracking pairs of closest features Polynomial equation Bounding-volume hierarchies (BVH) Spanners

Page 22: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

22

Bounding Volume Bounding Volume Hierarchies (BVHs)Hierarchies (BVHs)

Outline: Case of rigid objects:

Bounding volume (BV) BV hierarchy (BVH) Types of BVs Collision detection with BVHs Distance computation

Application to deformable objects Application to protein simulation

http://www.cs.unc.edu/~geom/collide/index.shtml

Page 23: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

23

Basic ProblemBasic Problem

Given the geometric models and relative positions of two objects, determine whether they overlap

Page 24: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

24

Basic ProblemBasic Problem

Given the geometric models and relative positions of two objects, determine whether they overlap

distance = 0 collision

Page 25: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

25

ApplicationsApplications

Computer graphics & simulation Robotics Haptics

Page 26: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

26

Page 27: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

27

Basic Idea of SolutionBasic Idea of Solution Enclose objects into bounding volumes (spheres or boxes) Check the bounding volumes first

Page 28: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

28

Basic Idea of SolutionBasic Idea of Solution Enclose objects into bounding volumes (spheres or boxes) Check the bounding volumes first Decompose an object into two

Page 29: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

29

Basic Idea of SolutionBasic Idea of Solution Enclose objects into bounding volumes (spheres or boxes) Check the bounding volumes first Decompose an object into two Proceed hierarchically

Page 30: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

30

Basic Idea of SolutionBasic Idea of Solution Enclose objects into bounding volumes (spheres or boxes) Check the bounding volumes first Decompose an object into two Proceed hierarchically

Page 31: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

31

Bounding Volume Hierarchy Bounding Volume Hierarchy (BVH)(BVH)

• BVH is pre-computed for each object• BVH is typically a balanced binary tree

Page 32: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

32

BVH in 3DBVH in 3D

Page 33: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

33

Collision DetectionCollision Detection

Two objects described by their precomputed BVHs

A

B C

D E F G

A

B C

D E F G

Page 34: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

34

Collision DetectionCollision Detection

AA

Search tree

AA

pruning

Page 35: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

35

Collision DetectionCollision Detection

AA

CCCBBCBB

Search tree

AA

A

B C

D E F G

Page 36: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

36

Collision DetectionCollision Detection

CCCBBCBB

AA

Search tree

pruning

A

B C

D E F G

Page 37: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

37

If two leaves of the BVH’s overlap(here, G and D) check their contentfor collision

Collision DetectionCollision Detection

CCCBBCBB

AA

Search tree

GEGDFEFD

A

B C

D E F G

GD

Page 38: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

38

VariantVariant

AA

CCCBBCBB

Search tree

AA

A

B C

D E F GAA

CABA

Page 39: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

39

Collision DetectionCollision Detection

Pruning discards subsets of the two objects that are separated by the BVs

Each path is followed until pruning or until two leaves overlap

When two leaves overlap, their contents are tested for overlap

Page 40: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

40

Search Strategy and Search Strategy and HeuristicsHeuristics

If there is no collision, all paths must eventually be followed down to pruning or a leaf node

But if there is collision, it is desirable to detect it as quickly as possible

Greedy best-first search strategy with f(N) = d/(rX+rY)

[Expand the node XY with largest relative overlap (most likely to contain a collision)]

rX

rYd

X

Y

Page 41: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

41

Recursive (Depth-First) Recursive (Depth-First) Collision Detection AlgorithmCollision Detection Algorithm

Test(A,B)1. If A and B do not overlap, then return 12. If A and B are both leaves, then return 0

if their contents overlap and 1 otherwise3. Switch A and B if A is a leaf, or if B is

bigger and not a leaf4. Set A1 and A2 to be A’s children

5. If Test(A1,B) = 1 then return Test(A2,B) else return 0

Page 42: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

42

PerformancePerformance

Several thousand collision checks per second for 2 three-dimensional objects each described by 500,000 triangles, on a 1-GHz PC

Page 43: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

43

Greedy Distance ComputationGreedy Distance Computation(same recursion as collision detection)(same recursion as collision detection)

Greedy-Distance(A,B)1. If dist(A,B) > 0, then return dist(A,B)2. If A and B are both leaves, then return

distance between their contents 3. Switch A and B if A is a leaf, or if B is bigger

and not a leaf4. Set A1 and A2 to be A’s children

5. d1 Greedy-Distance(A1,B)

6. If d1 > 0 then

a. d2 Greedy-Distance(A2,B)

b. If d2 > 0 then return Min(d1,d2)

7. Return 0

Page 44: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

44

Exact Distance Exact Distance ComputationComputation

Distance(A,B)1. If dist(A,B) > M, then return M2. If A and B are both leaves, then

a. d distance between their contents b. Return Min(d,M)

3. Switch A and B if A is a leaf, or if B is bigger and not a leaf

4. Set A1 and A2 to be A’s children

5. M Distance(A1,B)

6. If M > 0 then return Distance(A2,B)

7. Else return 0

M (upper bound on distance) is initialized to very large number

Page 45: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

45

Approximate Distance Approximate Distance ComputationComputation

Approx-Distance(A,B) [ da : da de and de-da de]

1. If dist(A,B) > M, then return M2. If A and B are both leaves, then

a. d distance between their contents b. If d < M then return (1-)d else return M

3. Switch A and B if A is a leaf, or if B is bigger and not a leaf

4. Set A1 and A2 to be A’s children

5. M Approx-Distance(A1,B)

6. If M > 0 then return Approx-Distance(A2,B) 7. Return 0

M (upper bound on distance) is initialized to very large number

Page 46: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

46

Approximate Distance Approximate Distance ComputationComputation

Approx-Distance(A,B) [ da : da de and de-da de]

1. If dist(A,B) > M, then return M2. If A and B are both leaves, then

a. d distance between their contents b. If d < M then return (1-)d

3. Switch A and B if A is a leaf, or if B is bigger and not a leaf

4. Set A1 and A2 to be A’s children

5. M Approx-Distance(A1,B)

6. If M > 0 then return Approx-Distance(A2,B) 7. Return 0

M (upper bound on distance) is initialized to very large number

Garanteed to return an approximate distance between (1-)d and d

Page 47: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

47

Collision detection < Greedy distance computation < 0.5 Approximate distance computation

<< Exact distance computation

< : slightly faster<< : much faster

Page 48: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

48

Desirable Properties of Desirable Properties of BVs and BVHsBVs and BVHs

BVs: Tightness Efficient testing Invariance

BVH: Separation Balanced tree

Page 49: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

49

Desirable Properties of Desirable Properties of BVs and BVHsBVs and BVHs

BVs: Tightness Efficient testing Invariance

BVH: Separation Balanced tree

Page 50: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

50

SpheresSpheres

Invariant Efficient to test But tight?

Page 51: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

51

Axis-Aligned Bounding Box Axis-Aligned Bounding Box (AABB)(AABB)

Page 52: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

52

Axis-Aligned Bounding Box Axis-Aligned Bounding Box (AABB)(AABB)

Not invariant Efficient to test Not tight

Page 53: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

53

Oriented Bounding Box Oriented Bounding Box (OBB)(OBB)

[Gottschalk, Lin, and Manocha, 96][Gottschalk, Lin, and Manocha, 96]

Page 54: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

54

Oriented Bounding Box Oriented Bounding Box (OBB)(OBB)

Invariant Less efficient to test Tight

Page 55: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

55

Rectangle Swept Spheres Rectangle Swept Spheres (RSS)(RSS)

Similar to OBBs

Efficient distance computation

Page 56: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

56

Computation of Distance Computation of Distance Between Two RSS’sBetween Two RSS’s

Compute the distance between the two underlying rectangles

Subtract the growing radius

Page 57: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

57

Comparison of BVsComparison of BVs

Sphere

AABB OBB RSS

Tightness - -- + +

Testing + + - -+

Invariance

yes no yes yes

No type of BV is optimal for all situations

Page 58: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

59

Computation of an OBB[Gottschalk, Lin, and Manocha, 96]

N points ai = (xi, yi, zi)T, i = 1,…, N

SVD of A = (a1 a2 ... aN) A = UDVT where

D = diag(1,2,3) such that 1 2 3 0

U is a 3x3 rotation matrix that defines the principal axes of variance of the ai’s OBB’s directions

The OBB is defined by max and min coordinates of the ai’s along these directions

Possible improvements: use vertices of convex hull of the ai’s or dense uniform sampling of convex hull

x

y

X

Yrotation described bymatrix U

Page 59: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

60

OBB of a Collection of Spheres

Compute the OBB of the centers

Grow the OBB by moving each of its faces outwardby the atom radius

x

y

X

Y

Page 60: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

61

Computation of an RSS[Larsen, Gottschalk, Lin, and Manocha, 00]

Similar to OBB. Compute the two principal axes of variance of the ai’s (atom centers)

Project all ai’s into the plane P defined by these two directions

Compute minimum enclosing rectangle R contained in P and aligned with these directions

Grow R by half the length of the interval spanned by the ai’s along the direction perpendicular to P increased by the atom radius

Page 61: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

62

Desirable Properties of Desirable Properties of BVs and BVHsBVs and BVHs

BVs: Tightness Efficient testing Invariance

BVH: Separation Balanced tree

Page 62: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

63

Desirable Properties of Desirable Properties of BVs and BVHsBVs and BVHs

BVs: Tightness Efficient testing Invariance

BVH: Separation Balanced tree

Group pieces that are close apart, not pieces that are far apart

Page 63: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

66

Subdivision of an OBB/RSSSubdivision of an OBB/RSS

Split longest axis at mid or median point

Page 64: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

67

Application to Application to Deformable ObjectsDeformable Objects

The BVH computed for some initial or nominal geometry may become useless

Page 65: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

68

Application to Application to Deformable ObjectsDeformable Objects

The BVH computed for some initial or nominal geometry may become useless

Group pieces hierarchically based on topological rather than geometric proximity

Topological proximity is invariant implies geometric proximity (converse is not true)

Page 66: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

69

Particular Case: Long ChainParticular Case: Long Chain

Page 67: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

70

Application to Application to Deformable ObjectsDeformable Objects

The BVH computed for some initial or nominal geometry may become useless

Group pieces hierarchically based on topological rather than geometric proximity

Topological proximity is invariant implies geometric proximity (converse is not true)

BVH with fixed topology, but BVs must still be adjusted in size and position

Self-collision detection is done by testing a BVH against itself

Page 68: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

71

Particular Case: Long ChainParticular Case: Long ChainA chain of spheres is well-behaved iff:1. The ratio of the radii of the largest and

smallest spheres is less than some 2. The distance between any two sphere

centers is greater than some

Complexity for updating the BVH and testing self-collision of a well-behaved chain of spheres

Page 69: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

72

Application to Monte Carlo Application to Monte Carlo Simulation of ProteinsSimulation of Proteins

(ChainTree)(ChainTree)

[I. Lotan, D. Halperin, F. Schwarzer and J.C. Latombe. Algorithm and Data Structures for Efficient Energy maintenance During Monte Carlo Simulation of Proteins, J. Computational Biology, 2004]

Page 70: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

73

Random walk through conformation space At each cycle:

- Perturb current conformation at random– Accept step with probability:

Problem: Update energy value

/( ) min 1, bE k TP accept e

Monte Carlo Simulation Monte Carlo Simulation (MCS)(MCS)

Page 71: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

74

Energy FunctionEnergy Function E = bonded terms

+ non-bonded terms + solvation terms

Bonded terms - Relatively few

Non-bonded terms - Depend on distances between pairs of atoms - Quadratic number Expensive to compute

Solvation terms- May require computing molecular surface

Page 72: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

75

Non-Bonded Energy TermsNon-Bonded Energy Terms

They go to 0 when distance increases Use cutoff distance (6 - 12Å)

vdW forces prevent atoms from bunching up Only O(n) interacting pairs [Halperin&Overmars 98]

Problem: How to find these interacting pairs without enumerating all atom pairs?

Page 73: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

76

Can We Do Better on Can We Do Better on Average than Grid method?Average than Grid method?• Few DOFs are changed at each MC

step

Number kof DOF changes

0 10 20 305

Page 74: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

77

Can We Do Better on Can We Do Better on Average than Grid method?Average than Grid method?• Few DOFs are changed at each MC

step

Number kof DOF changes

0 10 20 305

simulationof 100,000attempted steps

Page 75: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

78

Few DOFs are changed at each MC step Proteins are long chain kinematics

Long sub-chains stay rigid at each step Many partial energy sums remain constant

Problem: How to retrieve the unchanged partial sums?

Can We Do Better on Can We Do Better on Average?Average?

Page 76: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

79

ChainTreeChainTree(Twofold Hierarchy: BVs + (Twofold Hierarchy: BVs +

Transforms)Transforms)

links

Page 77: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

80

TNO

TJK

TAB

joints

ChainTreeChainTree(Twofold Hierarchy: BVs + (Twofold Hierarchy: BVs +

Transforms)Transforms)

Page 78: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

81

Updating the ChainTreeUpdating the ChainTree

Update path to root:– Recompute transforms that “shortcut” the DOF change– Recompute BVs that contain the DOF change– O(k (log(n/k)+1)) work for k changes

Page 79: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

82

Finding Interacting PairsFinding Interacting Pairs

Page 80: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

83

Finding Interacting PairsFinding Interacting Pairs

Page 81: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

84

Finding Interacting PairsFinding Interacting Pairs

Do not search inside rigid sub-chains (unmarked nodes)

Do not test two nodes with no marked node between them

Page 82: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

85

Finding Interacting PairsFinding Interacting Pairs

Do not search inside rigid sub-chains (unmarked nodes)

Do not test two nodes with no marked node between them

Page 83: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

86

EnergyTreeEnergyTree

E(N,N)

E(J,L)

E(K.L)

E(L,L)

E(M,M)

Page 84: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

87

EnergyTreeEnergyTree

E(N,N)

E(J,L)

E(K.L)

E(L,L)

E(M,M)

Page 85: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

88

Computational ComplexityComputational Complexity

n : total number of DOFs k : number of DOF changes at each MCS step k << n

Complexity of: updating ChainTree: O(k (log(n/k)+1)) finding interacting pairs: O(n4/3)

but performs much better in practice!!!

Page 86: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

89

Experimental SetupExperimental Setup

Energy function: Van der Waals Electrostatic Attraction between native contacts Cutoff at 12Å

300,000 steps MCS with Grid and ChainTree

Steps are the same with both methods Early rejection for large vdW terms

Page 87: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

90

Results: 1-DOF changeResults: 1-DOF change

(68) (144) (374) (755)# amino acids

3.5

12.5

5.8

7.8

speedup

Page 88: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

91

Results: 5-DOF changeResults: 5-DOF change

(68) (144) (374) (755)

2.2

3.4

4.5

5.9

speedup

Page 89: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

92

Two-Pass ChainTree Two-Pass ChainTree (ChainTree+)(ChainTree+)

1st pass: small cutoff distance to detect steric clashes2nd pass: Normal cutoff distance

>5Tests around native state

Page 90: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

93

Interaction with Solvent

Explicit solvent models: 100s or 1000s of discrete solvent molecules

Implicit solvent models: solvent as continuous medium, interface is solvent-accessible surface

E. Eyal, D. Halperin. Dynamic Maintenance of Molecular Surfaces underConformational Changes. http://www.give.nl/movie/publications/telaviv/EH04.pdf

Page 91: 1 Energy Maintenance for Molecular Simulation kinematics + energy  motion + structure Main computational issue: Proximity computation.

94

ConclusionConclusion ChainTree significantly reduces average time of

MCS for proteins (vs. grid)

It exploits: Atomic exclusion Cutoff distance on potentials Chain kinematics of protein Small # of DOF changes at each MC step

Larger speed-up for bigger proteins and smaller # of simultaneous DOF changes

Extension to updating protein surface

http://robotics.stanford.edu/~itayl/mcs

Already exploitedby grid method