torchcell.datamodels.schema.ProteinAbundancePhenotype

class ProteinAbundancePhenotype(*, provenance_gaps: list[~torchcell.verification.sourced.ProvenanceGap] = <factory>, graph_level: str = 'node', label_name: str = 'protein_abundance', label_statistic_name: str | None = 'protein_abundance_se', protein_abundance: dict[str, float], protein_abundance_se: dict[str, float] | None = None, n_replicates: dict[str, int], measurement_type: str)[source]

Bases: Phenotype, ModelStrict

Quantitative protein-abundance profile keyed by protein (systematic ORF).

For bottom-up proteomics that quantify per-protein abundance per strain – e.g. Zelezniak 2018 SWATH-MS of kinase-knockout strains (batch-corrected, SVA-adjusted label-free signal). protein_abundance maps each measured protein’s systematic ORF id to its abundance (absolute per-strain quantity on a log signal scale, NOT a ratio – the WT/parent strain supplies the reference). measurement_type records WHAT the number is so heterogeneous proteomics assays are never silently mixed.

validate_protein_abundance() → ProteinAbundancePhenotype[source]

Require non-empty abundances and consistent per-protein replicate keys.

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

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