An extensible cryo-EM/ET toolkit for Python.
Project description
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"),
)
# 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
tilt=single_axis((-45, 45), axis="y"), # range of tilt series degrees.
cutoff=0.5, # lowpass filtering cutoff
max_shifts=(4, 4, 4), # search space limits
)
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
acryo-0.4.13.tar.gz
(75.8 kB
view details)
Built Distribution
acryo-0.4.13-py3-none-any.whl
(99.2 kB
view details)
File details
Details for the file acryo-0.4.13.tar.gz
.
File metadata
- Download URL: acryo-0.4.13.tar.gz
- Upload date:
- Size: 75.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | adf7e14b0448791efa00c306de1581254ed8753cd88243c6dc38979cd94d52ff |
|
MD5 | 45d6f645977619a31024ada1daf8a8f2 |
|
BLAKE2b-256 | 46faa9af9f195c364116d7dde05a20cd22bd9dce027f3d95dca31fb3e6947a45 |
File details
Details for the file acryo-0.4.13-py3-none-any.whl
.
File metadata
- Download URL: acryo-0.4.13-py3-none-any.whl
- Upload date:
- Size: 99.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8759d58e8ddb7a574a3b7adb61b53c30d7ad615285bfda44d47e4f7df10570c4 |
|
MD5 | 7230c3e54e3d701013bb7a88d8886fcf |
|
BLAKE2b-256 | 5e22bd2cc5be90b19dbba9f26fcfbe049114a7b8086482b2af3b647fa6534c02 |