Using BHINTERP to find minima between two end points

From CUC3
Jump to navigation Jump to search

When using AMBER


On the beginning you need to have two optimized structures which are called endpoints. Often they are initial and final structures of studied path or reaction (however, here reaction means geometrical change in the system, not breaking and forming new bonds).


What files do you need to find a path connecting both endpoints?

1. coords.inpcrd -- file with coordinates in AMBER9 format (it can contain geometry of one of the endpoints, no matter which one)

2. coords.prmtop -- AMBER9 topology file prepared according to information presented here, while some very useful tutorials how to get topology file are presented here

3. min.in - file with AMBER9 keywords describing the conditions for AMBER minimization of the studied system (but with only one cycle, just to calculate the energy), e.g.:

 Minimization
 &cntrl
    imin=1, maxcyc=1, ncyc=1,
    igb=2, saltcon=0.2,
    ntx=1, ntb=0,
    cut=15.0, rgbmax=12.0, ifswitch=1
  /

4. start -- file with x, y, z coordinates of the first endpoint (just plain numbers, without atom names or types as is in xyz format!)

5. finish -- file with x, y, z coordinates of the second endpoint

6. start.1 which is a copy of start

7. finish.2 -- a copy of finish

8. odata.start -- file with keywords for optimizing start file, eg.:

  EDIFFTOL    1.0D-6
  GEOMDIFFTOL 0.1
  BFGSMIN     1.0D-6
  MAXERISE    1.0D-4 1.0D-2
  BFGSSTEPS   1000
  MAXBFGS     0.3
  DUMPDATA
  NOFRQS
  AMBER9 start
  POINTS

9. odata.finish -- file with keywords for optimizing finish file, e.g.:

  EDIFFTOL    1.0D-6
  GEOMDIFFTOL 0.1
  BFGSMIN     1.0D-6
  MAXERISE    1.0D-4 1.0D-2
  BFGSSTEPS   1000
  MAXBFGS     0.3
  DUMPDATA
  NOFRQS
  AMBER9 finish
  POINTS

10. odata.bhinterp -- file with OPTIM keywords specifying method of searching of minima, convergence criterion, etc. e.g.:

  MAXBFGS     1.0
  MAXERISE    1.0D-4
  EDIFFTOL    1.0D-6
  GEOMDIFFTOL 0.1
  BFGSMIN     1.0D-6
  BFGSSTEPS   10000
  NOFRQS
  DUMPDATA
  PERMDIST
  CHECKCHIRALITY
  NOCISTRANS
  AMBER9 start
  POINTS

NOFRQS is specially useful for large system, a few thousands atoms, where calculation of frequencies is too time consuming. For smaller system you can use ENDHESS or ENDNUMHESS or NOHESS or...

11. pathdata -- in this file all necessary PATHSAMPLE keywords should be put:

  EXEC /home/wales/bin/A9OPTIM.4.0
  TEMPERATURE 0.592
  NATOMS      2923
  TRIPLES
  ADDTRIPLES
  JOBSPERNODE 1
  CYCLES      1000
  ITOL        1.0D0
  GEOMDIFFTOL 0.1
  EDIFFTOL    1.0D-6
  PERMDIST
  DIJINITSTART EXP
  COPYOPTIM
  COPYFILES perm.allow min.in coords.inpcrd coords.prmtop
  COMMENT  thresh  maxe     BHsteps    RMS   T    step-size accrat   K   sfrac
  BHINTERP    5   -9100.0      1      0.01  1.00    0.4      0.5   10.0   0.5
  CHECKCHIRALITY
  NOCISTRANS
  AMBER9

Take care to change path to executable file (if necessary), values of NATOMS and maxe (the second parameter in BHINTERP, it should/can be about 200 smaller than energies of both endpoints). Line 'JOBSPERNODE 1' is necessary for parallel jobs, however you can also use CPUS. Usage of PERMDIST requires file perm.allow in the same directory.

12. perm.allow -- file with list of atoms that may be permuted. Information how to get this file you can find here.


How to restart job?

If you have some minima stored in points.min file and you would like to increase their number, change 'DIJINITSTART EXP' into 'DIJINITCONT EXP'. That allows you to continue searching for minima. But if you restart your job with 'DIJINITSTART EXP' - you lost all minima you have found before, because file points.min will be overwrite! Update: new version of PATHSAMPLE does not overwrite this file, just stops with warning.