Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing...

68
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
  • 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...

Page 1: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 2: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 3: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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 .

Page 4: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 5: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 6: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 7: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 8: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 9: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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]

Page 10: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 11: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 12: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 13: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 14: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 15: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 16: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 17: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory 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)

Page 18: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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]

Page 19: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 20: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 21: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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]

Page 22: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 23: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 24: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 25: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 26: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 27: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 28: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 29: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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 )

Page 30: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 31: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

Modelling Complex Biological Systems. May 1st 07

31

Specification in CLP of Multivalued Asynchronous Models

How easily Thomas’s are formally specified

Page 32: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 33: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 34: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 35: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 36: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 37: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 38: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 39: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 40: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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:

Page 41: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 42: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 43: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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]

Page 44: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 45: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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];

Page 46: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 47: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 48: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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]]].

Page 49: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 50: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 51: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 52: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 53: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 54: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 55: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 56: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 57: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 58: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 59: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 60: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 61: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 62: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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)

Page 63: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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

Page 64: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 65: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 66: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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.

Page 67: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

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).

Page 68: Modelling Complex Biological Systems. May 1st 07 1 Logic and Constraint Programming for constructing and analysing Logical Models of Regulatory Networks.

Modelling Complex Biological Systems. May 1st 07

68

Acknowledgments

Participants:

Fabien Corblin (doct.)

Eric Fanchon (CNRS)

Sébastien Tripodi (Magistère M1 d’Informatique)