Ido Lavi

Student ID: 037026705

Intermittent Reaction Paths - a basic model

Theoretical Model

Numerical model

Numerical Model Summary

Program Installation

1. Find acces to a linux machine.

If you’re a Windows user I can suggest installing Oracle VirtualBox and in it an image of ubuntu 11.10.

Follow the instructions but beware of installing ubuntu 12.10 - In at least two desktops this operated extremely slow and practically unusable via VirtualBox.

2. Download latest Aviz from Dan Peled's website and follow the installation instructions.

For more tips on using Aviz you may vist Riki Hihinashvili's website, and be sure to check out the official Aviz website.

3. Download the Intermittent Reaction Paths Simulator

IRPS.tar.gz containg a view.vpm file and the executable test.exe

unzip with the following command:

tar -xf IRPS.tar.gz

4. Download and install MonoDevelop (Optional)

sudo apt-get install monodevelop

With Mono you may view and edit my source code project test.tar.gz, and ofcourse - Mono makes it possible for you to create your own c# program and GUI in Linux, get acquainted with a hello world! tutorial.

User Manual - Intermittent Reaction Paths Simulator

Before running the program be sure to read the theoretical and numerical models to understand the usage and the relationships between the input parameters.

1. Start by Creating your neat looking double stranded DNA chain.

Choose Nc: The total number of base-pairs (sites) of the chain.

I recommend starting at the order of 100 first, then work your way up until you gain the proper control over the settings.

This property is very relevant for the search. As the chain grows in length the longer it takes for the searching protein to find its target.

Choose dX: In um, this represents the distance between consecutive centers of base-pairs.

I recommend dX should in the order of 1 first.

This property is very relevant for the search. When choosing your diffusion constant and dT later on these properties must comply: 2*D*dT/dX^2 < 1

Choose dS: In um, this represents the distance between the DNA strands (distance between two molecules in each base-pair).

In order to view bonds in aviz please set dS lower than 10.

* This property is not relevant for the search model, it’s here to help you construct a chain of your liking.

Choose theta: In mrad, this represents the bend angle off the current DNA axis for the next step.

Please set lower than 300.

* This property is not relevant for the search model, it’s here to help you construct a chain of your liking.

Choose phi: In mrad, this represents the azimuthal turn angle for the next step.

Please set lower than 500.

* This property is not relevant for the search model, it’s here to help you construct a chain of your liking.

By clicking “Create Chain” a new directory is created and Aviz will initiate with the file containing the coordinates of the double-stranded DNA.
To adjust proper viewing parameters please see Aviz Manual.

2. Create random numbers (uniformly distributed between 0 and 1).

Choose seed: Select a large odd number that would be used as the seed for the c# Random Generator.

Choose Nrand: Select a number (preferably larger in magnitude than Nc) to be the size of the random numbers vector.

The simulation uses the random numbers vector in different types of iterations at the different phases, once the vector is totally used it is recycled.

By clicking "Create Randoms" the new numbers will be saved and used for the next search.

3. Set the search parameters.

Choose target: Select the index of the target site: between 0 and Nc-1.

The search process is complete when the protein is located at the target site (first passage).

Choose Xi: Select the starting point index of the target: between 0 and Nc-1.

Note that selecting Xi=target is cheating!

Choose D: In um^2/ms, the 1 dimensional Diffusion constant.

Remember that D, dX and dT must comply: 2*D*dT/dX^2 < 1.

Choose tau1: In ms, the typical time scale (of an exponential distribution) for a protein DNA slide.

Choose tau2: In ms, he typical time scale (of an exponential distribution) for a protein 3d excursion.

Choose dT: In ms, the time step of each discrete iteration. This is the most critical search property!

Remember that D, dX and dT must comply: 2*D*dT/dX^2 < 1.

Also, dT must be smaller than the time scales tau1 and tau2.

In general, a smaller dT gives the best approximation to the theoretical 1 dimensional Diffusion. The problem by setting dT too low is the sharp increase of iterations and frames needed to see progress in a search.

Click "Create Search" to iniciate the search algorithm. All the files and the search.dat file will be stored in the new directory.
Due to the long computation and writing time needed, the process is now limitted to creating 3000 frames before terminating the search. This was an arbitrary decision to keep ubuntu from crashing. Ofcourse - to simulate real numbers of high order and to use a small dT to be more precise, one would have to allow far more frames per search. So the advanced user may modify the variable "MaxFrames" in the source code and run the program again via Mono.
A search example:

When the search is completed it will notify you of the search time. With Aviz - open the search.dat file.

User Manual - Aviz

Launch Aviz from Terminal by simply typing: aviz
In Aviz select File>Open>Open ViewParams File...

Under the program directory there is file named: view.vpm, select it and then you may close aviz. This file contains a choice of coloring parameters for the simulation data that will be displayed later on.
Aviz is launched automatically when creating a chain with the simulator. It loads with the file for viewing your chain looks.
You would want to modify the main viewing settings as similarly to these:

To modify colors, relative sizes and bonds select Elements>Polymers.

Note that L and R denote the 2 strands of a DNA, P will denote the protein later on. You can adjust the colors and size of each type of molecule and also make bonds between L and R to better visualize the DNA chain.

After a search is created, to view its evolution please select File>Open>Open FIle List...

Select search.dat and Cycle to view as animation.

Screenshot and Animation samples


When attempting to find an average search time of a certain physical setting it is critical not to modify physical parameters (Nc, D, dX, dT, tau1, tau2.. etc).
Modify the random seed and Nrand to get proper statistical averages.
Only when comparing averages one can make an arguement regarding a change of a single parameter (for example tau1) and its relation to the overall average search time.