torchcell.metabolism.pathway.HeterologousPathway

class HeterologousPathway(*, name: str, base_strain: str, description: str = '', metabolites: list[~torchcell.metabolism.pathway.MetaboliteSpec] = <factory>, reactions: list[~torchcell.metabolism.pathway.ReactionSpec] = <factory>, constitutive_genes: list[str] = <factory>, source_keys: list[str] = <factory>)[source]

Bases: BaseModel

A named set of metabolites, reactions and genes added to a base strain.

evidence_census() → dict[str, int][source]

Count reactions by evidence tier, so the mix is reportable rather than assumed.

model_config: ClassVar[ConfigDict] = {}

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

product_ids() → list[str][source]

Metabolite ids the pathway produces and consumes only by draining them.

These are the terminal products. A demand or exchange reaction, the single-species reactions, does not count as consumption: draining a product is how it leaves, not a step that uses it. For betaxanthin this is one species per condensation partner, and the measured pigment is their sum.