Monday 29 April 2013

BUG in AMBER tleap impose command (which is used to assign torsion angles)

Here is my new post regarding bug in AMBER t-leap impose command.

AMBER (Assisted Model Building with Energy Refinement http://ambermd.org/) is a package of molecular simulation programs. 

tleap is program for generating input files for sander which does molecular dynamics.

In tleap there is a command "impose" which is used to assign torsion angles (backbone torsion angles phi, psi and omega & side chain torsion angles chi1, chi2, chi3, chi4 and chi5).

Impose command has a bug in assigning phi torsion angle to residues in a protein. All other angles (psi, omega and chi1 to chi5) are assigned correctly but phi angle is not assigned as per "impose" command instructions.

I have personally tested it in amber6, amber9 and amber11

Don't believe me....... have a look at this:

1- take any pdb file (e.g. 2a1c.pdb http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=2A1C)
2- run dssp program (http://swift.cmbi.ru.nl/gv/dssp/) to obtain phi and psi torsion angles of the residues in protein 2a1c.pdb

output from dssp program having phi and psi angle values of residues of protein 2a1c.pdb


3- make input file (2a1c_input.txt) for amber impose command (e.g. given below)


source /softwares/amber9/dat/leap/cmd/leaprc.ff99SB
input1=sequence { GLU MET ARG LEU SER LYS PHE PHE ARG ASP PHE ILE LEU GLN ARG LYS LYS }
impose input1 { 1 }{
{ C N CA C 360.0 }
{ N CA C N 168.5 }
}
impose input1 { 2 }{
{ C N CA C -134.2 }
{ N CA C N 153.9 }
}
impose input1 { 3 }{
{ C N CA C -154.9 }
{ N CA C N -57.9 }
}
impose input1 { 4 }{
{ C N CA C -109.2 }
{ N CA C N 112.7 }
}
impose input1 { 5 }{
{ C N CA C -161.4 }
{ N CA C N -54.3 }
}
impose input1 { 6 }{
{ C N CA C -68.7 }
{ N CA C N -45.1 }
}
impose input1 { 7 }{
{ C N CA C -79.3 }
{ N CA C N -36.2 }
}
impose input1 { 8 }{
{ C N CA C -59.8 }
{ N CA C N -49.0 }
}
impose input1 { 9 }{
{ C N CA C -78.0 }
{ N CA C N -19.9 }
}
impose input1 { 10 }{
{ C N CA C -65.7 }
{ N CA C N -15.9 }
}
impose input1 { 11 }{
{ C N CA C -127.5 }
{ N CA C N -43.7 }
}
impose input1 { 12 }{
{ C N CA C -48.9 }
{ N CA C N -40.1 }
}
impose input1 { 13 }{
{ C N CA C -48.9 }
{ N CA C N -28.4 }
}
impose input1 { 14 }{
{ C N CA C -86.7 }
{ N CA C N 119.1 }
}
impose input1 { 15 }{
{ C N CA C -60.8 }
{ N CA C N -52.5 }
}
impose input1 { 16 }{
{ C N CA C -40.4 }
{ N CA C N 151.1 }
}
impose input1 { 17 }{
{ C N CA C 64.1 }
{ N CA C N 360.0 }
}
savePdb input1 2a1c_amber.pdb
quit

4 - run the amber tleap using following command

/home/softwares/amber9/exe/tleap -f 2a1c_input.txt

5 - it will make pdb file "2a1c_amber.pdb"
     now again run dssp program on this pdb file generated by amber to obtain phi and psi torsion angle values so as to verify that the assignment of torsion angles by impose command is correct or not.


6 - finally you can see output of dssp program on file "2a1c_amber.pdb"



Now you can easily notice that psi torsion angle is assigned correctly for each residue by "impose" command
of tleap in amber but in case of phi torsion angle, the original phi angle of 2nd residue is assigned to 3rd residue, similarly phi angle of 3rd residue is assigned to 4th residue and so on.

Therefore next time you need to use "impose" command, make sure that you make the input file accordingly.

I am including a perl script to automatically make correct input file (for correct assignment of phi and psi torsion angles using impose command) for amber tleap.

Name of perl script --> "amberinput_correct.pl"

it takes following file as input (file needs to be in comma seperated format).

MET,-92.261,42.349,179.956,-79.600,-143.867,97.058,0.000,0.000
ARG,-60.490,-37.459,178.491,73.200,85.064,59.248,64.364,0.052
LEU,-45.619,-55.964,-179.725,177.899,92.948,0.000,0.000,0.000
SER,-58.740,-43.690,179.500,-131.476,0.000,0.000,0.000,0.000
LYS,-59.518,-20.752,179.997,73.929,-89.235,-171.787,0.000,0.000
PHE,-62.516,-32.520,178.026,-171.450,77.144,0.000,0.000,0.000
PHE,-62.774,-41.942,-179.640,-95.042,-61.381,0.000,0.000,0.000
ARG,-62.916,-39.455,164.120,-167.598,-171.967,-169.831,-89.091,0.622
ASP,-64.493,-38.850,179.088,-83.319,70.848,0.000,0.000,0.000
PHE,-76.828,-57.613,-179.181,-128.760,63.698,0.000,0.000,0.000
ILE,-58.067,-40.753,-179.905,-59.590,0.000,0.000,0.000,0.000
LEU,-62.736,-39.050,169.686,-67.930,167.826,0.000,0.000,0.000
GLN,-58.359,-48.275,178.854,-89.780,57.306,143.627,0.000,0.000
ARG,-65.779,-51.679,178.381,-176.228,-179.895,68.643,-152.713,-115.879
LYS,-80.141,56.822,179.909,-168.280,-177.009,134.177,0.000,0.000

column 1 --> 3 letter amino acid code
column 2-9 --> torsion angle values of phi, psi, omega, chi1, chi2, chi3, chi4, chi5

suppose the above file has name 2a1cA.tors

make a file with name "list" which contains the name of above file i.e. 2a1cA.tors
such that linux command "cat list" gives output as "2a1cA.tors"

now run perl program "amberinput_correct.pl" with following arguments

perl amberinput_correct.pl list

it will give the input file "2a1cA.tors.input" for amber tleap

Download "amberinput_correct.pl" perl program --> CLICK HERE to download

--
Sandeep Singh
Research Fellow
Bioinformatics Center
Institute of Microbial Technology (IMTECH)
Chandigarh, India

No comments:

Post a Comment