Object deteCTion Of ProteIns. A deep learning framework for Cryo-ET 3D particle picking with autonomous model exploration capabilities.
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.
- 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
Octopi is availableon PyPI and can be installed using pip:
pip install octopi
pip install --upgrade "pip<25"
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
For detailed documentation, tutorials, CLI and API reference, visit our documentation.
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.
If you believe you have found a security issue, please responsibly disclose by contacting us at security@chanzuckerberg.com.