[gmx-users] Re: question about minimisation
Justin Lemkul
jalemkul at vt.edu
Thu Jul 26 14:05:30 CEST 2012
On 7/26/12 7:52 AM, 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"?
>
Use of -DPOSRES is correct, for all the above-cited reasons.
-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
========================================
More information about the gromacs.org_gmx-users
mailing list