scmorph - Single-cell morphological analysis#
scmorph is a Python library to process CellPainting or any morphological data. It unlocks single-cell data to model heterogenity.
scmorph differs from the popular PyCytominer package in the following ways:
Single-cell: Enables efficient analysis of single-cell data
Batch-correction: Natively integrates a batch correction technique widely used for scRNA-seq.
Enhanced feature selection: Removes non-linearly correlated features using an adapted Chatterjee correlation coefficient, which results in fewer, more meaningful features.
Enhanced aggregation: Offers statistically robust aggregation methods to derive meaningful distances to a control sample.
It provides tools to make single-cell data analysis easier and more reproducible. For example, it can be used to:
Load in data from csv files, e.g. generated by CellProfiler.
Remove batch effects to compare conditions across batches.
QC both cells and images.
Remove redundant features based on correlation.
Reduce dimensionality to gain quick intuition about the data’s spread.
Perform statistically robust aggregate analysis to quickly identify hits.
Installation#
Install scmorph via pip or conda:
pip install scmorph
# or:
conda install -c conda-forge scmorph
Usage#
For documentation on the usage of scmorph, please see https://scmorph.readthedocs.io/en/latest/
Citation#
If you use scmorph in your work, please cite the scmorph publication as follows:
scmorph: a Python package for analysing single-cell morphological profiles
Jesko Wagner, Hugh Warden, Ava Khamseh, Sjoerd Viktor Beentjes,
JOSS 2025 Aug 22. doi: 10.21105/joss.08324.