Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing...
-
date post
21-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing...
Modelling Complex Biological Systems. May 1st 07
1
Logic and Constraint Programming for constructing and analysing Logical
Models of Regulatory Networks
Laurent TRILLING,
Université Joseph Fourier, Grenoble 1
Lab. TIMC-IMAG
Modelling Complex Biological Systems. May 1st 07
2
Summary
Constraint Logic Programming (CLP)
Logical Models of Regulatory Network
Specification in CLP
Analysis of some biological models. Methodology
Modelling Complex Biological Systems. May 1st 07
3
Constraint Logic Programming
Each one of us is “computationally- oriented” by
formalisms and/or tools, e.g. classical logic, CTL, LTL,
automatas…imperative languages, BDD, SAT…
In that sense, I feel « declarative language and
constraint »-oriented .
Modelling Complex Biological Systems. May 1st 07
4
Constraint Logic Programming (1)
Example :
payment_capital(L, C): true if L is the list of annual payments to reimburse the (borrowed) capital C with a 10% interest.
Declarative (logical) expression using so-called Horn clauses: payment_capital([], C) <= (C = 0).
payment_capital([V | Lp], C) <= payment_capital(Lp, Cp) (Cp = C – V + (1/10) * C).
Modelling Complex Biological Systems. May 1st 07
5
Constraint Logic Programming (2)
The user asks then if some theorem could be deduced from such axioms.
The « natural » query (that one your banker is used to answer to) is: does it exist a unique annual payment to reimburse a capital of 10000 euros in 3 years ?
V, payment_capital([V, V, V], 10000)
The exact answer is:
V = 1331000/331
That is, V is « about » 4021 euros.
Modelling Complex Biological Systems. May 1st 07
6
Constraint Logic Programming (3)
Reverse engineering comes out naturally with queries like:
C, payment_capital([2000, 1500, 3000], C)
whose answer is: C = 7070000/1331 (about 5311)
Also, one could think to intermediate queries like:
V, payment_capital([V, 2*V, 3*V], 10000)
Answer: V = 1331000/641 (about 2076)
Modelling Complex Biological Systems. May 1st 07
7
Constraint Logic Programming (4)
The query (theorem) is proved by establishing the satisfiability of a system of equations produced step by step in the following way
V, payment_capital([V, V, V], 1000) true iff:
V, V1, Lp1, Cp1, C1,
[V1| Lp1] = [V |[V, V]] C1 = 1000
(Cp1 = C1 – V1 + (1/10) * C1)
payment_capital(Lp1, Cp1) (replaced by equations following the same process)
Modelling Complex Biological Systems. May 1st 07
8
Constraint Logic Programming (5)
So CLP provides a precise et nice way to express knowledge.
Its « intelligence » comes from the capacities of solvers to compute the satisfiability of a system of equations. For example, numerical linear equations with rational solutions can be solved.
A very important aspect is the complexity of these solvers. Of course, one would like that this complexity grows linearly with the size of the system of equations. It is the case with linear equations with rational solutions
Modelling Complex Biological Systems. May 1st 07
9
Constraint Logic Programming (6)
So, difficulties arise if we face non linear equations as it is the case with Logical Regulatory Networks. Moreover solutions must be integer ones.
So, the approach is to consider a less strong notion of coherence: each variable belongs to an interval, the solver reduces these intervals so that each individual equation (or more generally constraint) is coherent.
Example: Z [5, 8] X [0, 3] Y [0, 4]. Z = X + Y
Answer:
Y [2,4], X [1,3], Z [5,7]
Modelling Complex Biological Systems. May 1st 07
10
Constraint Logic Programming (7)
X [0, 1]
Y [0, 1]
Z [0, 1]
This approach necessitates To get the necessary strong coherence this approach necessitates to check if the weak coherence leads to at least one solution. It is done by “enumerating” (with fine heuristics !) the possible solutions.
This example exhibits a weak coherence (which is not strong). All solutions beginning by two fixed variables, e.g.
X = 0, Y = 0
X = 0, Y = 1…
have to be enumerated to check incoherence.
Modelling Complex Biological Systems. May 1st 07
11
DNA bending by protein CRPIllustration [Prados et al, JOBIM 2001] : determination of CRP-induced bending from 10 experiments giving transcriptional activity level as a function of different location of the CRP upstream sites. Example: for the 4th experiment: Positions of CRP sites:-60.5 / -92.5 / -124.5 Activation factor level: 8th on 10
Modelling Complex Biological Systems. May 1st 07
12
DNA bending by protein CRP(1)Some results (by using so called continuous constraints):
- incoherence. That means that there is a contradiction between experiments.
- the minimum number of inequalities on levels of activities to be relaxed is 6: (5<4), (6 >2), (6>3), (6 > 4), (6 > 5), (10 > 9). The 6th experiment is very suspect ! Then L = 20bp and –22bp < H < -17bp.
- an experiment was proposed with 5 binding sites with a small value for d to get a high activation factor. It was successful.
Modelling Complex Biological Systems. May 1st 07
13
CLP. Conclusion
A unique powerful logical specification for different purposes: simulation, inference of parameters, proposition of experiments…
Use of automatic solvers.
A logical shell adequate for new domains and new solvers.
Modelling Complex Biological Systems. May 1st 07
14
Logical Models of Regulatory Networks
René Thomas’s Asynchronous Multivalued Logical Networks are defined with the help of focal equations giving the focal state (tendency) of a discrete state of concentrations. They use so-called kinetics parameters K which are ratios of production / degradation.
The successors of a state are its neighbors situated « in the direction » of its focal state. At most one component of a state could change to obtain a successor.
Modelling Complex Biological Systems. May 1st 07
15
CLP and Asynchronous Multivalued Models
Simulation: the model is given, what are the states which can be reached from it ?
Inference of parameters K: the structure of the network is given (interaction graph) and also some behaviors, what is the class of accepted models ?
The idea is to consider classes of models (possibly empty…) which respect some behaviors and to make possibly prediction from them.
Modelling Complex Biological Systems. May 1st 07
16
Transition graph
E1 = [0,0]
Y](E1)
0 1 2
0
1
2
x
y
Sx2 Sx1
Sy1
Sy2
x y
2 -
1 -
2 +
1 -
Interaction graph
kx1 = 2 ky1= 2 ky2 = 1 Sx2 Sx1 Sy1 Sy2
Parameter instanciation
X = kx1 . s-(x,Sx2) Y = ky1 . s-(y,Sy1) + ky2 . s+(y,Sy2).s-(x,Sx1)
Discrete equations
Asynchronous Multivalued Logical Networks
Modelling Complex Biological Systems. May 1st 07
17
D1
Att(D1)
0 1 2
0
1
2
x
y
Here Att(D1) = [2,2] but in a
general case it depends on parameters
(input ones, order of thresholds and
kinetic) for a class of
systems
the attractor of D1 is given by the discrete equations defining the
system
Asynchronous Multivalued Logical Networks (1)
Modelling Complex Biological Systems. May 1st 07
18
Transition graph
0 1
0
1
2
m
a
Sx2
Sa1
Sa2
mucB AlgU1 +
2 +
Interaction graph
kma = 1 kam= 0 kaa = 2 kama =2 Sa1 Sa2
kaa kama kam kama
M = kma * (a 1)A = kaa * (m1 1) * (a 2) +
kam * (m1 < 1) * (a < 2) + kama * (m1< 1) * (a 2)
1-
mucus+2
A possible network for Pseudomona A possible network for Pseudomona Aeruginosa Aeruginosa [Bernot et al, 2004][Bernot et al, 2004]
Modelling Complex Biological Systems. May 1st 07
19
Meaning of labels on arrows of the interaction network
x
y
z+,2
-, 1
X = kx * (y < 2) * (z 1) +kxy * (y 2) * (z 1) +kxz * (y < 2) * (z < 1) + kxyz * (y 2) * (z < 1)
with(kx < kxy kxy < kxyz) (kx < kxz kxz < kxyz)
One has to be careful. Such a label expresses an observation. Without any other information, it can be said only (see example) that it exists a condition in which the level of x has increased when the one of y was above its second threshold
Modelling Complex Biological Systems. May 1st 07
20
Reduction of parameter intervals
X2 = k21 .(x1 2) .(x2 3) +
k22 . (x1 2) . (x2 < 3) +…
Suppose that k21 [0, 1, 2, 3] .
Then, to avoid redundant transition graphs, the interval of k21 can be restricted to [2, 3] as k21 = 0 and k21 = 1 give the same transition graph than the one with k21 = 2.
x2
x1-, 3
-, 2
Modelling Complex Biological Systems. May 1st 07
21
Reduction of parameter intervals(1)
k21
k22
x2
x10 1 2
2
1
3
0
There could be some difficulties if one is allowed to constrain directly the K’s. Suppose that both the paths [2,2] [2, 1] and [2,2] [2, 1] have to be taken into account and that the additive constraints imply k22 k21.
Then it appears that
k22 = 1.
The inequality 1 k21 can be deduce. It is not compatible with
k21 [2, 3]
Modelling Complex Biological Systems. May 1st 07
22
Reduction of parameter intervals(2)A specific transformation is necessary to take into
account manually introduced constraints on the K’s.
For example, k22 k21 is transformed into:
kM22 km21
where km21 is a new variable constrained by
(k21 = 2 km21 = 0 ) (k21> 2 km21 = k21)
Here kM22 = k22. Then kM22 = 1 and 1 km21 will imply
2 k21 that is k21 = 2. There is no longer contradiction.
Modelling Complex Biological Systems. May 1st 07
23
Singular states
Att(D2)
D1
Att(D1)
D2
0 1 2
0
1
2
x
y
1 2 3 4
1
2
3
4
0
0
What to do with ‘black walls’ ?They should be taken into consideration if we want a real discrete abstraction.
Modelling Complex Biological Systems. May 1st 07
24
Generalized attraction
Drg,2
Att(Drg,2)
Drg,1
Att(Drg,1)
What are the transitions from D to
lower dimension ?
D
dimension or
de Jong, Gouzé, Hernandez, Page, Sari, Geiselmann
(2004)
Modelling Complex Biological Systems. May 1st 07
25
Non-repulsion
Does the transition D D’ exist ?
D’ D’rg,1
Att(D’rg,1)
D’rg,2
Att(D’rg,2)
dimension
D
Modelling Complex Biological Systems. May 1st 07
26
Singular states. Persistence
i j
21
i j
2
1
i
j
The attractor of a state S is a ‘minimal’ hyper-rectangle depending on the order (number of singular components) of S.
A necessary condition to the existence of a persistent singular state, i.e. a « gliding » one, on which a trajectory can stay:
In the interaction graph, the sub graph reduced to the singular components must be such that each node representing a singular component has a predecessor. 1 1
Modelling Complex Biological Systems. May 1st 07
27
Persistent singular states. Accessibility from a regular state
i
j
3 3
In the case where only one component changes in a transition, a necessary condition to access a persistent state from a regular state:
In the sub graph reduced to the singular components of the singular state there exists a path of successive nodes representing persistent states leading to the considered persistent state.
i
j
3 3
2
k
Modelling Complex Biological Systems. May 1st 07
28
Accessibility from a regular state (1)The precedent necessary condition is quite strong. This is due to the fact that only one component changes in a transition (no diagonal transitions is permitted).
This restriction can avoid moving from one basin to another one. So it must be relaxed only with care.
3 4
F4
1
F1
2
F3, F2
j
i
Modelling Complex Biological Systems. May 1st 07
29
Accessibility from a regular state (2)
i j
+, 1 +, 1
The preceding transition graph is typically associated by the following motif in the interaction graph.
So, if such motif are detected, it would be possible to consider only regular paths but admitting diagonal transitions in certain conditions.
I = (i 1)
J = (j < 1) (i 1 ) +
(j 1) (i < 1 ) +
(x 1) (i 1 )
Modelling Complex Biological Systems. May 1st 07
30
Singular states
Approximation of singular paths by regular paths
An idea: if P is a stable path from state si to state s
f, then
there is a regular path staying in the neighbourhood of path P.
Modelling Complex Biological Systems. May 1st 07
31
Specification in CLP of Multivalued Asynchronous Models
How easily Thomas’s are formally specified
Modelling Complex Biological Systems. May 1st 07
32
list ofconcentration ranges
discrete equations of focal states
list of species
identifiers
model identifier
list of parameters(input ones, order of
thresholds and kinetic)model(Idf_P, Model) true iff
Idf_P = [Idf, P] and
Model = [Species, Discrete_eqs, Ranges, P]
Main predicates (1)
Modelling Complex Biological Systems. May 1st 07
33
multival_asynch_model(B, Model, Path) true iff
B is equivalent to
Path is a possible path according to Model
Main predicates (2)
Modelling Complex Biological Systems. May 1st 07
34
successor(B, Model, State_i, State_s) true iff
B is equivalent to
State_s is a possible successor
of State_i according to Model
successor(B, Model, State_i, State_s) <=
B = B1 bor B2 downstream_or_steady(B1, Model, State_i, State_s)
upstream(B2, Model, State_i, State_s).
not( B1 band B2 ) order( Ord_i, State_i ) order( Ord_s, State_s) B1 =>( Ord_s Ord_i )B2 =>( Ord_s < Ord_i )
Main predicates (3)
Modelling Complex Biological Systems. May 1st 07
35
Regular states only
successor(Model, State_i, State_s) true iff State_s is a possible successor
of State_i according to Model
successor(Model, State_i, State_s) <=
focal_state(Model, State_i, State _f)
successor_constraints(State _i, State _f, State _s).
Modelling Complex Biological Systems. May 1st 07
36
Regular states only (2)
successor_constraints(State_i, State_f, State_s) <=
D = (State_i State _f)
at_most_one_jump(D, State _i, State _f, State_s).
at_most_one_jump(D, State _i, State _f, State_s). true iff D is equivalent to
State_s differs on one component from State _i. And this component changes of one unity in the direction of the same component of the focal state State _f.
Modelling Complex Biological Systems. May 1st 07
37
Complexity
The number of constraints is
– linear regarding the size of the path to be considered
– linear regarding the number of species for expressing the relationship between a state and its successor
– exponential regarding the order (number of singular components) of the state for expressing its attractor
Modelling Complex Biological Systems. May 1st 07
38
A difficulty. Length of paths
The constraint approach asks for a methodology: Constraints + Enumeration.
So the number of constraints must be finite. It means that in case of constraints on a path, the length of the path must be known. Or a maximum, that is the diameter of the constrained transition graph.
Modelling Complex Biological Systems. May 1st 07
39
A SAT approach
SAT solvers have recently greatly improved. It seems to due to a good balance between enumeration and propagation.
The first issue is to translate the discrete constraints implied by asynchronous networks (i.e. successors constraints) into CNF (Conjunctive Normal Form). We face possibly an explosion of the number of clauses.
The second issue is the translation of the queries.
Modelling Complex Biological Systems. May 1st 07
40
Translation into CNF of successor constraints
If Xc (resp. Sc, Fc) is the c component of state X (resp. neighbor state S of X, focal state F of X), it can shown [Corblin et al, submitted] than the only expressions to be taken into account are:
Modelling Complex Biological Systems. May 1st 07
41
Translation into CNFAlso, each multivalued variables have to be translated into boolean variables. X having as domain [0, 1, 2], one introduces three boolean values x0, x1, x2 linked by the clauses: x0 x1 x2, x0 x1, x0 x1, x0 x1. There is a quadratic expansion regarding domains, but the length of the produced clauses is 2. They are immediately propagated by SAT solvers.
Finally, we obtain for the expressions above an expansion which is linear regarding the domain of variables. Only exactly_one have an expansion quadratic in term the size of the system but again the length of the produced clauses is 2.
Modelling Complex Biological Systems. May 1st 07
42
Analysis of some biological models. Methodology
Pseudomona Aeruginosa
Nutritional Stress with E.coli
Lambda-phage
Only regular models are considered.
Modelling Complex Biological Systems. May 1st 07
43
Transition graph
0 1
0
1
2
m
a
Sx2
Sa1
Sa2
mucB AlgU1 +
2 +
Interaction graph
kma = 1 kam= 0 kaa = 2 kama =2 Sa1 Sa2
kaa kama kam kama
M = kma * (a 1)A = kaa * (m1 1) * (a 2) +
kam * (m1 < 1) * (a < 2) + kama * (m1< 1) * (a 2)
1-
mucus+2
A possible network for Pseudomona A possible network for Pseudomona Aeruginosa Aeruginosa [Bernot et al, 2004][Bernot et al, 2004]
Modelling Complex Biological Systems. May 1st 07
44
Pseudomona Aeruginosa (1)
Multistationarity. Does it exist a model having more than two stat. states ?
model(mucus, Model),model_asynch_multival(Model, [S1, S1]),model_asynch_multival(Model, [S2, S2]),model_asynch_multival(Model, [S3, S3]),dif(S1, S2), dif(S1, S3), dif(S2, S3),enum_State(S1), enum_State(S2), enum_State(S3).
Failure (incoherence) asserts (whitout model enumeration) that it is not the case.
Modelling Complex Biological Systems. May 1st 07
45
Pseudomona Aeruginosa (2)
How many couples of stat. states ?model(mucus, Model),model_asynch_multival(Model, [S1, S1]),model_asynch_multival(Model, [S2, S2]),dif(S1, S2), enum_State(S1), enum_State(S2),enum_at_least_1_model(Model).
We get 3 couples (4 different states):S1 = [0,0], S2 = [0,2];S1 = [0,0], S2 = [1,2];S1 = [0,1], S2 = [0,2];
Modelling Complex Biological Systems. May 1st 07
46
Pseudomona Aeruginosa (3)
Behaviors One stable state (with AlgU = 2) regularly
produces mucus. All paths beginning with this state have a state ( such that AlgU = 2).
When starting from a basal state (AlgU = 0) no path leads to production of mucus (all states are such that AlgU = 2 is not statisfied).
Modelling Complex Biological Systems. May 1st 07
47
Pseudomona Aeruginosa (4)
model(mucus, Modele,S1 = [_, 0], model_asynch_multival(Model, [S1, S1]),S2 = [_, 2], modele_asynch_multival(Model, [S2, S2]),exist_prod_mucus(Model),exist_wild(Model),enum_Model(Model) ,always_prod_mucus(Modele),always_wild(Modele).
Modelling Complex Biological Systems. May 1st 07
48
Pseudomona Aeruginosa (5)
with exist_prod_mucus(Model) <=
size(6, Path), Path = [[_, 2]] o Rbmember(1, [_, 2], R) modele_asynch_multival(Modele, Chemin)
gives the model:
[[kma,1],[kam,0],[kaa,2],[kaam,2]]].
Modelling Complex Biological Systems. May 1st 07
49
Biological observations In an environment without stress:
Growth of the population is exponential. The behavior of the cell is stable.
In an environment with stress:The population does not grow The behavior of the cell is stable.
The goal is to build a network to understand the transition between the two stable states (exponential and stress).
Nutritional Stress with E.coli: Biological description
Modelling Complex Biological Systems. May 1st 07
50
cya
crpfis
signal
topA
gyrAB
D. Ropers et al. / BioSystems 84 (2006)
Interaction graph of the network
Modelling Complex Biological Systems. May 1st 07
51
An instanciated model
The model constructed in D. Ropers et al. / BioSystems 84 (2006), is such that the parameters Ks are fixed.
The components of the first stationary state (exponential) are fixed.
The second stationary state (stress) is such that (xgyrab xtopA) and (xfis< 4)
This model does not accept a path from the first stationary state perturbed by the signal (stress) to the second stationary state (stress).
Modelling Complex Biological Systems. May 1st 07
52
Biological observations: proteins GyrAB et TopA influence the expression du gène topA via DNA coiling . GyrAB favors DNA coiling. TopA has an antagonistic influence.
Fis favors also the expression of gene topA.
fistopA
gyrAB
+,2 -,1+,3
Re-visitation. An example.Expression of topA (1)
Modelling Complex Biological Systems. May 1st 07
53
New equation:
Xtopa= K1topA (xfis < 3) (1 - [(xgyAB 2)(xtopa < 1)] ) +
K2topA
(xfis < 3) [(xgyAB 2)(xtopa < 1)] +
K3topA (xfis 3) (1 - [(xgyAB 2)(xtopa < 1)] ) +
K4topA (xfis 3) [(xgyAB 2)(xtopa < 1)]
Contraints on the Ks:
( (K1topA < K3
topA) (K2topA < K4
topA) ) ( (K1topA < K3
topA) (K2topA < K4
topA) )
K1topA K3
topA K1topA K
2topA K
2topA K4
topA K3topA K
4topA
where K {0,1,2}
fistopA
gyrAB
+,2 -,1+,3
Expression of TopA (2)
Modelling Complex Biological Systems. May 1st 07
54
A state is represented by: [signal, xcrp, xcya, xfis, xgyrAB, xtopaA]
Does it exist a model with two stationary states ?modele_coli:biomodel(Model_Stress_Coli),
Path1 = [S1, S1],
Path2 = [S2, S2],
diff(S1,S2),
multival_asynch_model_tc(Model_Stress_Coli, Path1),
multival_asynch_model_tc(Model_Stress_Coli, Path2),
enum_Path(Path1), enum_Path(Path2),
enum_one_P(Model_Stress_Coli).
Among the answers:S1 = [0,0,1,0,1,0], S2 = [1,0,1,0,1,0]
Results
Modelling Complex Biological Systems. May 1st 07
55
Does it exist a model having the both observed stationary states ? modele_coli :biomodel(Model_Stress_Coli),
fs_table_Nbs(Model, Table, Nb_seuils3),
S1 = [0,1,1,3,1,0],
S2 = [1,2,1,0,X,Y],
X#=<Y,
Path1 = [S1,S1],
Path2 = [S2,S2],
multival_asynch_model_tc(Table, Nb_seuils3, Path1),
multival_asynch_model_tc(Table, Nb_seuils3, Path2),
enum_Path(Path2),
enum_one_P(Model_Stress_Coli).
Answer: NO
1st stat. state
22nd stat. state
Biological constraint
Results (1)
Modelling Complex Biological Systems. May 1st 07
56
modele_coli :biomodel(Model_Stress_Coli),
S =[0,1,1,3,1,0], Path=[S,S],
multival_asynch_model_tc(Model_Stress_Coli, Path).
Answer: yes modele_coli :biomodel(Model_Stress_Coli1),
S1 = [1,2,1,0,X,Y], X#=<Y, Path=[S1,S1],
multival_asynch_model_tc(Model_Stress_Coli1, Path1),
enum_Path(Path1),
An answer: S1 = [1,2,1,0,1,1]
Do these two states exist in two different models ? If yes, how do these models compare ?
Because of disjunctive constraints on topA
gèneK 1 2 3 4 5 6 1 2 1 2 3 4 5 6 7 8 1 2 3 4 1 2 3 4S=[0,1,1,3,1,0] 1 0..20..20..20..20..20..1 1 0..40..4 0..40..40..3 3 0..40..40..1 1 0..21..2 0 0..1 0 1..2S=[1,2,1,0,1,1] 0..20..20..20..20..2 2 0 1..20..40..40..40..40..40..4 0 0 0..10..10..1 1 1 1..21..2 1..2
topAcrp cya fis gyrAB
Results (2)
Modelling Complex Biological Systems. May 1st 07
57
Does it exist a model without the disjunctive constraints on topA having the both observed stationary states ? modele_coli :biomodel(Model_Stress_Coli),
S1 = [0,1,1,3,1,0],
S2 = [1,2,1,0,X,Y],
X#=<Y,
Path1=[S1,S1],
Path2=[S2,S2],
multival_asynch_model_tc(Model_Stress_Coli, Path1),
multival_asynch_model_tc(Model_Stress_Coli, Path2),
enum_Path(Path2), enum_one_P(Model_Stress_Coli).
Answer:S1 = [0,1,1,3,1,0], S2 = [1,2,1,0,1,1]
S1 = [0,1,1,3,1,0], S2 = [1,2,1,0,1,2]
S1 = [0,1,1,3,1,0], S2 = [1,2,1,0,2,2]
Results(3)
Modelling Complex Biological Systems. May 1st 07
58
Does it exist a model without the disjunctive constraints on topA which admits a path: [1st perturbed stat. state, …, 2nd
stat. state] ? modele_coli :biomodel(Model_Stress_Coli),
S1=[0,1,1,3,1,0], S2=[1,2,1,0,X,Y], X#=<Y,
Path1=[S1,S1], Path2=[S2,S2],
multival_asynch_model_tc(Model_Stress_Coli, Path1),
multival_asynch_model_tc(Model_Stress_Coli, Path2),
L in 0..20, length(Path, L),
S1p=[1,1,1,3,1,0], Path = [S1p|_], last(Path, S2),
multival_asynch_model_tc(Model_Stress_Coli, Path),
enum_one_Path_and_one_P(Model_Stress_Coli, Path) .
Path length1st perturbed stat. state
The signal value (stress) is 1
Results(4)
Modelling Complex Biological Systems. May 1st 07
59
AnswerS2 = [1,2,1,0,1,1]
/* Parameters of a model */
[[k1_1,0],[k1_2,0],[k2_1,1],[k2_2,0],[k2_3,0],[k2_4,0],[k2_5,1],
[k2_6,2],[k3_1,0],[k3_2,1],[k4_1,0],[k4_2,0],[k4_3,0],[k4_4,0],
[k4_5,0],[k4_6,3],[k4_7,0],[k4_8,0],[k5_1,0],[k5_2,1],[k5_3,1],
[k5_4,1],[k6_1,1],[k6_2,0],[k6_3,0],[k6_4,1]]]
L = 6
Path=
[[1,1,1,3,1,0],[1,1,1,2,1,0],[1,1,1,1,1,0],[1,1,1,0,1,0],[1,1,1,0,1,1],[1,2,1,0,1,1]]
There are also paths terminating in S2 = [1,2,1,0,1,2] and in S2 = [1,2,1,0,2,2] .
Results(5)
Modelling Complex Biological Systems. May 1st 07
60
Does it exist a model without the disjunctive constraints on topA which admits a path [1st perturbed stat. state, …, 2nd
perturbed stat. state] and a (return) path [2nd perturbed stat. state, …, 1st stat. state] ? S1=[0,1,1,3,1,0], S2=[1,2,1,0,1,1], Path1=[S1,S1], Path2=[S2,S2],
multival_asynch_model_tc(Model_Stress_Coli, Path1),
multival_asynch_model_tc(Model_Stress_Coli, Path2),
L in 0..8, length(Path_exp_to_sta, L), S1p=[1,1,1,3,1,0], Path_exp_to_sta= [S1p|_], last(Path_exp_to_sta, S2),
multival_asynch_model_tc(Model_Stress_Coli,Path_exp_to_sta),
length(Path_sta_to_exp, L), S2p=[0,2,1,0,1,1], Path_sta_to_exp = [S2p|_], last(Path_sta_to_exp, S1),
multival_asynch_model_tc(Model_Stress_Coli,Path_sta_to_exp),
enum_Path_and_P(Model_Stress_Coli, Path_exp_to_sta).
enum_Path_and_P(Model_Stress_Coli, Path_sta_to_exp).
Results(6)
Modelling Complex Biological Systems. May 1st 07
61
Answers L=6,
Path_exp_to_sta = [[1,1,1,3,1,0],[1,1,1,2,1,0],[1,1,1,1,1,0],[1,1,1,0,1,0],[1,1,1,0,1,1],[1,2,1,0,1,1]]
Path_sta_to_exp = [[0,2,1,0,1,1],[0,1,1,0,1,1],[0,1,1,1,1,1],[0,1,1,2,1,1],[0,1,1,3,1,1],[0,1,1,3,1,0]]
L=8,
Path_exp_to_sta =
[[1,1,1,3,1,0],[1,1,1,2,1,0],[1,0,1,2,1,0],[1,0,1,2,1,1],[1,1,1,2,1,1],[1,1,1,1,1,1],[1,1,1,0,1,1],[1,2,1,0,1,1],
Path_sta_to_exp = [[0,2,1,0,1,1],[0,1,1,0,1,1],[0,0,1,0,1,1],[0,0,1,1,1,1],[0,0,1,2,1,1],[0,0,1,3,1,1],[0,0,1,3,1,0],[0,1,1,3,1,0]]
It seems that the only reachable stress state is [1,2,1,0,1,1] but this is not proved as the size of the paths is limited.
Results(7)
Modelling Complex Biological Systems. May 1st 07
62
Biological interpretationThe path Path_exp_to_sta means that the stress permits the inhibition of the expression of gene fis via the metabolite crp_cAMP. That seems to be verified experimentally.It indicates also that a weak supercoiling and a weak concentration of Fis permits the synthesis of TopA. This has not been verified experimentally concerning the stress due to carbon deprivation. But it has been observed that for a stress due to oxidation, a weak level of Fis permits the activation of topA:« when Fis levels are low, hydrogen peroxide treatment results in topA activation » from: Dalit Weinstein-Fischer, Shoshy Altuvia (2007), Differential regulation of Escherichia coli topoisomerase I by Fis, Molecular Microbiology 63 (4), 1131–1144.
Results(8)
Modelling Complex Biological Systems. May 1st 07
63
Lambda-phage
[Thieffry & Thomas, 1995]
A state is represented by [cI, cRO, cII, cN]
The queries have been processed by a tool using a SAT solver
Modelling Complex Biological Systems. May 1st 07
64
Lambda-phage(1)The 16 potential stationary states are obtained in less than 0.01s (Pentium M1.8 GHz 1Go of RAM). A similar performance is obtained with a CP solver.
As said before, general queries require first to fix the maximum length of paths. The possible number of states is 48. But it appears that the maximal length of a path without cycles (diameter of the transition graph) is 43. It took 2h. 12m to obtain the unsatisfiability for paths of 44 states. The result was not obtained after 4h. with a CP solver.
Modelling Complex Biological Systems. May 1st 07
65
Lambda-phage(2)To search for a model admitting the reachability of the lytic and lisogenic states, we need the following constraints:
- The state [2, 0, 0, 0] is the (lysogenic) stat. state. It exists a path from [0, 2, 0, 0] to [0, 3, 0, 0] which returns in [0, 2, 0, 0] (lytic cycle)
- It exists a path from [0, 0, 0, 0] (initial state) which reaches the lysogenic state. It exists a path from [0, 0, 0, 0] which reaches the lytic cycle.
The 175 possible models are obtained in less than 6s. The same query takes about 150s with a CP solver (with size of paths limited to 15).
Modelling Complex Biological Systems. May 1st 07
66
Conclusion
CLP: expressive both for the model and the query (same language), adequate also for quantitative aspects.
Related works: H. de Jong et al., D. Thieffry et al., G. Bernot, J-P. Comet et al., D. Matheus.
Modelling Complex Biological Systems. May 1st 07
67
Perspectives
Elimination of variables to find the minimal system whose the Ks are solutions (also redundant constraints),
Improving efficiency by using SAT solvers (translation of queries) and/or software engineering tools like ALOY (D. Jackson) or logical ones like ASP (Answer Set Programming).
Decomposition of networks (and composition of properties)…
Automatic computation of the nearest model in case of incoherence (felxible constraints, see Max-SAT for clauses).
Modelling Complex Biological Systems. May 1st 07
68
Acknowledgments
Participants:
Fabien Corblin (doct.)
Eric Fanchon (CNRS)
Sébastien Tripodi (Magistère M1 d’Informatique)