Skip to main content

Model architecture exploration for cryoET particle picking

Project description

OCTOPI 🐙🐙🐙

License PyPI Python Version

Object deteCTion Of ProteIns. A deep learning framework for Cryo-ET 3D particle picking with autonomous model exploration capabilities.

🚀 Introduction

octopi addresses a critical bottleneck in cryo-electron tomography (cryo-ET) research: the efficient identification and extraction of proteins within complex cellular environments. As advances in cryo-ET enable the collection of thousands of tomograms, the need for automated, accurate particle picking has become increasingly urgent.

Our deep learning-based pipeline streamlines the training and execution of 3D autoencoder models specifically designed for cryo-ET particle picking. Built on copick, a storage-agnostic API, octopi seamlessly accesses tomograms and segmentations across local and remote environments.

🧩 Core Features

  • 3D U-Net Training: Train and evaluate custom 3D U-Net models for particle segmentation
  • Automatic Architecture Search: Explore optimal model configurations using Bayesian optimization via Optuna
  • Flexible Data Access: Seamlessly work with tomograms from local storage or remote data portals
  • HPC Ready: Built-in support for SLURM-based clusters
  • Experiment Tracking: Integrated MLflow support for monitoring training and optimization
  • Dual Interface: Use via command-line or Python API

🚀 Quick Start

Installation

pip install octopi

Basic Usage

octopi provides two main command-line interfaces:

# Main CLI for training, inference, and data processing
octopi --help

The main octopi command provides subcommands for:

  • Data import and preprocessing
  • Training label preparation
  • Model training and exploration
  • Inference and particle localization
# HPC-specific CLI for submitting jobs to SLURM clusters
octopi-slurm --help

The octopi-slurm command provides utilities for:

  • Submitting training jobs to SLURM clusters
  • Managing distributed inference tasks
  • Handling batch processing on HPC systems

📚 Documentation

For detailed documentation, tutorials, CLI and API reference, visit our documentation.

🤝 Contributing

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.

🔒 Security

If you believe you have found a security issue, please responsibly disclose by contacting us at security@chanzuckerberg.com.

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

octopi-1.1.tar.gz (74.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octopi-1.1-py3-none-any.whl (102.9 kB view details)

Uploaded Python 3

File details

Details for the file octopi-1.1.tar.gz.

File metadata

  • Download URL: octopi-1.1.tar.gz
  • Upload date:
  • Size: 74.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for octopi-1.1.tar.gz
Algorithm Hash digest
SHA256 a7fccebb4fdac9c0c47a63e3ff738273bcfed1384711511a5dce0b3dffb06063
MD5 dca2817f969ad0f72a0bdddf3606e59b
BLAKE2b-256 2ad331715f8ca82e14765867394489ba4073cde7fdf648dc4a0e426fbc7bdd0b

See more details on using hashes here.

File details

Details for the file octopi-1.1-py3-none-any.whl.

File metadata

  • Download URL: octopi-1.1-py3-none-any.whl
  • Upload date:
  • Size: 102.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for octopi-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a73c07f9beb37a2e8de0405495516e7560c72fe9208ca5ddb6a845e479af3be
MD5 6670f23c07070e83c22c27a76826748e
BLAKE2b-256 ef06c0a9f342ea50de6b3dd004a4f426e90d0e913b4490daded8837aee80df77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page