IO hub for Cryo-EM, Cryo-ET and subtomogram averaging data.
Project description
cryohub
cryohub
is a library for reading and writing Cryo-ET data based on the cryotypes
specification.
Installation
pip install cryohub
Usage
cryohub
provides granular I/O functions such as read_star
and read_mrc
, which will all return objects following the cryotypes
specification.
from cryohub.reading import read_star
poseset = read_star('/path/to/file.star')
A higher level function called read
adds some magic to the IO procedure, guessing file formats and returning a list of cryotypes
.
from cryohub import read
data = read('/path/to/file.star', '/path/to/directotry/', lazy=False, name_regex=r'tomo_\d+')
See the help for each function for more info.
Similarly to the read_*
functions, cryohub
provides a series of write_*
functions.
from cryohub.writing import write_tbl
write_tbl([poseset1, poseset2], 'particles.tbl')
From the command line
If you just need to quickly inspect your data but want something more powerful than just reading text files or headers, this command will land you in an ipython shell with the loaded data collected in a list called data
:
cryohub path/to/files/* /other/path/to/file.star
print(data[0])
Features
Currently cryohub
is capable of reading images in the following formats:
.mrc
(and the.mrcs
or.st
variants)- Dynamo
.em
- EMAN2
.hdf
and particle data in the following formats:
- Relion
.star
- Dynamo
.tbl
- Cryolo
.cbox
and.box
Writer functions currently exist for:
.mrc
- EMAN2
.hdf
- Dynamo
.em
- Relion
.star
- Dynamo
.tbl
Image data
When possible (and unless disabled), cryohub loads images lazily using dask
. The resulting objects can be treated as normal numpy array, except one needs to call array.compute()
to apply any pending operations and return the result.
Contributing
Contributions are more than welcome! If there is a file format that you wish were supported in reading or writing, simply open an issue about it pointing to the specification. Alternatively, feel free to open a PR with your proposed implementation; you can look at the existing functions for inspiration.
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
File details
Details for the file cryohub-0.5.1.tar.gz
.
File metadata
- Download URL: cryohub-0.5.1.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49c411f17aff96cbdec6b5a748112d5a232ea7381d3b7d2892f83bb998b33259 |
|
MD5 | a6c2cc80ffca573d53b432c9dd40ff14 |
|
BLAKE2b-256 | 20c48774bf8e890a8169a61aabc40e19dbc25a0bd4dab8b6ee9ae0266662b101 |
File details
Details for the file cryohub-0.5.1-py2.py3-none-any.whl
.
File metadata
- Download URL: cryohub-0.5.1-py2.py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bca77bd39bad1deeccd92e8c640c18a4228e45cb3edad200ac24319bd8f046ff |
|
MD5 | 432fc42184b7c4dc28149ccbde2b9d4c |
|
BLAKE2b-256 | fed1c6b8e1fa0b33e03ce01dd3da399a7989516f974d21381c143c642d6cb2b9 |