spapros.ev.ProbesetEvaluator.load_results

ProbesetEvaluator.load_results(directories=None, reference_dir=None, steps=['shared', 'pre', 'main', 'summary'], set_ids=None, verbosity=1)

Load existing results from files of one or multiple evaluation output directories

In case of multiple directories we assume that the different evaluations were done with the same parameters. You can control which metrics are loaded by setting ProbesetEvaluator.metrics.

Parameters:
  • directories (Optional[Union[str, List[str]]]) – Directory or list of directories of previous evaluations. If None is given it’s set to ProbesetEvaluator.dir.

  • reference_dir (Optional[str]) – Directory with reference results. If None is given it’s set to ProbesetEvaluator.ref_dir.

  • steps (List[str]) –

    The results steps that are loaded. These include
    • ’shared’ - computations on the reference gene set

    • ’pre’ - computations on the selected gene set independent of the results on the reference gene set

    • ’main’ - computations on the selected gene set taking into account the reference gene set results

    • ’summary’ - summary metrics

  • set_ids (Optional[List[str]]) – Optionally only load the results for a subset of set ids.

  • verbosity (int) – Verbosity level.

Returns:

pd.DataFrame

A boolean table that indicates which results were loaded for each set_id. Note that some metrics don’t have result files for certain steps.

Return type:

DataFrame

Examples

Load results from a previous evaluation

import spapros as sp
adata = sp.ut.get_processed_pbmc_data()
selections = sp.se.select_reference_probesets(adata, methods=["DE", "HVG"], n=30, verbosity=0)
evaluator = sp.ev.ProbesetEvaluator(adata, verbosity=0, results_dir="eval_results")
for set_id, df in selections.items():
    gene_set = df[df["selection"]].index.to_list()
    evaluator.evaluate_probeset(gene_set, set_id=set_id)
del evaluator

evaluator = sp.ev.ProbesetEvaluator(adata, verbosity=0, results_dir="eval_results")
df_info = evaluator.load_results()

Load results from previous evaluations that were distributed in two directories

import spapros as sp
adata = sp.ut.get_processed_pbmc_data()

selections = sp.se.select_reference_probesets(
    adata, methods=["DE", "HVG"], n=30, verbosity=0)
evaluator = sp.ev.ProbesetEvaluator(
    adata, verbosity=0, results_dir="eval_results1")
for set_id, df in selections.items():
    gene_set = df[df["selection"]].index.to_list()
    evaluator.evaluate_probeset(gene_set, set_id=set_id)

selections = sp.se.select_reference_probesets(
    adata, methods=["PCA", "random"], n=30, verbosity=0)
evaluator = sp.ev.ProbesetEvaluator(
    adata, verbosity=0, results_dir="eval_results2")
for set_id, df in selections.items():
    gene_set = df[df["selection"]].index.to_list()
    evaluator.evaluate_probeset(gene_set, set_id=set_id)

evaluator = sp.ev.ProbesetEvaluator(adata, verbosity=2)
df_info = evaluator.load_results(
    directories=['./eval_results1/', './eval_results2/'], reference_dir="./eval_results1/references")