Source code for ehrapy.get._get

from collections.abc import Iterable

from anndata import AnnData
from scanpy.get import obs_df as scanpy_obs_df
from scanpy.get import rank_genes_groups_df
from scanpy.get import var_df as scanpy_var_df


[docs] def obs_df( # pragma: no cover adata: AnnData, keys: Iterable[str] = (), obsm_keys: Iterable[tuple[str, int]] = (), *, layer: str = None, features: str = None, ): """Return values for observations in adata. Args: adata: AnnData object to get values from. keys: Keys from either `.var_names`, `.var[gene_symbols]`, or `.obs.columns`. obsm_keys: Tuple of `(key from obsm, column index of obsm[key])`. layer: Layer of `adata`. features: Column of `adata.var` to search for `keys` in. Returns: A DataFrame with `adata.obs_names` as index, and values specified by `keys` and `obsm_keys`. Examples: >>> import ehrapy as ep >>> adata = ep.dt.mimic_2(encoded=True) >>> ages = ep.get.obs_df(adata, keys=["age"]) """ return scanpy_obs_df(adata=adata, keys=keys, obsm_keys=obsm_keys, layer=layer, gene_symbols=features)
[docs] def var_df( # pragma: no cover adata: AnnData, keys: Iterable[str] = (), varm_keys: Iterable[tuple[str, int]] = (), *, layer: str = None, ): """Return values for observations in adata. Args: adata: AnnData object to get values from. keys: Keys from either `.obs_names`, or `.var.columns`. varm_keys: Tuple of `(key from varm, column index of varm[key])`. layer: Layer of `adata`. Returns: A DataFrame with `adata.var_names` as index, and values specified by `keys` and `varm_keys`. Examples: >>> import ehrapy as ep >>> adata = ep.dt.mimic_2(encoded=True) >>> four_patients = ep.get.var_df(adata, keys=["0", "1", "2", "3"]) """ return scanpy_var_df(adata=adata, keys=keys, varm_keys=varm_keys, layer=layer)
[docs] def rank_features_groups_df( adata: AnnData, group: str | Iterable[str], *, key: str = "rank_features_groups", pval_cutoff: float | None = None, log2fc_min: float | None = None, log2fc_max: float | None = None, features: str | None = None, ): """:func:`ehrapy.tools.rank_features_groups` results in the form of a :class:`~pandas.DataFrame`. Args: adata: AnnData object to get values from. group: Which group (as in :func:`ehrapy.tools.rank_features_groups`'s `groupby` argument) to return results from. Can be a list. All groups are returned if groups is `None`. key: Key differential groups were stored under. pval_cutoff: Return only adjusted p-values below the cutoff. log2fc_min: Minimum logfc to return. log2fc_max: Maximum logfc to return. features: Column name in `.var` DataFrame that stores gene symbols. Specifying this will add that column to the returned DataFrame. Returns: A Pandas DataFrame of all rank genes groups results. Examples: >>> import ehrapy as ep >>> adata = ep.dt.mimic_2(encoded=True) >>> ep.tl.rank_features_groups(adata, "service_unit") >>> df = ep.get.rank_features_groups_df(adata, group="FICU") """ return rank_genes_groups_df( adata=adata, group=group, key=key, pval_cutoff=pval_cutoff, log2fc_min=log2fc_min, log2fc_max=log2fc_max, gene_symbols=features, )