torchcell.datamodels.schema.BarcodedKanMxDeletionPerturbation
- class BarcodedKanMxDeletionPerturbation(*, systematic_gene_name: str, perturbed_gene_name: str, gene_namespace: ~typing.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: ~torchcell.datamodels.schema.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: ~typing.Literal['barcoded_kanmx_deletion'] = 'barcoded_kanmx_deletion', deletion_description: str = 'Deletion via KanMX gene replacement.', deletion_type: str = 'KanMX', construction: ~torchcell.datamodels.schema.StrainConstruction | None = None, provenance_gaps: list[~torchcell.verification.sourced.ProvenanceGap] = <factory>, barcode: str | None = None, downtag_barcode: str | None = None, collection: str | None = None, cassette: str | None = None, constructed_orf: ~torchcell.datamodels.schema.ConstructedOrf | None = None)[source]
Bases:
HashableProvenanceGapMixin,KanMxDeletionPerturbation,ModelStrictA KanMX deletion strain that carries the molecular barcode it was screened by.
A pooled competitive-growth screen (Bar-seq, HIP/HOP) does not read colonies, it reads the 20-mer UPTAG/DNTAG the deletion cassette carries, so the barcode IS the strain’s read-out identity in that assay and belongs on the perturbation rather than in a note.
collectionrecords WHICH physical deletion set the strain came from (Euroscarf MATa, the Yeast Knockout Collection HOM/HET pool, …), because two collections can hold the same ORF deletion with different background mutations and different barcodes.This is the leaf for every whole-locus kanMX deletion a chemogenomic loader serves: a haploid deletion in a haploid background (Wildenhain, Vanacloig) and a homozygous deletion in a diploid background (HOP: Hillenmeyer hom, Hoepfner HOP); zygosity is read from the reference’s ploidy.
cassettenames the exact cassette (kanMX4for the YKO, sourced to Giaever 2014);barcodeis the UPTAG (or the only tag a source names) anddowntag_barcodethe DNTAG;constructionrecords the strain’s accession / lab / batch / plate;constructed_orfstates the physically deleted ORF when it is not the current gene.Every new field is nullable and gappable:
Nonewith aProvenanceGap(e.g. a barcode table not yet mirrored) is a typed absence rather than a guess. The leaf exists for the barcode read-out identity of a pooled assay;constructionis also declared onKanMxDeletionPerturbationsince 2026-10-15, because the position of a strain in its collection is a fact of every collection strain, barcoded or scored by eye (constitution, principle 8: the former argument that a field on the parent would move 33 served closures was a cost argument, and cost never decides).- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].