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.