descope.inference
- class BaseInference(test_csv_template_fp: str, adata: str | AnnData, pretrained_model_name_or_path: str, pert_col: str = 'perturbation', ctrl_name: str = 'control')[source]
Bases:
CellEvalMixin,ABC
- class CellEvalMixin[source]
Bases:
objectA mixin class designed to extend evaluation capabilities for single-cell perturbation prediction tasks. This class provides methods to compute various metrics on predicted and real AnnData objects, including differential expression (DE) analysis etc.
Example:
>>> from descope.inference import CellEvalMixin
>>> evalmixin = CellEvalMixin() >>> print(evalmixin.all_metrics) # list all metrics in cell-eval
>>> results, agg_results, evaluator = evalmixin.compute_metrics(...)
>>> # Compute extra metrics >>> evalmixin.extra_metrics_func.pearson(evaluator.anndata_pair, ...) # pearson >>> evalmixin.extra_metrics_func.pearson_delta_on_topk_de(evaluator.anndata_pair, ...) # pearson_delta_on_topk_de >>> evalmixin.extra_metrics_func.direction_match_on_topk_de(evaluator.anndata_pair, ...) # direction_match_on_topk_de >>> evalmixin.extra_metrics_func.edistance(...) # edistance
- property all_anndata_pair_metrics: list
- property all_de_metrics: list
- property all_metrics: list
- compute_metrics(adata_pred: str | AnnData, adata_real: str | AnnData, metrics_to_calculate: list, de_pred: str | None = None, de_real: str | None = None, control_pert: str = 'non-targeting', pert_col: str = 'target_gene', de_method: str = 'wilcoxon', num_threads: int = -1, outdir: str = './cell-eval-outdir') tuple[DataFrame, DataFrame, MetricsEvaluator][source]
- property extra_metrics: list
- class InferenceForATAC(test_csv_template_fp: str, adata: str | AnnData, pretrained_model_name_or_path: str, pert_col: str = 'perturbation', ctrl_name: str = 'control')[source]
Bases:
BaseInference
- class InferenceForRNA(test_csv_template_fp: str, adata: str | AnnData, pretrained_model_name_or_path: str, pert_col: str = 'target_gene', ctrl_name: str = 'non-targeting', target_sum: float = 10000.0, skip_raw_counts_check: bool = False)[source]
Bases:
BaseInference