ASE Interface for the H5MD format.
Project description
ZnH5MD - ASE Interface for the H5MD format.
ZnH5MD provides and interface from ASE to H5MD and vice versa. Install via
pip install znh5md. Similar to ASE ZnH5MD provides read and write
functionality:
import znh5md
from ase.collections import s22
znh5md.write("s22.h5", list(s22))
print(list(znh5md.iread("s22.h5")))
# list[ase.Atoms]
Further, you can access any data from within the entire dataset through the
znh5md.IO class which provides a MutableSequence-like interface.
import znh5md
from ase.collections import s22
io = znh5md.IO("s22.h5", particles_group="s22")
io.extend(list(s22))
print(io[5:10])
# list[ase.Atoms]
Extended H5MD Format
ZnH5MD circumvents two current limitations of the H5MD standard.
- support
atomswith varying particle counts by padding the dataset withnp.nan. Using varying species counts might break the compatibility with other H5MD tools. - support varying
pbcwithin a single particle group by introducingparticles/<group>/box/pbc/valuein addition to theparticles/<group>/boxattributes. By default, this is enabled viaIO(pbc_group=True). Theparticles/<group>/boxattribute will be set to the PBC conditions of the first frame. Using this feature will not typically not break ompatibility with other H5MD tools but can lead to unexpected behaviour.
Supported
atoms.info entry
dict and list entries assume python standard types if not otherwise specified.
| Type | ZnH5MD |
|---|---|
np.ndarray |
✅ |
float |
✅ |
str |
✅ |
dict |
✅ |
list |
✅ |
list[np.ndarray] |
✅ |
dict[str, np.ndarray] |
❌ |
list[dict] |
❌ |
atoms.arrays
| Type | ZnH5MD |
|---|---|
np.ndarray |
✅ |
float |
✅ |
str |
✅ |
dict |
✅ |
list |
✅ |
list[np.ndarray] |
✅ |
dict[str, np.ndarray] |
❌ |
list[dict] |
❌ |
atoms.calc.results
| Type | ZnH5MD |
|---|---|
np.ndarray |
✅ |
float |
✅ |
str |
✅ |
dict |
✅ |
list |
✅ |
list[np.ndarray] |
✅ |
dict[str, np.ndarray] |
❌ |
list[dict] |
❌ |
Current limitations
This is a not necessarily complete list of Limitations that will be fixed eventually. Any contributions are welcome.
- Step: ZnH5MD assumes a fixed time interval of 1.
- Units: There is no automatic unit conversion through e.g. the pint package
- performance tweaks: there are many places in ZnH5MD that can be optimized for better performance. Currently most of the values are hard-coded, such as chunk size. Nevertheless, ZnH5MD outperforms most other packages w.r.t. read and write speed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file znh5md-0.4.8.tar.gz.
File metadata
- Download URL: znh5md-0.4.8.tar.gz
- Upload date:
- Size: 203.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dd02d45b5ed766e2f6a0c5b8c926cd15e5a8b9c3a80cab0303f518b129f16ac
|
|
| MD5 |
5e02c302dc586f7fe06d2d3efb7bea2b
|
|
| BLAKE2b-256 |
93d450b9ad618d799983823ef4087033dcb7e90ffe95cb02fbdda01cd7fa0d66
|
File details
Details for the file znh5md-0.4.8-py3-none-any.whl.
File metadata
- Download URL: znh5md-0.4.8-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83e7c82424ae94e6b4d8a1704447c32eb7303e0c11c4d73605482fe0911ce267
|
|
| MD5 |
807d0bcc88f268239a472ec1b4b8ffca
|
|
| BLAKE2b-256 |
81034ceb3cec2f1b466c2c4dc609fd236dc064a1da1c612c89c12d2afeeaf0a0
|