[gmx-developers] next Gromacs release
Rossen Apostolov
rossen.apostolov at cbr.su.se
Tue Jun 15 14:12:23 CEST 2010
Hi Erik,
On 06/10/2010 10:12 PM, Erik Marklund wrote:
> Hi,
>
> Hm. Embarassingly, it turns out that my posre-tpr didn't have any
> position restraints. That sure explains it. I guess the bug can be
> closed.
>
>
> As for the g_hbond specifics, I first got error messages, then a
> segfault. It's easily circumvented by adding the following check:
> if (func_type == F_POSRES)
> {
> continue;
> }
> which i did put in my version, but it seems I forgot to push it. The
> line that causes the problems reads:
>
> i+=interaction_function[top->idef.functype[interaction->iatoms[i]]].nratoms+1)
> {
> If interaction->iatoms[i] doesn't index idef.functype, then a lot of
> things can happen.
>
> I'll push my gmx_hbond.c right away.
>
Did you already updated the file? Can you close the bug if so.
Rossen
> Erik
>
> Berk Hess skrev:
>> Hi,
>>
>> For a tpr I made it works fine.
>> Could you attach a tpr to the bugzilla?
>>
>> I already noticed the lacking documentation in idef.h, I fixed that now.
>>
>> Berk
>>
>> Erik Marklund wrote:
>>> Hi,
>>>
>>> I suspected something along those lines. But why then is
>>> top->idef.iparams_posres == NULL? g_hbond reads the tpr-file with
>>> read_tpx_top, which in turn calls read_tpx() and
>>> gmx_mtop_t_to_t_topology(). Here's what I spot when running gdb:
>>>
>>> 1057 interaction=&(top->idef.il[func_type]);
>>> (gdb) p top->idef $1 = {
>>> ntypes = 412,
>>> atnr = 16,
>>> functype = 0x1002000,
>>> iparams = 0x799000,
>>> fudgeQQ = 0.833299994,
>>> cmap_grid = {
>>> ngrid = 0,
>>> grid_spacing = 0,
>>> cmapdata = 0x0
>>> },
>>> iparams_posres = 0x0, <==== Lookie here!
>>> iparams_posres_nalloc = 0,
>>> ...
>>>
>>> This suggests that the posres stuff isn't passed to the t_topology
>>> properly. Dunno if this is a big issue for the analysis tools though.
>>>
>>> Furthermore, if this is not a bug then I think one should extend the
>>> unusually descriptive comment in idef.h to make it clear that the
>>> t_ilist indexes the ipatams_posres[], and not params and functype[] as
>>> the comment now states:
>>>
>>> /*
>>> * The struct t_ilist defines a list of atoms with their interactions.
>>> * General field description:
>>> * int nr
>>> * the size (nr elements) of the interactions array (iatoms[]).
>>> * t_iatom *iatoms
>>> * specifies which atoms are involved in an interaction of a
>>> certain
>>> * type. The layout of this array is as follows:
>>> *
>>> *
>>> +-----+---+---+---+-----+---+---+-----+---+---+---+-----+---+---+...
>>> *
>>> |type1|at1|at2|at3|type2|at1|at2|type1|at1|at2|at3|type3|at1|at2|
>>> *
>>> +-----+---+---+---+-----+---+---+-----+---+---+---+-----+---+---+...
>>> *
>>> * So for interaction type type1 3 atoms are needed, and for type2
>>> and
>>> * type3 only 2. The type identifier is used to select the
>>> function to
>>> * calculate the interaction and its actual parameters. This type
>>> * identifier is an index in a params[] and functype[] array.
>>> */
>>>
>>> hess at sbc.su.se skrev:
>>>> Hi,
>>>>
>>>> Due to the molecular topology change for 4.0
>>>> posres now indexing into idef.iparams_posres iso idef.iparams.
>>>> This is required, because position restraints are the only
>>>> interactions with different parameters for each molecule.
>>>>
>>>> Berk
>>>>
>>>>
>>>>> I found a new bug while attempting to fix bug 334 and submitted a new
>>>>> bugzilla (http://bugzilla.gromacs.org/show_bug.cgi?id=428). I'm not
>>>>> entirely sure this is a bug, or the way it's intended, but the
>>>>> t_ilist
>>>>> contains strange things when the a tpr file is generated with
>>>>> position
>>>>> restraints. I can easily make a fix for this in gmx_hbond.c, but
>>>>> that's
>>>>> not how to mend broken things if the error really is in grompp.
>>>>>
>>>>> To summarize, top->idef.il[F_POSRES] dereferences the wrong
>>>>> functypes.
>>>>> For my test system it dereferences LJ (SR):
>>>>>
>>>>> (gdb) p top->idef.il[44].iatoms[0]
>>>>> $31 = 0
>>>>> ...
>>>>> (gdb) p top->idef.functype[0]
>>>>> $36 = 31
>>>>> (gdb) p interaction_function[31].longname
>>>>> $37 = 0x5fa3ba "LJ (SR)"
>>>>>
>>>>> Is this really the way it should be?
>>>>>
>>>>> Erik
>>>>>
>>>>> Rossen Apostolov skrev:
>>>>>> To all developers,
>>>>>>
>>>>>> The new release of Gromacs is coming close. Before releasing the new
>>>>>> packages though, in the next couple of weeks until June 15:
>>>>>>
>>>>>> * everything in bugzilla should be cleared (David already started
>>>>>> exterminating :). If you see a bug that you can fix or help with,
>>>>>> please do so.
>>>>>> * if there are still any known issues, please file a bug asap or
>>>>>> send
>>>>>> a patch.
>>>>>> * do not add any new features! Berk has some AmberFF stuff but apart
>>>>>> from that everything new should wait for the next release
>>>>>> * make sure that everything compiles without warnings on all
>>>>>> platforms
>>>>>> that you have access to
>>>>>>
>>>>>> Hopefully all that will be done by the 15th and have a bug-free
>>>>>> summer:)
>>>>>>
>>>>>> Cheers,
>>>>>> Rossen
>>>>> --
>>>>> -----------------------------------------------
>>>>> Erik Marklund, PhD student
>>>>> Dept. of Cell and Molecular Biology, Uppsala University.
>>>>> Husargatan 3, Box 596, 75124 Uppsala, Sweden
>>>>> phone: +46 18 471 4537 fax: +46 18 511 755
>>>>> erikm at xray.bmc.uu.se http://folding.bmc.uu.se/
>>>>>
>>>>> --
>>>>> gmx-developers mailing list
>>>>> gmx-developers at gromacs.org
>>>>> http://lists.gromacs.org/mailman/listinfo/gmx-developers
>>>>> Please don't post (un)subscribe requests to the list. Use the
>>>>> www interface or send it to gmx-developers-request at gromacs.org.
>>>>>
>>
>
>
More information about the gromacs.org_gmx-developers
mailing list