ERROR 1 [file strong_posre.itp, line 4414] INQUIRY

GROMACS version: 2022.1
GROMACS modification: No
Here post your question:

Hello and thank you for considering this:):

For the below subsection:

Membrane Protein: KALP15 in DPPC

Step Three: Defining the Unit Cell & Adding Solvent

2. Pack the lipids around the protein

I input the below command:

gmx grompp -f minim_inflategro.mdp -c system_inflated.gro -p topol.top -r system_inflated.gro -o system_inflated_em.tpr

and received the following:
ERROR 1 [file strong_posre.itp, line 4414]:
Atom index (4410) in position_restraints out of bounds (1-4409).
This probably means that you have inserted topology section
“position_restraints”
in a part belonging to a different molecule than you intended to.
In that case move the “position_restraints” section to the right molecule.

PREVIOUSLY I HAD ADJUSTED MY TOPOL.TOP TO THE BELOW:
;
; File ‘topol.top’ was generated
; By user: joelsubach (501)
; On host: Joels-MacBook-Air.local
; At date: Sun Jun 12 20:26:45 2022
;
; This is a standalone topology file
;
; Created by:
; :-) GROMACS - gmx pdb2gmx, 2022.1 (-:
;
; Executable: /usr/local/bin/gmx
; Data prefix: /usr/local
; Working dir: /Users/joelsubach/Desktop/Panx1_i
; Command line:
; gmx pdb2gmx -f GalaxyPanx1_Seq.pdb -o GalaxyPanx1_Seq.pdb_processed.gro -ignh -ter -water spc
; Force field was read from the standard GROMACS share directory.
;

; Include forcefield parameters
#include “gromos53a6_lipid.ff/forcefield.itp”

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#include “topol_Protein_chain_B.itp”
#include “topol_Protein_chain_C.itp”
#include “topol_Protein_chain_D.itp”
#include “topol_Protein_chain_E.itp”
#include “topol_Protein_chain_F.itp”
#include “topol_Protein_chain_G.itp”

; Strong position restraints for InflateGRO
#ifdef STRONG_POSRES
#include “strong_posre.itp”
#endif

; Include DPPC chain topology
#include “dppc.itp”

; Include water topology
#include “gromos53a6.ff/spc.itp”

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

; Include topology for ions
#include “gromos53a6.ff/ions.itp”

[ system ]
; Name
Protein

[ molecules ]
; Compound #mols
Protein_chain_A 1
Protein_chain_B 1
Protein_chain_C 1
Protein_chain_D 1
Protein_chain_E 1
Protein_chain_F 1
Protein_chain_G 1
DPPC 108

Please let me know if the problem is how i placed my strong position restraints and if so how would amend this?

Thanks:)
Joel

https://manual.gromacs.org/current/user-guide/run-time-errors.html#atom-index-n-in-position-restraints-out-of-bounds

If you’re trying to restrain multiple chains, you have to generate multiple restraint files, and you cannot use global atom numbering (see the help info from genrestr).

Hi Justin thank you for your kind update, i changed each accordingly:

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_A.itp”
#endif

and it functioned

but I am now getting this new error:

Fatal error:
number of coordinates in coordinate file (system_inflated.gro, 41663)
does not match topology (topol.top, 36263)

im not sure if this problem is connected to my topol.top that reformatted below:

;
; File ‘topol.top’ was generated
; By user: joelsubach (501)
; On host: Joels-MacBook-Air.local
; At date: Sun Jun 12 20:26:45 2022
;
; This is a standalone topology file
;
; Created by:
; :-) GROMACS - gmx pdb2gmx, 2022.1 (-:
;
; Executable: /usr/local/bin/gmx
; Data prefix: /usr/local
; Working dir: /Users/joelsubach/Desktop/Panx1_i
; Command line:
; gmx pdb2gmx -f GalaxyPanx1_Seq.pdb -o GalaxyPanx1_Seq.pdb_processed.gro -ignh -ter -water spc
; Force field was read from the standard GROMACS share directory.
;

; Strong position restraints for InflateGRO
; Include forcefield parameters
#include “gromos53a6_lipid.ff/forcefield.itp”

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_A.itp”
#endif

#include “topol_Protein_chain_B.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_B.itp”
#endif

#include “topol_Protein_chain_C.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_C.itp”
#endif

#include “topol_Protein_chain_D.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_D.itp”
#endif

#include “topol_Protein_chain_E.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_E.itp”
#endif

#include “topol_Protein_chain_F.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_F.itp”
#endif

#include “topol_Protein_chain_G.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_G.itp”
#endif

; Include DPPC chain topology
#include “dppc.itp”

; Include water topology
#include “gromos53a6.ff/spc.itp”

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

; Include topology for ions
#include “gromos53a6.ff/ions.itp”

[ system ]
; Name
Protein

[ molecules ]
; Compound #mols
Protein_chain_A 1
Protein_chain_B 1
Protein_chain_C 1
Protein_chain_D 1
Protein_chain_E 1
Protein_chain_F 1
Protein_chain_G 1
DPPC 108

41663 - 36263 = 5400
5400 / 50 (# of atoms in UA DPPC) = 108

Sounds like your coordinate file has 108 more lipids than the topology says it does. Did you copy the lipid coordinates twice, perhaps?

This error is always a problem with bookkeeping. If you’re doing manual edits of a topology, you have to make sure everything is consistent after each change you make.

Hi Justin thank you for your kind update:).

I back tracked a bit to make sure that i completed the prior steps correctly.

For the below step:

2. Pack the lipids around the protein

cat KALP_newbox.gro dppc128_whole.gro > system.gro

Remove unnecessary lines (the box vectors from the KALP structure, the header information from the DPPC structure) and update the second line of the coordinate file (total number of atoms) accordingly.

would this above amendment be done to just the system.gro file generated or a different or another file as well? (I believe its inferred that this would be done to just the system.gro file generated but im not sure.). Thanks:)

Just system.gro. It’s the only time you make any manual edits to the coordinate file.

Hi Justin thanks a bunch, I will adjust this file and run it again:).

I had adjusted my topology.top strong position restraints using the below template:

#include “topol_A.itp”
#ifdef POSRES
#include “posre_A.itp”
#endif

#include “topol_B.itp”
#ifdef POSRES
#include “posre_B.itp”
#endif

#include “ligand.itp”
#ifdef POSRES
#include “ligand_posre.itp”
#endif

creating my topol.top below:

;
; File ‘topol.top’ was generated
; By user: joelsubach (501)
; On host: Joels-MacBook-Air.local
; At date: Thu Jun 23 20:20:27 2022
;
; This is a standalone topology file
;
; Created by:
; :-) GROMACS - gmx pdb2gmx, 2022.1 (-:
;
; Executable: /usr/local/bin/gmx
; Data prefix: /usr/local
; Working dir: /Users/joelsubach/Desktop/Membrane_Protein
; Command line:
; gmx pdb2gmx -f GalaxyPanx1_Seq.pdb -o GalaxyPanx1_Seq_processed.gro -ignh -ter -water spc
; Force field was read from the standard GROMACS share directory.
;
; Strong position restraints for InflateGRO
; Include forcefield parameters
#include “gromos53a6_lipid.ff/forcefield.itp”

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_A.itp”
#endif

#include “topol_Protein_chain_B.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_B.itp”
#endif

#include “topol_Protein_chain_C.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_C.itp”
#endif

#include “topol_Protein_chain_D.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_D.itp”
#endif

#include “topol_Protein_chain_E.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_E.itp”
#endif

#include “topol_Protein_chain_F.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_F.itp”
#endif

#include “topol_Protein_chain_G.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_G.itp”
#endif

; Include DPPC chain topology
#include “dppc.itp”

; Include water topology
#include “gromos53a6_lipid.ff/spc.itp”

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

; Include topology for ions
#include “gromos53a6_lipid.ff/ions.itp”

[ system ]
; Name
Protein

[ molecules ]
; Compound #mols
Protein_chain_A 1
Protein_chain_B 1
Protein_chain_C 1
Protein_chain_D 1
Protein_chain_E 1
Protein_chain_F 1
Protein_chain_G 1

DPPC 108

But regardless received the below error:

Fatal error:
Invalid delimiter for filename in #include statement - File topol.top, line 24
Last line read:
#include “topol_Protein_chain_A.itp”’

In this case what is the invalid delimiter? (I tried googling this and also could not find this topic
problem on this forum.). Thanks:)

You’re probably using a rich-text editor and getting stylized " " instead of plain text. Make sure to only ever use a plain-text editor like VIM or Emacs when editing files for GROMACS.

Hello thank you for your kind update for amending the text editor from rich, this functioned.

However, I am now getting the below error.

Fatal error:
Topology include file “strong_posre_Protein_chain_A.itp” not found

but I believe I amended my topol.top appropriately for multiple chains, please see below:

;
; File ‘topol.top’ was generated
; By user: joelsubach (501)
; On host: Joels-MacBook-Air.local
; At date: Fri Jun 24 19:42:53 2022
;
; This is a standalone topology file
;
; Created by:
; :-) GROMACS - gmx pdb2gmx, 2022.1 (-:
;
; Executable: /usr/local/bin/gmx
; Data prefix: /usr/local
; Working dir: /Users/joelsubach/Desktop/Panx1_Membrane_Protein
; Command line:
; gmx pdb2gmx -f GalaxyPanx1_Seq.pdb -o GalaxyPanx1_Seq_processed.gro -ignh -ter -water spc
; Force field was read from the standard GROMACS share directory.
;

; Include forcefield parameters
#include “gromos53a6_lipid.ff/forcefield.itp”

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_A.itp”
#endif

#include “topol_Protein_chain_B.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_B.itp”
#endif

#include “topol_Protein_chain_C.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_C.itp”
#endif

#include “topol_Protein_chain_D.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_D.itp”
#endif

#include “topol_Protein_chain_E.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_E.itp”
#endif

#include “topol_Protein_chain_F.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_F.itp”
#endif

#include “topol_Protein_chain_G.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_G.itp”
#endif

; Include DPPC chain topology
#include “dppc.itp”

; Include water topology
#include “gromos53a6_lipid.ff/spc.itp”

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

; Include topology for ions
#include “gromos53a6_lipid.ff/ions.itp”

[ system ]
; Name
Protein

[ molecules ]
; Compound #mols
Protein_chain_A 1
Protein_chain_B 1
Protein_chain_C 1
Protein_chain_D 1
Protein_chain_E 1
Protein_chain_F 1
Protein_chain_G 1

DPPC 108

Maybe in this case I must create multiple strong_posre.itp files each corresponding to each chain i.e. strong_posre_Protein_chain_A.itp etc.? (Currently I only have strong_posre.itp within my working folder.)

Thanks if anybody can assist:)

You can only refer to files that actually exist. You can’t expect grompp to read your mind and make up files :)

Hi Justin thank you for your kind update, ill update those files accordingly and
critically think before I inquire in the future to manage your time, thanks again:)

Hello Justin sorry for this inconvenience on this same topic, however, I have spent a considerable amount of time on this one step and have juggled around multiple formats in titling my topol.top file and am still getting errors, this command and error reads respectively:

Command line:
gmx grompp -f minim_inflategro.mdp -c system_inflated.gro -p topol.top -r system_inflated.gro -o system_inflated_em.tpr

Ignoring obsolete mdp entry ‘ns_type’

NOTE 1 [file minim_inflategro.mdp]:
With Verlet lists the optimal nstlist is >= 10, with GPUs >= 20. Note
that with the Verlet scheme, nstlist has no effect on the accuracy of
your simulation.

Setting the LD random seed to 752811709

Generated 837 of the 2346 non-bonded parameter combinations

WARNING 1 [file topol_Protein_chain_A.itp, line 27683]:
The GROMOS force fields have been parametrized with a physically
incorrect multiple-time-stepping scheme for a twin-range cut-off. When
used with a single-range cut-off (or a correct Trotter
multiple-time-stepping scheme), physical properties, such as the density,
might differ from the intended values. Since there are researchers
actively working on validating GROMOS with modern integrators we have not
yet removed the GROMOS force fields, but you should be aware of these
issues and check if molecules in your system are affected before
proceeding. Further information is available at
GROMACS can not reproduce properties with the GROMOS force fields - Redmine #2884 (#2884) · Issues · GROMACS / GROMACS · GitLab, and a longer
explanation of our decision to remove physically incorrect algorithms can
be found at On The Importance of Accurate Algorithms for Reliable Molecular Dynamics Simulations | Theoretical and Computational Chemistry | ChemRxiv | Cambridge Open Engage .


Program: gmx grompp, version 2022.1
Source file: src/gromacs/gmxpreprocess/grompp.cpp (line 636)

Fatal error:
No molecules were defined in the system

For more information and tips for troubleshooting, please check the GROMACS
website at Common Errors — GROMACS webpage https://www.gromacs.org documentation

And I had adjusted my topol.top file to the following:

;
; File ‘topol.top’ was generated
; By user: joelsubach (501)
; On host: Joels-MacBook-Air.local
; At date: Fri Jun 24 19:42:53 2022
;
; This is a standalone topology file
;
; Created by:
; :-) GROMACS - gmx pdb2gmx, 2022.1 (-:
;
; Executable: /usr/local/bin/gmx
; Data prefix: /usr/local
; Working dir: /Users/joelsubach/Desktop/Panx1_Membrane_Protein
; Command line:
; gmx pdb2gmx -f GalaxyPanx1_Seq.pdb -o GalaxyPanx1_Seq_processed.gro -ignh -ter -water spc
; Force field was read from the standard GROMACS share directory.
;

; Include forcefield parameters
#include “gromos53a6_lipid.ff/forcefield.itp”

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#ifdef POSRES
#include “posre_Protein_chain_A.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_A.itp”
#endif

#include “topol_Protein_chain_B.itp”
#ifdef POSRES
#include “posre_Protein_chain_B.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_B.itp”
#endif

#include “topol_Protein_chain_C.itp”
#ifdef POSRES
#include “posre_Protein_chain_C.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_C.itp”
#endif

#include “topol_Protein_chain_D.itp”
#ifdef POSRES
#include “posre_Protein_chain_D.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_D.itp”
#endif

#include “topol_Protein_chain_E.itp”
#ifdef POSRES
#include “posre_Protein_chain_E.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_E.itp”
#endif

#include “topol_Protein_chain_F.itp”
#ifdef POSRES
#include “posre_Protein_chain_F.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_F.itp”
#endif

#include “topol_Protein_chain_G.itp”
#ifdef POSRES
#include “posre_Protein_chain_G.itp”
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_G.itp”
#endif

; Include DPPC chain topology
#include “dppc.itp”

; Include water topology
#include “gromos53a6_lipid.ff/spc.itp”

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

; Include topology for ions
#include “gromos53a6_lipid.ff/ions.itp”

[ system ]
; Name
Protein

[ molecules ]
; Compound #mols
Protein_chain_A 1
Protein_chain_B 1
Protein_chain_C 1
Protein_chain_D 1
Protein_chain_E 1
Protein_chain_F 1
Protein_chain_G 1

DPPC 108

And my Working Folder for this program contains the following:

I understand that this is an oligomer and may require a greater amount of analysis, accordingly I will continue to try and solve this since this may take up too much of your time, Best, Joel

(I just made 7-copies of the strong posre restraints and named them A-G.)

Every #ifdef needs a corresponding #endif otherwise the topology simply doesn’t get parsed properly.

Hi Justin thank you for your kind update once more:).

Accordingly I had simply adjusted my topol.top file to the following:

;
; File ‘topol.top’ was generated
; By user: joelsubach (501)
; On host: Joels-MacBook-Air.local
; At date: Fri Jun 24 19:42:53 2022
;
; This is a standalone topology file
;
; Created by:
; :-) GROMACS - gmx pdb2gmx, 2022.1 (-:
;
; Executable: /usr/local/bin/gmx
; Data prefix: /usr/local
; Working dir: /Users/joelsubach/Desktop/Panx1_Membrane_Protein
; Command line:
; gmx pdb2gmx -f GalaxyPanx1_Seq.pdb -o GalaxyPanx1_Seq_processed.gro -ignh -ter -water spc
; Force field was read from the standard GROMACS share directory.
;

; Include forcefield parameters
#include “gromos53a6_lipid.ff/forcefield.itp”

; Include chain topologies
#include “topol_Protein_chain_A.itp”
#ifdef POSRES
#include “posre_Protein_chain_A.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_A.itp”
#endif

#include “topol_Protein_chain_B.itp”
#ifdef POSRES
#include “posre_Protein_chain_B.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_B.itp”
#endif

#include “topol_Protein_chain_C.itp”
#ifdef POSRES
#include “posre_Protein_chain_C.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_C.itp”
#endif

#include “topol_Protein_chain_D.itp”
#ifdef POSRES
#include “posre_Protein_chain_D.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_D.itp”
#endif

#include “topol_Protein_chain_E.itp”
#ifdef POSRES
#include “posre_Protein_chain_E.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_E.itp”
#endif

#include “topol_Protein_chain_F.itp”
#ifdef POSRES
#include “posre_Protein_chain_F.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_F.itp”
#endif

#include “topol_Protein_chain_G.itp”
#ifdef POSRES
#include “posre_Protein_chain_G.itp”
#endif
#ifdef STRONG_POSRES
#include “strong_posre_Protein_chain_G.itp”
#endif

; Include DPPC chain topology
#include “dppc.itp”

; Include water topology
#include “gromos53a6_lipid.ff/spc.itp”

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

; Include topology for ions
#include “gromos53a6_lipid.ff/ions.itp”

[ system ]
; Name
Protein

[ molecules ]
; Compound #mols
Protein_chain_A 1
Protein_chain_B 1
Protein_chain_C 1
Protein_chain_D 1
Protein_chain_E 1
Protein_chain_F 1
Protein_chain_G 1

DPPC 108

and again input the below command:
Command line:
** gmx grompp -f minim_inflategro.mdp -c system_inflated.gro -p topol.top -r system_inflated.gro -o system_inflated_em.tpr**

and am now getting the below error:

ERROR 1 [file strong_posre_Protein_chain_A.itp, line 4414]:
Atom index (4410) in position_restraints out of bounds (1-4409).
This probably means that you have inserted topology section
“position_restraints”
in a part belonging to a different molecule than you intended to.
In that case move the “position_restraints” section to the right molecule.

with my strong_posre_Protein_chain_A.itp exhibiting the following:

4401 1 100000 100000 100000
4402 1 100000 100000 100000
4403 1 100000 100000 100000
4404 1 100000 100000 100000
4405 1 100000 100000 100000
4406 1 100000 100000 100000
4407 1 100000 100000 100000
4408 1 100000 100000 100000
4409 1 100000 100000 100000
4410 1 100000 100000 100000
4411 1 100000 100000 100000
4412 1 100000 100000 100000
4413 1 100000 100000 100000
4414 1 100000 100000 100000
4415 1 100000 100000 100000
4416 1 100000 100000 100000
4417 1 100000 100000 100000
4418 1 100000 100000 100000
4419 1 100000 100000 100000
4420 1 100000 100000 100000

this may be something requiring deeper analysis since it is an oligomer accordingly if it is something that you can superficially glance at to discover what my error is feel free to let me know but if it is something requiring deeper analysis sorry to have emailed since I do not want to take up your valuable time and I will work on this on my end, Best, Joel

Hi Justin thank you again for this past answer and again I received this same error after correcting my later other coordinate file not matching topology. For this command I did not need to copy the lipids since to my understanding the command:

perl inflategro.pl system.gro 4 DPPC 14 system_inflated.gro 5 area.dat

should of generated the correct number of lipids. Below is a more detailed link to my issue (I freshly re-posted for other members to manage your time) and moreover I amended my system_inflated.gro to match the topol.top file but received more errors, thanks if you can help.
(I will try and google this exact error more since I could not find this particular error in the past forum.)