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 (38) 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.