scanpy.pp.downsample_counts(adata, counts_per_cell=None, total_counts=None, *, random_state=0, replace=False, copy=False)[source]#

Downsample counts from count matrix.

If counts_per_cell is specified, each cell will downsampled. If total_counts is specified, expression matrix will be downsampled to contain at most total_counts.

adata AnnData

Annotated data matrix.

counts_per_cell int | Collection[int] | None (default: None)

Target total counts per cell. If a cell has more than ‘counts_per_cell’, it will be downsampled to this number. Resulting counts can be specified on a per cell basis by passing an array.Should be an integer or integer ndarray with same length as number of obs.

total_counts int | None (default: None)

Target total counts. If the count matrix has more than total_counts it will be downsampled to have this number.

random_state Union[int, RandomState, None] (default: 0)

Random seed for subsampling.

replace bool (default: False)

Whether to sample the counts with replacement.

copy bool (default: False)

Determines whether a copy of adata is returned.

Return type:

AnnData | None


Returns None if copy=False, else returns an AnnData object. Sets the following fields:

adata.Xnumpy.ndarray | scipy.sparse.spmatrix (dtype float)

Downsampled counts matrix.