gretapy.tl.eval_grn_dataset

gretapy.tl.eval_grn_dataset#

gretapy.tl.eval_grn_dataset(organism, grn, dataset, terms, metrics=None, min_edges=5, grn_name=None, dataset_name=None, verbose=True)#

Evaluate a GRN against a dataset using multiple metrics.

Parameters:
  • organism (str) – Which organism to use (e.g., “hg38”, “mm10”).

  • grn (DataFrame) – GRN DataFrame with columns “source”, “target”, and optionally “cre” and “score”.

  • dataset (str | MuData | AnnData) – Dataset name (str) to load from config, or loaded MuData/AnnData object.

  • terms (dict | None) – Dictionary mapping database names to lists of terms for filtering. If None and dataset is str, terms are auto-loaded from config. Cannot be None if dataset is MuData/AnnData.

  • metrics (str | list | None (default: None)) – Metric(s) to evaluate. Can be category name, metric type, or database name. If None, all available metrics are evaluated.

  • min_edges (int (default: 5)) – Minimum number of edges required in the GRN to run evaluation. GRNs with fewer edges will return an empty DataFrame.

  • grn_name (str | None (default: None)) – Optional name for the GRN (used in log messages).

  • dataset_name (str | None (default: None)) – Optional name for the dataset (used in log messages).

  • verbose (bool (default: True)) – Whether to log progress messages and show progress bars.

Return type:

DataFrame

Returns:

DataFrame with columns: category, metric, db, precision, recall, f01.

Example

import gretapy as gt
import pandas as pd

grn = pd.read_csv("grn.csv")
results = gt.tl.eval_grn_dataset(
    organism="hg38",
    grn=grn,
    dataset="pbmc10k",
    terms=None,
    metrics=None,
)