torchcell.datamodels.schema.KanMxDeletionPerturbation

class KanMxDeletionPerturbation(*, systematic_gene_name: str, perturbed_gene_name: str, gene_namespace: Literal['scerevisiae_s288c_sgd_systematic', 'scerevisiae_cenpk113_7d_locus_tag', 'scerevisiae_peter2018_pangenome_orf', 'ecoli_k12_mg1655_bnumber', 'ecoli_k12_bw25113_locus_tag', 'pputida_kt2440_locus_tag', 'ecoli_b_rel606_locus_tag', 'ecoli_k12_w3110_refseq_locus_tag'] = 'scerevisiae_s288c_sgd_systematic', identifier_mapping: DerivedIdentifierMapping | None = None, provenance: str = 'engineered', state: str = 'absent', mechanism_so_id: str = 'SO:0000159', mechanism_so_name: str = 'deletion', description: str = 'Deletion via KanMX or NatMX gene replacement', perturbation_type: Literal['kanmx_deletion'] = 'kanmx_deletion', deletion_description: str = 'Deletion via KanMX gene replacement.', deletion_type: str = 'KanMX', construction: StrainConstruction | None = None)[source]

Bases: DeletionPerturbation, ModelStrict

Gene deletion via KanMX gene replacement.

construction is where the physical deletion strain came from in its collection (accession, lab, batch, plate, well), verbatim from the source, and it is a strain discriminator on every leaf below this one: the yeast deletion collection holds more than one strain of some ORFs, built in different batches and arrayed at different positions, and a screen that scores each of them releases two measurements of two strains. Ozaydin 2013 released 31 pairs of rows that differ only in record no., Batch, Plate, Row and Col; without this field the two records were byte-identical and the graph kept one (lane Q, 2026-10-15). It sits on this class and not only on the barcoded leaf because the collection position is a fact of the strain whether or not a barcode was read; None where a source releases none.

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

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