next up previous contents index
Next: Description of a free Up: Alchemical Free Energy Methods1 Previous: Implementation of the free   Contents   Index

Examples of input files for running alchemical free energy calculations

Note: In this section the lambda values are specified manually. For sequential sampling of lambda values, it is simpler to call the runFEP or runFEPlist procedure of fep.tcl. See the comments in that file for instructions.

The first example illustrates the use of TCL scripting for running an alchemical transformation with the FEP feature of NAMD. In this calculation, $ \lambda $ is changed continuously from 0 to 1 by increments of $ \delta \lambda$ = 0.1.

alch           On
alchType       fep
alchFile       ion.fep
alchCol        X
alchOutfile    ion.fepout
alchOutFreq    5
alchEquilSteps 5000

set Lambda0    0.0
set dLambda    0.1

while {$Lambda0 < 1.0} {
 alchLambda $Lambda0
 set Lambda0 [expr $Lambda0 + $dLambda]
 alchLambda2 $Lambda0
 run  10000
Enable alchemical simulation module
Set alchemical method to FEP
File containing the information about growing/shrinking atoms described in column X.
Output file containing the free energy.
Frequency at which fepOutFreq is updated.
Number of equilibration steps per $ \lambda $ -state.
Starting value of $ \lambda $ .
Increment of $ \lambda $ , i.e.  $ \delta \lambda$ .
TCL script to increment $ \lambda $ :
(1) set lambda value;
(2) increment $ \lambda $ ;
(3) set lambda2 value;
(4) run 10,000 MD steps.

The user should be reminded that by setting run 10000, 10,000 MD steps will be performed, which includes the preliminary fepEquilSteps equilibration steps. This means that here, the ensemble average of equation (80) will be computed over 5,000 MD steps.

Alternatively, $ \lambda $ -states may be declared explicitly, avoiding the use of TCL scripting:

alchLambda      0.0
alchLambda2     0.1
run             10000
(1) set alchLambda value;
(2) set alchLambda2 value;
(3) run 10,000 MD steps.

This option is generally preferred to set up windows of diminishing widths as $ \lambda \rightarrow$ 0 or 1 -- a way to circumvent end-point singularities caused by appearing atoms that may clash with their surroundings.

The following second input is proposed for the measuring via TI the free energy of a particle insertion.

    alch           On             ;# Enable alchemical simulation module
    alchType       ti             ;# Set method to thermodynamic integration
    alchFile       ion.alch.pdb   ;# PDB file with perturbation flags
    alchCol        B              ;# Perturbation flags in Beta column
    alchOutfile    ion.ti.out
    alchOutFreq    5
    alchEquilSteps 5000

    alchVdWShiftCoeff    1        ;# Enable soft-core vdW potential
    alchElecLambdaStart  0.1      ;# Introduce electrostatics for lambda > 0.1
    alchLambda 0
    run 10000
    alchLambda 0.00001
    run 10000
    alchLambda 0.0001
    run 10000
    alchLambda 0.001
    run 10000
    alchLambda 0.01
    run 10000

    set Lambda           0.1

    while {$Lambda <= 0.9} {
      alchLambda $Lambda
      run 10000
      set Lambda [expr $Lambda + 0.1]

    alchLambda 0.99
    run 10000
    alchLambda 0.999
    run 10000
    alchLambda 0.9999
    run 10000
    alchLambda 0.99999
    run 10000
    alchLambda 1
    run 10000

Robust sampling of the free energy of particle insertion is enabled by the use of soft-core van der Waals scaling with the alchVdWShiftCoeff parameter, delayed introduction of electrostatics with a non-zero alchElecLambdaStart value, and very gradual scaling of $ \lambda $ towards its end points.

next up previous contents index
Next: Description of a free Up: Alchemical Free Energy Methods1 Previous: Implementation of the free   Contents   Index