Skip to main content

Spectral analysis, simulation and subtomogram averaging of heterogenic cylindrical structures

Project description

BSD 3-Clause License Python package index download statistics PyPI version codecov

cylindra

cylindra is a GUI-integrated cryo-ET image analysis tool for cylindric periodic structures such as microtubules.

→ Documentation

Installation

  • Use pip
pip install cylindra -U
  • From source

If you install from the source, you'll need Rust to compile a part of the code.

git clone git+https://github.com/hanjinliu/cylindra
cd cylindra
pip install .

Usage

Launch GUI

  • From shell

    cylindra
    
  • From a Python interpreter

    from cylindra import start
    
    # launch a napari viewer with a cylindra dock widget.
    ui = start()
    

Command line interface

cylindra is implemented with some basic command line interface (CLI).

cylindra --help

Implemented Functions

  • Automatic/manual fitting of splines to cylindrical structures in 3D.
  • Analyze lattice structures (such as lattice spacing and skew angle) using Cylindric Fourier transformation.
  • Automatic determination of polarity, protofilament number etc.
  • Monomer mapping along splines for subtomogram averaging and alignment.
  • Microtubule seam search with or without binding proteins.
  • Subtomogram alignment with 2D constraint.
  • Tomogram simulation of cylindric structure.

Prerequisite and Recommendations

  • Python ≥ 3.10. This project follows spec-0000.
  • Sufficient memory size. Most of the intense calculations are done out-of-core using dask, so that you can even run on 8-GB memory PC in many cases. However, larger memory size will make parallel processing more efficient. ≥32 GB is recommended.
  • Images should be loaded from SSD. Raw image stacks are loaded lazily in most of the processes. Loading from HDD will slow down many analyses as well.

Issues

If you encountered any bugs or have any requests, feel free to report an issue. (We'll appreciate if you find some methods are over-fitted to microtubules and do not work well on other cylindric structures)

For better reproducibility, please copy your environments from Others > cylindra info and the recorded macro from Others > Macro > Show macro.

Citation

If you find cylindra useful in your work, please consider citing our paper.

Heterogeneous local structures of the microtubule lattice revealed by cryo-ET and non-averaging analysis
Hanjin Liu, Hiroshi Yamaguchi, Masahide Kikkawa, Tomohiro Shima
bioRxiv 2024.04.30.591984; doi: https://doi.org/10.1101/2024.04.30.591984

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

cylindra-1.0.0b1.tar.gz (7.1 MB view hashes)

Uploaded Source

Built Distributions

cylindra-1.0.0b1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

cylindra-1.0.0b1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

cylindra-1.0.0b1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

cylindra-1.0.0b1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

cylindra-1.0.0b1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

cylindra-1.0.0b1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

cylindra-1.0.0b1-cp312-none-win_amd64.whl (631.1 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

cylindra-1.0.0b1-cp312-none-win32.whl (614.7 kB view hashes)

Uploaded CPython 3.12 Windows x86

cylindra-1.0.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

cylindra-1.0.0b1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

cylindra-1.0.0b1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

cylindra-1.0.0b1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

cylindra-1.0.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

cylindra-1.0.0b1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

cylindra-1.0.0b1-cp312-cp312-macosx_11_0_arm64.whl (729.6 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

cylindra-1.0.0b1-cp312-cp312-macosx_10_12_x86_64.whl (746.0 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

cylindra-1.0.0b1-cp311-none-win_amd64.whl (636.6 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

cylindra-1.0.0b1-cp311-none-win32.whl (618.1 kB view hashes)

Uploaded CPython 3.11 Windows x86

cylindra-1.0.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cylindra-1.0.0b1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

cylindra-1.0.0b1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

cylindra-1.0.0b1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

cylindra-1.0.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

cylindra-1.0.0b1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

cylindra-1.0.0b1-cp311-cp311-macosx_11_0_arm64.whl (733.2 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

cylindra-1.0.0b1-cp311-cp311-macosx_10_12_x86_64.whl (752.4 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

cylindra-1.0.0b1-cp310-none-win_amd64.whl (636.6 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

cylindra-1.0.0b1-cp310-none-win32.whl (618.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

cylindra-1.0.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cylindra-1.0.0b1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

cylindra-1.0.0b1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

cylindra-1.0.0b1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

cylindra-1.0.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

cylindra-1.0.0b1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

cylindra-1.0.0b1-cp310-cp310-macosx_11_0_arm64.whl (732.5 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

cylindra-1.0.0b1-cp310-cp310-macosx_10_12_x86_64.whl (751.7 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

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