Relaxing existing transition states with new potential and creating new database

From CUC3
Jump to navigation Jump to search

Sometimes it may happen that you need to change potential. All transition states that you found using previous potential can be relaxed in new potential and you do not need to start your job from the very beginning!

There is quite simple way to do it. First you need to extract coordinates of all TS from binary file points.ts and minimize each structure using new potential, and then you have to create new points.ts file.


Here is a step-by-step recipe:

0. update potential - in case of AMBER users it means new topology file

1. create subdirectory relax_ts

 mkdir relax_ts

2. copy some necessary files to that subdirectory:

AMBER users:

 cp points.ts ts.data odata.start perm.allow coords.prmtop coords.inpcrd ts.in relax_ts

CHARMM users:

 cp points.ts ts.data odata.start perm.allow input.crd relax_ts

3. odata.ts and odata.path needs to be supplied.

odata.ts

  DUMPVECTOR
  DUMPALLPATHS
  NOPOINTS
  NOHESS
  ENDHESS
  ENDNUMHESS
  MAXSTEP 0.1
  TRAD    0.5
  MAXBFGS 0.1
  BFGSMIN 1.0D-7
  PUSHOFF 0.1
  UPDATES 200
  STEPS 2000
  BFGSSTEPS 30000
  BFGSTS 100 10 100 0.002 100
  CHARMM

odata.path

  READVECTOR
  DUMPALLPATHS
  NOPOINTS
  NOHESS
  ENDHESS
  ENDNUMHESS
  PATH 3
  BFGSSTEP
  BFGSMIN
  BFGSTS 500 10 100 0.002 100
  BFGSCONV 1.0D-7
  MAXBFGS 0.1
  CONVERGE 0.01 1.0D-7
  MAXMAX 0.2
  TRAD 0.2
  EDIFFTOL     1.0D-4
  GEOMDIFFTOL  5.0D-1
  MAXERISE    1.0D-4
  PUSHOFF 0.1
  MAXSTEP  0.1
  TRAD     0.5
  MAXMAX   0.4
  BFGSCONV 1.0D-7
  UPDATES 200
  STEPS 1000
  BFGSSTEPS 30000
  AMH

4. AMBER users: create script relax as follows:

 #!/bin/csh
 
 set count = 1
 
 while ($count <= 621)
 
    echo NATOMS 3002 > pathdata
    echo COPYFILES coords.prmtop coords.inpcrd min.in >> pathdata
    echo AMBER9 >> pathdata
    echo EXTRACTTS $count >> pathdata
    /home/wales/bin/pathsample.2.1 >& pathsample.out
    mv extractedts start
    cp odata.ts odata
    (time /home/wales/bin/A9OPTIM.4.0) >& OPTIM.ts.$count
    cp odata.path odata
    cp points.final input.crd.ts.$count
    cp vector.dump vector.dump.ts.$count
    (time /home/wales/bin/A9OPTIM.4.0 ) >& OPTIM.path.$count
    cp path.info path.info.$count
    @ count +=1
 
 end

CHARMM users: create script relax as follows:

 #!/bin/csh
 
 set count = 1
 
 while ($count <= 621)
 
    echo NATOMS 3002 > pathdata
    echo COPYFILES input.crd >> pathdata
    echo CHARMM >> pathdata
    echo EXTRACTTS $count >> pathdata
    /home/wales/bin/pathsample.2.1 >& pathsample.out
    cp odata.ts odata
    (time /home/wales/bin/A9OPTIM.4.0) >& OPTIM.ts.$count
    cp odata.path odata
    cp points.final input.crd.ts.$count
    cp vector.dump vector.dump.ts.$count
    (time /home/wales/bin/A9OPTIM.4.0 ) >& OPTIM.path.$count
    cp path.info path.info.$count
 
    @ count +=1
 
end

NOTE: some values in this script are relevant to my system, like NATOMS=3002, so you need to change it according to atom number of your system. The number of count is equal to number of TS in your database. Paths to executables should be also updated if necessary.

5. submit this script to queue on cluster:

 #PBS -q s1
 
 cd $PBS_O_WORKDIR
 ./relax

When finished you get a set of path.info.* files with coordinates that are optimized using new potential (if you didn't forget to update the force field :)).

6. next step: creation new binary file points.ts; you will need new pathdata file:

 NATOMS        3002
 TEMPERATURE   0.592
 GEOMDIFFTOL   0.1
 TRIPLES
 STARTTRIPLES
 ADDTRIPLES
 ADDPATH       path.info.all 
  

AMBER users: add to pathdata file these three lines:

 EXEC /home/wales/bin/A9OPTIM.4.0
 COPYFILES   perm.allow coords.inpcrd coords.prmtop min.in
 AMBER9

CHARMM users: add to pathdata file these three lines:

 EXEC /home/wales/bin/OPTIM.4.0.31_64
 COPYFILES   perm.allow input.crd
 CHARMM

File path.info.all contains all path.info.* files and you can use cat command to make it easily (as is shown in next step).

7. remove old points.ts and ts.data files, and submit this script to the queue on cluster:

 #PBS -q t1
 
 cd $PBS_O_WORKDIR
 
 for i in ` find . -name "path.info.[0-9]*" `; do cat $i>> path.info.all; done
 /home/wales/bin/pathsample.2.1 >& pathsample2.out

That's all! Now you have new ts.data and points.ts files. Flags -t -r ensure the same order of minima as in previous points.ts file. It is useful because both endpoints should be placed again on the first and second positions and without these flags files can be sorted in a bit different order. Still it is worthy to check where in fact both endpoints are placed in new database. Minimize both endpoints in new potential to get their energies. If energies on first and second positions in new ts.data file correspond to energies of minimized endpoints - it's OK! If not, you need to edit ts.data and points.ts files as is described here.