260 likes | 368 Views
A Framework for Modeling DNA Based Nanorobotical Devices. Sudheer Sahu (Duke University) Bei Wang (Duke University) John H. Reif (Duke University). DNA based Nanorobotical devices. Yurke and Turberfield molecular motor. Mao B-Z transition device. Reif walking-rolling devices.
E N D
A Framework for Modeling DNA Based Nanorobotical Devices Sudheer Sahu (Duke University) Bei Wang (Duke University) John H. Reif (Duke University)
DNA based Nanorobotical devices Yurke and Turberfield molecular motor Mao B-Z transition device Reif walking-rolling devices Sherman Biped walker Shapiro Devices Peng unidirectional walker Mao crawler
Simulation • Aid in design • Work done in simulators: • Virtual Test Tubes [Garzon00] • VNA simulator [Hagiya] • Hybrisim [Ichinose] • Thermodynamics of unpseudo-knotted multiple interacting DNA strands in a dilute solution [Dirks06]
Simulator for Nanorobotics • Gillespi method mostly used in simulating chemical systems. [Gillespi77,Gillespi01,Kierzek02] • Topology of nanostructures important • Physical simulations to model molecule conformations • Molecular level simulation • Two components/layers • Physical Simulation [of molecular conformations] • Kinetic Simulation [of hybridization, dehybridization and strand displacements based on kinetics, dynamics and topology] • Sample and simulate molecules in a smaller volume
Modeling DNA Strands • Single strand • Gaussian chain model [Fixman73,Kovac82] • Freely Jointed Chain [Flory69] • Worm-Like Chain [Marko94,Marko95,Bustamante00,Klenin98,Tinoco02]
More modeling… • Modeling double strands • Just like single strands but with different parameters. • Modeling complex structures
Parameters • Single Strands: • l0=1.5nm, Y=120KBT /nm2 [Zhang01] • P= 0.7 nm [Smith96] • lbp = 0.7nm [Yan04] • D = 1.52 ×10-6 cm2s-1 [Stellwagen02] • Double Strands: • l0 = 100 nm [Klenin98, Cocco02] • P = 50 nm, Y = 3KBT/2P [Storm03] • lbp= 0.34 nm [Yan04] • D = 1.07 × 10-6 cm2s-1 [Stellwagen02]
Random Conformation • Generated by random walk in three dimensions • Change in xiin time Δt, Δxi = Ri • Ri : Gaussian random variable distributed • W(Ri) = (4Aπ)-3/2 exp(-Ri/4A) where A = DΔt
Energy • Stretching Energy [Zhang01] (0.5Y)Σi (ui-l0)2 • Bending Energy [Doyle05, Vologdskii04] (KBTP/l0 )Σi cos(θi) • Twisting Energy [Klenin98] • Electrostatic Energy [Langowski06,Zhang01]
MCSimulation Repeat m* = RandomConformation(m) ΔE = E(m*) – E(m) x [0,1] until ((ΔE<0) or (ΔE > 0 & x<exp(-ΔE/KBT)) m = m* Bad!!! Good!!!
Hybridization • Nearest neighbor model • Thermodynamics of DNA structures that involves mismatches and neighboring base pairs beyond the WC pairing. ΔG° = ΔH° – TΔS° ΔH° = ΔH°ends+ΔH°init+Σk€{stacks}ΔHk° ΔS° = ΔS°ends+ΔS°init+Σk€{stacks}ΔSk° • On detecting a collision between two strands • Probabilities for all feasible alignments is calculated. • An alignment is chosen probabilistically
Dehybridization • Reverse rate constant kr=kf exp(ΔG°/RT) • Concentration of A = [A] • Reverse rate Rr=kr [A] • Change in concentration of A in time Δt Δ[A] = RrΔt • Probability of dehybridization of a molecule of A in an interval of Δt = Δ[A] /[A] = krΔt
Strand Displacement • Random walk • direction of movement of branching point chosen probabilistically • independent of previous movements • Biased random walk (in case of mismatches) • Migration probability towards the direction with mismatches is substantially decreased
Calculating probabilities of biased random walk • G°ABC , G°rABC , G°lABC • ΔG°r = G°rABC - G°ABC • ΔG°l = G°lABC - G°ABC • Pr = exp(-ΔG°r/RT) • Pl = exp(-ΔG°l/RT)
miMList do MCSimulation(mi) mi,mj MList if collide(mi,mj) e=ColEvent(mi,mj) enqueue e in CQ Algorithm • Initialize • While t ≤ T do Physical Simulation Collision Detection Event Simulation • Hybridization • Dehybridization • Strand Displacement t=t+Δt
Algorithm While CQ is nonempty e= dequeue(CQ) Hybridize(e) Update MList if potential_strand_displacement event enqueue SDQ • Initialize • While t ≤ T do Physical Simulation Collision Detection Event Simulation • Hybridization • Dehybridization • Strand Displacement t=t+Δt mi MList b bonds of mi if potential_dehybridization(b) breakbond(b) if any bond was broken Perform a DFS on graph on mi Every connected component is one new molecule formed Update MList For no. of element in SDQ e = dequeue(SDQ) e* = StrandDisplacement(e) if e* is incomplete strand displacement enqueue e* in SDQ Update MList
Algorithm Analysis • In each simulation step: • A system of m molecules each consisting of n segments. • MCsimulation loop runs f(n) times before finding a good configuration. • In every run of the loop the time taken is O(n). • Time for each step of physical simulation is O(mnf(n)). • Collision detection takes O(m2n2) • For each collision, all the alignments between two reacting strands are tested. O(cn), if number of collisions detected are c. • Each bond is tested for dehybridization. O(bm), if no. of bonds per molecule is b. For every broken bond, DFS is required and connected components are evaluated. O(b2m) • Time taken in each step is O(m2n2+mn f(n) )
[Unsolved Problem???] • Physical Simulation of Hybridization • What happens in the time-interval between collision and bond formation? • What is the conformation and location of the hybridized molecule?
Further Work • Enzymes • Ligase, Endonuclease • Hairpins, pseudoknots • More accurate modeling • Electrostatic forces • Loop energies • Twisting energies
Some snapshots…. • 3 strands A is partially complementary to B and C
Some more snapshots…. • 3 strands A partially complementry to B and C • New strand added Partially complementary to B
Acknowledgement • This work is supported by NSF EMT Grants CCF-0523555 and CCF-0432038