torchcell.metabolism.flux_layer.FluxLayerConfig

class FluxLayerConfig(*, hidden_dim: int = 32, reaction_embed_dim: int = 16, parameterization: str = 'box', thermo_mode: ~torchcell.metabolism.constraints.ThermoMode = ThermoMode.ANCHORED, use_shipped_transport_delta_g: bool = False, use_enzyme_capacity: bool = True, use_protein_budget: bool = True, use_dissipation_limit: bool = True, stochastic: bool = False, flux_scale: float = 100.0, softmin_beta: float = 8.0, thermo_epsilon: float = 0.001, balance_epsilon: float = 1e-06, p_avail: float = 0.35, g_diss_limit: float = 3700.0, default_kcat_per_s: float = 13.7, weights: dict[str, float] = <factory>)[source]

Bases: BaseModel

Every switch the flux layer has, in one place so a run records what it ran.

Kept as a pydantic model rather than kwargs so a config is serializable into the experiment’s results JSON and an ablation arm is a diff between two of these.

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

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