Skip to main content

An extensible cryo-EM/ET toolkit for Python.

Project description

Python package index download statistics PyPI version

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.

📘 Documentation

Install

Use pip
pip install acryo -U
From source
git clone git+https://github.com/hanjinliu/acryo.git
cd acryo
pip install -e .

Features

  1. Out-of-core and parallel processing during subtomogram averaging/alignment to make full use of CPU.
  2. Extensible and ready-to-use alignment models.
  3. Manage subtomogram loading tasks from single or multiple tomograms in the same API.
  4. Tomogram and tilt series simulation.
  5. 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


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)

Uploaded Source

Built Distribution

acryo-0.4.13-py3-none-any.whl (99.2 kB view details)

Uploaded Python 3

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

Hashes for acryo-0.4.13.tar.gz
Algorithm Hash digest
SHA256 adf7e14b0448791efa00c306de1581254ed8753cd88243c6dc38979cd94d52ff
MD5 45d6f645977619a31024ada1daf8a8f2
BLAKE2b-256 46faa9af9f195c364116d7dde05a20cd22bd9dce027f3d95dca31fb3e6947a45

See more details on using hashes here.

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

Hashes for acryo-0.4.13-py3-none-any.whl
Algorithm Hash digest
SHA256 8759d58e8ddb7a574a3b7adb61b53c30d7ad615285bfda44d47e4f7df10570c4
MD5 7230c3e54e3d701013bb7a88d8886fcf
BLAKE2b-256 5e22bd2cc5be90b19dbba9f26fcfbe049114a7b8086482b2af3b647fa6534c02

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