Read and write H5MD files
Python
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
pyh5md
tests
.gitignore
README.md
setup.cfg
setup.py

README.md

pyh5md : Read and write H5MD files

Copyright 2012-2017 Pierre de Buyl and contributors
License: BSD

pyh5md is a library to read and write easily H5MD files. H5MD is a file format specification based on HDF5 to store molecular data. pyh5md is built on top of h5py, the HDF5 for Python library by Andrew Colette.

pyh5md used to define a complex class structure. Since version 1.0.0.dev1, a light subclassing of h5py's classes is used instead.

Install

python setup.py install --user

or

pip install --user .

installs pyh5md for the current user

Examples

Once pyh5md is installed:

cd examples
python random_walk_1d.py

executes an example program that generates the H5MD file walk_1d.h5.

Usage

To write data to a particles group named "atoms", with a fixed set of positions:

from pyh5md import File, element
kwargs = {'creator': 'pyh5md README example',
          'author': 'Pierre de Buyl',
		  }
with File('new_file.h5', 'w', **kwargs) as f:
    g = f.particles_group('atoms')
	g.create_box(dimension=3, boundary=['none']*3)
	element(g, 'position', store='fixed', data=np.random.random(size=(32, 3)))

To read data from a H5MD file created with, for instance, LAMMPS:

from pyh5md import File, element
with File('dump_3d.h5', 'r') as f:
    g = f.particles_group('all')
    box_edges = element(g, 'box/edges').value[0]
    position = element(g, 'position').value[:]