TileDB-SOMA is a Python API for efficient storage and retrieval of single-cell biological data, building on the TileDB embedded array database. It implements the SOMA (Single Object for Multi-omic Access) specification, enabling scalable, language-agnostic access to annotated matrices. The library receives regular updates, typically with minor releases every 1-2 months.
pip install tiledbsomaVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to create a simple SOMA DataFrame, write Pandas data to it with a PyArrow schema, and then read the data back. This covers the fundamental create, write, and read operations for a basic SOMA object.
Upgrade to TileDB-SOMA 2.1.2 or newer and re-ingest any BPCells data created with versions 2.1.0 or 2.1.1.
Users on MacOS Intel systems should consider migrating to Apple Silicon (M-series) for continued support and optimal performance. Future versions may drop support entirely.
Before creating a new SOMA object, ensure the path does not exist, or explicitly delete the existing object using `soma.delete(path)` if overwriting is intended.
Carefully define your `pyarrow.Schema` when creating SOMA objects. Ensure the `dtype` of your input data (e.g., Pandas DataFrame) is compatible with the PyArrow types in the schema.