Difference between revisions of "Relaxing existing transition states with new potential and creating new database"
import>Mp466 |
import>Mp466 |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | 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! |
||
− | UNDER CONSTUCTION |
||
− | + | 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. |
|
− | |||
− | There is quite simple way to do it. First you need to extract coordinates of all minima from binary file ''points.min'' and minimize each structure using new potential, and then you have to create new ''points.min'' file. |
||
Line 10: | Line 8: | ||
'''0'''. update potential - in case of [[AMBER]] users it means new topology file |
'''0'''. update potential - in case of [[AMBER]] users it means new topology file |
||
− | '''1'''. create subdirectory '' |
+ | '''1'''. create subdirectory ''relax_ts'' |
− | mkdir |
+ | mkdir relax_ts |
'''2'''. copy some necessary files to that subdirectory: |
'''2'''. copy some necessary files to that subdirectory: |
||
Line 18: | Line 16: | ||
[[AMBER]] users: |
[[AMBER]] users: |
||
− | cp points. |
+ | cp points.ts ts.data odata.start perm.allow coords.prmtop coords.inpcrd ts.in relax_ts |
[[CHARMM]] users: |
[[CHARMM]] users: |
||
− | cp points. |
+ | cp points.ts ts.data odata.start perm.allow input.crd relax_ts |
+ | '''3'''. odata.ts and odata.path needs to be supplied. |
||
− | '''3'''. change name of ''odata.start'' into ''odata'' (the same file is used in BHINTERP calculations, see [http://wwmm.ch.cam.ac.uk/wikis/cuc3/index.php/Using_BHINTERP_to_find_minima_between_two_end_points here]) |
||
− | + | 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: |
'''4'''. [[AMBER]] users: create script ''relax'' as follows: |
||
Line 34: | Line 79: | ||
set count = 1 |
set count = 1 |
||
− | while ($count < 621) |
+ | while ($count <= 621) |
echo NATOMS 3002 > pathdata |
echo NATOMS 3002 > pathdata |
||
echo COPYFILES coords.prmtop coords.inpcrd min.in >> pathdata |
echo COPYFILES coords.prmtop coords.inpcrd min.in >> pathdata |
||
echo AMBER9 >> pathdata |
echo AMBER9 >> pathdata |
||
− | echo |
+ | echo EXTRACTTS $count >> pathdata |
/home/wales/bin/pathsample.2.1 >& pathsample.out |
/home/wales/bin/pathsample.2.1 >& pathsample.out |
||
− | mv |
+ | mv extractedts start |
+ | cp odata.ts odata |
||
⚫ | |||
− | + | (time /home/wales/bin/A9OPTIM.4.0) >& OPTIM.ts.$count |
|
+ | cp odata.path odata |
||
− | head -1 min.data.info >> min.data.check |
||
+ | cp points.final input.crd.ts.$count |
||
+ | cp vector.dump vector.dump.ts.$count |
||
⚫ | |||
+ | cp path.info path.info.$count |
||
+ | |||
@ count +=1 |
@ count +=1 |
||
Line 55: | Line 105: | ||
set count = 1 |
set count = 1 |
||
− | while ($count < 621) |
+ | while ($count <= 621) |
echo NATOMS 3002 > pathdata |
echo NATOMS 3002 > pathdata |
||
echo COPYFILES input.crd >> pathdata |
echo COPYFILES input.crd >> pathdata |
||
echo CHARMM >> pathdata |
echo CHARMM >> pathdata |
||
− | echo |
+ | echo EXTRACTTS $count >> pathdata |
/home/wales/bin/pathsample.2.1 >& pathsample.out |
/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 |
||
− | head -1 min.data.info >> min.data.check |
||
+ | cp points.final input.crd.ts.$count |
||
+ | cp vector.dump vector.dump.ts.$count |
||
⚫ | |||
+ | cp path.info path.info.$count |
||
@ count +=1 |
@ count +=1 |
||
Line 70: | Line 124: | ||
end |
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 |
+ | '''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: |
'''5'''. submit this script to queue on cluster: |
||
Line 79: | Line 133: | ||
./relax |
./relax |
||
− | When finished you get a set of '' |
+ | 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. |
+ | '''6'''. next step: creation new binary file ''points.ts''; you will need new ''pathdata'' file: |
− | READMIN min.data.info.all |
||
NATOMS 3002 |
NATOMS 3002 |
||
TEMPERATURE 0.592 |
TEMPERATURE 0.592 |
||
Line 90: | Line 143: | ||
STARTTRIPLES |
STARTTRIPLES |
||
ADDTRIPLES |
ADDTRIPLES |
||
+ | ADDPATH path.info.all |
||
− | |||
+ | |||
[[AMBER]] users: add to ''pathdata'' file these three lines: |
[[AMBER]] users: add to ''pathdata'' file these three lines: |
||
Line 103: | Line 157: | ||
CHARMM |
CHARMM |
||
− | File '' |
+ | 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. |
+ | '''7'''. remove old ''points.ts'' and ''ts.data'' files, and submit this script to the queue on cluster: |
#PBS -q t1 |
#PBS -q t1 |
||
Line 111: | Line 165: | ||
cd $PBS_O_WORKDIR |
cd $PBS_O_WORKDIR |
||
− | for i in ` |
+ | for i in ` find . -name "path.info.[0-9]*" `; do cat $i>> path.info.all; done |
/home/wales/bin/pathsample.2.1 >& pathsample2.out |
/home/wales/bin/pathsample.2.1 >& pathsample2.out |
||
− | That's all! Now you have new '' |
+ | 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 [http://wwmm.ch.cam.ac.uk/wikis/cuc3/index.php?title=Removing_minima_and_transition_states_from_the_database&action=edit here]. |
Latest revision as of 04:21, 27 January 2009
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.