[gmx-users] position restraints on backbone: index error
Quyen Vu
vuqv.phys at gmail.com
Tue Mar 5 13:31:59 CET 2019
So in my opinion, an easy way is separating each chain of your structure,
generate position restrain for them separately and then adding into
topology file of each chain
On Tue, Mar 5, 2019 at 1:18 PM Justin Lemkul <jalemkul at vt.edu> wrote:
>
>
> On 3/5/19 7:12 AM, morpheus wrote:
> > 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?
>
> The only valid atom numbers in a position restraint index file are 1..N,
> where N is the number of atoms in the corresponding [moleculetype]. Note
> that genrestr tells you this:
>
> "WARNING: Position restraints are interactions within molecules,
> therefore they
> must be included within the correct [ moleculetype ] block in the topology.
> The atom indices within the [ position_restraints ] block must be within
> the
> range of the atom indices for that molecule type. Since the atom numbers in
> every moleculetype in the topology start at 1 and the numbers in the input
> file for gmx genrestr number consecutively from 1, gmx genrestr will only
> produce a useful file for the first molecule. You may wish to edit the
> resulting index file to remove the lines for later atoms, or construct a
> suitable index group to provide as input to gmx genrestr."
>
> As a simple rule, if you are ever running genrestr on a coordinate file
> that has multiple molecules in it, you will not get what you want (there
> are ways around it, but that is an easy way to think of it).
>
> -Justin
>
> >
> > 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>
> > *>
>
> --
> ==================================================
>
> Justin A. Lemkul, Ph.D.
> Assistant Professor
> Office: 301 Fralin Hall
> Lab: 303 Engel Hall
>
> Virginia Tech Department of Biochemistry
> 340 West Campus Dr.
> Blacksburg, VA 24061
>
> jalemkul at vt.edu | (540) 231-3129
> http://www.thelemkullab.com
>
> ==================================================
>
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>
More information about the gromacs.org_gmx-users
mailing list