torchcell.datamodels.schema.StrainConstruction

class StrainConstruction(*, strain_accession: str | None = None, lab: str | None = None, batch: str | None = None, plate: str | None = None, well: str | None = None)[source]

Bases: ModelStrict

Where one physical deletion strain came from in its collection.

Two strains that delete the same ORF can differ in background mutations, tags and behavior (Hillenmeyer: “some gene deletions were constructed more than once, in different batches”; Hoepfner Table S5 traces secondary mutations by construction Lab and Batch), so the construction record is a strain discriminator: two records of one ORF whose construction differs are two strains, not two replicates. All fields are verbatim source tokens; None = the source does not give it.

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

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