[gmx-users] where to insert a new include DPOSRES in topology file?

Justin A. Lemkul jalemkul at vt.edu
Fri Feb 18 12:48:42 CET 2011

Anna Marabotti wrote:
> Dear all,
> I would like to do a position restraint MD by applying position 
> restraints not only to my protein but also to its ligand. In order to do 
> it, I created with genrestr a new protligposre.itp file in which I 
> indicated the group to be restrained as Protein_lig. In this 
> protligposre.itp file, therefore, there are restraints on the protein 
> and on the ligand together.
> Then, I modified the .top file in order to include the statement for the 
> position restraints. I tried to modify first the usual statement:
> #ifdef POSRES
> #include 'posre.itp'
> #endif
> to
> #include 'protligposre.itp'
> #endif
> (obviously, in my .mdp file I have the statement define = -DPOSRES_PROTLIG)
> Since it did not work, I used:
> #ifdef POSRES
> #include "protligposre.itp"
> #endif
> (obviously, the statement in the .mdp file was modified to -DPOSRES)
> Then, I tried to ADD (not to replace) a new
> #include "protligposre.itp"
> #endif
> and I tried all the positions in the .top file.
> Every time, I obtained an error stating:
> Fatal error:
> [file protligposre.itp, line 2822 (this number changes every time I 
> change the position of the statement in the .top file)
> Atom index (2818) in position_restraints out of bounds (1-2817).
> This probably means that you have inserted topology section 
> "position_restraints" in a part belonging to a different molecule that 
> you intended to. In that case, move the "position_restraints" section to 
> the right molecule.
> I really don't know what is the correct position for this statement, 
> since I tried all position that I could, starting just below the already 
> present statement!
> Moreover, another doubt I have is: is it correct to include protein and 
> ligand in the same posre.itp file? In case it is not correct, what is 
> the correct position in the .top file to insert the ligposre.itp file 
> (the file containing position restraints for ligand only)? Please 
> consider that in my .top file the topology of the ligand was added with 
> the statement
> #include "lig.itp"
> just below the statement for the forcefield.

Position restraints are applied on a per-moleculetype basis, hence why you're 
getting an "out of bounds" error - the posre.itp file specifies more atoms than 
are in your "Protein" moleculetype.  There are two possible solutions:

1. Merge the moleculetypes of Protein and Ligand (i.e., re-write the topology - 
2. Make a separate posre.itp file for the ligand only.

There is an example of #2 on the Gromacs site (most errors are described and 
solved there):



> Thank you very much
> Anna
> __________________________________________________________________
> Anna Marabotti, Ph.D.
> Laboratory of Bioinformatics and Computational Biology
> Institute of Food Science - CNR
> Via Roma, 64
> 83100 Avellino
> Phone: +39 0825 299651
> Fax: +39 0825 781585
> E-mail: amarabotti at isa.cnr.it <mailto:amarabotti at isa.cnr.it>
> Skype account: annam1972
> Web site: http://bioinformatica.isa.cnr.it/anna/anna.htm
> "When a man with a gun meets a man with a pen, the man with the gun is a 
> dead man"


Justin A. Lemkul
Ph.D. Candidate
ICTAS Doctoral Scholar
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080


More information about the gromacs.org_gmx-users mailing list