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 Mao B-Z transition device Yurke and Turberfield molecular motor 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 P= 0.7 nm lbp = 0.7nm D = 1.52 ×10-6 cm2s-1 [Zhang01] [Smith96] [Yan04] [Stellwagen02] • Double Strands: – – – – l0 = 100 nm P = 50 nm, Y = 3KBT/2P lbp= 0.34 nm D = 1.07 × 10-6 cm2s-1 [Klenin98, Cocco02] [Storm03] [Yan04] [Stellwagen02] Random Conformation • • • • Generated by random walk in three dimensions Change in xi in 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] Bad!!! Good!!! until ((ΔE<0) or (ΔE > 0 & x<exp(-ΔE/KBT)) m = m* Data Structure and Underlying Graph 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 Strand Displacement 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) Algorithm • Initialize • While t ≤ T do Physical Simulation Collision Detection Event Simulation • Hybridization • Dehybridization • Strand Displacement t=t+Δt mi MList do MCSimulation(mi) mi,mj MList if collide(mi,mj) e=ColEvent(mi,mj) enqueue e in CQ Algorithm While CQ is nonempty e= dequeue(CQ) Hybridize(e) mi MList b bonds Update MList of mi Forif no. of element in SDQ potential_strand_displacement event if potential_dehybridization(b) e =enqueue dequeue(SDQ) SDQ breakbond(b) e* = StrandDisplacement(e) if any bond was broken if e* is incomplete strand displacement Perform a DFS on graph on mi enqueue e* in SDQ Every connected component is one Update MList new molecule formed • Initialize • While t ≤ T do Physical Simulation Collision Detection Event Simulation • Hybridization • Dehybridization • Strand Displacement t=t+Δt 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