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,
is changed continuously from 0 to 1
by increments of
= 0.1.
|
|
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,
-states may be declared
explicitly, avoiding the use of TCL scripting:
|
|
This option is generally preferred to set up windows of diminishing
widths as
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
towards its
end points.