Byron Cook 12 Jasmin Fisher 13 Benjamin A Hall 1 Samin Ishtiaq 1 Garvit Juniwal 4 Nir Piterman 5 1 Microsoft Research 2 University College London 3 University of Cambridge ID: 485733
Download Presentation The PPT/PDF document "Finding Instability in Biological Models" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Finding Instability in Biological Models
Byron Cook1,2, Jasmin Fisher1,3, Benjamin A. Hall1, Samin Ishtiaq1, Garvit Juniwal4, Nir Piterman5
1Microsoft Research 2University College London3University of Cambridge 4UC Berkeley5University of Leicester
1
CAV 2014Slide2
Biological Signaling Networks
Network of chemicals (usually proteins) regulating each others’ concentration, evolving the overall state.Qualitative Networks offer a good level of abstraction for modeling and analysis. [BMC Syst Biol
’07] Schaub et. al.Have been applied to blood cell differentiation, skin homeostasis and cancer cell development.2Slide3
Homeostasis
Homeostasis (or stability) is a natural requirement for most of these systems. It represents the ability to stay at robust equilibrium.Model of a naturally occurring phenomenon stability desired.
starting from every state, the same stable state reached.Required sanity check during development stage.Central problem: Enabling biologists to be able to quickly check stability and examine instability.3Slide4
4
Bio Model Analyzer (BMA)http://biomodelanalyzer.research.microsoft.com/[CAV’12] Visual Tool for Modeling and Analyzing Biological Networks.
Benque et. al.Slide5
Contribution
Previous: BMA’s stability algorithm from [VMCAI’11 Cook et. al.]Problem: takes too long (~ 2 hours) for certain classes of models.This work: divide/conquer based algorithm to tackle hard cases.Benefit: Up to 3
orders of magnitude of speed up. Can solve all existing models in matter of seconds making BMA truly interactive.5Slide6
Outline
Definitions – Qualitative Networks and stabilitySummary of previous algorithm and its issuesNew divide/conquer algorithmEvaluation and conclusion6Slide7
Qualitative Networks (QNs)
Variablesfinite domain – [0, N]Dependencies Target functionsZ moves towards F(X,Y) in increments/decrements of 1Typically monotonicSynchronous updates
Unique next stateXZY:=
7Slide8
Typical Size of a QN
Variables (|V|) -- 50Domain size (N+1) – 4Average in-degree – 3State space – 4508Slide9
Stabilization Behavior in QNs (1/2)
For a QN with variables V State Space ∑ = {0, …, N}|V|Transition Function δ: ∑
∑ (defined via target functions)All states are initialA state s said to be recurring if it is possible to reach from s to itself with finite applications of δ.Unique recurring state Stabilizing QN 9Slide10
Stabilization Behavior in QNs
(2/2)
Stable
Unstable
Cycle (length >=2)
Multiple self-loops
S
tate
Cycle
Self-loop state
10
Bifurcation
(BF)
Cyclic Instability
(CI)Slide11
Proving Stability (hidden slide)
Compute the set recurring statesLet ∑ be the set of states that can be reached after i transition steps.All state are initial ∑0
∑1∑2∑-1 = ∑Stabilizing Network: ∑ is singleton 11[VMCAI’11 Proving Stabilization of Biological Systems. Cook et. al.]Slide12
Proving Stability
Goal: compute the set of recurring statesIdea: over-approximate via rectangular abstractionIf over-approximation has single state - STABLE
Else:Check for multiple self-loop states by encoding to a SAT query Check for cycles of increasing length starting at 2 (BMC)If no cycles found for a length > diameter – STABLE (using a naïve over-approximation of diameter) 12[VMCAI’11 Proving Stabilization of Biological Systems. Cook et. al.]Slide13
Over-Approximation Technique
Keep track of an interval per variableStart with the set of all states
For a variable, given the current intervals of its inputs and the target function, is it possible to tighten its interval?Order of updating variables doesn’t matterPick arbitrarily from a work list. 13XY
X
Y
Slide14
Pitfalls
14
0
1 2 3
0
1
2
A
B
Trivially Stable (TS)
Bifurcation (BF)
Cyclic Instability (CI)
Non-trivially Stable (NTS)
Computationally prohibitive to
distinguish these two cases
SAT !!Slide15
Main Contribution:Finding
InstabilityNew instability finding algorithm to distinguish between Cyclic Instability (CI) and Non-Trivial Stability (NTS)Rectangular abstraction. A Cartesian product of intervals is called a region.
For example, [1, 4] × [0, 2]Uses two new generic procedures Shrink and Cut. 15Slide16
Shrink
Shrink: region region. Given a region ρ, it returns another region ρ
’ contained in ρ s.t. all cycles and self-loops in ρ are within ρ’The previous interval update technique is one way to implement ShrinkThe old algorithm can be thought of as a single application of Shrink, now we use it within a recursive procedure.16
0
1 2 3
0
1
2
A
B
ρ
ρ
'Slide17
Cut
A
cut of a region ρ is a pair (ρ1, ρ2) of regions s.t. ρ1ρ2 = ρ.A frontier of a cut (ρ1, ρ2) is a pair of sets of states around the cut.A frontier can be two/one/zero-way.
17
cut
frontier
(two-way)
Cut:
region
cut
× frontier
.
ρ
ρ
1
ρ
2Slide18
FindInstability
// distinguish between CI and NTS// returns either stable or a cycle
FindInstability(ρ): ρ Shrink(ρ) if ρ contains single state then return stable else (ρ1, ρ2) Cut(ρ) res1
FindInstability
(
ρ
1
)
if
res
1
is
cycle
then
return
res
1
res
2
FindInstability
(
ρ
2
)
if
res2 is cycle then return res2 return (cycle) FindCycleAcrossCut(ρ1, ρ2)18Slide19
Concrete Implementation of
ShrinkReduce region while retaining all contained cycles; update intervalsIssue: Due to cuts, might get outgoing transitions causing intervals to growFix: Change target functions by
limiting with a min/max value.TB’ = max(min(TB, 1), 0)19
B
0
1 2
3Slide20
Concrete Implementation of
CutSplit the interval of one of the |V| variables.Variables change by at most 1 the slice around the split point is a frontier.
Enumerate over N*|V| choices until a zero/one-way frontier is found because no loops can exist across such frontiers.Zero/one-way property can be checked via a SAT query.20
cutSlide21
FindCycleAcrossCut
If the frontier is zero/one-way Return none
Else enumerate over states in the frontier and run simulations of the transition function. Stop when a cycle of length >= 2 is found.Works well becauseShrink is effective in reducing the search space.One-way cuts are prevalent due to simple and monotonic target functions. 21
CYCLE!!Slide22
`
Examples
22
o
ne-way frontier
Cyclic Instability (CI)
Non-trivially Stable (NTS)Slide23
Benchmarks and Evaluation
23T.O. = 15 minuteshttp
://www.cs.le.ac.uk/people/npiterman/publications/2014/instability/ModelVariablesDependenciesN+1BMA(old)(ms)BMA(new)(ms)
Speed
up
Dicty
Population
35
71
2
60066
2514
23.6x
Firing Neuron
21
21
2
218
458
0.5x
L
Model
25
105
4
43934
9865
4.5x
Leukemia
57
92
3
4497
446
10.1x
SSkin
1D
40
46
5
T.O.
132350
>
6.8x
SSkin
2D 2 layers
40
64
5
T.O.
2706
>
322.6x
Ion Channel
10
7
2
499
173
2.9x
Lambda
Phage
8
13
2
3113
197
15.8x
Resting Neuron
21
28
2
T.O.
244949
>
3.7x
E. Coli
Chemotaxis
9
10
5
T.O.
250
>
3600xSlide24
Conclusion
Shrink and Cut work effectively for systems under consideration.Running time down from hours to millisecondsThe added capabilities make the tool clinically relevant for industrial biomedicine.Found stability and instability results for previously un-tractable and biologically important models:bacterial chemotaxisdictyostelium
discoideum24Slide25
Thank You!
25Slide26
Future Work (hidden slide)
Repair and synthesis of unstable QNs26
ModelVariablesDepend--enciesN+1ResultBMA(old)(ms)BMA(new)(ms)Speed up
Dicty
Population
35
71
2
CI(5)
60066
2514
23.6x
Firing Neuron
21
21
2
CI(6)
218
458
0.5x
SSkin
2D 2 layers
40
64
5
CI(18)
T.O.
2706
>322.6x
Lambda
phage
8
13
2
NTS
3113
197
15.8x
E. Coli
chemotaxis
9
10
5
NTS
T.O.
250
>3600x