Skip to main content

Cell cycle classification

CI License BSD-3 PyPI

Code associated to the paper "A deep learning approach for time-consistent cell cycle phase prediction from microscopy data" published in PLOS Computational Biology.

figure

Installation

Conda environment

It is highly recommended to create a dedicated conda environment, by following these few steps:

  1. Install an Anaconda distribution of Python. Note you might need to use an anaconda prompt if you did not add anaconda to the path.

  2. Open an Anaconda prompt as admin to create a new environment using conda. We advice to use python 3.10 and conda 23.10.0, to get conda-libmamba-solver as default solver.

conda create --name cell_cycle_classification python=3.10 conda=23.10.0
conda activate cell_cycle_classification

Package installation

Once in a dedicated environment, our package can be installed via pip:

pip install cell_cycle_classification

Alternatively, you can clone the github repo to get access to the notebooks.

git clone https://github.com/15bonte/cell_cycle_classification.git
cd cell_cycle_classification
pip install -e .

GPU

Using a GPU is mandatory to speed up training and inference. To use your NVIDIA GPU, the first step is to download the dedicated driver from NVIDIA.

Next we need to remove the CPU version of torch:

pip uninstall torch

The GPU version of torch to be installed can be found here. You may choose the CUDA version supported by your GPU, and install it with conda. This package has been developed with the version 11.6, installed with this command:

conda install pytorch==1.12.1 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia

Update

To update cell_cycle_classification to the latest version, open an Anaconda prompt and use the following commands:

conda activate cell_cycle_classification
pip install cell_cycle_classification --upgrade

Notebooks, models and data

Notebooks are provided as examples to demonstrate how to train and test our model. You can experiment with them using a subset of our data, available from Zenodo. Complete dataset is available on the BioImage Archive.

  • Train: this notebook shows the training of both VAE and classification models.
  • Eval VAE: this notebook evaluates image reconstruction accuracy and time consistency from our pretrained VAE model, available from HuggingFace.
  • Eval classifier: similarly, this notebook evaluates cell cycle classification accuracy from our pretrained classification model, available from HuggingFace.
  • Predict cell cycle phase: this notebook predicts the cell cycle phase of a single image file, included in the repository. It uses our pretrained classification model, available from HuggingFace.

Development

Read the CONTRIBUTING.md file.

Release

Release is performed by updating the version number in VERSION and pushing the corresponding tag.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Citation

If you found our work useful, please consider citing:

@article{bonte2025deep,
  title={A Deep Learning approach for time-consistent cell cycle phase prediction from microscopy data},
  author={Bonte, Thomas and Pourcelot, Oriane and Safieddine, Adham and Slimani, Floric and Mueller, Florian and Weil, Dominique and Bertrand, Edouard and Walter, Thomas},
  journal={PLOS Computational Biology},
  volume={21},
  number={12},
  pages={e1013800},
  year={2025},
  publisher={Public Library of Science San Francisco, CA USA}
}

Metadata

Release files for cell-cycle-classification 0.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cell-cycle-classification 0.1.13
File Size Uploaded
cell_cycle_classification-0.1.13.tar.gz 30.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cell-cycle-classification 0.1.13
File Interpreter ABI Platform
cell_cycle_classification-0.1.13-py3-none-any.whl Python 3 none any Details

Total release size: 65.3 kB

Release files / cell_cycle_classification-0.1.13.tar.gz

Download URL cell_cycle_classification-0.1.13.tar.gz
Size 30.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f254a317a743c9c62c03a1dcb6fb9eca9484fdceac099a59382e3c9a06f2c266
BLAKE2b-256 checksum
How to use checksums
e869a55a311882db21a2fe87467ec96cd480ff48c30738b7693a0e7b902274b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / cell_cycle_classification-0.1.13-py3-none-any.whl

Download URL cell_cycle_classification-0.1.13-py3-none-any.whl
Size 34.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e555f38f9a11b5a41b4c06c4845adbc76e64f40dbf278e66545f5c378a79a745
BLAKE2b-256 checksum
How to use checksums
c7f80e8da4c6c4146f907b123ca917b40dbe0b4f6653762f6a35f226cb45c745
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.13 This release

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.4

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page