Transform CellProfiler and DeepProfiler data for processing image-based profiling readouts with Pycytominer and other Cytomining tools.
Project description
CytoTable
Diagram showing data flow relative to this project.
Summary
Image-based profiling often entails preparing data for analysis by transforming the outputs of image analysis tools into a consistent, analysis-ready format.
CytoTable streamlines analyses by harmonizing CellProfiler (.csv or .sqlite), cytominer-database (.sqlite), DeepProfiler (.npz), or other sources such as IN Carta output data at scale.
This helps biologists by lowering the barrier between image acquisition and data interpretation, enabling them to focus on biological insights rather than file formats or data wrangling.
CytoTable creates Parquet or AnnData files for both independent analysis and for input into Pycytominer. The output files (such as Parquet and AnnData file formats) have a documented data model, including referenceable schema where appropriate (for validation within Pycytominer or other image-based profiling projects).
The name for the project is inspired by:
- Cyto: "1. (biology) cell." (Wiktionary: Cyto-)
- Table:
- "1. Furniture with a top surface to accommodate a variety of uses."
- "3.1. A matrix or grid of data arranged in rows and columns."
(Wiktionary: Table)
Installation
Install CytoTable from PyPI or from source:
# install from pypi
pip install cytotable
# install directly from source
pip install git+https://github.com/cytomining/CytoTable.git
Getting started
Check out the following resources to get started with CytoTable! We created tutorials which follow a narrative-driven approach. We also provide Jupyter notebooks for pragmatic, hands-on explanations.
We suggest image analysts begin with the tutorials and explore the example notebooks afterwards.
| Resource | What it covers | Link |
|---|---|---|
| Tutorial | CellProfiler SQLite or CSV to Parquet | Open tutorial |
| Tutorial | NPZ embeddings to Parquet | Open tutorial |
| Tutorial | Multi-plate merge with tablenumber | Open tutorial |
| Example notebook | CytoTable mise en place (general overview) | Open notebook |
| Example notebook | CytoTable from the cloud (cloud-based overview) | Open notebook |
Contributing, Development, and Testing
We test CytoTable using ubuntu-latest and macos-latest GitHub Actions runner images.
Please see contributing.md for more details on contributions, development, and testing.
Relationship to other projects
CytoTable focuses on image-based profiling data harmonization and serialization. At scale, CytoTable transforms data into file formats which can be directly integrated with:
Please let us know how you use CytoTable (we'd love to add your project to this list)!
- Pycytominer for the bioinformatics pipeline for image-based profiling.
- coSMicQC for quality control.
- CytoDataFrame for interactive visualization of profiles with single cell images.
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cytotable-1.2.0.tar.gz.
File metadata
- Download URL: cytotable-1.2.0.tar.gz
- Upload date:
- Size: 51.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb9a76261f4b172357a8a151d1efa2a84e745b7d0e847a3d3f3c4fccc0d96ef9
|
|
| MD5 |
23ba13172f0a561b5854b12728cdbd3d
|
|
| BLAKE2b-256 |
c750273a1877ed4ad840ab6f44e6f5b8a24ed1d650bb5a6b250dfc8435707f57
|
Provenance
The following attestation bundles were made for cytotable-1.2.0.tar.gz:
Publisher:
publish-pypi.yml on cytomining/CytoTable
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cytotable-1.2.0.tar.gz -
Subject digest:
fb9a76261f4b172357a8a151d1efa2a84e745b7d0e847a3d3f3c4fccc0d96ef9 - Sigstore transparency entry: 1186294129
- Sigstore integration time:
-
Permalink:
cytomining/CytoTable@b44e10a5b4a01429bdf5a5f931d10342916be791 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/cytomining
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b44e10a5b4a01429bdf5a5f931d10342916be791 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cytotable-1.2.0-py3-none-any.whl.
File metadata
- Download URL: cytotable-1.2.0-py3-none-any.whl
- Upload date:
- Size: 56.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
820dff6b0ddad0a6d26866691b685dfa8d135473a7ce5f9654e44db5f6cbbb75
|
|
| MD5 |
334da10d99f3a9d35b794e58296c4036
|
|
| BLAKE2b-256 |
842dc1042bcc87b5936d248fa75713a005e4eab49a445b3656018c943bdc526f
|
Provenance
The following attestation bundles were made for cytotable-1.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on cytomining/CytoTable
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cytotable-1.2.0-py3-none-any.whl -
Subject digest:
820dff6b0ddad0a6d26866691b685dfa8d135473a7ce5f9654e44db5f6cbbb75 - Sigstore transparency entry: 1186294134
- Sigstore integration time:
-
Permalink:
cytomining/CytoTable@b44e10a5b4a01429bdf5a5f931d10342916be791 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/cytomining
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b44e10a5b4a01429bdf5a5f931d10342916be791 -
Trigger Event:
release
-
Statement type: