DNAModeller: Modelling DNA Based Nanodevices

advertisement
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
Download