Hi John and David,
I reply to you both. Thank you very much for your complete answers as well as for all the pointers you mentioned. I will have a look at these references. Free energy calculation is definitely a challenging issue !
Cheers,

Patrick

John D. Chodera a écrit :
Hi Patrick,

I like your plots. They nicely demonstrate the difficulty of convergence of the estimate of <dg/dl>.

It looks like there may be some other oddities in the plot, such as switching between conformations or some other effect that has a long correlation time. In particular, at lambda = 0.55, there is a big switch about 500 ps in.

We (David Mobley and I) have found it helpful to examine the dg/dl timeseries plots directly to look for the potential presence of an initial non-equilibrated state (which would look like dg/dl spending time near some value A_1 and then switching to fluctuate about A_2 for the remainder of the simulation) or multiple states with a long correlation time (which would look like hops between fluctuations about different values). In this case, long correlation times may require you to run much longer.

One of the best diagnostic tools besides examination of the timeseries is to compute the correlation time and statistical inefficiency for each dg/dl timeseries. That Janke article I mentioned previously describes how to do this, and is available online here:

http://www.fz-juelich.de/nic-series/volume10/janke2.pdf

Also, there is a discussion of how to do so efficiently in my recent paper on the analysis of parallel tempering simulations using WHAM (see Sections 2.4 and 5.2):

http://www.dillgroup.ucsf.edu/~jchodera/pubs/pdf/replica-exchange-wham.pdf

The method I described for computing the uncertainties is termed "correlation analysis", as it relies on computation (and integration) of the autocorrelation function for the timeseries. This was first applied to molecular dynamics simulations by Bill Swope when he was with Hans Andersen:

W. C. Swope, H. C. Andersen, P. H. Berens, and K. R. Wilson. A computer simulation method for the calculation of equilibrium constants for the formation of physical clusters of molecules: Application to small water clusters. J. Chem. Phys., 76(1):637–649, 1982.

(This is actually the same paper where he introduces the velocity Verlet integrator -- it's a good read!)

Block averaging should give equivalent uncertainty estimates to the correlation analysis method (to about an order of magnitude) if the block sizes are chosen appropriately, but it usually requires either calculation of the statistical inefficiency to determine the block size first, or application of an iterative method like that of Flyvbjerg (cited in my WHAM paper) to determine the statistical uncertainty from consideration of many block sizes. Wolfhard Janke's paper does a great job of discussing how various methods for estimating the statistical uncertainty compare.

Finally, if there are unequilibrated regions of your dataset, there is now a method to automatically determine the boundary between unequilibrated and equilibrated regions: W. Yang, R. Bitetti-Putzer, and M. Karplus. Free energy simulations: Use of reverse cumulative averaging to determine the equilibrated region and the time required for convergence. J. Chem. Phys., 120(6):2618–2628, 2004.

To address your observation that some authors use only a few hundred ps of simulation time, while your system seems to require at least 1 ns: Different systems have different correlation times and variances of dg/dl, both of which affect the statistical uncertainty. Some systems are much "easier" to converge than others. David Mobley has found that application of restraints in free energy calculations which are later removed can actually transform a "very hard" problem into an "easy" problem -- see the publication below. But the basic answer is that this is why it is extremely important to *always* compute the correlation time for whatever it is you are averaging -- this may be very different from system to system, or even from lambda value to lambda value.

D. L. Mobley, J. D. Chodera, and K. A. Dill, "Confine and Release: Obtaining Correct Binding Free Energies in the Presence of Protein Conformational Change", accepted, Journal of Chemical Theory and Computation.
http://www.dillgroup.ucsf.edu/~dmobley/papers/flex.pdf

Best of luck!

- John

--
John Chodera <[EMAIL PROTECTED]>             | Mobile    : 415 867-7384
Postdoctoral researcher, Pande lab            | Lab phone : 650.723.1097
Department of Chemistry, Stanford University  | Lab fax   : 650.724.4021
http://www.dillgroup.ucsf.edu/~jchodera


On May 8, 2007, at 3.20 AM, Patrick Fuchs wrote:

Hi John,
thanks a lot for your reply.
Indeed, the standard deviation I presented in my previous post is the one of dg/dl samples. I was just surprised by the fact the std. dev. is always larger than the value itself (since I'm starting with FE calculation I had no expectation of what the behavior would be and needed a confirmation). I was also suprised about the convergence of the mean. I put a plot for each lambda value at the URL:
http://condor.ebgm.jussieu.fr/~fuchs/download/convergence.png
(at each time step, I recalculate the mean from the beginning). My first observation was that 1 ns seemed to be a minimum for certain lambda values (e.g. lambda=0.70). I sometimes read in literature that some authors used a few hundreds of ps, which seemed (to me) not sufficient for proper convergence. Now, if we come back to the error estimate of the mean, I found (for lambda=0.00) 0.2 kJ/mol using block averaging (using the -ee option of g_analyze), which is reasonable I imagine (even if higher precisions have been described in literature). I'm not sure whether this is the same
way of calculating the uncertainty compared to what you proposed.
Can you confirm?
I will have a look to the book you mentioned, thanks for the pointer.
Cheers,

Patrick

On Mon, 7 May 2007, John D. Chodera wrote:

Hi Patrick,

I find a reasonable DeltaGsol value of 8.6 kJ/mol for methane (compared
to 8.7 in Geerke & van Gunsteren, ChemPhysChem 2006, 7, 671 ? 678) but
I get really huge fluctuations in the values of dg/dl:
lambda=0.00: 5.0 +/- 10.8 (mean +/- standard deviation)
lambda=0.05: 4.3 +/- 11.2

Is the standard deviation you quote here the standard deviation of the dg/dl samples, or the standard deviation of the mean?

If the former, then this behavior is totally expected: While the standard deviation of a random variable (your dg/dl samples) may be large, with enough sampling, we can get a very precise estimate of the mean. More sampling will not change the standard deviation of the dg/dl samples, but it will reduce the standard error in the mean, which is what we need for precise estimates of free energy differences.

The uncertainty in the estimate of <dg/dl> is given simply by

d<dg/dl> = sigma / sqrt(N / g)

where here, sigma is the standard deviation of your dg/dl samples, N is the number of data points you have collected, and g is something called the "statistical inefficiency", which can be estimated from the correlation time of your dg/dl samples. More information on this sort of analysis can be found in reference [1] below.

Once you have the uncertainty in each estimate of <dg/dl>, you still have to combine these to get the uncertainty estimate for the integrated free energy difference using standard propagation of error. This depends on your choice of quadrature for TI. David Mobley has done a lot of this, and I'm sure would be willing to help if you had trouble figuring it out.

Good luck!

- John

[1] W. Janke. Statistical analysis of simulations: Data correlations and error estimation. In J. Grotendorst, D. Marx, and A. Murmatsu, editors, Quantum Simulations of Complex Many-Body Systems: From Theory to Algorithms, volume 10, pages 423?445. John von Neumann Institute for Computing, 2002.

--
John Chodera <[EMAIL PROTECTED]>             | Mobile    : 415 867-7384
Postdoctoral researcher, Pande lab            | Lab phone : 650.723.1097
Department of Chemistry, Stanford University  | Lab fax   : 650.724.4021
http://www.dillgroup.ucsf.edu/~jchodera
--

Date: Mon, 07 May 2007 16:41:26 +0200
From: Patrick Fuchs <[EMAIL PROTECTED]>
Subject: [gmx-users] Very large fluctuations in dg/dl
To: gmx-users@gromacs.org
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=windows-1252; format=flowed

Hi Gromacs users,
I have a few questions related to solvation free energy calculation via
thermodynamic integration.
I'm trying to reproduce some literature data (on e.g. methane,
methanol...) using the GROMOS G53a6 force field. I followed the tutorial
of David Mobley (thanks to him BTW), but I used the standard non bonded
options of the G53a6 force field (instead of OPLS). For each lambda
value I do a minimization, a 10 ps NVT followed by a 20 ps NPT
equilibration, and a 1 ns NVT production using the sd integrator. I used
21 lambda values (0.00, 0.05...1.00).
Here's my topology file:
----------------begining of methane.top------------------------
; topology for a methane molecule

; include GROMOS53a6 force field
#include "ffG53a6.itp"

;;;;;;; begin methane definition ;;;;;;;
[ moleculetype ]
; Name           nrexcl
METH             3

[ atoms ]
;nr type resnr residue atom cgnr charge mass    typeB chargeB massB
1  CH4  1     METH    C1   0    0.0000 16.0430 DUM   0.0000  16.04300
;;;;;; end methane definition ;;;;;;;;

; include water topology
#ifdef FLEX_SPC
#include "flexspc.itp"
#else
#include "spc.itp"
#endif

[ system ]
; name
1 methane molecule in water

[ molecules ]
; name  number
METH    1
SOL     893
-----------------end of methane.top------------------------

And here is my mdp file for lambda=0:
---------------begining of prod.mdp---------------------
title               = production NVT methane/water
cpp                 = /lib/cpp
; OPTIONS FOR BOND CONSTRAINTS
constraints         = all-bonds
; RUN CONTROL PARAMETERS
integrator          = sd
tinit               = 0
dt                  = 0.002
nsteps              = 500000 ; 1000 ps
; NUMBER OF STEPS FOR CENTER OF MASS MOTION REMOVAL
nstcomm             = 100
; OUTPUT CONTROL OPTIONS
nstxout                  = 500
nstvout                  = 500
nstfout                  = 0
nstlog                   = 500
nstenergy                = 100
nstxtcout                = 5000
xtc-precision            = 1000
; NON BONDED STUFF
ns_type             =  grid
nstlist                = 5
rlist                  = 0.8
coulombtype            = generalized-reaction-field
rcoulomb               = 1.4
rvdw                   = 1.4
epsilon_rf             = 54.0
;OPTIONS FOR TEMPERATURE COUPLING
tc_grps                  = system
tau_t                    = 0.1 ; inverse langevin friction cst
ref_t                    = 300
;OPTIONS FOR PRESSURE COUPLING
Pcoupl                   = no
tau_p                    = 0.5
compressibility          = 4.5e-5
ref_p                    = 1.0
; FREE ENERGY CONTROL STUFF
free_energy              = yes
init_lambda              = 0.00
delta_lambda             = 0
sc_alpha                 = 0.5
sc-power                 = 1.0
sc-sigma                 = 0.3
; VELOCITY GENERATION
gen_vel                  = yes
gen_temp                 = 300
gen_seed                 = -1
-----------------end of prod.mdp------------------------
I find a reasonable DeltaGsol value of 8.6 kJ/mol for methane (compared
to 8.7 in Geerke & van Gunsteren, ChemPhysChem 2006, 7, 671 ? 678) but
I get really huge fluctuations in the values of dg/dl:
lambda=0.00: 5.0 +/- 10.8 (mean +/- standard deviation)
lambda=0.05: 4.3 +/- 11.2
...
lambda=1.00: -0.3 +/- 4.0
Furthermore, each of these mean value is very slow at converging (1 ns
seems a minimum for certain lambda values...).
I can't get reasonable fluctuations even if I sample more. In addition,
there are very frequent warnings in the log file such as:
----
Large VCM(group rest):      0.01363,      0.00818,      0.01147,
ekin-cm:  3.09490e+00
----
Here are my questions:
1) Has someone an idea of what could be the cause of these [very] large
fluctuations? Does it come from my setup, or is this a normal behavior?
2) Are these 'Large VCM(group rest)' warnings related to the use of sd
integrator (when I switch to md integrator, I no longer get these
warnings) ?
Thanks for your answer,

Patrick






--
_______________________________________________________
Patrick FUCHS
Equipe de Bioinformatique Genomique et Moleculaire
INSERM U726, Universite Paris 7
Case Courrier 7113
2, place Jussieu, 75251 Paris Cedex 05, FRANCE
Tel : +33 (0)1-44-27-77-16 - Fax : +33 (0)1-43-26-38-30
E-mail : [EMAIL PROTECTED]
Web Site: http://www.ebgm.jussieu.fr/~fuchs
_______________________________________________
gmx-users mailing list    gmx-users@gromacs.org
http://www.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to [EMAIL PROTECTED]
Can't post? Read http://www.gromacs.org/mailing_lists/users.php

Reply via email to