Important
DeepProfiler is undergoing changes to support wider use. The package is being refocused as a lightweight, pip-installable feature extractor for microscopy images, with native support for models hosted on HuggingFace and outputs following cytotable standards. Training, the plugin system, and CometML integration are deprecated and will be removed in a future release. See ROADMAP.md for the full plan. If you depend on any deprecated functionality, please open an issue to let us know.
DeepProfiler is a set of tools to use deep learning for analyzing imaging data in high-throughput biological experiments. Please, see our DeepProfiler Handbook for more details about how to use it and DeepProfilerExperiments repository for the examples of configuration files and downstream analysis.
Checkout our Nature Communications paper.
Cell Painting CNN weights are available on Zenodo.
We used DeepProfiler to train a feature extraction model for single cells in Cell Painting experiments. The model brings state-of-the-art profiling performance for downstream analysis tasks. This model is an EfficientNet trained to process the 5 channels of the Cell Painting assay and produce single-cell morphology embeddings, which can be aggregated to profile treatments in large-scale experiments. Features obtained with the Cell Painting CNN are more robust and improve performance.
- Python 3.10+ is required.
- Linux (Ubuntu 20.04+) or macOS.
- For GPU acceleration, a CUDA-compatible GPU is recommended.
pip install deepprofiler
Or run directly without any environment setup using uvx — it handles installation automatically in an isolated environment:
uvx deepprofiler --root=/path/to/project --config=config.json profile
For contributing, see CONTRIBUTING.md.
This repository contains example data structured as a DeepProfiler project. Unpack it with:
tar -xzf example_data.tar.gz
Initialize your project directory structure:
deepprofiler --root=/path/to/project --config=config.json setup
Place your images, metadata CSV, and cell locations in the created directories
(see the handbook for layout details).
Download an example configuration file
and put it in project/inputs/config/.
Copy the model weights (Cell_Painting_CNN_v1.hdf5,
available on Zenodo) into project/outputs/cell_painting/checkpoint/.
Run feature extraction:
deepprofiler --root=/path/to/project --config=cell_painting_cnn.json --exp=cell_painting --gpu=0 profile
Extracted features are written to project/outputs/cell_painting/features/.
⚠️ Deprecated: Model training functionality (thetrain,traintf2, andexport-sccommands) is deprecated and will be removed in a future release. DeepProfiler is being redesigned as a dedicated feature extractor. If you are currently using training, please open an issue to discuss your use case.
If you are interested in training a model on your images, please follow the instructions in our documentation handbook.
⚠️ Deprecated: The plugin system for models, crop generators, and metrics is deprecated and will be removed in a future release alongside the training functionality.
⚠️ Deprecated: CometML integration is deprecated and will be removed in a future release.
Happy profiling!


