// Created by libAntimony v2.8.0 function goldbeter_koshland(v1, v2, J1, J2) (2*v1*J2)/(v2 - v1 + J1*v2 + J2*v1 + ((v2 - v1 + J1*v2 + J2*v1)^2 - 4*(v2 - v1)*v1*J2)^(1/2)); end model *Tyson2003_NegFB_Homeostasis() // Compartments and Species: compartment env; species R in env, $S in env, $Ep in env, $E in env; // Assignment Rules: Ep := Et - E; E := Et*goldbeter_koshland(k3, k4*R, J3, J4); Km3 := J3*Et; Km4 := J4*Et; // Reactions: r0: => R; env*k0*E; r2: R => ; env*k2*R*S; r3: $Ep => $E; (env*k3*Ep)/(Km3 + Ep); r4: $E => $Ep; (env*k4*R*E)/(Km4 + E); // Species initializations: R = 0; S = 0; // Compartment initializations: env = 1; // Variable initializations: Et = 1; Et has M; k3 = 0.5; k3 has M_per_s; k4 = 1; k4 has per_s; J3 = 0.01; J3 has dimensionless; J4 = 0.01; J4 has dimensionless; k0 = 1; k0 has per_s; k2 = 1; k2 has per_M_per_s; Km3 has M; Km4 has M; // Other declarations: var Km3, Km4; const env, Et, k3, k4, J3, J4, k0, k2; // Unit definitions: unit time_unit = second; unit substance = mole; unit per_s = 1 / second; unit M_per_s = mole / (second * litre); unit M = mole / litre; unit per_M_per_s = litre / (mole * second); // Display Names: time_unit is "s"; substance is "mole"; end