Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryohub-0.5.0.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

cryohub-0.5.0-py2.py3-none-any.whl (25.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cryohub-0.5.0.tar.gz.

File metadata

  • Download URL: cryohub-0.5.0.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for cryohub-0.5.0.tar.gz
Algorithm Hash digest
SHA256 6c520592476c91641e52125520dcd97f60474c4b60c76d31b3ff7d5dfcb0492b
MD5 2d9927e28b8f0809a73017794324c2e2
BLAKE2b-256 c208e028c0413c85ddc7c8924545c3a96aba961d561ce385c569a566a409b36c

See more details on using hashes here.

File details

Details for the file cryohub-0.5.0-py2.py3-none-any.whl.

File metadata

  • Download URL: cryohub-0.5.0-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.4

File hashes

Hashes for cryohub-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 64f631003e85700d9aabbb904ad3acb5a4e6e9190664a7c15f63144006657921
MD5 0c63dfdbde80e5f2e4969bcf57f381ab
BLAKE2b-256 c92f9f3049e65347e7863ba0e7edb22a831f19735b52732a26fb64d7d6f5f21e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page