torchcell.datamodels.schema.ConditionalAllelePerturbation
- class ConditionalAllelePerturbation(*, 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', mechanism_so_id: str = 'SO:0001060', mechanism_so_name: str = 'sequence_variant', provenance_gaps: list[~torchcell.verification.sourced.ProvenanceGap] = <factory>, description: str = 'Conditional allele of an essential gene (ts, DAmP, promoter replacement)', perturbation_type: ~typing.Literal['conditional_allele'] = 'conditional_allele', allele_class: ~torchcell.datamodels.schema.ConditionalAlleleClass | None, allele_name: str | None = None, marker: str | None = None, collection: str | None = None, construction: ~torchcell.datamodels.schema.StrainConstruction | None = None)[source]
Bases:
HashableProvenanceGapMixin,SequencePerturbation,ModelStrictA conditional (hypomorphic) allele of an essential gene, class possibly unknown.
A haploid null of an essential gene is not viable, so a screen that reports an essential gene as a “deletion strain” (Wildenhain: 33 such strains, #504) screened a conditional allele whose identity the release does not carry. This leaf records the gene with a typed allele class, the allele designation, the marker and the collection, each set or gapped: until the strain table is mirrored,
allele_class=Nonewith adeferred_pending_source_reviewgap naming the table that resolves it.allele_classis REQUIRED to be set or gapped. The SO mechanism is the genericsequence_variant(the specific edit is not yet known).- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].