Skip to content

cytomining/DeepProfiler

DeepProfiler

Python 3.10+ CI codecov Cell Painting CNN-1 DOI Example data DOI

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.

Image-based profiling using deep learning

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

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.

Quick Guide

System requirements

  • Python 3.10+ is required.
  • Linux (Ubuntu 20.04+) or macOS.
  • For GPU acceleration, a CUDA-compatible GPU is recommended.

Install

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.

Download example data

This repository contains example data structured as a DeepProfiler project. Unpack it with:

tar -xzf example_data.tar.gz

Profiling with the Cell Painting CNN-1

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/.

Training your own models

⚠️ Deprecated: Model training functionality (the train, traintf2, and export-sc commands) 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.

Plugin system

⚠️ Deprecated: The plugin system for models, crop generators, and metrics is deprecated and will be removed in a future release alongside the training functionality.

CometML experiment tracking

⚠️ Deprecated: CometML integration is deprecated and will be removed in a future release.

Happy profiling!

About

Morphological profiling using deep learning

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages