[gmx-developers] gmx_mtop_t inconsistency with old .tpr files

Berk Hess hess at cbr.su.se
Mon Nov 30 18:11:19 CET 2009


Victor Rühle wrote:
> Ah, ok thx.
>
> Then I will do my own workaround since I do not need most of the
> additional molecule information (and molecule names could be set later
> on if not present).
>
> Just a last question for that:
> What is the best way to detect whether the additional molecule data
> was present in the tpr and read in properly. Is it ok to check if
> mtop.mols.nr and numbers from molblock match, if not only use
> information from mtop.mols? Or is there a better solution?
That is the only solution.
You could also require that they match and simply not support pre-4.0
tpr files.

Berk
>
> Thanks,
> Victor
>
> p.s.: in the dev branch, the file molfile_plugin.h is not copied
> during installation
>
> Berk Hess wrote:
>> We can't do that, since these numbers have to match the contents of the
>> moltype entry.
>>
>> Berk
>>
>> Victor Rühle wrote:
>>> Hi Berk,
>>>
>>> thanks for the quick answer. The only thing I don't understand then is
>>> the t_block structure mtop.mols which contains at least the correct
>>> partitioning of atoms into molecules (also in the old tpr files).
>>>
>>> Since this data is there, wouldn't it be better to initialize the
>>> mtop.nmolblock.natoms_mol + mtop.nmolblock.nmol accordingly?
>>>
>>> Victor
>>>
>>> Berk Hess wrote:
>>>> Hi,
>>>>
>>>> The old tpr files do not  contain information on molecular topologies,
>>>> so the only thing we can do is consider the whole system as one large
>>>> moleculetype.
>>>>
>>>> Berk
>>>>
>>>> Victor Rühle wrote:
>>>>> Dear all,
>>>>>
>>>>> I changed my code for reading .tpr files to read_tpx to get molecule
>>>>> names. When I use the tpr-file generated by a recent gromacs version,
>>>>> everything works fine.
>>>>>
>>>>> However when using older .tpr files (before molecule names were
>>>>> stored), there is an inconsistency in the structures:
>>>>>
>>>>> mtop.nmolblock = 1
>>>>> mtop.nmoltype = 1
>>>>>
>>>>> mtop.molblock[0].nmol = 1
>>>>> mtop.mols.nr = real number of molecules
>>>>>
>>>>> Is this a bug or a feature? As one can see, at least some molecule
>>>>> information is still there but just the new structures are not set up
>>>>> properly. If I run tpbconv, it puts all atoms in a single molecule.
>>>>>
>>>>> Possible workarounds are to rerun grompp to create new tpr files or
>>>>> change my read function to compensate for this problem. Both
>>>>> solutions
>>>>> are not very nice.
>>>>>
>>>>> Did anybody else had a similar problem?
>>>>>
>>>>> Thanks for your help,
>>>>> Victor
>>
>




More information about the gromacs.org_gmx-developers mailing list