Fine tuning UNTRAP
When you're optimising a path using SHORTCUT and SHORTCUT BARRIER, you often add many minima to the database, some of which will not be well connected. These minima may be of low energy, but with a high barrier connecting them to the rest of the tree. Such minima act as kinetic traps and as such, can severely affect the rate calculated using PATHSAMPLE.
Some of these traps may be real, but a lot will not, and the high barrier is simply the result of a lack of sampling. The UNTRAP keyword is designed to focus PATHSAMPLE reconnections on these minima, and hopefully find lower energy pathways to reconnect them to the rest of the database.
Fine tuning parameters for UNTRAP
When using UNTRAP, you can use more than the minimal arguements. From the documentation:
UNTRAP einc thresh edeltamin elowbar
Only the first two arguments are required (einc and thresh). However, you may find that UNTRAP is not picking pairs of minima efficiently. You can tweak the algorithm using the last two arguments recently implemented by Vanessa.
edeltamin
The optional arguments edeltamin and elowbar are useful for databases without a well-defined global minimum. If the potential energy difference between the minimum in question and the lowest product minimum is less than edeltamin, the value of edeltamin is substituted for this difference. This substitution prevents connection attempts to minima connected by low barriers but with a very small energy difference to the lowest product minimum.
elowbar
If the barrier from the minimum in question to the lowest product minimum is less than elowbar, a value of TINY(1.0D0) is given to the barrier instead. This substitution prevents connection attempts to minima connected by low barriers.
Choosing values by visualising the effect
Unless you have a very small database, the only way to check that your changes to UNTRAP are achieving what you're aiming for is to label the pairs of minima being selected by PATHSAMPLE on a disconnectivity graph. You can use the visualise_UNTRAP.sh script to do this. It can be found in the svn repository here:
SCRIPTS/PATHSAMPLE/visualise_UNTRAP.sh
The workflow for calibrating these values is as follows:
- Choose initial values by examining the disconnectivity graph for your system.
- Run PATHSAMPLE using the DUMMYRUN keyword, and kill it as soon as you see 'getupair> connecting minima' in the output.
- Run the visualise_UNTRAP.sh script, specifying the PATHSAMPLE output file, and the number of pairs of minima you'd like to label.
- Run disconnectionDPS to generate a disconnectivity graph.
- Visualise it using gv to see if UNTRAP is choosing the right minima.
- If it is, remove DUMMYRUN and submit the real job. Otherwise play with the values of edeltamin and elowbar and repeat.
The visualise_UNTRAP.sh script simply adds IDMIN lines to your existing dinfo for each minimum being connected.
This was produced using CHARMM19 with the following pathdata file:
EXEC /home/csw34/svn/OPTIM/bin/pgi/COPTIM TEMPERATURE 0.592 CHARMM NATOMS 147 ITOL 1.0D0 GEOMDIFFTOL 0.1 EDIFFTOL 1.0D-6 PERMDIST DIRECTION AB COPYFILES perm.allow input.crd PLANCK 9.536D-14 DUMMYRUN SSH CPUS 1 CYCLES 100 UNTRAP 2.0 65.0 1.0D-6 10.0