From 5ae7b7f3e91322556211c56f8148f664faed0a20 Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Tue, 27 May 2014 16:13:39 +0200 Subject: [PATCH] Working on tutorial 4 --- user-doc/tutorials/belfast-4.tar.gz | Bin 0 -> 33566 bytes user-doc/tutorials/belfast-4.txt | 259 +++++++++++++++++++++++++--- 2 files changed, 232 insertions(+), 27 deletions(-) create mode 100644 user-doc/tutorials/belfast-4.tar.gz diff --git a/user-doc/tutorials/belfast-4.tar.gz b/user-doc/tutorials/belfast-4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5a485d15173604d4c462b9d83487b398c75f27f6 GIT binary patch literal 33566 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%0AYfIRC-L2~Nj=Me%Ta?w^ltCjB|zBlK)2 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 literal 0 HcmV?d00001 diff --git a/user-doc/tutorials/belfast-4.txt b/user-doc/tutorials/belfast-4.txt index ac5ce6aae..5f0a24145 100644 --- a/user-doc/tutorials/belfast-4.txt +++ b/user-doc/tutorials/belfast-4.txt @@ -18,7 +18,7 @@ any kind of collective variable. \section belfast-4-theory Summary of theory -\subsection belfast-4-biased-sampling Biased sampling +\subsection belfast-4-theory-biased-sampling Biased sampling A system at temperature \f$ T\f$ samples conformations from the canonical ensemble: @@ -87,7 +87,7 @@ with \f$e^{\frac{V(s(q))}{k_BT}}\f$. That is, frames that have been explored in spite of a high (disfavoring) bias potential \f$ V \f$ will be counted more than frames that has been explored with a less disfavoring bias potential. -\subsection belfast-4-us Umbrella sampling +\subsection belfast-4-theory-us Umbrella sampling Often in interesting cases the free-energy landscape has several local minima. If these minima have free-energy differences that are on the order of a few times \f$k_BT\f$ @@ -106,9 +106,6 @@ the biased free-energy landscape will be flat and barrierless. This potential acts as an "umbrella" that helps you to safely cross the transition state in spite of its high free energy. - -SAMPLE FIGURE NEEDED HERE - It is however difficult to have an a priori guess of the free-energy landscape. We will see later how adaptive techniques such as metadynamics (\ref belfast-6) can be used to this aim. Because of this reason, umbrella sampling is often used @@ -131,10 +128,24 @@ By combining simulations performed with different values of \f$ s_0 \f$, one cou obtain a continuous set of simulations going from one minimum to the other crossing the transition state. In the next section we will see how to combine the information from these simulations. -\subsection belfast-4-wham Weighted histogram analysis method +\subsection belfast-4-theory-wham Weighted histogram analysis method Let's now consider multiple simulations performed with restraints located in different positions. +In particular, we will consider the \f$i\f$-th bias potential as \f$V_i\f$. + +It can be shown that the proper weight to be assigned to the snapshot at time \f$ t \f$ +as obtained from the \f$i\f$-th simulation is + +\f[ +w_i(t)\propto \frac{1}{\sum_j\int dt\frac{e^{-\beta V_{j}({\bf s}_i(t))}}{Z_{j}} } +\f] +where \f$ Z_i \f$ are factors that should be obtained self-consistently as + +\f[ +Z_i=\frac{\sum_j \int dt e^{-\beta V_i({\bf s}_j(t))} w_j(t)}{ +\sum_j \int dt w_j(t)} +\f] @@ -142,27 +153,30 @@ Let's now consider multiple simulations performed with restraints located in dif Once this tutorial is completed students will know how to: -- Setup simulations with restraints +- Setup simulations with restraints. - Use multiple-restraint umbrella sampling simulations to enhance the transition across a free-energy barrier. -- Analyze the results. +- Analyze the results and compute weighted averages and free-energy profiles. \section belfast-4-resources Resources -TO DO +The <a href="tutorial-resources/belfast-4.tar.gz" download="belfast-4.tar.gz"> tarball </a> for this project contains the following files: +- A gromacs topology (topol.top), configuration (conf.gro), and control file (grompp.mdp). They should not be needed. +- A gromacs binary file (topol.tpr). This is enough for running this system. +- A small C++ program that computes WHAM (wham.cpp) and a script that can be used to feed it (wham.sh) + +By working in the directory where the topol.tpr file is stored, one can launch gromacs +with the command +\verbatim +mdrun_mpi -plumed plumed.dat -nsteps 100000 +\endverbatim +(notice that the -nsteps flag allows the number of steps to be changed). \section belfast-4-instructions Instructions \subsection belfast-4-system The model system -We here use a a model system -alanine dipeptide with AMBER99SB-ILDN all atom force field already seen in the previous section. -Here you can see its free-energy landscape depicted as function of the two dihedral angles \f$phi\f$ and -\f$\psi\f$ (also called "Ramachandan plot"). - -FIG TO DO - -GROMACS INPUT +We here use a a model system alanine dipeptide with CHARM27 all atom force field already seen in the previous section. \subsection belfast-4-restrained-simulations Restrained simulations @@ -180,10 +194,6 @@ is not trivial. In a later section we will see how metadynamics can be used to this aim. The simplest way to use umbrella sampling is that to apply harmonic constraints to one or more CVs. -As first example we perform an umbrella sampling calculation of the free energy landscape of -alanine dipeptide with AMBER99SB-ILDN all atom force field already seen in the previous section. -depicted as function of the two dihedral angles \f$phi\f$ and -\f$\psi\f$ (also called "Ramachandan plot"). We will now see how to enforce the exploration of a the neighborhood of a selected point the CV space using a \ref RESTRAINT potential. @@ -196,8 +206,8 @@ psi: TORSION ATOMS=7,9,15,17 # with a spring constant of 500 kjoule/mol # at fixed points on the Ramachandran plot # -restraint-phi: RESTRAINT ARG=phi KAPPA=500 AT=pi -restraint-psi: RESTRAINT ARG=psi KAPPA=500 AT=-pi +restraint-phi: RESTRAINT ARG=phi KAPPA=500 AT=-0.3 +restraint-psi: RESTRAINT ARG=psi KAPPA=500 AT=+0.3 # monitor the two variables and the bias potential from the two restraints PRINT STRIDE=10 ARG=phi,psi,restraint-phi.bias,restraint-psi.bias FILE=COLVAR @@ -216,23 +226,215 @@ a simple Hooke’s law: \f]. where \f$ x_0 \f$ is the value specified following the AT keyword. -The CVs as well as the sum of the two bias potentials are shown in the COLVAR file. +The choice of AT (\f$ x_0 \f$) is obviously depending on the specific case. +KAPPA (\f$ k \f$) is typically chosen not to affect too much the +intrinsic fluctuations of the system. A typical recipe is +\f$ k \approx \frac{k_BT}{\sigma^2} \f$, where \f$ \sigma^2 \f$ is the variance +of the CV in a free simulation). In real applications, one must be careful with +values of \f$ k \f$ larger than \f$ \frac{k_BT}{\sigma^2} \f$ because they +could break down the molecular dynamics integrator. + +The CVs as well as the two bias potentials are shown in the COLVAR file. For this specific input the COLVAR file has in first column the time, in the second the value of \f$\phi\f$, in the third the value of \f$\psi\f$, in the fourth the the additional potential introduced by the restraint on \f$\phi\f$ and in the fifth the additional potential introduced by the restraint on \f$\psi\f$. -It may happen that one wants that a given CV just stay +It may happen that one wants that a given CV just stays within a given range of values. This is achieved in plumed through the directives \ref UPPER_WALLS and \ref LOWER_WALLS that act on speciï¬c collective variables and limit the exploration within given ranges. -TO DO - \subsection belfast-4-reweighting Reweighting the results +Now consider a simulation performed restraining the variable \f$\phi \f$: +\verbatim +phi: TORSION ATOMS=5,7,9,15 +psi: TORSION ATOMS=7,9,15,17 +restraint-phi: RESTRAINT ARG=phi KAPPA=10.0 AT=-2 +PRINT STRIDE=10 ARG=phi,restraint-phi.bias FILE=COLVAR10 + +\endverbatim + +and compare the result with the one from a single simulation with no restraint +\verbatim +phi: TORSION ATOMS=5,7,9,15 +psi: TORSION ATOMS=7,9,15,17 +# we use a "dummy" restraint with strength zero here +restraint-phi: RESTRAINT ARG=phi KAPPA=0.0 AT=-2 +PRINT STRIDE=10 ARG=phi,restraint-phi.bias FILE=COLVAR0 +\endverbatim + +Plot the time dependence of \f$\phi \f$ in the two cases and try to understand the +difference. + +Now let's try to compute the probability that \f$\psi \f$ falls within a given range, say between 1 and 2. +This can be done e.g. with this shell script +\verbatim +> grep -v \# COLVAR0 | tail -n 80000 | + awk '{if($3>1 && $3<2)a++; else b++;}END{print a/(a+b)}' +\endverbatim +Notice that we here considered only the last 80000 frames in the average. Look at the time series for \f$\psi \f$ +and guess why. Also notice that the script is removing the initial comments. After this trivial preprocessing, +the script is just counting how many times the third column (\f$ \psi \f$) lies between 1 and 2 and +how many times it doesn't. At the end it prints the number of times the variable is between 1 and 2 +divided by the total count. The result should be something around 0.40. Now try to do it on +trajectories generated with different values of AT. Does the result depend on AT? + +We can now try to reweight the result so as to get rid of the bias introduced by the restraint. +Since the reweighting factor is just \f$\exp(\frac{V}{k_BT} \f$ +the script should be modified as +\verbatim +> grep -v \# COLVAR0 | tail -n 80000 | +awk '{w=exp($4/2.5); if($3>1 && $3<2)a+=w; else b+=w;}END{print a/(a+b)}' +\endverbatim +Notice that 2.5 is just \f$k_BT\f$ in kj/mol units. + +Repeat this calculation for different values of AT. Does the result depend on AT? + +\subsection belfast-4-fes A free-energy landscape + +One can also count the probability of an angle to be in a precise +bin. The logarithm of this quantity, in kbT units, is the free-energy +associated to that bin. There are several ways to compute +histograms, either with PLUMED or with external programs. Here I decided to +use awk. + +\verbatim +grep -v \# COLVAR0 | tail -n 80000 | +awk 'BEGIN{ + min1=-3.14159265358979 + max1=+3.14159265358979 + min2=-3.14159265358979 + max2=+3.14159265358979 + nb1=100; + nb2=100; + for(i1=0;i1<nb1;i1++) for(i2=0;i2<nb2;i2++) f[i1,i2]=0.0; +}{ + i1=int(($2-min1)*nb1/(max1-min1)); + i2=int(($3-min2)*nb2/(max2-min2)); +# we assume the potential is in the last column, and kbT=2.5 kj/mol + w=exp($NF/2.5); + f[i1,i2]+=w; +} +END{ + for(i1=0;i1<nb1;i1++){ + for(i2=0;i2<nb2;i2++) print min1+i1/100.0*(max1-min1), min2+i2/100.0*(max2-min2), -2.5*log(f[i1,i2]); + print ""; +}}' > plotme +\endverbatim + +You can then plot the "plotme" file with +\verbatim +gnuplot> set pm3d map +gnuplot> splot "plotme" +\endverbatim + \subsection belfast-4-wham Combining multiple restraints +In the last paragraph you have seen how to reweight simulations done with restraints +in different positions to obtain virtually the same result. +Let's now see how to combine data from multiple restraint simulations. +A possible choice is to download and use the WHAM software +<a href="http://membrane.urmc.rochester.edu/content/wham">here</a>, +which is well documented. +This is probably the best idea for analyzing a real simulation. + +For the sake of learning a bit, we will use a different approach here, +namely we will use a short C++ program that implements the weight calculation. +Notice that whereas people typically use harmonic restraints in this framework, +PLUMED offers a very large variety of bias potentials. For this reason +we will keep things as general as possible and use an approach that can be in principle +used also to combine simulation with restraint on different variables or with complicated +bias potential. + +The first step is to generate several simulations with different positions of the restraint, +gradually going from say -2 to +2. +You can obtain them using e.g. the following script: +\verbatim +for AT in -2.0 -1.5 -1.0 -0.5 +0.0 +0.5 +1.0 +1.5 +2.0 +do + +cat >plumed.dat << EOF +phi: TORSION ATOMS=5,7,9,15 +psi: TORSION ATOMS=7,9,15,17 +# +# Impose an umbrella potential on CV 1 and CV 2 +# with a spring constant of 500 kjoule/mol +# at fixed points on the Ramachandran plot +# +restraint-phi: RESTRAINT ARG=phi KAPPA=40.0 AT=$AT +# monitor the two variables and the bias potential from the two restraints +PRINT STRIDE=10 ARG=phi,psi,restraint-phi.bias FILE=COLVAR$AT +EOF + +mdrun_mpi -plumed plumed.dat -nsteps 100000 -x traj$AT.xtc + +done + +\endverbatim + +Notice that we are here saving separate trajectories for the separate simulation, +as well as separate colvar files. In each simulation +the restraint is located in a different position. Have a look at the +plot of (phi,psi) for the different simulations to understand what is happening. + +An often misunderstood fact about WHAM is that data of the different trajectories +can be mixed and it is not necessary to keep track of which restraint was used to produce +every single frame. Let's get the concatenated trajectory + +\verbatim +trjcat -cat -f traj*.xtc -o alltraj.xtc +\endverbatim + +Now we should compute the value of each of the bias potentials on the entire (concatenated) trajectory +\verbatim +for AT in -2.0 -1.5 -1.0 -0.5 +0.0 +0.5 +1.0 +1.5 +2.0 +do + +cat >plumed.dat << EOF +phi: TORSION ATOMS=5,7,9,15 +psi: TORSION ATOMS=7,9,15,17 +restraint-phi: RESTRAINT ARG=phi KAPPA=40.0 AT=$AT + +# monitor the two variables and the bias potential from the two restraints +PRINT STRIDE=10 ARG=phi,psi,restraint-phi.bias FILE=ALLCOLVAR$AT +EOF + +plumed driver --mf_xtc alltraj.xtc --trajectory-stride=10 --plumed plumed.dat + +done +\endverbatim + +It is very important that this script is consistent with the one used to generate the multiple simulations above. +Now, single files named ALLCOLVARXX will contain on the fourth column the value of the bias +centered in XX computed on the entire concatenated trajectory. + +Next step is to compile the C++ program that computes weights self-consistently solving the WHAM +equations. +This is named wham.cpp and can be compiled with +\verbatim +g++ -O3 wham.cpp -o wham.x +\endverbatim +and can be then used through a wrapper script wham.sh as +\verbatim +./wham.sh ALLCOLVAR* > colvar +\endverbatim +The resulting colvar file will contain 3 columns: time, phi, and psi, plus the weights obtained from WHAM +written in logarithmic scale. That is, the file will contain \f$k_BT \log w \f$. + +Try now to use this file to compute the unbiased free-energy landscape as a function of phi and psi. +You can use the script that you used earlier to compute histogram. + + + + + + + + + + \section belfast-4-comments Comments \subsection belfast-4-comments-1 How does PLUMED work @@ -259,4 +461,7 @@ link: @subpage belfast-4 description: Umbrella sampling, reweighting, and weighted histogram +additional-files: belfast-4.tar.gz + + -- GitLab