acryo
acryo is an extensible cryo-EM/ET toolkit for Python.
The purpose of this library is to make data analysis of cryo-EM/ET safer, efficient, reproducible and customizable for everyone. Scientists can avoid the error-prone CLI-based data handling, such as writing out the results to the files every time and manage all the result just by the file names.
Install
Use pip
pip install acryo -U
From source
git clone git+https://github.com/hanjinliu/acryo.git
cd acryo
pip install -e .
Features
- Out-of-core and parallel processing during subtomogram averaging/alignment to make full use of CPU.
- Extensible and ready-to-use alignment models.
- Manage subtomogram loading tasks from single or multiple tomograms in the same API.
- Tomogram and tilt series simulation.
- Masked PCA clustering.
Code Snippet
import polars as pl
from acryo import SubtomogramLoader, Molecules # acryo objects
from acryo.tilt import single_axis # missing wedge model
from acryo.pipe import soft_otsu # data input pipelines
# construct a loader
loader = SubtomogramLoader.imread(
"path/to/tomogram.mrc",
molecules=Molecules.from_csv("path/to/molecules.csv"),
tilt=single_axis((-45, 45), axis="y"), # range of tilt series degrees.
)
# filter out bad alignment in polars way
loader_filt = loader.filter(pl.col("score") > 0.7)
# averaging
avg = loader_filt.average(output_shape=(48, 48, 48))
# alignment
aligned_loader = loader.align(
template=avg, # use the average as template
mask=soft_otsu(sigma=2, radius=2), # apply soft-Otsu to template to make the mask
cutoff=0.5, # lowpass filtering cutoff
max_shifts=(4, 4, 4), # search space limits
)
Metadata
Release files for acryo 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| acryo-0.9.1.tar.gz | 169.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| acryo-0.9.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 371.8 kB
Release files / acryo-0.9.1.tar.gz
| Download URL | acryo-0.9.1.tar.gz |
|---|---|
| Size | 169.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0472c853a1d9c8c6ba185c68d93ef54840714f8e088488f80569ecc815808f19
|
|
BLAKE2b-256 checksum How to use checksums |
9a3b0c8085e649429e41b88bd10a32b7f80ce631c2e20824b239d05a4d68305e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.10.14"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.4.0 22 Oct 2024","python":"3.10.14","system":{"name":"Windows","release":"10"}} HTTPX2/2.13.1
|
Release files / acryo-0.9.1-py3-none-any.whl
| Download URL | acryo-0.9.1-py3-none-any.whl |
|---|---|
| Size | 202.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
55177808595cff60b37ade6e5df58c81e96b18ac6594b7a120d825e9b237912a
|
|
BLAKE2b-256 checksum How to use checksums |
f54be3493a46cd9709105f2ce6e642478b8d3653f765a9a3daef1fb7b79346ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.10.14"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.4.0 22 Oct 2024","python":"3.10.14","system":{"name":"Windows","release":"10"}} HTTPX2/2.13.1
|
Security for acryo 0.9.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.