Difference between revisions of "Perm-prmtop.py"

From CUC3
Jump to navigation Jump to search
import>Em427
import>Em427
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''What it is and why it is important?'''
+
'''What is it and why is it important?'''
   
We have noticed that potential in AMBER9 is not symmetric with respect to permutations of chemically equivalent atoms e.g. hydrogen atoms in amino group in arginine or oxygen atoms in COO group in glutamate. The source of trouble is in definition of IMPROPER angles. We found a suitable order of atoms for all IMPROPER angles. Correction of appropriate source code in AMBER9 is not a trivial job because the atom order is many times sorted according to some rules to speed up the LEaP program which creates the topology file. Instead of this we can correct the definition of IMPROPER angles in the topology file.
+
We have noticed that the AMBER9 potential is not symmetric with respect to permutations of identical atoms e.g. hydrogen atoms in the amino group of Arginine or oxygen atoms in the carboxyl group of Glutamate. The source of the problem is the definition of IMPROPER angles in AMBER. Correction of the appropriate source code in AMBER9 is not a trivial job because the atom order is changed many times and sorted according to some rules that speed up the LEaP program while it creates the topology file. Instead of this we have found a suitable order of atoms for all IMPROPER angles that can correct the definition in the topology file afterwards.
   
For the new topology file the energy is invariant to permutation of such atoms or groups.
+
For the new topology file, the energy is invariant to permutation of the aforementioned atoms or groups :)
   
   
 
'''How does it work?'''
 
'''How does it work?'''
   
Program perm-prmtop.py written in Python reads topology file created by LEaP (program in AMBER package used to prepare topology file), finds wrong defined IMPROPER angles, changes the order of appropriate atoms and finally writes the new topology file.
+
The program ''perm-prmtop.py'' written in Python reads topology file created by LEaP, finds wrongly defined IMPROPER angles, changes the order of appropriate atoms and finally writes the new topology file.
   
   
'''How to use it?'''
+
'''How do I use it?'''
   
./perm-prmtop.py name-of-topology-file name-of-new-topology-file
+
./perm-prmtop.py name-of-topology-file name-of-new-topology-file
   
   
'''Where you can find it?'''
+
'''Where can I find it?'''
   
 
The program can be downloaded [http://www-wales.ch.cam.ac.uk/software.html here].
 
The program can be downloaded [http://www-wales.ch.cam.ac.uk/software.html here].
   
   
'''What do you need to remember?'''
+
'''What do I need to remember?'''
   
1. The program works for amino acids and nucleic residues present in the following AMBER9 libraries: all_amino02.lib, all_aminont02.lib, all_aminoct02.lib, all_nucleic02.lib and should be modified if some other residues need to be corrected.
+
1. The program works for amino and nucleic acid residues present in the ff02 and ff03 AMBER force fields and should be modified if some other residues need to be corrected.
   
2. Names of terminal amino acid residues in topology file created by LEaP are converted to three character format, e.g. NPRO -> PRO therefore you need to rename them before using perm-prmtop.py, e.g. PRO -> NPRO, LYS -> CLYS. In other way these residues will be treated as non terminal ones and e.g. IMPROPER angle defining terminal COO- group still remain wrong.
+
2. The names of terminal amino acid residues in the initial topology file created by LEaP are converted to three character format, e.g. NPRO -> PRO therefore you need to rename them before using perm-prmtop.py, e.g. PRO -> NPRO, LYS -> CLYS. Otherwise these residues will be treated as non terminal ones and e.g. the IMPROPER angle defining the geometry of the terminal COO- group will still be wrong.
   
3. Format of topology file is fixed and for each residue name there are four spaces reserved. If you add C or N to get name of terminal residue, remember to remove a blank space before subsequent name. Here is an example:
+
3. The format of the topology file is fixed and for each residue name there are four spaces reserved. If you add C or N to get name of terminal residue, remember to remove a blank space before subsequent name. Here is an example:
   
original topology file created by LEaP:
+
line from original topology file created by LEaP:
PRO ARG GLY SER HIE MET ARG VAL WAT WAT WAT WAT
+
PRO ARG GLY SER HIE MET ARG LYS WAT WAT WAT WAT
  +
the same line after modification:
modified topology file ready to use as input for perm-prmtop.py:
 
 
NPROARG GLY SER HIE MET ARG CLYSWAT WAT WAT WAT
 
NPROARG GLY SER HIE MET ARG CLYSWAT WAT WAT WAT
  +
  +
4. You might need to change the path that links to the AMBER libraries, this is right at the start of the script.
  +
  +
  +
'''Important'''
  +
  +
The script is available also in version for united atom force field, however in this case more changes is necessary including modifications of AMBER libraries, so we suggest using all-atom representation unless you are really sure that united-atom ff is obligatory.

Latest revision as of 09:19, 20 August 2009

What is it and why is it important?

We have noticed that the AMBER9 potential is not symmetric with respect to permutations of identical atoms e.g. hydrogen atoms in the amino group of Arginine or oxygen atoms in the carboxyl group of Glutamate. The source of the problem is the definition of IMPROPER angles in AMBER. Correction of the appropriate source code in AMBER9 is not a trivial job because the atom order is changed many times and sorted according to some rules that speed up the LEaP program while it creates the topology file. Instead of this we have found a suitable order of atoms for all IMPROPER angles that can correct the definition in the topology file afterwards.

For the new topology file, the energy is invariant to permutation of the aforementioned atoms or groups :)


How does it work?

The program perm-prmtop.py written in Python reads topology file created by LEaP, finds wrongly defined IMPROPER angles, changes the order of appropriate atoms and finally writes the new topology file.


How do I use it?

./perm-prmtop.py  name-of-topology-file  name-of-new-topology-file


Where can I find it?

The program can be downloaded here.


What do I need to remember?

1. The program works for amino and nucleic acid residues present in the ff02 and ff03 AMBER force fields and should be modified if some other residues need to be corrected.

2. The names of terminal amino acid residues in the initial topology file created by LEaP are converted to three character format, e.g. NPRO -> PRO therefore you need to rename them before using perm-prmtop.py, e.g. PRO -> NPRO, LYS -> CLYS. Otherwise these residues will be treated as non terminal ones and e.g. the IMPROPER angle defining the geometry of the terminal COO- group will still be wrong.

3. The format of the topology file is fixed and for each residue name there are four spaces reserved. If you add C or N to get name of terminal residue, remember to remove a blank space before subsequent name. Here is an example:

line from original topology file created by LEaP:

           PRO ARG GLY SER HIE MET ARG LYS WAT WAT WAT WAT

the same line after modification:

           NPROARG GLY SER HIE MET ARG CLYSWAT WAT WAT WAT

4. You might need to change the path that links to the AMBER libraries, this is right at the start of the script.


Important

The script is available also in version for united atom force field, however in this case more changes is necessary including modifications of AMBER libraries, so we suggest using all-atom representation unless you are really sure that united-atom ff is obligatory.