cellarr-se
cellarr-se is a read-only, out-of-core coordinator for TileDB-backed genomic datasets. It wraps the cellarr-array and cellarr-frame primitives into a lazy, SummarizedExperiment-compatible interface, so you can slice large genomics datasets stored on disk without loading them into memory.
Single-cell and bulk RNA-seq datasets frequently exceed available RAM. cellarr-se keeps assay matrices and metadata tables on disk as TileDB arrays, performing synchronized lazy slices across all components only when you request them. The result is always a standard in-memory SummarizedExperiment object.
Install
pip install cellarr-se
Usage
Construction
CellArraySE wraps existing TileDB arrays and frames; it does not create them. Use cellarr-array and cellarr-frame to build the backing stores first.
from cellarr_se import CellArraySE
se = CellArraySE(
assays={"counts": my_cell_array, "tpm": my_tpm_array},
row_data=my_row_frame, # gene annotations (CellArrayFrame)
col_data=my_col_frame, # sample annotations (CellArrayFrame)
)
Inspection
se.shape # (n_genes, n_samples)
se.assay_names # ["counts", "tpm"]
se.row_names # pd.Index of gene identifiers
se.col_names # pd.Index of sample identifiers
se.row_columns # list of gene metadata fields
se.col_columns # list of sample metadata fields
se.show() # print a summary with the first 5 rows of each metadata table
repr(se) # <CellArraySE: 20000x500 | counts, tpm>
Slicing
Bracket notation supports integer indices, slices, name strings, and lists:
# Positional slice
subset = se[0:100, 0:50]
# Single element
gene = se[5, 3]
# Lists of indices or names
subset = se[["BRCA1", "TP53"], ["sample_001", "sample_042"]]
For attribute-filtered access, use slice() with TileDB query strings:
# Filter rows and columns by metadata attributes
subset = se.slice(
row_query="gene_type == 'protein_coding'",
col_query="tissue == 'liver'",
)
# Combine query with explicit column selection
subset = se.slice(
row_query="gene_type == 'protein_coding'",
col_subset=slice(0, 50),
assays=["counts"],
row_columns=["gene_id", "gene_name"],
)
Both se[...] and se.slice(...) return a standard in-memory SummarizedExperiment.
Assay metadata
se.is_sparse("counts") # True if backed by SparseCellArray
se.get_assay_type("counts") # numpy dtype of the assay
Demo
A worked example covering construction, inspection, and slicing is available in the demo notebook.
Note
This project has been set up using BiocSetup and PyScaffold.
Metadata
Release files for cellarr-se 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cellarr_se-0.1.0.tar.gz | 32.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cellarr_se-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.7 kB
Release files / cellarr_se-0.1.0.tar.gz
| Download URL | cellarr_se-0.1.0.tar.gz |
|---|---|
| Size | 32.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f028a1614e4e39e7ee55d3699ed4d246948f8b7215874b0a835f21b77217284
|
|
BLAKE2b-256 checksum How to use checksums |
ad6602c5739994d015718e323be287edd262f33a4138c6292b5b85fc35759a57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 1, 2026.
Transparency logRelease files / cellarr_se-0.1.0-py3-none-any.whl
| Download URL | cellarr_se-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c71a6d067005cc6af7aec6f8bdad7e9b061044b3031c05a61b8e3dc61a25208b
|
|
BLAKE2b-256 checksum How to use checksums |
ae7ed749f60be8c17501e4781621fdad75b6ea08521dda5d03548be3c11d8dce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 1, 2026.
Transparency log