Computational Biophysics II

Computational Reaction Rate Theory@work

Dr. Udo W. Schmitt, Max-Planck Institut fuer Biophysikalische Chemie, Goettingen

In the previous lecture we've learned about the theoretical basis of chemical reaction rate theory. In particular, we looked at Transition State Theory (TST) (or the theory of the activated complex) and Kramers Theory (KT).

In this practical we are going to investigate in detail on these two theories. To this end, we will compute molecular dynamics trajectories using the so-called Langevin equation,



which basically describes Newtonian dynamics with an additional friction term with a time-independent friction constant plus a random force that ensures proper thermalization of our system. The random force R(t) is Gaussian white noise with zero mean and obeys the fluctuation-dissipation relation. Note that the Langevin equation also provides the fundamental basis in Kramers Theory (see previous lecture).

All calculations performed in this practical will be done with a simple molecular dynamics program written in Fortran 77/90 that solves the Langevin equation for single degree of freedom x (i.e. one particle) in a symmetric double minimum potential. In case you are interested in the details you can have a look at the source code langevin.f. To compute the rate after we have generated a trajectory we use a short analyzing program called rate.f. To start the practical download the relevant files from here followed by unpacking them with the following command

tar xzvf rate_prakt.tar.gz

Then change into the new directory and compile both programs needed with

gfortran langevin.f -o langevin
gfortran rate.f -o rate

Now we are ready to run our first computation. Our first task will be to have a look at the potential V(x) that will govern the deterministic part of our Langevin dynamics. To plot the potential V(x) just start the program langevin by typing

./langevin md.in

and then start a Linux plot program, like for example gnuplot

gnuplot (RETURN)
p "POTENTIAL" u 1:2 w l

(A symmetric double minimum potential should appear on the screen.) The potential is a generic example for all kinds of reactive processes that show no potential (or free energy) difference between the two metastable regions A and B. The dynamical variable x is our order parameter (or reaction coordinate, collective variable or meta-coordinate) that must be able to distinguish between region A and B. Thinking in terms of macromolecules it would be a collective coordinate like e.g. the number of native contacts, the solvent-accesible surface or the radius of gyration. You can also view it as a projection from 3N cartesian coordinates of your macromolecule at hand onto a 1D (collective) coordinate. For example in the animation of a distinct conformational transition in alanine dipeptide shown above one could imagine to use an angle or a hydrogen-bond distance as an order parameter to arrive at a reduced 1D description of the overall reactive process described by the concerted movement of all 22 atoms shown.

The input file md.in of our MD program contains the necessary parameters shown here

4000  1       # nsteps,nout
0.005         # timestep
0.2           # x(t=0)
0.0           # temperature
0.0           # friction coefficient
.F.           # compute TST and Kramers rate

that will be read by the program langevin prior to the computation. The parameters will be explained briefly in the following: nsteps are the total number of molecular dynamics steps performed, nout gives the inverse output frequency (ouptut is written only every n'th step), timestep is the discrete time step used in the numerical integration algorithm, x(t=0) are rather self-explanatory, temperature is the reduced temperature and friction coefficient is the parameter gamma that enters the Langevin equation. Note that the program uses a reduced unit system with k_B = 1, i.e. the temperature is given in units of energy.

Now we can start our first simulation with the input parameters and look at the resulting trajectory. Typing

./langevin md.in

there should now be a file TRAJECTORY in your directory. We can display the content of this file by starting gnuplot and typing

p "TRAJECTORY" u 1:2 w l

This should reveal the time evolution (time on the x axis) of the coordinate x (shown on the y axis) that evolves in double minimum potential according to Newton's equation of motion (Note that the friction coefficient and temperature in the input file are both zero).

The signal we obtain with the previous input setting is representative of so-called ballistic dynamics (as opposed to diffusive dynamics we will encouter later on). The particle oscillates between the two potential wells with constant total energy (try in gnuplot p "TRAJECTORY" u 1:4 w l,"TRAJECTORY" u 1:5 w l to display the time evolution of the potential energy and total energy). What is the rate k



for a process like this?

Now we can turn on the friction term by setting gamma in the md.in input file to a finite value (e.g. 0.5) and starting the previous simulation with otherwise identical parameters. What behaviour do you see now? What is the difference to the previous example? Try to run a trajectory with the initial coordinate x located at the barrier top and try to explain the observed behaviour.

Finally we are going to also turn on the random force (see Langevin equation) in order to counteract the damping that is introduced by the friction term. What different physical mechanism are mimiced by the friction term in connection with the random force? By setting temperature to 0.75 and starting the simulation again we obtain now a different time evolution of x. How many reactive event (crossing from A to B) do you observe for this short trajectory? Again try to run a trajectory with the initial coordinate x located at the barrier top and try to explain the observed behaviour. What is different compared to the previous example with R(t) = 0?

Being done with the preliminaries we can begin with computing reaction rates from our trajectories. To do so, we have to increase the number of integration steps nsteps in md.in such that we observe a sufficiently large number of reactive events. To compute the rate from our trajectory, we run a second program rate that reads in TRAJECTORY file and performs a smart counting of reactive events, i.e. how often does a the dynamical variable x move from region A to region B. We simply start the program by typing

./rate

and it will give us the rate k which has dimension 1/(time) and units 1/(timestep), where timestep is the specified timestep in md.in

Next we are going to analyze whether our simple 1D model shows the expected Arrhenius behaviour. In the previous lecture we learned that the reaction rate as a function of temperature follows a phenomenological law (Equation), which means that a plot ln(rate) vs. 1/T should reveal a straight line. To check this result we perform rate computations at four different temperatures (0.25 0.5 0.75 1.0) and from each extract the rate k and plot the combined data in gnuplot

p "arrhenius.dat" (1./$1):(log($2)) w lp

We should see the expected Arrhenius behaviour, which means that even a system with one (classical) degree of freedom only is capable of delivering this phenomenological law observed in many complex systems. When do you expect the Arrhenius law to fail for Langevin dynamics?

So far in this practical we have computed our reaction rates from long trajectories that show a sufficiently large number of reactive events. While this is the most straightforward approach to compute reaction rates, it is computationally not always feasible to go via this route. If the intrinsic barrier is significantly larger than k_B T (the average thermal energy in each degree of freedom), the system will spend most of its time in region A or region B and will only rarely cross the barrier region. This is why reactive events are also called rare events. That also means we would waste our simulation time to mostly observe uninteresting (unreactive) behaviour. To resolve this issue, scientists have developed so-called rare event techniques or rate theories that allow us to compute the rate without having to run these very long trajectories.

The most simple rate theory is Transition State Theory, which tells us that the rate is given by



This means that the rate is solely determined by the potential energy profile in region A (note the range of integration) and the mass of the particle.

One of other two rate theories covered in the lecture is Kramers Theory which tells us that in the high-friction region (gamma >> timestep/mass) there is a correction term to the TST rate



which involves gamma and the characteristic frequency omega_B of our potential in the barrier region (see potential plot above).

The program langevin will also compute the TST rate by evaluating the integral in the TST equation via a finite sum if the flag computeRate in md.in is set to .TRUE. . It also computes the frequency-dependent correction factor of Kramers Theory (see KT equation above) and outputs the information to the screen.

To compare the three approaches available for rate computation we first run a long trajectory with the following parameters:

4000000  10    # nsteps,nout
0.005         # timestep
0.2           # x(t=0)
0.75          # temperature
0.5           # friction coefficient
.T.           # compute TST and Kramers rate

The TST rate and the KT rate will be written to the screen. To better understand the result you can plot the functional form of the Kramers prefactor in gnuplot (to do so, type in gnuplot p [0:10] -x/2.0 + sqrt(x*x*0.25+1) - this assumes that in the KT expression omega_B = 1) Why is the KT rate allows smaller than the TST rate? What is the molecular origin of the rate reduction? Now compute the rate by counting the rate for the trajectory on the file system

./rate

The output tells us how many MD steps are use in the analysis, the equilibrium mole fractions of region A and B, respectively, and the rate. Now you can increase the friction coefficient in md.in (e.g. 1.,10.,100.) and see how the rate (and with it the Kramers prefactor) is changing. Always compare it to the direct rate computed with program rate and have a look at the generated trajectory. With increasing gamma the dynamics is solely govern by the random force and the high friction, which means the effect of the underlying double minimum potential on the particle's dynamics becomes neglible and the particle diffuses between region A and region B (diffusive motion - see above). Why is it then that the rate is going to zero for very large values of gamma?