torchcell.datamodels.schema.StrainEnvironmentResponseExperiment

class StrainEnvironmentResponseExperiment(*, experiment_type: str = 'strain_environment_response', dataset_name: str, genotype: Genotype | list[Genotype], environment: CultureEnvironment, phenotype: EnvironmentResponsePhenotype)[source]

Bases: EnvironmentResponseExperiment, ModelStrict

A strain’s response to an environmental perturbation, with a typed background.

The chemogenomic loaders (Vanacloig, Wildenhain, Hillenmeyer, Hoepfner) emit this family: the screened edit stays in genotype (a typed deletion leaf, so pooled one-perturbation semantics hold), the strain background rides on the reference’s StrainReferenceGenome, and the culture protocol on a CultureEnvironment.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].