ehrapy.preprocessing.highly_variable_features#
- ehrapy.preprocessing.highly_variable_features(adata, layer=None, top_features_percentage=0.2, span=0.3, n_bins=20, subset=False, inplace=True, check_values=True)[source]#
Annotate highly variable features.
Expects count data. A normalized variance for each feature is computed. First, the data are standardized (i.e., z-score normalization per feature) with a regularized standard deviation. Next, the normalized variance is computed as the variance of each feature after the transformation. Features are ranked by the normalized variance.
- Parameters:
adata (
AnnData) – The annotated data matrix of shape n_obs × n_vars.layer (
str|None, default:None) – If provided, use adata.layers[layer] for expression values instead of adata.X.top_features_percentage (
float, default:0.2) – Percentage of highly-variable features to keep.span (
float|None, default:0.3) – The fraction of the data used when estimating the variance in the loess model fit.n_bins (
int, default:20) – Number of bins for binning. Normalization is done with respect to each bin. If just a single observation falls into a bin, the normalized dispersion is artificially set to 1. You’ll be informed about this if you set settings.verbosity = 4.subset (
bool, default:False) – Inplace subset to highly-variable features if True otherwise merely indicate highly variable features.inplace (
bool, default:True) – Whether to place calculated metrics in .var or return them.check_values (
bool, default:True) – Check if counts in selected layer are integers. A Warning is returned if set to True.
- Return type:
- Returns:
Depending on inplace returns calculated metrics (
DataFrame) or updates .var with the following fields
- highly_variable
boolean indicator of highly-variable features
- means
means per feature
- variances
variance per feature
- variances_norm
normalized variance per feature, averaged in the case of multiple batches
- highly_variable_rank
rank of the feature according to normalized variance, median rank in the case of multiple batches