, gene_list, ctrl_size=50, gene_pool=None, n_bins=25, score_name='score', random_state=0, copy=False, use_raw=False)

Score a set of genes [Satija15].

The score is the average expression of a set of genes subtracted with the average expression of a reference set of genes. The reference set is randomly sampled from the gene_pool for each binned expression value.

This reproduces the approach in Seurat [Satija15] and has been implemented for Scanpy by Davide Cittaro.

adata : AnnData

The annotated data matrix.

gene_list : iterable

The list of gene names used for score calculation.

ctrl_size : int, optional (default: 50)

Number of reference genes to be sampled. If len(gene_list) is not too low, you can set ctrl_size=len(gene_list).

gene_pool : list or None, optional (default: None)

Genes for sampling the reference set. Default is all genes.

n_bins : int, optional (default: 25)

Number of expression level bins for sampling.

score_name : str, optional (default: 'score')

Name of the field to be added in .obs.

random_state : int, optional (default: 0)

The random seed for sampling.

copy : bool, optional (default: False)

Copy adata or modify it inplace.

use_raw : bool, optional (default: False)

Use raw attribute of adata if present.


  • Depending on copy, returns or updates adata with an additional field
  • score_name.


See this notebook.