a framework for modeling dna based nanorobotical devices sudheer sahu (duke university) bei wang...
TRANSCRIPT
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 deviceYurke and Turberfield molecular motor
Reif walking-rolling devices
Peng unidirectional walker Mao crawler
Sherman Biped walker
Shapiro Devices
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 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
Repeatm* = RandomConformation(m)
ΔE = E(m*) – E(m)
x [0,1]
until ((ΔE<0) or (ΔE > 0 & x<exp(-ΔE/KBT))
m = m*
Bad!!!
Good!!!
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
• Initialize• While t ≤ T do
Physical Simulation
Collision Detection
Event Simulation• Hybridization• Dehybridization• Strand Displacement
t=t+Δt
While CQ is nonempty e= dequeue(CQ) Hybridize(e) Update MList if potential_strand_displacement event enqueue SDQ
For no. of element in SDQ e = dequeue(SDQ) e* = StrandDisplacement(e) if e* is incomplete strand displacement enqueue e* in SDQUpdate MList
mi MList b bonds of mi
if potential_dehybridization(b)breakbond(b)
if any bond was brokenPerform a DFS on graph on mi
Every connected component is one new molecule formed
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 strandsA partially complementry to B and C
• New strand addedPartially complementary to B
Acknowledgement
• This work is supported by NSF EMT Grants CCF-0523555 and CCF-0432038