# DsDNA persistence length

## Persistence length of a double-stranded DNA

The example shows how to calculate a persistence length of a double stranded DNA molecule. dsDNA persistence length. The persistence length in this example is calculated using the following formula (see [1] for details):

In the ` EXAMPLES/PERSISTENCE_LENGTH` directory, you will find a setup for calculating the persistence length of a 202 base pairs long dsDNA.
Note that for calculating a persistence length of a dsDNA, one needs a large number of decorrelated states. To obtain the states (which will be saved into a trajectory file), run the simulation program using the prepared input_persistence file:

../../bin/oxDNA input_persistence

The program will run a molecular dynamics simulation at 23 °C and record the individual configurations. By default, they are saved in the `trajectory.dat` file. To analyze the data, use the python script `dspl.py`:

./dspl.py trajectory.dat init.top 10 50

This program will produce a table of correlations between helical vectors, .

The program `dspl.py` requires `base.py` in the UTILS directory to be present and to have UTILS directory set in your PYTHONPATH environment variable. The program calculates the local helical axis vector (n_k) as a unit vector pointing from the midpoint of hydrogen bonding sites of k-th base pair to the midpoint between (k+1)-th base pair.
The init.top file contains topology of the 202 base pairs long strand (included in the ` EXAMPLES/PERSISTENCE_LENGTH`). In the example above, the program starts at the 10-th base pair and calculates correlations of n_10 with n_11, n_12, etc. up to n_60. It then prints out the correlations (one per line). Using an exponential fit to these data, one can find the persistence length, as illustrated in the following picture:

The exponential fit shows, in this particular example, a persistence length of 124.8 base pairs.