chemart / hill-kinetics
View on GitHubHill kinetics (cooperative binding) — Cooperative binding, and the standard way a smooth input becomes a switch. n copies of a protein bind a gene together, so the fraction of bound genes follows P^n/(K^n + P^n) - a curve that sharpens into a step as n grows…
How it works
Cooperative binding, and the standard way a smooth input becomes a switch. n copies of a protein bind a gene together, so the fraction of bound genes follows P^n/(K^n + P^n) - a curve that sharpens into a step as n grows. It is an idealisation on purpose: n molecules never actually arrive simultaneously, and with a single gene copy and a handful of proteins a differential equation is the wrong tool. Useful precisely because it compresses a mechanism into one parameter.
- S
- gene G, protein P, complex C, gene product X · explicit
- R
- G + n P <-kf/kr-> C ; activation C -> C + X ; repression G -> G + X ; lumped rates H1 = P^n/(K^n + P^n), H2 = K^n/(K^n + P^n) · arity n+1
- A
- ode, ssa · none
Parameters
| name | default | meaning |
|---|---|---|
| form enum · structural |
"elementary" | elementary binding reactions (eqs. 18.5, 18.12, 18.15) or a single production reaction with a Hill rate law (eqs. 18.14, 18.16) elementary | lumped |
| regulation enum · structural |
"activation" | P activates (bound gene expresses) or represses (free gene expresses) X activation | repression |
| n int · kinetic |
2 | Hill coefficient; better read as the DEGREE OF COOPERATIVITY than as a literal molecule count. n=1 gives no sigmoid, so no switching [1, 10] |
| K float · kinetic |
1.0 | K^n = K_d = kr/kf, the dissociation constant [0, ∞] |
| kf float · kinetic |
1.0 | binding rate; the unbinding rate is kf K^n [0, ∞] |
| k_expr float · kinetic |
1.0 | expression rate of X (k1 or k2 in the book) [0, ∞] |
| G0 float · population |
1.0 | total gene = free + complexed [0, ∞] |
| P0 float · population |
1.0 | initial protein [0, ∞] |
Hill kinetics (cooperative binding)
One of the artificial chemistries of Banzhaf & Yamamoto, Artificial Chemistries (MIT Press, 2015), §18.2.2; used by the Repressilator 19.3.2.
Its generator ships with the chemart library, so loading it runs no code from the hub and needs no trust_remote_code.
import chemart
net = chemart.generate_network("chemart/hill-kinetics", seed=0) # same as "hill-kinetics"
print(net.summary())
Implementation decisions
- The book derives both forms; `form` lets the user pick. Defaults follow figure 18.5 (G(0) = P(0) = 1) with unit rates. In the lumped form the rate dict names the regulator species ('regulator': 'P') and 'mode'.
Banzhaf & Yamamoto, Artificial Chemistries (2015), §18.2.2; used by the Repressilator 19.3.2
Preview at default parameters
4 species · 3 reactions · status complete · seed 1
G + 2 P -> C [mass-action k=1.0] C -> G + 2 P [mass-action k=1.0] C -> C + X [mass-action k=1.0]
Generated by the uploader with chemart push; the hub never runs uploaded code.