Relaxing existing transition states with new potential and creating new database
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.