This package provides container class to represent single-cell experimental data as 2-dimensional matrices. In these matrices, the rows typically denote features or genomic regions of interest, while columns represent cells. In addition, a SingleCellExperiment
(SCE) object may contain low-dimensionality embeddings, alternative experiments performed on same sample or set of cells. Follows Bioconductor's SingleCellExperiment.
To get started, install the package from PyPI
pip install singlecellexperiment
The SingleCellExperiment
extends RangeSummarizedExperiment and contains additional attributes:
reduced_dims
: Slot for low-dimensionality embeddings for each cell.alternative_experiments
: Manages multi-modal experiments performed on the same sample or set of cells.row_pairs
orcolumn_pairs
: Stores relationships between features or cells.
Readers are available to parse h5ad or AnnData
objects to SCE:
import singlecellexperiment
sce = singlecellexperiment.read_h5ad("tests/data/adata.h5ad")
## output
class: SingleCellExperiment
dimensions: (20, 30)
assays(3): ['array', 'sparse', 'X']
row_data columns(5): ['var_cat', 'cat_ordered', 'int64', 'float64', 'uint8']
row_names(0):
column_data columns(5): ['obs_cat', 'cat_ordered', 'int64', 'float64', 'uint8']
column_names(0):
main_experiment_name:
reduced_dims(0): []
alternative_experiments(0): []
row_pairs(0): []
column_pairs(0): []
metadata(2): O_recarray nested
OR construct one from scratch
from singlecellexperiment import SingleCellExperiment
tse = SingleCellExperiment(
assays={"counts": counts}, row_data=df_gr, col_data=col_data,
reduced_dims={"tsne": ..., "umap": ...}, alternative_experiments={"atac": ...}
)
Since SingleCellExperiment
extends RangeSummarizedExperiment
, most methods especially slicing and accessors are applicable here.
Checkout the documentation for more info.
This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.