scanpy.tl.filter_rank_genes_groups#
- scanpy.tl.filter_rank_genes_groups(adata, *, key=None, groupby=None, use_raw=None, key_added='rank_genes_groups_filtered', min_in_group_fraction=0.25, min_fold_change=1, max_out_group_fraction=0.5, compare_abs=False)[source]#
Filters out genes based on log fold change and fraction of genes expressing the gene within and outside the
groupby
categories.See
rank_genes_groups()
.Results are stored in
adata.uns[key_added]
(default: ‘rank_genes_groups_filtered’).To preserve the original structure of adata.uns[‘rank_genes_groups’], filtered genes are set to
NaN
.- Parameters:
- adata
AnnData
- key
str
|None
(default:None
) - groupby
str
|None
(default:None
) - use_raw
bool
|None
(default:None
) - key_added
str
(default:'rank_genes_groups_filtered'
) - min_in_group_fraction
float
(default:0.25
) - min_fold_change
float
(default:1
) - max_out_group_fraction
float
(default:0.5
) - compare_abs
bool
(default:False
) If
True
, compare absolute values of log fold change withmin_fold_change
.
- adata
- Return type:
- Returns:
Same output as
scanpy.tl.rank_genes_groups()
but with filtered genes names set tonan
Examples
>>> import scanpy as sc >>> adata = sc.datasets.pbmc68k_reduced() >>> sc.tl.rank_genes_groups(adata, 'bulk_labels', method='wilcoxon') >>> sc.tl.filter_rank_genes_groups(adata, min_fold_change=3) >>> # visualize results >>> sc.pl.rank_genes_groups(adata, key='rank_genes_groups_filtered') >>> # visualize results using dotplot >>> sc.pl.rank_genes_groups_dotplot(adata, key='rank_genes_groups_filtered')