François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming Group, INRIA Rocquencourt
François Fages MPRI Bio-info 2005 Overview of the Lectures 1.Introduction. Formal molecules and reactions in BIOCHAM. 2.Formal biological properties in temporal logic. Symbolic model-checking. 3.Continuous dynamics. Kinetics models. 4.Computational models of the cell cycle control [L. Calzone]. 5.Mixed models of the cell cycle and the circadian cycle [L. Calzone]. 6.Machine learning reaction rules from temporal properties. 7.Constraint-based model checking. Learning kinetic parameter values. 8.Constraint Logic Programming approach to protein structure prediction.
François Fages MPRI Bio-info 2005 Biochemical Kinetics Study the concentration of chemical substances in a biological system as a function of time. BIOCHAM concentration semantics: Molecules: A 1,…, A m |A|=Number of molecules A [A]=Concentration of A in the solution: [A] = |A| / Volume ML -1 Solutions with stoichiometric coefficients: c 1 *A 1 +…+ c n * A n
François Fages MPRI Bio-info 2005 Law of Mass Action The number of A+B interactions is proportional to the number of A and B molecules, the proportionality factor k is the rate constant of the reaction A + B k C the rate of the reaction is k*[A]*[B]. dC/dt = k A B dA/dt = -k A B dB/dt = -k A B Assumption: each molecule moves independently of other molecules in a random walk (diffusion, dilute solutions, low concentration).
François Fages MPRI Bio-info 2005 Interpretation of Rate Constants k’s Complexation: probabilities of reaction upon collision (specificity, affinity) Position of matching surfaces Decomplexation: energy of bonds (giving dissociation rates) Different diffusion speeds (small molecules>substrates>enzymes…) Average travel in a random walk: 1 μm in 1s, 2μm in 4s, 10μm in 100s For an enzyme: random collisions per second for a substrate concentration of random collisions per second for a substrate concentration of 10 -6
François Fages MPRI Bio-info 2005 Signal Reception on the Membrane present(L,0.5). present(RTK,0.01). absent(L-RTK). absent(S). parameter(k1,1). parameter(k2,0.1). parameter(k3,1). parameter(k4,0.3). (k1*[L]*[RTK], k2*[L-RTK]) for L+RTK L-RTK. (k3*[L-RTK], k4*[S]) for 2*(L-RTK) S.
François Fages MPRI Bio-info 2005 Michaelis-Menten Enzymatic Reaction An enzyme E binds to a substrate S to catalyze the formation of product P: E+S k1 C k2 E+P E+S km1 C compiles into a system of non-linear Ordinary Differential Equations dE/dt = -k 1 ES+(k 2 +k m1 )C dS/dt = -k 1 ES+k m1 C dC/dt = k 1 ES-(k 2 +k m1 )C dP/dt = k 2 C
François Fages MPRI Bio-info 2005 Michaelis-Menten Enzymatic Reaction An enzyme E binds to a substrate S to catalyze the formation of product P: E+S k1 C k2 E+P E+S km1 C compiles into a system of non-linear Ordinary Differential Equations dE/dt = -k 1 ES+(k 2 +k m1 )C dS/dt = -k 1 ES+k m1 C dC/dt = k 1 ES-(k 2 +k m1 )C dP/dt = k 2 C After simplification, supposing C 0 =P 0 =0, we get E=E 0 -C,
François Fages MPRI Bio-info 2005 Michaelis-Menten Enzymatic Reaction An enzyme E binds to a substrate S to catalyze the formation of product P: E+S k1 C k2 E+P E+S km1 C compiles into a system of non-linear Ordinary Differential Equations dE/dt = -k 1 ES+(k 2 +k m1 )C dS/dt = -k 1 ES+k m1 C dC/dt = k 1 ES-(k 2 +k m1 )C dP/dt = k 2 C After simplification, supposing C 0 =P 0 =0, we get E=E 0 -C, S+C+P=S 0,
François Fages MPRI Bio-info 2005 Michaelis-Menten Enzymatic Reaction An enzyme E binds to a substrate S to catalyze the formation of product P: E+S k1 C k2 E+P E+S km1 C compiles into a system of non-linear Ordinary Differential Equations dE/dt = -k 1 ES+(k 2 +k m1 )C dS/dt = -k 1 ES+k m1 C dC/dt = k 1 ES-(k 2 +k m1 )C dP/dt = k 2 C After simplification, supposing C 0 =P 0 =0, we get E=E 0 -C, S+C+P=S 0, dS/dt = -k 1 (E 0 -C)S+k m1 C dC/dt = k 1 (E 0 -C)S-(k 2 +k m1 )C
François Fages MPRI Bio-info 2005 Multi-Scale Phenomena Hydrolysis of benzoyl-L-arginine ethyl ester by trypsin present(En,1e-8). present(S,1e-5). absent(C). absent(P). (k1*[En]*[S],km1*[C]) for En+S C. k2*[C] for C => En+P. parameter(k1,4e6). parameter(km1,25). parameter(k2,15). Complex formation 5e-9 in 0.1s Product formation 1e-5 in 1000s
François Fages MPRI Bio-info 2005 Numerical Integration Methods System dX/dt = f(X). Initial conditions X 0 Idea: discretize time t 0, t 1 =t 0 +Δt, t 2 =t 1 +Δt, … and compute a trace (t 0,X 0,dX 0 /dt), (t 1,X 1,dX 1 /dt), …, (t n,X n,dX n /dt)… (providing a linear Kripke structure for model-checking…) Euler’s method: t i+1 =t i + Δt X i+1 =X i +f(X i )*Δt error estimation E(X i+1 )=|f(X i )-f(X i+1 )|*Δt Runge-Kutta’s method: averaged intermediate computations at Δt/2 Adaptive step method: Δt i+1 = Δt i /2 while E>Emax, otherwise Δt i+1 = 2*Δt i Rosenbrock’s stiff method: solve X i+1 =X i +f(X i+1 )*Δt by formal differentiation
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation After short initial period, the complex tends quickly to a limit. Assume dC/dt=0
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation After short initial period, the complex tends quickly to a limit. Assume dC/dt=0 From dC/dt = k 1 S(E 0 -C)-(k 2 +k m1 )C we get C = k 1 E 0 S/(k 2 +k m1 +k 1 S)
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation After short initial period, the complex tends quickly to a limit. Assume dC/dt=0 From dC/dt = k 1 S(E 0 -C)-(k 2 +k m1 )C we get C = k 1 E 0 S/(k 2 +k m1 +k 1 S) = E 0 S/(((k 2 +k m1 )/k 1 )+S) = E 0 S/(K m +S) where K m =(k 2 +k m1 )/k 1
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation After short initial period, the complex tends quickly to a limit. Assume dC/dt=0 From dC/dt = k 1 S(E 0 -C)-(k 2 +k m1 )C we get C = k 1 E 0 S/(k 2 +k m1 +k 1 S) = E 0 S/(((k 2 +k m1 )/k 1 )+S) = E 0 S/(K m +S) where K m =(k 2 +k m1 )/k 1 dS/dt = -dP/dt = -k 2 C = -V m S / (K m +S) where V m = k 2 E 0.
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation Assuming dC/dt=0, hence dE/dt=0 and C= E 0 S / (K m +S). Michaelis-Menten rate: dP/dt = -dS/dt = V m S / (K m +S) (reaction velocity) V m =k2*E 0 K m =(km1+k2)/k1
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation Assuming dC/dt=0, hence dE/dt=0 and C= E 0 S / (K m +S). Michaelis-Menten rate: dP/dt = -dS/dt = V m S / (K m +S) (reaction velocity) V m =k2*E 0 (maximum velocity at saturating substrate concentration) K m =(km1+k2)/k1
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation Assuming dC/dt=0, hence dE/dt=0 and C= E 0 S / (K m +S). Michaelis-Menten rate: dP/dt = -dS/dt = V m S / (K m +S) (reaction velocity) V m =k2*E 0 (maximum initial velocity) K m =(km1+k2)/k1 (substrate concentration with half maximum velocity) Experimental measurement: The initial velocity is linear in E 0 hyperbolic in S 0
François Fages MPRI Bio-info 2005 Quasi-Steady State Approximation Assuming dC/dt=0, hence dE/dt=0 and C= E 0 S / (K m +S). Michaelis-Menten rate: dP/dt = -dS/dt = V m S / (K m +S) (reaction velocity) V m =k2*E 0 K m =(km1+k2)/k1 BIOCHAM syntax macro(Vm, k2*[En]). macro(Km, (km1+k2)/k1). macro(Kf, Vm*[S]/(Km+[S])). Kf for S =[En]=> P.
François Fages MPRI Bio-info 2005 BIOCHAM Concentration Semantics To a set of BIOCHAM rules with kinetic expressions e i {e i for S i =>S’ i } i=1,…,n one associates the system of ODEs over variables {A 1,, A k } dA k /dt= Σ n i=1 r i (A k )*ei - Σ n j=1 l j (A k )*e j where r i (A) (resp. l i (A)) is the stoichiometric coefficient of A in S i (resp. S’ i ). Note on compositionality: The union of two sets of reaction rules is a set of reaction rules… So in principle BIOCHAM models can be composed to form complex models by simple set union.
François Fages MPRI Bio-info 2005 Compositionality of Reaction Rules Towards open modular models: Sufficiently decomposed reaction rules, E+S C =>E+P, not S P if competition on C Sufficiently general kinetics expression, parameters as possibly functions of temperature, pH, pressure, light,… different pH=-log[H+] in intracellular and extracellular solvents (water) Ex. pH(cytosol)=7.2, pH(lysosomes)=4.5, pH(cytoplasm) in [6.6,7.2] Interface variables, controlled either by other modules (endogeneous variables) or by fixed laws (exogeneous variables).
François Fages MPRI Bio-info 2005 Competitive Inhibition present(En,1e-8). present(S,1e-5). (k1*[En]*[S],km1*[C]) for En+S C. k2*[C] for C => En+P. parameter(k1,4e6). parameter(km1,25). parameter(k2,15). present(I,1e-5). k3*[C]*[I] for C+I => CI. parameter(k3,5e5). Complex formation 3e-9 in 0.4s Product formation 3e-9 in 1000s
François Fages MPRI Bio-info 2005 Competitive Inhibition (isosteric) present(En,1e-8). present(S,1e-5). (k1*[En]*[S],km1*[C]) for En+S C. k2*[C] for C => En+P. parameter(k1,4e6). parameter(km1,25). parameter(k2,15). present(I,1e-5). k3*[En]*[I] for En+I => EI. parameter(k3,5e5). Complex formation 2.5e-9 in 0.4s Product formation 2.5e-9 in 1000s
François Fages MPRI Bio-info 2005 Allosteric Inhibition (or Activation) (i*[En]*[I],im*[EI]) for En+I EI. parameter(i,1e7). parameter(im,10). (i1*[EI]*[S],im1*[CI]) for EI+S CI. parameter(i1,5e6). parameter(im1,5). i2*[CI] for CI => EI+P. parameter(i2,2). Complex formation 2e-9 in 0.4s Product formation 1e-5 in 1000s
François Fages MPRI Bio-info 2005 Cooperative Enzymes and Hill Equation Dimer enzyme with two promoters: E+S 2*k1 C 1 k2 E+P C 1 +S k’1 C2 2*k’2 C 1 +P E+S k-1 C 1 C 1 +S 2*k’-1 C2 Let K m =(k -1 +k 2 )/k 1 and K’ m =(k’ -1 +k’ 2 )/k’ 1 Non-cooperative if K m =K’ m Michaelis-Menten rate: V m S / (K m +S) where V m =2*k 2 *E 0. (hyperbolic velocity vs substrate concentration) Cooperative if k’ 1 >k 1 Hill equation rate: V m S 2 / (K m *K’ m +S 2 ) where V m =2*k 2 *E 0. (sigmoid velocity vs substrate concentration)
François Fages MPRI Bio-info 2005 MAPK kinetics model
François Fages MPRI Bio-info 2005 Cell Cycle Control [Qu et al. 2003]
François Fages MPRI Bio-info 2005 Lotka-Voltera Autocatalysis 0.3*[RA] for RA => 2*RA. 0.3*[RA]*[RB] for RA + RB => 2*RB. 0.15*[RB] for RB => RP. present(RA,0.5). present(RB,0.5). absent(RP).
François Fages MPRI Bio-info 2005 Hybrid (Continuous-Discrete) Dynamics Gene X activates gene Y but above some threshold gene Y inhibits X. 0.01*[X] for X => X + Y. if [Y] lt 0.8 then 0.01 for _ => X. 0.02*[X] for X => _. absent(X). absent(Y).