Computational Methods for Systems and Synthetic Biology
François Fages
The French National Institute for Research in Computer Science and Control
Inria Saclay – Ile de France
Lifeware Team
http://lifeware.inria.fr/
09/02/2017 François Fages - MPRI C2-19 2
Overview of the Lecture
Quantitative modeling of biological processes with formal specifications 1. Complex dynamics of GPCR signaling
2. Coupled model of cell cycle and circadian clock
3. Trace simplification for FO-LTL(Rlin) model-checking
The Question of 7TMR Activation
The Question of GPCR Signalling Dynamics
09/02/2017 François Fages - MPRI C2-19 4
Data under Perturbed Conditions
Hypothesized 7TMR Pathways
09/02/2017 François Fages - MPRI C2-19 6
Formal Reaction Rules in Biocham
Vm9*GRK23*[R-H]/(Km10+[R-H]) for R-H => R~{P1}-H.
Vm18*GRK56*[R-H]/(Km19+[R-H]) for R-H => R~{P2}-H.
MA(k1) for G =[R~{P1}-H]=> G_a.
MA(k2) for G =[R-H]=> G_a.
MA(k0) for G_a => G.
MA(k26) for G => G_a.
MA(k3) for DAG =[G_a]=> DAG_a.
MA(k4) for DAG_a => DAG.
MA(k5) for PKC =[DAG_a]=> PKC_a.
MA(k6) for PKC_a => PKC.
MA(k7) for ERK =[PKC_a]=> GpERK.
MA(k8) for GpERK => ERK.
(MA(k12),MA(k13)) for R~{P1}-H + barr1 <=> R~{P1}-H-barr1. %+fort
MA(k14) for R~{P1}-H-barr1 => R-H + barr1. % recyclage
(MA(k15),MA(k16)) for R~{P1}-H + barr2 <=> R~{P1}-H-barr2. %+faible
MA(k17) for R~{P1}-H-barr2 => R-H + barr2. % recyclage
(MA(k11),MA(k20)) for barr2 + R-H <=> barr2-R-H. %tres faible.
(MA(k21),MA(k22)) for barr2 + R~{P2}-H <=> barr2-H-R~{P2}. %++fort
MA(k23) for ERK =[barr2-R-H]=> bpERK.
MA(k24) for ERK =[barr2-H-R~{P2}]=> bpERK.
MA(k27) for bpERK => ERK.
MA(k25) for R~{P2}-H => R-H.
Translation in FO-LTL(R) Constraints for Automated Parameter Search
Parameters in [1E-8,200.0]
& 50*k21/k11 > cc1 & 50*k12/k15 > cc2
…
09/02/2017 François Fages - MPRI C2-19 8
Translation in FO-LTL(R) Constraints for Automated Parameter Search
Parameters in [1E-8,200.0]
& 50*k21/k11 > cc1 & 50*k12/k15 > cc2
…
& G( (5=<Time & Time=<35) -> (db1=<nDAG_a*100 & 100*nDAG_a=<db2))
& G( (20=<Time & Time=<80) -> (pb7=<nPKC_a*100 & 100*nPKC_a=<pb8
& curve_fit_err(…)
…
Translation in FO-LTL(R) Constraints for Automated Parameter Search
Parameters in [1E-8,200.0]
& 50*k21/k11 > cc1 & 50*k12/k15 > cc2
…
& G( (5=<Time & Time=<35) -> (db1=<nDAG_a*100 & 100*nDAG_a=<db2))
& G( (20=<Time & Time=<80) -> (pb7=<nPKC_a*100 & 100*nPKC_a=<pb8
& curve_fit_err(…)
…
& add_search_condition( curve_fit_err([pERKtotal,pERKtotal,pERKtotal,pERKtotal,pERKtotal],
[0.26,73.12,24.27,15.65,5.58], [0,2,10,30,60], [x1,x2,x3,x4,x5], 0.1), [x1,x2,x3,x4,x5], [0.16,7.42,6.02,4.91,2.84], [(barr2_0_si,barr2_0)])
& add_search_condition( curve_fit_err([pERKtotal,pERKtotal,pERKtotal,pERKtotal,pERKtotal],
[1.18,25.36,58.99,52.41,51.91], [0,2,10,30,60], [x1,x2,x3,x4,x5], 0.1), [x1,x2,x3,x4,x5], [0.72,5.77,7.96,7.8,12.86], [(P0_Ro,P0),(P0_a_Ro,P0_a)] ).
…
09/02/2017 François Fages - MPRI C2-19 10
Translation in FO-LTL(R) Constraints for Automated Parameter Search
Parameters in [1E-8,200.0]
& 50*k21/k11 > cc1 & 50*k12/k15 > cc2
…
& G( (5=<Time & Time=<35) -> (db1=<nDAG_a*100 & 100*nDAG_a=<db2))
& G( (20=<Time & Time=<80) -> (pb7=<nPKC_a*100 & 100*nPKC_a=<pb8
& curve_fit_err(…)
…
& add_search_condition( curve_fit_err([pERKtotal,pERKtotal,pERKtotal,pERKtotal,pERKtotal],
[0.26,73.12,24.27,15.65,5.58], [0,2,10,30,60], [x1,x2,x3,x4,x5], 0.1), [x1,x2,x3,x4,x5], [0.16,7.42,6.02,4.91,2.84], [(barr2_0_si,barr2_0)])
& add_search_condition( curve_fit_err([pERKtotal,pERKtotal,pERKtotal,pERKtotal,pERKtotal],
[1.18,25.36,58.99,52.41,51.91], [0,2,10,30,60], [x1,x2,x3,x4,x5], 0.1), [x1,x2,x3,x4,x5], [0.72,5.77,7.96,7.8,12.86], [(P0_Ro,P0),(P0_a_Ro,P0_a)] ).
…
& F(G(pERKtotal> 3.5-v & pERKtotal< 3.5 + v))
& F(G(2*([DAG_a]/0.009) < v2 & 2*(0.009/[DAG_a])< v2))
& F(G(2*([PKC_a]/0.002)< v3 & 2*(0.002/[PKC_a])< v3))
GPCR Signaling Revisited
1. Reduced model containing the 4 observables, 4 mutations, known interactions
2. Failure of finding parameters satisfying the FO-LTL(Rlin) specification in BIOCHAM 3. Model revision, revised interactions (in blue) verified a posteriori
[Heitzler, …, FF , Lefkowitz, Reiter 2012 Molecular Systems Biology 8(590)]
09/02/2017 François Fages - MPRI C2-19 François Fages
1. coexistence of two distinct phosphorylated forms of the receptor, HRP1 and HRP2;
2. reversibility of b-arrestin-dependent ERK phosphorylation;
3. b-arrestin-dependent ERK phosphorylation undergoes enzymatic amplification;
4. non-phosphorylated ligand-bound receptor still has the ability to recruit b-arrestin 2 and to induce ERK phosphorylation;
5. differential phosphorylation of the ligand-bound receptor by GRK2/3 versus GRK5/6 leading to HRP1 and HRP2.
Model Hypotheses Verified
Experimental observations on periods and phases suggest bidirectional
influence between cell divisions and the autonomous cellular circadian clock
Modeling the coupling between
the cell cycle and the circadian clock
Bidirectional coupled model of the cell cycle and the circadian clock
Model building assisted with formal methods
(model calibration)
Predictions: mechanisms and perturbations, optimization
Context: Optimizing cancer treatment with chronotherapy
What are the mechanisms behind these observations?
09/02/2017 François Fages – Pauline Traynard - MPRI C2-19 14
• Dynamical behaviors for oscillatory systems:
-
period, amplitude, phase - oscillations regularity
• Formalised with temporal logic:
Ex: period
• Applications:
• Data analysis: extracting meaningful information from a trace
• Model checking: verifying that a model satisfies some constraints
• Model analysis: comparing how the properties of a model evolve when some parameters vary
• Parameter inference: continuous satisfaction degree of a temporal logic formula, powerful optimization algorithm CMA-ES
Temporal logic specification
t1 t3 t2
diff
t M
t M M
t
A, B
t
Result:
-Possible values: p = 23 | p=24.5 - Satisfaction degree (with
objective p=24): 0.1
Generic FO-LTL(Rlin) Constraint Solver
D
φ= { s < max[A] }
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep the same validity domain?
09/02/2017 16
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
Generic FO-LTL(Rlin) Constraint Solver
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep
the same validity domain?
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
Generic FO-LTL(Rlin) Constraint Solver
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
D
φ= { s < max[A] }
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep the same validity domain?
09/02/2017 18
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
Generic FO-LTL(Rlin) Constraint Solver
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep
the same validity domain?
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
Generic FO-LTL(Rlin) Constraint Solver
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
D
φ= { s < max[A] }
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep the same validity domain?
09/02/2017 20
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
Generic FO-LTL(Rlin) Constraint Solver
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep
the same validity domain?
• Decomposition of φ in sub-formulas
• For each constraint and each time point, computing of a domain of possible variables
• Combination of the subdomains with the logical operators :
• Domain for φ = combinated domain for the first point of the trace
Generic FO-LTL(Rlin) Constraint Solver
φ = F( [A] > s )
‒ Operator F (finally) → union:
‒ Operator G (globally) → intersection:
‒ Operator X (next) → next domain if valid:
‒ Operator U (until) → union of intersections:
Computational cost: up to O(n
v) (v = number of variables)
How to find a simplified trace that will keep the same validity domain?
D
φ= { s < max[A] }
09/02/2017 22
• Specific function for a dynamical behavior
• Direct computing of the validity domain on the trace
Dedicated Solver for FO-LTL(Rlin) Patterns
Computational cost: O(n²) O(n)
distanceSuccPeaks(A,B,dist)
A
t
Result: p = 23 | p=24.5 p = 23 | p=24.5
Specification:
Trace simplification
Under which condition on the constraints is it safe to use this simplification ?
Trace simplification: local extrema
For the case when there is no dedicated solver, how to make the generic algorithm more efficient?
t A
T
eAA,B
t
T
eA,B09/02/2017 François Fages – Pauline Traynard - MPRI C2-19 24
Proof of validity for peak formula
T
JTrace simplification:
An optimal trace simplification is T
Jwith
T
eAis a simplification of T for φ.
Period formula
Same trace simplification
T
JTrace simplification:
An optimal trace simplification is T
Jwith
T
eAis a simplification of T for φ.
09/02/2017 François Fages – Pauline Traynard - MPRI C2-19 26
Proof of validity for amplitude
t
Trace simplification:
An optimal trace simplification is T
Jwhere J = {minA, maxA}.
T
eAis a simplification of T for φ.
Trace simplification:
The optimal trace simplification is T
Jwith T
eA,Bis a simplification of T for φ.
Phase formula
A,B
t