scmorph - Single-cell morphological analysis

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/