Constructing Free Energy Disconnectivity Graphs
This is a short summary of how you can construct a free energy disconnectivity graph from a potential energy stationary point database.
To start off you will need the following files in your working directory:
min.A - reactant (one local minimum or a group of minima) min.B - product (one local minimum or a group of minima) min.data ts.data points.min points.ts pathdata
In your pathdata file make sure you include a value for Planck's constant, the TEMPERATURE at which you wish to compute the free energy surface, and the number of atoms in your system. For free energy calculations the REGROUPFREE and DUMPGROUPS keywords are most useful. You can specify the free energy threshold for the regrouping analysis. Choosing a very small value (e.g -20.0) will effectively result in each local minimum being in a free energy group of its own. You want to choose a sensible value that lumps minima with small barriers together. You can monitor the kinetics by including a NGT computation as shown below:
PLANCK 9.536D-14 TEMPERATURE 0.616 NATOMS 787 MAXTSENERGY -1700.0 CYCLES 0 NGT 0 F REGROUPFREE 5.0 DUMPGROUPS CONNECTIONS 1 AMBER12
Run PATHSAMPLE in your working directory. This will produce a number of files. The most relevant output are:
min.A.regrouped.<TEMPERATURE> - reactant min.B.regrouped.<TEMPERATURE> - product min.data.regrouped.<TEMPERATURE> - free energies of free energy groups ts.data.regrouped.<TEMPERATURE> - free energies of transition states minima_groups.<TEMPERATURE> - specifying the composition of each free energy group.
Each entry in minima_groups.<TEMPERATURE> represents the index of a potential energy minimum in the original min.data file. The indices are followed by a line containing: the group number, the free energy of the group and the total number of potential energy minima in that group. The group number will correspond to the index in the file min.data.regrouped.<TEMPERATURE>
2 10843 18029 . . . 53309 group 2 free energy= 7.044937655 pe minima= 23
To keep things organised, create a new directory in your current working directory (e.g FE_<THRESH>_<TEMP>) and copy the relevant output from the free energy calculation there. To construct the free energy disconnectivity graph you will need a new dinfo file - based on the free energies in min.data.regrouped.<TEMPERATURE>. An example dinfo file may be:
levels 43 delta 4 first 134.0 maxtsenergy 130.0 minima min.data.regrouped.0.6160000000 ts ts.data.regrouped.0.6160000000 connectmin 2
Run disconnectionDPS and you should now have a disconnectivity graph! REMEMBER each branch on the graph represents a free energy group! Adding keywords such as IDMIN to the dinfo file will help you locate various free groups in the graph. If you wish to colour the graph based on some order parameter you can use the following python script:
~/svn/SCRIPTS/PATHSAMPLE/get_FreeEnergy_GroupRep.py
The script extracts the index of the first minimum of each FE group.You can then compute the order parameter for the representative PE minima and then colour the Free energy disconnectivity graph based on the values. The script gives detailed instructions of how this can be done.