Biomod/2013/Komaba/Simulation

(Difference between revisions)
 Revision as of 11:53, 22 October 2013 (view source)← Previous diff Revision as of 11:55, 22 October 2013 (view source)Next diff → Line 28: Line 28: To make the simulation more realistic, we assign different potential energy for state1) and state 2). The potential energy for state 1) and 3) is called “P Strong”, and it’s stronger and has wider range; the potential energy for state 2) is called “P Weak”, and it’s weaker and has smaller range. And all the potential energy should only affect the very near range, which means, when the leg hasn’t got close enough to some strand, the leg should not feel the strand’s power. So we set the equation like this: To make the simulation more realistic, we assign different potential energy for state1) and state 2). The potential energy for state 1) and 3) is called “P Strong”, and it’s stronger and has wider range; the potential energy for state 2) is called “P Weak”, and it’s weaker and has smaller range. And all the potential energy should only affect the very near range, which means, when the leg hasn’t got close enough to some strand, the leg should not feel the strand’s power. So we set the equation like this: - [[Image:FigureS1.jpg]] + [[Image:FigureS1-1.jpg]] Figure S1 Figure S1

Simulation

We set up the simulation to make the DNA spider’s walking process visionable and easy to be understand. And also we can use this simulation to demonstrate in detail how the spider walks along a flat track and how the two spiders walk along the cylinder surface track (see the videos below). Moreover, we can also make it possible to simulate how the rings’ hierarchy speeds up the screw’s rotation.

In order to realize the 3D simulation animation, C++ programing with OpenGL library (for 3D perspective projection, shading, texturing, rendering, etc.) is used. In the programing, a rigid body simulation physics engine, called Open Dynamics Engine (ODE), is involved. ODE is an open source library for simulating rigid body dynamics providing C/C++ APIs. ODE follows the basic principle of Newton's laws of motion, and can do collision detection with friction, bounce, etc. It also provides some basic geometric shapes and constrain joints for connecting them. By using these features, we succeeded in the construction of the spider and the track and the interaction between them in the simulation.

Spider

In our experiment, the DNA spider has one CL-H strand, which means capture leg and head stand, and three walking legs made of DNA enzyme, and a streptavidin body connecting each leg together. As you can see in the video, the spider has three legs and a body shaped in a ball. Since the CL-H strand doesn’t relate to the walking process, here we only keep the walking legs and the body for simplification. Moreover, we use the abstract of mass balls to present the legs and the body. Although there are lines drawn between the body and the legs, those lines don’t really represent the legs, but the balls do.

There are joints between the legs and the spider’s body. These joints are flexible in some degree, so that the spider looks soft but still can keep its shape. The joints keep the distance between the body and the leg in a certain range, and also keep the angles between each leg in a certain range. They are just logical connections and invisible in the animation. However, you can still imagine that the lines drawn between the body and the legs are those joint connections. But these lines don’t interact with other things, however, the mass balls does (collide, be attracted, etc).

Tracks

In the experiment, the track is consist of the substrates (footings) spirally attached on the surface of the cylinder. In the simulation, we use some capsule shapes (capped cylinders) to present the substrate strands. In one step, there are three strands, the same as the track we made in the experiment.

In the simulation, we first made the track in a flat, to show the basic situation for the walking process. And in the second video, two spiders opposite to each other walk along a straightly standing cylinder’s surface.

After a substrate is cleaved, the visible length is shortened and the color is changed, but it doesn’t change the interaction with other things, except for the potential energy turns weak. The last three strands in red, representing the “end footings”, cannot be cleaved, so that the spider will be captured there in the end.

Cleaving Process and the Potential Energy

The strands on the track has three states, 1) uncleaved; 2) cleaved; 3) uncleavable. The common strands are in state 1) uncleaved, they are the long, green (or blue) strands, that they haven’t been attached by any enzyme legs. Once the 1) uncleaved strand is attached by an enzyme leg, it will turn into state 2) cleaved, after a while. The 2) cleaved state is represented by the short and black strands. As mentioned above, the 3) uncleavable state is for the three red, long strand in the end. Still, there is another state called transitional state, represented by long, black strands, which means these strands are now being cleaved by the enzyme legs. After a while they will turn into 2) cleaved state.

As we know, the walking leg is well complementary to the footing in state 1). So, they attach each other stably and it takes some long time to cleave. On the other hand, after the cleave, the long strand breaks into two short ones, and the stability goes low. So, the cleaved strand in state 2) is no longer stable for the leg to stay still. The leg is likely to leave and goes towards the more stable places, that is some other strands in 1) uncleaved state.

To make the simulation more realistic, we assign different potential energy for state1) and state 2). The potential energy for state 1) and 3) is called “P Strong”, and it’s stronger and has wider range; the potential energy for state 2) is called “P Weak”, and it’s weaker and has smaller range. And all the potential energy should only affect the very near range, which means, when the leg hasn’t got close enough to some strand, the leg should not feel the strand’s power. So we set the equation like this:

Figure S1

The “r” represents the distance to the strand.

Other Controls

(to be added here) brownian motion(normally distributed)Langevin equation viscosity resistance

cylinder version