[gmx-users] position restraints on backbone: index error
morpheus
morpheus.sommer2008 at gmail.com
Tue Mar 5 13:12:52 CET 2019
Thanks for your answer!
I have followed your advice and generated the position restraint files for
each chain but it still comes up with an index error:
##################
Fatal error:
[ file 2bnr_SLLDWITQV_dist_1.0.posre_Protein_chain_B.itp, line 5 ]:
Atom index (2975) in position_restraints out of bounds (1-1111).
##################
What I have done was the following:
1) Create an index file from based on a pdb file that is the first frame
of the warming up procedure (where all atoms are position restrained (and
this works fine)):
##################
make_ndx_mpi -f 2bnr_SLLDWITQV_dist_1.0.firstFrame.pr.pdb -o
2bnr_SLLDWITQV_dist_1.0.indexForPositionRestraints.ndx
chain A & 4
chain B & 4
chain C & 4
chain D & 4
chain E & 4
##################
2) Create 1 itp file for each chain (example for chain A is given below):
##################
genrestr_mpi -f 2bnr_SLLDWITQV_dist_1.0.pdb -n
2bnr_SLLDWITQV_dist_1.0.indexForPositionRestraints.ndx -o
2bnr_SLLDWITQV_dist_1.0.posre_Protein_chain_A.itp
11
##################
3) In the top file "2bnr_SLLDWITQV_dist_1.0_Protein_chain_A.itp" (and the 5
others) are included. They contain the indexes of all atoms. This file
looks like this:
##################
[ moleculetype ]
; Name nrexcl
Protein_chain_A 3
[ atoms ]
; nr type resnr residue atom cgnr charge mass
typeB chargeB massB
; residue 1 GLY rtp GLY q +1.0
1 MNH3 1 GLY MN1 1 0 8.51535 ;
qtot 0
2 MNH3 1 GLY MN2 1 0 8.51535 ;
qtot 0
3 NL 1 GLY N 1 0.129 0 ;
qtot 0.129
4 H 1 GLY H1 1 0.248 0 ;
qtot 0.377
5 H 1 GLY H2 1 0.248 0 ;
qtot 0.625
6 H 1 GLY H3 1 0.248 0 ;
qtot 0.873
7 CH2 1 GLY CA 2 0.127 14.027 ;
qtot 1
8 C 1 GLY C 3 0.45 12.011 ;
qtot 1.45
9 O 1 GLY O 3 -0.45 15.9994 ;
qtot 1
; residue 2 SER rtp SER q 0.0
10 N 2 SER N 4 -0.31 15.0147 ;
qtot 0.69
11 H 2 SER H 4 0.31 0 ;
qtot 1
12 CH1 2 SER CA 5 0 13.019 ;
qtot 1
13 CH2 2 SER CB 6 0.266 14.027 ;
qtot 1.266
[...]
; Include Position restraint file
#ifdef POSRES
#include "2bnr_SLLDWITQV_dist_1.0.posre_Protein_chain_A.itp"
#endif
or like this for chain B
[ moleculetype ]
; Name nrexcl
Protein_chain_B 3
[ atoms ]
; nr type resnr residue atom cgnr charge mass
typeB chargeB massB
; residue 0 MET rtp MET q +1.0
1 MNH3 0 MET MN1 1 0 8.51535 ;
qtot 0
2 MNH3 0 MET MN2 1 0 8.51535 ;
qtot 0
3 NL 0 MET N 1 0.129 0 ;
qtot 0.129
4 H 0 MET H1 1 0.248 0 ;
qtot 0.377
5 H 0 MET H2 1 0.248 0 ;
qtot 0.625
6 H 0 MET H3 1 0.248 0 ;
qtot 0.873
7 CH1 0 MET CA 2 0.127 13.019 ;
qtot 1
8 CH2 0 MET CB 2 0 14.027 ;
qtot 1
9 CH2 0 MET CG 3 0.241 14.027 ;
qtot 1.241
10 S 0 MET SD 3 -0.482 32.06 ;
qtot 0.759
11 CH3 0 MET CE 3 0.241 15.035 ;
qtot 1
12 C 0 MET C 4 0.45 12.011 ;
qtot 1.45
13 O 0 MET O 4 -0.45 15.9994 ;
qtot 1
; residue 1 ILE rtp ILE q 0.0
14 N 1 ILE N 5 -0.31 15.0147 ;
qtot 0.69
15 H 1 ILE H 5 0.31 0 ;
qtot 1
16 CH1 1 ILE CA 6 0 13.019 ;
qtot 1
17 CH1 1 ILE CB 7 0 13.019 ;
qtot 1
18 CH2 1 ILE CG1 7 0 14.027 ;
qtot 1
19 CH3 1 ILE CG2 7 0 15.035 ;
qtot 1
20 CH3 1 ILE CD 7 0 15.035 ;
qtot 1
21 C 1 ILE C 8 0.45 12.011 ;
qtot 1.45
22 O 1 ILE O 8 -0.45 15.9994 ;
qtot 1
[...]
; Include Position restraint file
#ifdef POSRES
#include "2bnr_SLLDWITQV_dist_1.0.posre_Protein_chain_B.itp"
#endif
##################
4) At the same time I have the newly created itp file that contains the
force restraints (which unit is the 1000 actually here?) and seems to be
linked to the first itp file via the include (see above). The content of my
new file is:
##################
; position restraints for chA_&_Backbone of
[ position_restraints ]
; i funct fcx fcy fcz
3 1 1000 1000 1000
7 1 1000 1000 1000
8 1 1000 1000 1000
10 1 1000 1000 1000
12 1 1000 1000 1000
16 1 1000 1000 1000
18 1 1000 1000 1000
20 1 1000 1000 1000
30 1 1000 1000 1000
32 1 1000 1000 1000
[...]
or for chain B:
; position restraints for chB_&_Backbone of
[ position_restraints ]
; i funct fcx fcy fcz
2975 1 1000 1000 1000
2979 1 1000 1000 1000
2984 1 1000 1000 1000
2986 1 1000 1000 1000
2988 1 1000 1000 1000
2993 1 1000 1000 1000
[...]
##################
Why does this not work together? It seems to be a problem of absolute vs
relative index? But what do I needed to do differently in order to make
this work?
Thanks!
M
Previous message: [gmx-users] position restraints on backbone: index error
<https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-users/2019-March/124461.html>
Hi,
Position restraints are per molecule.
if you separate your molecule like that, the position restraints of
backbone should be generated for each chain base on indices of each chain
and include it in the topology of the chain, not global topology like that.
so for example, if you want restraint backbone of chain E, you have to
generate position restraint base on the topology of chain E and include him
in 2bnr_SLLDWITQV_dist_1.0_Protein_chain_E.itp
On Fri, Mar 1, 2019 at 10:53 AM morpheus <morpheus.sommer2008 at
gmail.com <https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users>>
wrote:
>* Dear Gromacs users,
*>>* I would like to run protein/protein interaction simulation (consisting of 5
*>* chains) that holds the backbone atoms rigid but allows side-chain
*>* movements. According to the Gromacs documentation this should work by:
*>>* "Special position restraint .itp files can be created using the genrestr
*>* utility [...]. For example, if you wish to apply position restraints to
*>* only the backbone atoms of your protein, use genrestr and choose "Backbone"
*>* as the output group, and #include "backbone_posre.itp" in your topology."
*>* [1]
*>>* I can generate the .itp file as described above but if I include it in my
*>* .top file then I get the following error:
*>>* ###########
*>* Fatal error:
*>* [ file backbone_posre.itp, line 687 ]:
*>* Atom index (2472) in position_restraints out of bounds (1-2471).
*>* 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.
*>* For more information and tips for troubleshooting, please check the GROMACS
*>* website at http://www.gromacs.org/Documentation/Errors
<http://www.gromacs.org/Documentation/Errors>
*>* ###########
*>>>* My top file looks like below and I have added the #include
*>* "backbone_posre.itp" part manually.
*>>>* ###########
*>* ; Include forcefield parameters
*>* #include "gromos53a6.ff/forcefield.itp"
*>>* ; Include chain topologies
*>* #include "2bnr_SLLDWITQV_dist_1.0_Protein_chain_A.itp"
*>* #include "2bnr_SLLDWITQV_dist_1.0_Protein_chain_B.itp"
*>* #include "2bnr_SLLDWITQV_dist_1.0_Protein_chain_C.itp"
*>* #include "2bnr_SLLDWITQV_dist_1.0_Protein_chain_D.itp"
*>* #include "2bnr_SLLDWITQV_dist_1.0_Protein_chain_E.itp"
*>* #include "backbone_posre.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 in water
*>* ###########
*>>* What does "different molecule" mean in the error message? It should apply
*>* to all protein chains ... or in other words: what do I need to change to
*>* make this one run?
*>>* Thanks!!
*>>* M
*>>>* [1] http://www.gromacs.org/Documentation/How-tos/Position_Restraints
<http://www.gromacs.org/Documentation/How-tos/Position_Restraints>
*>* --
*>* Gromacs Users mailing list
*>>* * Please search the archive at
*>* http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List
<http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List> before
*>* posting!
*>>* * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
<http://www.gromacs.org/Support/Mailing_Lists>
*>>* * For (un)subscribe requests visit
*>* https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users
<https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users>
or
*>* send a mail to gmx-users-request at gromacs.org.
<https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users>
*>
More information about the gromacs.org_gmx-users
mailing list