torchcell.datamodels.schema.SequencePerturbation

class SequencePerturbation(*, 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'], identifier_mapping: DerivedIdentifierMapping | None = None, provenance: str = 'engineered', mechanism_so_id: str = 'SO:0001060', mechanism_so_name: str = 'sequence_variant')[source]

Bases: GenePerturbation, ModelStrict

AXIS 3 – a sequence-level allelic change (SNP/indel/substitution allele).

Defaults to the generic sequence_variant (SO:0001060); concrete children may override to a more specific term (e.g. SNV SO:0001483).

classmethod validate_mechanism_so_id(v: str) → str[source]

Mechanism SO id is well-formed.

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

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