Upload
mathias-bader
View
80
Download
0
Embed Size (px)
Citation preview
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
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
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
Networks
New insight by investigation of cellular networks
In this paper:
What are minimal cut sets?
4by Mathias Bader
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
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
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
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
Computation of Elementary Modes
Not focus of this paper
Detailed description in:
9by Mathias Bader
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
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
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
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
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
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
Hypergraph versus Graph
AR1
BR2
C
R3
objR
A B
C
Metabolic network hypergraph:
According graph:
16by Mathias Bader
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Performance of the Algorithm
34by Mathias Bader
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
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
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
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
Thank you
39by Mathias Bader
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