torchcell.datamodels.schema.FitnessPhenotype
- class FitnessPhenotype(*, provenance_gaps: list[~torchcell.verification.sourced.ProvenanceGap] = <factory>, graph_level: str = 'global', label_name: str = 'fitness', label_statistic_name: str = 'fitness_se', fitness: float, fitness_se: float | None = None, fitness_std: float | None = None, n_samples: int | None = None, fitness_uncertainty: float | None = None, fitness_uncertainty_type: ~torchcell.datamodels.schema.UncertaintyType | None = None, sample_unit: ~torchcell.datamodels.schema.SampleUnit | None = None, screen_id: str | None = None)[source]
Bases:
Phenotype,ModelStrictFitness phenotype with fitness value and uncertainty statistics.
Uncertainty ontology: the source-reported number lives in
fitness_uncertaintywith itsfitness_uncertainty_type;n_samples+sample_unitgive the replicate design;fitness_seis the DERIVED, ML-facing standard error (auto-computed viaderive_sewhen not supplied).fitness_stdis DEPRECATED (superseded by uncertainty/type; retained until loaders migrate).- classmethod validate_fitness(v: float) float[source]
Reject NaN fitness and clamp non-positive values to zero.
- classmethod validate_n_samples(v: int | None) int | None[source]
Validate that n_samples is a positive integer or None.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].