qbiocode.apps.quvine.reproducibility.validator module#

Reproducibility Validator for QuVINE

Validates that all methods use identical experimental conditions.

Summary#

Classes:

ReproducibilityValidator

Validates reproducibility constraints for QuVINE experiments.

Reference#

class ReproducibilityValidator(registry, seed_manager)[source]#

Bases: object

Validates reproducibility constraints for QuVINE experiments.

Ensures that: 1. All methods for a dataset/repetition/task use the same graph 2. All methods use the same task split 3. All methods use the same seed 4. No method regenerates graphs or splits during evaluation

__init__(registry, seed_manager)[source]#

Initialize validator.

Parameters:
validate_dataset(dataset_name, repetition_id, task)[source]#

Validate that a dataset-repetition-task combination is ready for experiments.

Parameters:
  • dataset_name (str) – Dataset name

  • repetition_id (int) – Repetition ID

  • task (str) – Task name

Returns:

True if valid, False otherwise

Return type:

bool

validate_all_datasets(tasks=None)[source]#

Validate all datasets in the registry.

Parameters:

tasks (List[str], optional) – Tasks to validate. If None, validates all available tasks.

Returns:

Mapping from dataset_rep_task to list of errors

Return type:

Dict[str, List[str]]

validate_experiment_consistency(dataset_name, repetition_id, task, method_results)[source]#

Validate that all methods in an experiment used consistent inputs.

Parameters:
  • dataset_name (str) – Dataset name

  • repetition_id (int) – Repetition ID

  • task (str) – Task name

  • method_results (List[Dict]) – List of result dictionaries from different methods

Returns:

True if all methods used consistent inputs

Return type:

bool

get_validation_report()[source]#

Get a formatted validation report.

Returns:

Validation report

Return type:

str

validate_split_consistency(dataset_name, repetition_id, task)[source]#

Validate that a split file contains consistent data.

Parameters:
  • dataset_name (str) – Dataset name

  • repetition_id (int) – Repetition ID

  • task (str) – Task name

Returns:

True if split is consistent

Return type:

bool