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

Octopi is availableon PyPI and can be installed using pip:

pip install octopi

⚠️ Note: One of the current dependencies is currently not working with pip 25.1. We recommend using pip 25.2 or higher, or uv pip when installing octopi.

pip install --upgrade "pip>=25.2"

Basic Usage

octopi provides two main command-line interfaces:

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

# HPC-specific CLI for submitting jobs to SLURM clusters
octopi-slurm --help

📚 Documentation

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

🤝 Contributing

Code of Conduct

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.3.3.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

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

octopi-1.3.3-py3-none-any.whl (108.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: octopi-1.3.3.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for octopi-1.3.3.tar.gz
Algorithm Hash digest
SHA256 58952488db9127bcc5823b6966b668a34b32eb6182f6636439540bd5305a69c5
MD5 c7be2fb81db8cd5c5cfea3a3f7ff6a1f
BLAKE2b-256 e0d0bc2d8671aefa0c9c13c4e29cd66b40990ea2c91b00b5664211e7c24e9f42

See more details on using hashes here.

Provenance

The following attestation bundles were made for octopi-1.3.3.tar.gz:

Publisher: release-please.yml on chanzuckerberg/octopi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: octopi-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 108.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for octopi-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a07dcae61c6d3077a651b8a24392ce3fa2df24d0435cd05618150c570a61e556
MD5 f048bb4c70186118100d9c278ad0d6d8
BLAKE2b-256 a6ad1cb520ad0828b477458c85381c73f10a32afcfb6c328b388c648188d59d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for octopi-1.3.3-py3-none-any.whl:

Publisher: release-please.yml on chanzuckerberg/octopi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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