minimal cut sets in biochemical reaction networks

40
Minimal cut sets in biochemical reaction networks Seminar Bioinformatics Modelling and Analyzing Biological Networks 17th of March 2011 Presentation by Mathias Bader Steffen Klamt and Ernst Dieter Gilles

Upload: mathias-bader

Post on 15-Oct-2014

80 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Minimal Cut Sets in Biochemical Reaction Networks

Minimal cut sets in biochemical reaction networks

Seminar BioinformaticsModelling and Analyzing Biological Networks

17th of March 2011

Presentation by Mathias Bader

Steffen Klamt and Ernst Dieter Gilles

Page 2: Minimal Cut Sets in Biochemical Reaction Networks

Outline

by Mathias Bader

What are Minimal Cut Sets

Why are Minimal Cut Sets interesting

MCSs and Fault Trees

2

Minimal Cut Sets in other Research Areas

MCSs in Graph Theory

How to calculate Minimal Cut Sets

Algorithm

Example

Applications

Outlook

Page 3: Minimal Cut Sets in Biochemical Reaction Networks

Cellular Life

by Mathias Bader

Complex

Characterized by interactions:

Cycle of inflammation (F. Hoffmann-La Roche Ltd.)

Metabolic networks

Signal transduction networks

Gene and regulatory networks

Transport, conversion, synthesis, degradation

Signal flow and integration

Activation and inhibition of genes or gene derivatives

Interfaces between these networksImportance of networks

3

Page 4: Minimal Cut Sets in Biochemical Reaction Networks

Networks

New insight by investigation of cellular networks

In this paper:

What are minimal cut sets?

4by Mathias Bader

Page 5: Minimal Cut Sets in Biochemical Reaction Networks

Minimal Cut Sets (MSCs)

Definition: Smallest ‘failure mode‘ in a network that renders the correct functioning of a cellular reaction impossible.

A

D E

B

C

X

R6

R1

R7

R5

R8

R2

objR

R3 R4

Possible MCSs:

objR

R1

R5 + R6

5by Mathias Bader

Page 6: Minimal Cut Sets in Biochemical Reaction Networks

Why are Minimal Cut Sets interesting?

There is a number of applications for MCSs:

Target identification in metabolic engineering and drug discovery

Network verification

Structural fragility analysis

Observability in metabolic flux analyses

6by Mathias Bader

Page 7: Minimal Cut Sets in Biochemical Reaction Networks

Minimal Cut Sets and Elementary Modes

To find Minimal Cut Sets, we use Elementary Modes

Definition:

An Elementary Mode describes a feasible and balanced flux distribution through the network

which is minimal with respect to utilized reactions

7by Mathias Bader

Page 8: Minimal Cut Sets in Biochemical Reaction Networks

Elementary Modes (EMs)

A

D E

B

C

X

R6

R1

R7

R5

R8

R2

objR

R3 R4

Example EMs:

R1 + R2 + R3 – R4

R1 + R6 + R7 + R8 + objR

R1

R2

R3 R4

A

B

C

R6

R1

R7 R8

objRA

D E

X

8by Mathias Bader

Page 9: Minimal Cut Sets in Biochemical Reaction Networks

Computation of Elementary Modes

Not focus of this paper

Detailed description in:

9by Mathias Bader

Page 10: Minimal Cut Sets in Biochemical Reaction Networks

Three Remarks on Minimal Cut Sets

We assume the network structure

MCSs guarantee dysfunction as long as the assumed network structure is correct

Proper subset of MCS might also be a cut set due to other network restrictions

MCSs only ensure the dysfunction of balanced fluxes

MCSs do not block reactions that would allow objReaction while other metabolites accumulate

These reactions would be physiologically problematic

Several objective reactions instead of one

Algorithm can easily be extended to several objective reactions.

10by Mathias Bader

Page 11: Minimal Cut Sets in Biochemical Reaction Networks

Three Remarks on Minimal Cut Sets

A

D E

B

C

X

R6

R1

R7

R5

R8

R2

objR

R3 R4

R6

R3 R4

B

XR1 R5

R2

objRA

C

Example:

accumulates

11by Mathias Bader

Page 12: Minimal Cut Sets in Biochemical Reaction Networks

Fault trees and Minimal Cut Sets

A very similar definiton of MCSs exists for fault trees in reliability and risk assessment of industrial systems.

Example:

R2

R3B

R1A

objR

12by Mathias Bader

Page 13: Minimal Cut Sets in Biochemical Reaction Networks

Fault trees and Minimal Cut Sets

A very similar definiton of MCSs exists for fault trees in reliability and risk assessment of industrial systems.

Can we use fault tree algorithms to calculate MCSs?

No.

Cannot directly construct a fault tree from a metabolic network

Not straight forward which combinations of removed reactions cause our top event

13by Mathias Bader

Page 14: Minimal Cut Sets in Biochemical Reaction Networks

Fault trees and Minimal Cut Sets

A very similar definiton of MCSs exists for fault trees in reliability and risk assessment of industrial systems.

Can we use fault tree algorithms to calculate MCSs?

No.

Cannot directly construct a fault tree from a metabolic network

Not straight forward which combinations of removed reactions cause our top event

We cannot apply fault tree algorithms for calculating MCSs

14by Mathias Bader

Page 15: Minimal Cut Sets in Biochemical Reaction Networks

Minimal Cut Sets in Graph Theory

In Graph Theory there is also a definition of MCSs

It ensures the disconnection of a graph

These concepts don‘t fit to metabolic networks

Reason: Metabolic networks are hypergraphs

15by Mathias Bader

Page 16: Minimal Cut Sets in Biochemical Reaction Networks

Hypergraph versus Graph

AR1

BR2

C

R3

objR

A B

C

Metabolic network hypergraph:

According graph:

16by Mathias Bader

Page 17: Minimal Cut Sets in Biochemical Reaction Networks

Hypergraph versus Graph

AR1

B

C

R3

objR

A B

C

According graph:Metabolic network hypergraph:

objective reaction still feasible objective reaction blocked

17by Mathias Bader

Page 18: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm for computing MCSs

In small networks it is realtively easy to calculate the MCSs

For larger networks, we need a systematic computation scheme.

The algorithm needs to assure three things:

(1) MCSs are real cut sets

(2) MCSs are minimal

(3) All MCSs are found

Can be divided in two phases:

Prepratory phase

Main phase

18by Mathias Bader

Page 19: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm for computing MCSs

(1) Calculate the EMs in the given network

(2) Define the objective reaction obR

(3) Choose all EMs where reaction obR is non-zero

(4) Initialize the arrays mcs and precutsets as follows:

Prepratory P

hase

and store it in the binary array em_obR

Append {j} to mcs if reaction j is essential, otherwise to precutsets.

j is essential if em_obR[i][j] = 1 for each EM i

19by Mathias Bader

Page 20: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm for computing MCSs

(5) FOR i=2 TO MAX_CUTSETSIZE

(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q

Main P

hase

q: number of reactions

(5.2.1) Remove all sets from precutsets wherereaction j participates

(5.2.2) Find all sets of reactions in precutsets that donot cover any EM in em_obR where reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are a superset of any of the already determined minimal cut sets stored in mcs

(5.2.4) Find all retained temp_precutsets which do now cover all EMs and append them to mcs. Append all others to new_precutsets

(5.3) IF isempty(new_precutsets) BREAK; ELSE precutsets = new_precutsets;

(6) return mcs;

20by Mathias Bader

Page 21: Minimal Cut Sets in Biochemical Reaction Networks

P r e p r a t o r y p h a s e

Algorithm – Simple Example

R2

R3B

R1A

objR

(1) Calculate the EMs in the given network

(2) Define the objective reaction obR

(3) Choose all EMs where reaction obR is non-zero

(4) Initialize the arrays mcs and precutsets as follows:

and store it in the binary array em_obR

Append {j} to mcs if reaction j is essential, otherwise to precutsets.

M a i n p h a s e

EM:

mcs: [{objR}]

precutsets: [{R1}, {R2}, {R3}]

R1, R2, objR R3, objR

21by Mathias Bader

Page 22: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:

mcs: [{objR}]

precutsets: [{R1}, {R2}, {R3}]

M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participatesnew_precutsets: []

R1

22by Mathias Bader

Page 23: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

R1 mcs: [{objR}]

precutsets: [{R2}, {R3}]

new_precutsets: []

temp_precutsets: []

23by Mathias Bader

Page 24: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R1 mcs: [{objR}]

precutsets: [{R2}, {R3}]

new_precutsets: []

temp_precutsets: [{R1, R3}]

24by Mathias Bader

Page 25: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R2 mcs: [{objR}, {R1, R3}]

precutsets: [{R2}, {R3}]

new_precutsets: []

temp_precutsets: []

25by Mathias Bader

Page 26: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R2 mcs: [{objR}, {R1, R3}]

precutsets: [{R3}]

new_precutsets: []

temp_precutsets: []

26by Mathias Bader

Page 27: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R2 mcs: [{objR}, {R1, R3}]

precutsets: [{R3}]

new_precutsets: []

temp_precutsets: [{R2, R3}]

27by Mathias Bader

Page 28: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R2 mcs: [{objR}, {R1, R3}, {R2, R3}]

precutsets: [{R3}]

new_precutsets: []

temp_precutsets: []

28by Mathias Bader

Page 29: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R3 mcs: [{objR}, {R1, R3}, {R2, R3}]

precutsets: [{R3}]

new_precutsets: []

temp_precutsets: []

29by Mathias Bader

Page 30: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

R3 mcs: [{objR}, {R1, R3}, {R2, R3}]

precutsets: []

new_precutsets: []

temp_precutsets: []

30by Mathias Bader

Page 31: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

(5.3) IF isempty(new_precutsets) BREAK; ELSE precutsets = new_precutsets;

(6) return mcs;

mcs: [{objR}, {R1, R3}, {R2, R3}]

precutsets: []

new_precutsets: []

temp_precutsets: []

31by Mathias Bader

Page 32: Minimal Cut Sets in Biochemical Reaction Networks

Algorithm – Simple Example

R2

R3B

R1A

objR

EM:M a i n p h a s eR1, R2, objR R3, objR

(5) FOR i=2 TO MAX_CUTSETSIZE(5.1) new_precutsets = [];

(5.2) FOR j = 1 TO q(5.2.1) Remove all sets from precutsets

where reaction j participates

(5.2.2) Find all sets of reactions in precutsets that do not cover any EM in em_obR where

reaction j participates. Combine each of these sets with reaction j and store the new preliminary cut sets in temp_precutsets.

(5.2.3) Drop all temp_precutsets which are asuperset of any of the already determined minimal cut sets stored in mcs.

(5.2.4) Find all retained temp_precutsets whichdo now cover all EMs and append them to mcs. Append all others to new_precutsets

(5.3) IF isempty(new_precutsets) BREAK; ELSE precutsets = new_precutsets;

(6) return mcs;

mcs: [{objR}, {R1, R3}, {R2, R3}]

precutsets: []

new_precutsets: []

temp_precutsets: []

32by Mathias Bader

Page 33: Minimal Cut Sets in Biochemical Reaction Networks

Remarks on the Algorithm

Does the algorithm satisfy the three previously defined rules?

(1) MCSs are real cut sets

(2) MCSs are minimal

(3) All MCSs are found

Each MCS covers all EMs with obR

Searching MCSs by increasing size

Iterating over all possible sizes

Knowledge about regulatory rules can be incorporated in advance

For example: Uptake of glucose and lactate does not occure simultaneously in E. Coli

For very large networks, MAX_CUTSETSIZE can be reduced to speed up the computation

33by Mathias Bader

Page 34: Minimal Cut Sets in Biochemical Reaction Networks

Performance of the Algorithm

34by Mathias Bader

Page 35: Minimal Cut Sets in Biochemical Reaction Networks

Applications of Minimal Cut Sets

Target identification and repressing cellular function

Network verification and mutant phenotype predictions

Observability of reaction rates in metabolic flux analyses

Concept of MCSs is excellent tool for target identification

MCSs define all efficient sets of interventions

Objective reaction instead of target reaction

Since MCSs build on network structure, they can be used to verify a given network

35by Mathias Bader

With growth as objR, MCS should lead to non-viable phenotype

Calculate unknown reaction rates by set of known reaction rates

Page 36: Minimal Cut Sets in Biochemical Reaction Networks

Applications of Minimal Cut Sets

Structural fragility and robustness

Assuming that every reaction in a metabolic network has the same probability to fail

Then small MCSs are most probable responsible for a failing objective reaction

36by Mathias Bader

We can define a Fragility Coefficient Fi as the reciprocal of the average size of all MCSs in which reaction i participates

The Fragility Coefficient Fi goes from zero (reaction is not important for the objective reaction) to one (reaction is essential)

The Fragility Coefficient F defines the overall structural fragility of the network

F is the average fragility coefficient over all reactions of the network

Page 37: Minimal Cut Sets in Biochemical Reaction Networks

Conclusions

37by Mathias Bader

MCSs are promising for predicting failure modes in biochemical reaction networks

A MCS is an irreducible combination of network elements whose simultaneous inactivation leads to a guaranteed dysfunction of certain cellular reactions or processes.

MCSs are inherent and uniquely determined features of metabolic networks

Both Elementary Modes and Minimal Cut Sets are irreducible

Calculation of both EMs and MCSs is challenging for large networks

Page 38: Minimal Cut Sets in Biochemical Reaction Networks

From FluxAnalyzer to CellNetAnalyzer

FluxAnalyzer

Developed in 2003

For Structural analysis of metabolic networks

Successor of FluxAnalyzer

Extends FluxAnalyzer with framework for signal-flow networks

by Steffen Klamt, MPI Magdeburg

Requires MATLAB Scientific license for free

38by Mathias Bader

Page 39: Minimal Cut Sets in Biochemical Reaction Networks

Thank you

39by Mathias Bader

Page 40: Minimal Cut Sets in Biochemical Reaction Networks

40by Mathias Bader

R4

R1A

R2B

R3

C

R5

objR

All Elementary Modes:

R1, R4, objR

R1, R2, R5, objR

R3, R5, objR

Possible Minimal Cut Set:

R1, R5