czbenchmarks.models.validators

Submodules

Classes

BaseModelValidator

Abstract base class for model validators.

BaseSingleCellValidator

Base validator for single-cell models.

Package Contents

class czbenchmarks.models.validators.BaseModelValidator[source]

Bases: abc.ABC

Abstract base class for model validators.

Defines the interface for validating datasets against model requirements. Validators ensure datasets meet model-specific requirements like: - Compatible data types - Required metadata fields - Organism compatibility - Feature name formats

Each validator must: 1. Define a dataset_type class variable 2. Define a model_type class variable or model_name property 3. Implement _validate_dataset, inputs, and outputs

dataset_type: ClassVar[Type[czbenchmarks.datasets.BaseDataset]]
model_type: ClassVar[czbenchmarks.models.types.ModelType]
classmethod __init_subclass__() None[source]

Validate that subclasses define required class variables and follow naming conventions.

Raises:
  • TypeError – If required class variables are missing or invalid

  • ValueError – If class naming doesn’t follow conventions

property inputs: Set[czbenchmarks.datasets.DataType]
Abstractmethod:

Required input data types this model requires.

Returns:

Set of required DataType enums

property outputs: Set[czbenchmarks.datasets.DataType]
Abstractmethod:

Output data types produced by this model.

Returns:

Set of output DataType enums

validate_dataset(dataset: czbenchmarks.datasets.BaseDataset)[source]

Validate a dataset meets all model requirements.

Checks: 1. Dataset type matches model requirements 2. Required inputs are available 3. Model-specific validation rules

Parameters:

dataset – Dataset to validate

Raises:

ValueError – If validation fails

class czbenchmarks.models.validators.BaseSingleCellValidator[source]

Bases: czbenchmarks.models.validators.base_model_validator.BaseModelValidator

Base validator for single-cell models.

Defines common validation logic for single-cell models, including: - Organism compatibility checking - Required metadata validation - AnnData observation and variable key validation

dataset_type
available_organisms: ClassVar[List[czbenchmarks.datasets.Organism]]
required_obs_keys: ClassVar[List[str]]
required_var_keys: ClassVar[List[str]]
classmethod __init_subclass__() None[source]

Validate required class variables in child classes.

Ensures child classes define: - available_organisms - required_obs_keys - required_var_keys

Raises:

TypeError – If any required class variable is missing