torchcell.datamodels.schema.SmallMoleculePerturbation
- class SmallMoleculePerturbation(*, provenance_gaps: list[~torchcell.verification.sourced.ProvenanceGap] = <factory>, perturbation_type: ~typing.Literal['small_molecule'] = 'small_molecule', description: str = 'Small-molecule compound added to the base medium', compound: ~torchcell.datamodels.schema.Compound, concentration: ~torchcell.datamodels.schema.Concentration, solvent: ~torchcell.datamodels.schema.Solvent | None = None)[source]
Bases:
EnvironmentPerturbation,ModelStrictAn added chemical SPECIES (drug, acid, alcohol, salt, oxidant, …).
Covers any medium-borne small molecule dosed at a
Concentrationor a target basis (e.g. IC30). Chemical identity is a typedCompound(keyed by InChIKey); the compound’s mode of action / physiological role is a ChEBI ROLE oncompound.roles– there is deliberately NO consequence field (the formerstress_categorywas a category error, M1). Whether the strain is sensitive or tolerant is anEnvironmentResponsePhenotypeproperty, not part of the edit.- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].