[gmx-developers] next Gromacs release

Erik Marklund erikm at xray.bmc.uu.se
Thu Jun 10 22:12:10 CEST 2010


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.

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.
>>>>
>>>>     
>>>>         
>>>   
>>>       
>>     
>
>   


-- 
-----------------------------------------------
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/




More information about the gromacs.org_gmx-developers mailing list