Model architecture exploration for cryoET particle picking
Project description
OCTOPI 🐙🐙🐙
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
📚 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file octopi-1.4.0.tar.gz.
File metadata
- Download URL: octopi-1.4.0.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66701b25f2708609296a489ed29a4cc9c0851394ebf116f76a6db8d2359df01d
|
|
| MD5 |
41baa4cedda6c1a97aff0e1a6af52dd6
|
|
| BLAKE2b-256 |
971d5aba94434ea849c106a326fcecc7709f3a1a2ae52fac30ceb6d5ab59d7fd
|
Provenance
The following attestation bundles were made for octopi-1.4.0.tar.gz:
Publisher:
release-please.yml on chanzuckerberg/octopi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
octopi-1.4.0.tar.gz -
Subject digest:
66701b25f2708609296a489ed29a4cc9c0851394ebf116f76a6db8d2359df01d - Sigstore transparency entry: 789199544
- Sigstore integration time:
-
Permalink:
chanzuckerberg/octopi@bfbf5fa6998478ae260d607177d3c8fa11ce3596 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/chanzuckerberg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@bfbf5fa6998478ae260d607177d3c8fa11ce3596 -
Trigger Event:
push
-
Statement type:
File details
Details for the file octopi-1.4.0-py3-none-any.whl.
File metadata
- Download URL: octopi-1.4.0-py3-none-any.whl
- Upload date:
- Size: 112.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaffc4ecfe67f376f1888ef82899e86eaa983426536d997e50ff4707991cb0d5
|
|
| MD5 |
405cc4f7414b65fb6f3a0ba65e2078f0
|
|
| BLAKE2b-256 |
e4743c483a23722e755e6412869db621491b84c3ee545dd920c01875125384c5
|
Provenance
The following attestation bundles were made for octopi-1.4.0-py3-none-any.whl:
Publisher:
release-please.yml on chanzuckerberg/octopi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
octopi-1.4.0-py3-none-any.whl -
Subject digest:
eaffc4ecfe67f376f1888ef82899e86eaa983426536d997e50ff4707991cb0d5 - Sigstore transparency entry: 789199550
- Sigstore integration time:
-
Permalink:
chanzuckerberg/octopi@bfbf5fa6998478ae260d607177d3c8fa11ce3596 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/chanzuckerberg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@bfbf5fa6998478ae260d607177d3c8fa11ce3596 -
Trigger Event:
push
-
Statement type: