Bennett Acceptance Ratio Method and Error Estimates
When simulations are done for both the initial state corresponding to potential energy U0(x), and the final state corresponding to the potential energy U1(x), the two formulas in FEP Basic Theory Overview provide two different estimates of the free energy difference between the two systems.
The Bennett Acceptance Ratio (BAR) method [11] works in a different way. It creates an imaginary intermediate state with potential energy U*(x), calculates the free energy difference between U0(x) and U*(x) using the data sampled from U0(x), calculates the free energy difference between U1(x) and U*(x) using the data sampled from U1(x), and then the sum of these two free energy differences gives the free energy difference between the two systems.
Bennett figured out the optimal potential for the imaginary intermediate state which minimizes the variance of the calculated free energy. The Bennett acceptance ratio method works by solving the following two equations through iteration:
where N0 and N1 are the number of data points sampled from U0and U1,
is the Fermi function, and
The free energy difference between a pair of ligands that are directly connected in the FEP mapper graph is estimated using the above BAR method, and is called ddG_Ben.
The statistical uncertainty of the BAR free energy can be estimated through the delta method:
which gives the following formula to calculate the analytical error of the BAR free energy,
The error for the BAR estimated free energy difference between two ligands calculated using the above formula is called Error_Ben_Analytical.This error is reported in the result file for each leg of individual perturbations.
Another way to estimate the error of the BAR free energy is through bootstrapping. Bootstrapping works in the following way: randomly select N0 data points from the whole data sampled from U0 (allowing the same data point to be repeated multiple times), and N1 data points from the whole data sampled from U1(allowing the same data point to be repeated multiple times), and calculate the BAR free energy using the regenerated data points. Repeat this process many times and calculate the variance of the calculated BAR free energy, which gives the bootstrapping estimated error of the BAR free energy, Error_Bar_bootstrapping. This error is reported in the result file for each leg of individual perturbations.
The larger of Error_Ben_Analytical and Error_Bar_bootstrapping for each leg of individual perturbations is reported as Error_Ben for that leg, and the squared sum of the Error_Ben for the complex and solvent legs of each perturbation is reported as the Error_Ben for that perturbation. In almost all the cases, the Error_Ben underestimates the real error in the calculated free energy.