torchcell.datamodels.schema.DeletionPerturbation

class DeletionPerturbation(*, 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['deletion'] = 'deletion')[source]

Bases: PresenceAbsencePerturbation, ModelStrict

Gene deletion via KanMX or NatMX gene replacement (engineered absence).

The parent of every marker-specific deletion leaf. It is stored ITSELF (a GenePerturbationType member since #988) only where a source states an engineered deletion and not the cassette that made it: each child asserts a marker, so it is the one deletion class that claims nothing the source does not say. Such a record sets description to say what the source states, since the class default names KanMX and NatMX. First case: the HO deletion Peter 2018 Supplementary Table 1 marks on 124 natural isolates without naming the marker.

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

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