h5md-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h5md-user] [EXTERNAL] Re: topology


From: Pierre de Buyl
Subject: Re: [h5md-user] [EXTERNAL] Re: topology
Date: Fri, 9 May 2014 15:54:28 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, May 06, 2014 at 05:42:58PM +0200, Konrad Hinsen wrote:
> Hi David,
> 
>  > The group I work with does a fair amount of analysis on bond
>  > lengths, angle distributions and dihedral angle distributions as
>  > validation for force field development. So our main use case for a
>  > 'topology' module would be to store the pairs, 3- and 4-tuples of
>  > atoms that define the bonds, angles and dihedrals.
> 
> I can see the need to store the bonds, but why angles and dihedrals?
> Once you have the bond network, you can deduce angles and dihedrals
> from them.
> 
>  > That said, I have use cases for wanting to store lists of
>  > non-bonded pairs of atoms such as opposing carbons on a ring or
>  > designated 'endpoint' atoms that can be used to represent the
>  > overall orientation of a larger molecule, and in this use case a
>  > specific 'bond' list would not really be appropriate.
> 
> So what you really want is ordered N-tuples of atom indices, right?

This is what I understand from the above "store the pairs, 3- and 4-tuples".

>  > I am totally guilty of abusing the PDB (and CAR and MDF) formats to
>  > sneak in extra information. :-)
> 
> Me too! As a way of repenting, I have vowed to avoid using the PDB
> format a much as possible in the future ;-)
> 
>  > I would definitely agree that a standard storage scheme, would be
>  > useful, even if the structure of a 'topology' section varies by
>  > module. That way, even if the location of the lists varies, at
>  > least the same routines can be used to read/write the data when it
>  > is located.
> 
> Exactly.
> 
>  > As a possible example:
>  > 
>  > <tuple-list>
>  >   +-- type:  String
>  >   +-- dimension:  Integer[]
>  >   \--  values: Integer[n-tuples][D]
>  > 
>  > Where a pair list would be dimension(D) = 2, and the values in list
>  > would be the particle IDs.
> 
> Looks good to me!

Apart from the attributes, this is what I suggested :-)

To be clear:

time-dependent H5MD element:

<bond_list>
    \-- step [variable]
    \-- time [variable]
    \-- value: Integer [variable][number of items stored][X]

where X is the number of indices that is needed (2 for pairs, etc.)

time-independent

<bond_list>: Integer [number of items stored][X]

The dimension is given by the shape of the dataset. I don't know what "type" is
supposed to contain.

I hope that I understood correctly what both of you meant and I have the feeling
that the needs (for storing the indices, at least) are similar to all of us.
Additional data would be module dependent.

Cheers,

Pierre



reply via email to

[Prev in Thread] Current Thread [Next in Thread]