torchcell.datamodels.schema.CalMorphPhenotype
- class CalMorphPhenotype(*, provenance_gaps: list[~torchcell.verification.sourced.ProvenanceGap] = <factory>, graph_level: str = 'global', label_name: str = 'calmorph', label_statistic_name: str = 'calmorph_coefficient_of_variation', calmorph: dict[str, float], calmorph_coefficient_of_variation: dict[str, float] | None = None)[source]
Bases:
Phenotype,ModelStrictPhenotype holding CalMorph morphological measurements and CV statistics.
The host- and program-specific morphology phenotype, and the name says which program: CalMorph is a S. cerevisiae image-analysis program whose output is a fixed 501-parameter set (281 base measurements plus 220 coefficients of variation), hard-coded here as
CALMORPH_LABELSandCALMORPH_STATISTICS. A screen that is not CalMorph is stored onMorphologyPhenotype, which reads its keys from the assay it names. The program name is the whole statement of what this class is specific to, so it keeps it; what was renamed in the ontology unification of 2026-10-15 is the general class, which carried aBacterialprefix.- classmethod validate_calmorph(v: dict[str, float]) dict[str, float][source]
Validate CalMorph base parameters against CALMORPH_LABELS and reject NaN.
- classmethod validate_cv(v: dict[str, float] | None) dict[str, float] | None[source]
Validate CV parameters against CALMORPH_STATISTICS and reject NaN.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].