[gmx-developers] Writing TNG with libtng_io
Magnus Lundborg
magnus.lundborg at scilifelab.se
Tue Jul 18 21:20:05 CEST 2017
Dear Jonathan,
I'm on vacation but I will look into this next week.
Regards,
Magnus
On 2017-07-08 17:18, Jonathan Barnoud wrote:
> Dear all,
>
> With other developers of MDAnalysis, we are working on a python
> wrapper for the TNG library. While it is aimed at being used in
> MDAnalysis, this wrapper is written to be used standalone. More
> details can be found at <http://www.mdanalysis.org/pytng/>.
>
> I am working on the writing of a basic TNG file. I want to be able to
> write particle positions and a box shape for each frame. Each frame
> can have an arbitrary time attached to it. I did manage to do this in
> this pull request: <https://github.com/MDAnalysis/pytng/pull/18>, and
> in this minimal example jupyter notebook:
> <https://gist.github.com/jbarnoud/b8f750f116b76aba1b205babc001b569>.
> Both cases are written in cython rather than C, but they call the same
> functions from the tng_io library that a C program would.
>
> There are a few things I am not completely sure about, though.
>
> 1. When I write the box shape with `tng_util_box_shape_write` or
> `tng_util_box_shape_with_time_write`, I do not manage to read it back
> with gromacs. Both 'gmx check' and 'gmx dump' fail to read the box
> with the following message:
>
> TNG library: Cannot uncompress data block.
> /home/jon/src/gromacs-2016.3/src/external/tng_io/src/lib/tng_io.c:5298
>
> I did solve the problem by using `tng_util_generic_write` (or its
> `with_time` equivalent) and by setting the compression to
> `TNG_UNCOMPRESSED`.
>
> Does gromacs support the TNG_GZIP_COMPRESSION that is the default for
> the high level `tng_util_box_shape_write` function? If so, what should
> I do to have it working?
>
> 2. I write an arbitrary time with each frame. The time is arbitrary in
> the sense that I do not know before hand what is the time that the
> user of the library will provide for the frame, and that the time
> difference between two consecutive frames do not have to be constant
> (nor even positive). I managed this by setting the number of frames
> per frame set to 1, and to set the time per frame to 0.
>
> Is it possible to have the arbitrary time with more than one frame per
> frame set? I did get some results by setting the time per frame for
> each frame using the time difference with the previous frame, but I
> got some strange behaviors when the difference was 0; and
> `tng_time_per_frame_set` refuses negative values.
>
> Also, I noticed that all the `tng_util_*_with_time_write` functions
> expect the time to be expressed in seconds, while
> `tng_time_per_frame_set` expects picoseconds. Is there a reason for
> this discrepancy?
>
> Thank you for any insight you may provide,
> Jonathan Barnoud
> ||
> |
> |
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20170718/89dcbdea/attachment.html>
More information about the gromacs.org_gmx-developers
mailing list