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}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cell_cycle_classification-0.1.13.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cell_cycle_classification-0.1.13-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file cell_cycle_classification-0.1.13.tar.gz.

File metadata

File hashes

Hashes for cell_cycle_classification-0.1.13.tar.gz
Algorithm Hash digest
SHA256 f254a317a743c9c62c03a1dcb6fb9eca9484fdceac099a59382e3c9a06f2c266
MD5 903516c76e2c61e1126261046898376c
BLAKE2b-256 e869a55a311882db21a2fe87467ec96cd480ff48c30738b7693a0e7b902274b7

See more details on using hashes here.

File details

Details for the file cell_cycle_classification-0.1.13-py3-none-any.whl.

File metadata

File hashes

Hashes for cell_cycle_classification-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 e555f38f9a11b5a41b4c06c4845adbc76e64f40dbf278e66545f5c378a79a745
MD5 c247060a266973acdab5656050f333eb
BLAKE2b-256 c7f80e8da4c6c4146f907b123ca917b40dbe0b4f6653762f6a35f226cb45c745

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page