[gmx-users] position restraints and out of bounds atom index

Alexandre Suman de Araujo asaraujo at if.sc.usp.br
Sat Oct 16 20:41:10 CEST 2010

Hi all

I'm trying to simulate a system with 3 chains (A, H and L).

Pb2gmx gave me 3 .itp files (one for each chain), each one with atom  
number starting from 1, and a .top file with these 3 .itp included. It  
gave me also a .gro file with the 3 chains numbered consecutively (the  
atom number does not restart from 1 for each chain).

With this .gro file I made an index file using make_ndx with 3 groups  
containing the backbone of each chain. With this index file I built 3  
position restraint files with genrestr, one for each chain.

Following the instructions from website, I removed the #ifdef  
POSRES/#include/#endif lines from the end of the .itp file of each  
chain and added them directly in the .top file as shown below:

;	File 'proteina.gro.top' was generated
;	By user: onbekend (0)
;	On host: onbekend
;	At date: Thu Oct 14 14:22:01 2010
;	This is a standalone topology file
;	It was generated using program:
;	pdb2gmx - VERSION 4.5.1
;	Command line was:
;	pdb2gmx -f 2R29CL_original.pdb -o protein.gro -p proteina.gro -his -ignh
;	Force field was read from the standard Gromacs share directory.

; Include forcefield parameters
#include "oplsaa.ff/forcefield.itp"

; Include chain topologies
#include "proteina.gro_Protein_chain_A.itp"
; Include Position restraint file for chain A
#ifdef POSRES
#include "posre_Protein_chain_A.itp"

#include "proteina.gro_Protein_chain_H.itp"
; Include Position restraint file for chain H
#ifdef POSRES
#include "posre_Protein_chain_H.itp"

#include "proteina.gro_Protein_chain_L.itp"
; Include Position restraint file for chain L
#ifdef POSRES
#include "posre_Protein_chain_L.itp"

; Include water topology
#include "oplsaa.ff/tip3p.itp"

; Position restraint for each water oxygen
[ position_restraints ]
;  i funct       fcx        fcy        fcz
    1    1       1000       1000       1000

; Include topology for ions
#include "oplsaa.ff/ions.itp"

[ system ]
; Name
1A1D-2 in water

[ molecules ]
; Compound        #mols
Protein_chain_A     1
Protein_chain_H     1
Protein_chain_L     1
SOL                59
SOL                97
SOL                95
SOL         30308
NA          91
CL          97

When I run a simulation without the "define = -DPOSRES" definition in  
the .mdp file, grompp runs ok. However, when I say in .mdp file to use  
position restraints grompp give me the following error:

Fatal error:
[ file posre_Protein_chain_H.itp, line 334 ]:
Atom index (3221) in position_restraints out of bounds (1-3212).
This probably means that you have inserted topology section  
in a part belonging to a different molecule than you intended to.
In that case move the "position_restraints" section to the right molecule.
For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors

I know that this was already discussed in list but nothing described  
there worked.

It is clear that the problem is due to the different numbering scheme  
of the .gro file and .itp files. The .gro file does not restart the  
numbering scheme when a new chain starts, on the other hand, the .itp  
file of each chain starts from 1 in atom number field. Since the  
position restraint file is generated based on numbering scheme of the  
.gro file, in some cases (my case is one of them) the PR file refers  
to a atom number that does not exists in .itp file.

I think the way to correct this was generate only one .itp file for  
the 3 chains, or one .gro file for each chain and use them to create  
the PR .itp files. However, I don't know how to do any of these 2  
tasks using pdb2gmx.

Could anyone help me with this issue? There is any other program in  
Gromacs package that I should use to fix this problem?

Best regards.

Alexandre Suman de Araujo
Instituto de Física de São Carlos
Universidade de São Paulo
São Carlos - Brasil

Novo Webmail IFSC

More information about the gromacs.org_gmx-users mailing list