[gmx-users] Re: question about minimisation

Justin Lemkul jalemkul at vt.edu
Thu Jul 26 14:09:02 CEST 2012



On 7/26/12 8:05 AM, reisingere at rostlab.informatik.tu-muenchen.de wrote:
> Hmm, okey. Thank you.
> So all in all what I did was correct and it should only minimize the
> hydrogen atoms and not the rest of the protein nor the membrane. Right?
>

To sum up:

1. The Protein-H group does indeed contain only protein heavy atoms.
2. Restraints do not guarantee that these atoms will not move, but they disfavor 
such motion.
3. The initial block of topology you showed us:

; Include Position restraint file
#ifdef POSRES
#include "posre.itp"
#endif

#ifdef POSRES
#include "posre_memb.itp"
#endif

was wrong.

4. The later block of topology:

; Include Position restraint file
#ifdef POSRES
#include "posre.itp"
#endif

; Include water topology
#include "amber03.ff/tip3p.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 "amber03.ff/ions.itp"

#include "amber03.ff/dum.itp"
#ifdef POSRES
#include "posre_memb.itp"
#endif

is syntactically correct and likely works as intended.

5. To invoke position restraints, one needs to prefix with -D, i.e. -DPOSRES.

-Justin

>
>> Quite sure it's just different syntax in topology and mdp file. Compare to
>> C;
>> #define POSRES // expressed as -DPOSRES in the mdp file
>> #ifdef POSRES // when working in the topology file
>>
>> // Linus
>>
>> On Thu, Jul 26, 2012 at 1:52 PM,
>> <reisingere at rostlab.informatik.tu-muenchen.de> wrote:
>>>>
>>>>
>>>> On 7/26/12 7:06 AM, reisingere at rostlab.informatik.tu-muenchen.de wrote:
>>>>>>
>>>>>>
>>>>>> On 7/26/12 6:07 AM, reisingere at rostlab.informatik.tu-muenchen.de
>>>>>> wrote:
>>>>>>>> On 26/07/2012 6:47 PM, reisingere at rostlab.informatik.tu-muenchen.de
>>>>>>>> wrote:
>>>>>>>>> Ho,
>>>>>>>>> first I minimize my structure. This is the corresponding mdp file:
>>>>>>>>>
>>>>>>>>> define                  = -DPOSRES
>>>>>>>>> integrator              = steep
>>>>>>>>> emtol           = 10
>>>>>>>>> nsteps          = 1500
>>>>>>>>> nstenergy               = 1
>>>>>>>>> energygrps              = System
>>>>>>>>> coulombtype             = PME
>>>>>>>>> rcoulomb                = 0.9
>>>>>>>>> rvdw                    = 0.9
>>>>>>>>> rlist           = 0.9
>>>>>>>>> fourierspacing  = 0.12
>>>>>>>>> pme_order               = 4
>>>>>>>>> ewald_rtol              = 1e-5
>>>>>>>>> pbc                     = xyz
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> and then I run a md run. This is the corresponding mdp file:
>>>>>>>>>
>>>>>>>>> define          = -DPOSRES
>>>>>>>>> integrator              = md
>>>>>>>>> dt                      = 0.001
>>>>>>>>> nsteps          = 5000
>>>>>>>>> nstxout         = 100
>>>>>>>>> nstvout         = 0
>>>>>>>>> nstfout         = 0
>>>>>>>>> nstlog          = 1000
>>>>>>>>> nstxtcout               = 500
>>>>>>>>> nstenergy               = 5
>>>>>>>>> energygrps              = Protein Non-Protein
>>>>>>>>> nstcalcenergy   = 5
>>>>>>>>> nstlist         = 10
>>>>>>>>> ns-type         = Grid
>>>>>>>>> pbc                     = xyz
>>>>>>>>> rlist           = 0.9
>>>>>>>>> coulombtype             = PME
>>>>>>>>> rcoulomb                = 0.9
>>>>>>>>> rvdw            = 0.9
>>>>>>>>> fourierspacing          = 0.12
>>>>>>>>> pme_order               = 4
>>>>>>>>> ewald_rtol              = 1e-5
>>>>>>>>> gen_vel         = yes
>>>>>>>>> gen_temp                = 200.0
>>>>>>>>> gen_seed                = 9999
>>>>>>>>> constraints             = all-bonds
>>>>>>>>> tcoupl          = V-rescale
>>>>>>>>> tc-grps         = Protein  Non-Protein
>>>>>>>>> tau_t           = 0.1      0.1
>>>>>>>>> ref_t           = 298      298
>>>>>>>>> pcoupl          = no
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> In my topology file I include the restraint files like this:
>>>>>>>>>
>>>>>>>>> ; Include Position restraint file
>>>>>>>>> #ifdef POSRES
>>>>>>>>> #include "posre.itp"
>>>>>>>>> #endif
>>>>>>>>>
>>>>>>>>> #ifdef POSRES
>>>>>>>>> #include "posre_memb.itp"
>>>>>>>>> #endif
>>>>>>>>
>>>>>>>> This won't work for multiple [moleculetype] entries. See
>>>>>>>> http://www.gromacs.org/Documentation/How-tos/Position_Restraints
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I just recognize that there is a "DPOSRES" in the mdp files and a
>>>>>>>>> "POSRES"
>>>>>>>>> in my topology file. Is this the problem. Do I have to write it
>>>>>>>>> the
>>>>>>>>> same
>>>>>>>>> way in the several files?
>>>>>>>>
>>>>>>>> http://www.gromacs.org/Documentation/Include_File_Mechanism
>>>>>>>>
>>>>>>>> Mark
>>>>>>>
>>>>>>>
>>>>>>> I just see that the [ position_restraints ] part is included under
>>>>>>> the
>>>>>>> [dihedral] and not between the [moleculetype] and the [atom] part.
>>>>>>> And
>>>>>>> according to the site you wrote me this is a problem, right? But
>>>>>>> this
>>>>>>> was
>>>>>>> done by gromacs itself. Shell I write it to the [moleculetype] part?
>>>>>>>
>>>>>>
>>>>>> A [position_restraints] directive belongs to the [moleculetype] in
>>>>>> which
>>>>>> it is
>>>>>> declared.  The original location of the #include statement produced
>>>>>> by
>>>>>> Gromacs
>>>>>> is correct; it follows sequentially within the protein
>>>>>> [moleculetype].
>>>>>> Your
>>>>>> inclusion of the membrane restraint file within the protein
>>>>>> [moleculetype]
>>>>>> is,
>>>>>> however, incorrect.
>>>>>>
>>>>>>> But I can not see why it can not work that I have 2 restriction
>>>>>>> files?
>>>>>>> Can
>>>>>>> you please explain it to me?
>>>>>>>
>>>>>>
>>>>>> You can have two restraint files for different [moleculetypes] but
>>>>>> they
>>>>>> must be
>>>>>> organized as such.
>>>>>
>>>>> okey. So the whole thing with [atoms], [bonds], [dihedral] all
>>>>> contains
>>>>> to
>>>>> the entry in [moleculetype]  , right?
>>>>>
>>>>
>>>> Any directive belongs to the [moleculetype] that immediately precedes
>>>> it.
>>>> Once
>>>> a new [moleculetype] is declared (either directly or indirectly via
>>>> #include
>>>> mechanism), you're working with a different molecule.
>>>>
>>>>> But directly before I include the membrane restriction file I include
>>>>> the
>>>>> membrane definition:
>>>>>
>>>>> #include "amber03.ff/dum.itp"
>>>>> #ifdef POSRES
>>>>> #include "posre_memb.itp"
>>>>> #endif
>>>>>
>>>>>
>>>>> So I thought that it is directly after the atomtype it belongs to. I
>>>>> thought that it is the same in the case with the water, where first
>>>>> the
>>>>> water definition is included and after that the restriction of the
>>>>> water.
>>>>>
>>>>> Or am I wrong?
>>>>>
>>>>
>>>> Well the #include statement shown here is different than the one you
>>>> showed
>>>> previously, which was wrong.  Please always be sure you're providing
>>>> accurate
>>>> information - it wastes less time and avoids confusion.
>>>>
>>>>> I include the dummy atoms definition right after the ions. Or is this
>>>>> the
>>>>> wrong position?
>>>>>
>>>>
>>>> The position of #include statements in this context is irrelevant.  You
>>>> can list
>>>> the [moleculetypes] in any order you like, but the relevant dependent
>>>> directives
>>>> must be contained appropriately and the order of the listing in
>>>> [molecules] must
>>>> match the coordinate file.  Otherwise, it's fairly flexible.
>>>>
>>>> -Justin
>>>>
>>>>>
>>>>>    4935  4952  4950  4951     4
>>>>>    4950  4954  4952  4953     4
>>>>>    4954  4973  4972  4974     4
>>>>>
>>>>> ; Include Position restraint file
>>>>> #ifdef POSRES
>>>>> #include "posre.itp"
>>>>> #endif
>>>>>
>>>>> ; Include water topology
>>>>> #include "amber03.ff/tip3p.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 "amber03.ff/ions.itp"
>>>>>
>>>>> #include "amber03.ff/dum.itp"
>>>>> #ifdef POSRES
>>>>> #include "posre_memb.itp"
>>>>> #endif
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>> So you mean that it is indeed important if I call it POSRES oder
>>>>>>> DPOSRES,
>>>>>>> right?
>>>>>>>
>>>>>>
>>>>>> Yes, syntax is crucial.  The proper way to make use of #ifdef blocks
>>>>>> is
>>>>>> described in the manual and in the link Mark posted.
>>>>>>
>>>
>>> But when I only use
>>> "define                  = -POSRES"
>>> instead of
>>> "define                  = -DPOSRES"
>>>
>>> I get the warning:
>>> "WARNING 1 [file mdp file]:  Malformed define option -POSRES"
>>>
>>> And also at the
>>> "http://www.gromacs.org/Documentation/How-tos/Position_Restraints"
>>> site is written that in the mdp file there has to be
>>> "define = -DPOSRES"
>>> So is this the right way to write it in the mdp file. Although in the
>>> topology file which is generated by pdb2gmx stays "#ifdef POSRES"?
>>>
>>> Thank you
>>>
>>>>>> -Justin
>>>>>>
>>>>>> --
>>>>>> ========================================
>>>>>>
>>>>>> Justin A. Lemkul, Ph.D.
>>>>>> Research Scientist
>>>>>> Department of Biochemistry
>>>>>> Virginia Tech
>>>>>> Blacksburg, VA
>>>>>> jalemkul[at]vt.edu | (540) 231-9080
>>>>>> http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin
>>>>>>
>>>>>> ========================================
>>>>>> --
>>>>>> gmx-users mailing list    gmx-users at gromacs.org
>>>>>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>>>>>> * Only plain text messages are allowed!
>>>>>> * Please search the archive at
>>>>>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>>>>>> * Please don't post (un)subscribe requests to the list. Use the
>>>>>> www interface or send it to gmx-users-request at gromacs.org.
>>>>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> ========================================
>>>>
>>>> Justin A. Lemkul, Ph.D.
>>>> Research Scientist
>>>> Department of Biochemistry
>>>> Virginia Tech
>>>> Blacksburg, VA
>>>> jalemkul[at]vt.edu | (540) 231-9080
>>>> http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin
>>>>
>>>> ========================================
>>>> --
>>>> gmx-users mailing list    gmx-users at gromacs.org
>>>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>>>> * Only plain text messages are allowed!
>>>> * Please search the archive at
>>>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>>>> * Please don't post (un)subscribe requests to the list. Use the
>>>> www interface or send it to gmx-users-request at gromacs.org.
>>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>>
>>>
>>>
>>> --
>>> gmx-users mailing list    gmx-users at gromacs.org
>>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>>> * Only plain text messages are allowed!
>>> * Please search the archive at
>>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>>> * Please don't post (un)subscribe requests to the list. Use the
>>> www interface or send it to gmx-users-request at gromacs.org.
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> --
>> gmx-users mailing list    gmx-users at gromacs.org
>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>> * Only plain text messages are allowed!
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
>> * Please don't post (un)subscribe requests to the list. Use the
>> www interface or send it to gmx-users-request at gromacs.org.
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>
>

-- 
========================================

Justin A. Lemkul, Ph.D.
Research Scientist
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080
http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin

========================================



More information about the gromacs.org_gmx-users mailing list