50
Ezio Bartocci Multi Affine Cardiac Cell Models Joint work with R. Grosu, F. Fenton, J. Glimm, C. Le Guernic, and S. A. Smolka SUNY Stony Brook

Multi affine

Embed Size (px)

Citation preview

Page 1: Multi affine

Ezio Bartocci

Multi Affine Cardiac Cell Models

Joint work with

R. Grosu, F. Fenton, J. Glimm, C. Le Guernic, and S. A. Smolka

SUNY Stony Brook

Page 2: Multi affine

Overview• Background

– Cardiac Cells, Action Potential, Restitution

• Biological Switching• Minimal Model

– Resistor Model

– Sigmoid Closure and Conductance Model

• Piecewise Multi Affine Minimal Model

– Optimal Polygonal Approximation

– Model Comparison

• Parameter Identification

– RoverGene

• Conclusion

Page 3: Multi affine

Background

Page 4: Multi affine

Emergent Behavior in Heart Cells

Arrhythmia afflicts more than 3 million Americans alone

EKG

Surface

Page 5: Multi affine

Single Cell Reaction: Action Potential

Membrane’s AP depends on: • Stimulus (voltage or current):

– External / Neighboring cells

• Cell’s state

time

volt

age

Sti

mu

lus

failed initiation

Threshold

Resting potential

Schematic Action Potential

AP has nonlinear behavior!• Reaction diffusion system:

∂u

∂t= R(u) +∇(D∇u)

BehaviorIn time

Reaction Diffusion

Page 6: Multi affine

DI

APD

AP

D

DI

t (ms)

u (

mV

)

Frequency Response

APD90: AP > 10% APm DI90: AP < 10% APm BCL: APD + DI

Page 7: Multi affine

Existing Models

• Detailed ionic models: – Luo and Rudi: 14 variables– Tusher, Noble2 and Panfilov: 17 variables – Priebe and Beuckelman: 22 variables – Iyer, Mazhari and Winslow: 67 variables

• Approximate models:– Cornell: 3 or 4 variables – SUNYSB: 2 or 3 variable

Page 8: Multi affine

Biological Switching

Page 9: Multi affine

θ =0.5

k = 16

Biological Switching

S+(u,θ,k,0,1) =1

1+ e−2k(u−θ )

H +(u,θ,0,1) = 0 u<θ1 u≥θ

⎧⎨⎩⎪

R+(u,θ1,θ2 ,0,1) =

0 u<θ1

u−θ1

θ2 −θ1

else

1 u≥θ2

⎪⎪

⎪⎪

Page 10: Multi affine

• Arithmetic Generalization of Boolean predicates u ≤ θ:

Threshold-Based Switching Functions

~(u ≤ θ) : h-(u,θ,0,1) = 1 – h+(u,θ,0,1)

(u ≤θ1) & (v ≤θ2) : h+(u,θ1,0,1) * h+(v,θ2,0,1)

(u ≤θ1) | (u ≤θ2) : h+(u,θ1,0,1) + h+(v,θ2,0,1) - h+(u,θ1,0,1) * h+(v,θ2,0,1)

• Generalization: h±(u,θ,um,uM), s± (u,θ,k,um,uM) , r± (u,θ1,θ2,um,uM)

- Step: H+(u,θ,0,1), H-(u,θ,0,1) = 1 - H+(u,θ,0,1)

- Sigmoid: S+(u,θ,k,0,1), S-(u,θ,k,0,1) = 1 - S+(u,θ,k,0,1)

- Ramp: R+(u,θ1,θ2,0,1), R-(u,θ1,θ2,0,1) = 1 - R+(u,θ1,θ2,0,1)

• Boolean algebra generalizes to probability algebra:

Page 11: Multi affine

Gene Regulatory Networks (GRN)

• GRNs have the following general form:

&xi = amns±(xmn,,θmn,kmn

n=1

nm

∏ ,umn,vmn)−bixim=1

mi

where:

amn : are activation / inhibition cons tants

bi : are decay cons tants

s±(..) : are possibly complemented sigmoidal functions

• Note: our steps and ramps are sigmoid approximations

Page 12: Multi affine

Minimal Model

Page 13: Multi affine

&u =∇(D∇u)−(J fi + J si + J so)

Cornell’s Minimal Resistor Model

&v = H−(u,θv,0,1) (v∞ −v) / τ v−−H +(u,θv,0,1)v / τ v

+

&w = H−(u,θw,0,1)(w∞ −w) / τw−−H +(u,θw,0,1)w/ τw

+

&s = (S+(u,us,2ks,0,1)−s) / τ s

J fi =−H(u−θv)(u−θv)(uu −u)v/ τ fi

J fi =−H +(u,θv,0,1) (u−θv)(uu −u)v/ τ fi

J si =−H +(u,θw,0,1) ws / τ si

J so = H−(u,θw,0,1) u / τo + H +(u,θw,0,1) / τ so

PiecewiseNonlinear

Heaviside(step)

Sigmoid(s-step)

PiecewiseNonlinear

PiecewiseBilinear

PiecewiseLinear

Nonlinear

ActivationThreshol

d

Fast inputGateSlow Input

GateSlow Output

GateResistanceTime Cst

Fast inputcurrent

DiffusionLaplacia

nvoltage Slow input

currentSlow output

current

Page 14: Multi affine

τ v− = (1 − H (u −θ v

− )) τ v1− + H (u −θ v

− ) τ v2−

τ s = (1 − H (u −θw )) τ s1 + H (u −θw ) τ s2

τ o = (1 − H (u −θo )) τ o1 + H (u −θo ) τ o2

w∞

τw− = τ w1

− + (τ w2− − τ w1

− ) S(2kw− (u − uw

− ))

τ so = τ so1 + (τ so2 − τ so1) S(2kso(u − uso ))

w∞

Voltage-controlled resistances

PiecewiseConstant

Sigmoidal

v∞ = (1−H(u−θv−))

w∞ = (1−H(u−θo)) (1−u / τw∞) + H(u−θo) w∞*

τ so = (1−H(u−θo)) τo1 + H(u−θo) τo2

PiecewiseLinear

Page 15: Multi affine

u ≥θo

u ≥θv

u ≥θw

θo ≤ u < θw

&u = ∇(D∇u) − u / τ o2

&v = −v / τ v2−

&w = (w∞* − w) / τ w1

&s = (S(2ks (u − us )) − s) / τ s

θw ≤ u < θv

&u = ∇(D∇u) + ws / τ si −1 / τ so

&v = −v / τ v2−

&w = −w / τ w+

&s = (S(2ks (u − us )) − s) / τ s2

u < θo =θv− =0.006

u < θw =0. 13

u < θv =0.3

Cornell’s Minimal Resistance Model

u < θo

&u =∇(D∇u)−u / τo1

&v = (1−v) / τ v1−

&w = (1−u / τw∞ −w) / τw−

&s = (S(2ks(u−us))−s) / τ s

θv ≤ u

&u =∇(D∇u) + (u−θv)(uu −u)v/ τ fi +ws / τ fi −1 / τ so

&v =−v/ τ v+

&w =−w/ τw+

&s = (S(2ks(u−us))−s) / τ s2

Page 16: Multi affine

Sigmoid Closure

S+(u,k,θ,a,b)−1 =S−(u,k,θ + ln(a /b) / 2k,b−,a−)

For ab > 0, scaled sigmoids are closed under multiplicative inverses (division):Theorem

S+(u,k,θ,a,b)−1 =1

a+b−a

1+ e−2k u−θ( )

=1+ e−2k(u−θ )

b+ ae−2k(u−θ ) =

=1a×

a−b+b+ ae−2k(u−θ )

b+ ae−2k(u−θ ) =1a−

1a−1b

1+ab

e−2k(u−θ )=

=1a−

1a−1b

1+ e−2k(u−(θ+ lna−lnb

2k))=S−(u,k,θ +

lnab

2k,1b,1a)

Proof

a

b-a

θ

S+(u,k,θ,a,b)

1/b-1/a

θ + ln(a / b) / 2k

S+(u,k,θ,a,b)−1

1/a

Page 17: Multi affine

gv− =1 / τ v

− = H−(u,θv−,gv1

−,gv2− )

go =1 / τo = H +(u,θv−,go1,go2 )

gs =1 / τ s = H−(u,θw,gs1,gs2 )

w∞

Resistances vs Conductances

Removing Divisions using Sigmoid Closure

gw− =1 / τw

− = S+(u,kw−,u'w

−,gw1− ,gw2

− )

gso =1 / τ s0 = S+(u,kso,u'so,gso1,gso2 )

θv−

0.006

θv

0.3

θw

0.13

uuu

1.55

us

0.9087

uw−

0.03

uso

0.65

Removing Divisions using

τw− = S− (u,kw

− ,uw− ,τ w1

− ,τ w2− )

τ so = S− (u,kso,uso,τ so1,τ so2 )

τ v− = H + (u,θ v

− ,τ v1− ,τ v2

− )

τ o = H − (u,θ v− ,τ o1,τ o2 )

τ s = H + (u,θw ,τ s1,τ s2 ) v∞ = h−(u,θv

−,0,1)

w∞ = h−(u,θv−,0,1) (1−ugw∞ ) + h+(u,θv

−,0,w∞* )

u 'w−

u 'so−

H +(u,θ,a,b)−1 =H−(u,θ,b−1,a−1)

Page 18: Multi affine

u ≥θo

u ≥θv

u ≥θw

θv− ≤ u < θw

&u = ∇(D∇u) − u go2

&v = −v gv2−

&w = (w∞* − w) gw1

&s = (s+ (u,us ,2ks ,0,1) − s) gs1

θw ≤ u < θv

&u = ∇(D∇u) + ws gsi − gso

&v = −v gv2−

&w = −w gw+

&s = (Ss+ (u,us ,2ks ,0,1) − s) gs2

u < θo =θv− =0.006

u < θw =0. 13

u < θv =0.3

Conductances Minimal Model

θv ≤ u

&u =∇(D∇u) + (u−θv)(uu −u)v gfi +ws gsi −gso

&v =−v gv+

&w =−w gw+

&s = (s+(u,us,2ks,0,1)−s) gs2

u < θv−

&u =∇(D∇u)−u go1

&v = (1−v) gv1−

&w = (1−u gw∞ −w) gw−

&s = (s+(u,us,2ks,0,1)−s) gs1

Page 19: Multi affine

Piecewise Multi Affine Model

Page 20: Multi affine

Our goals

• Learn a Piecewise Multi Affine model:

– This should facilitate analysis

– We want to improve the computational efficiency

• Identify the parameters based on: – Data generated by a detailed ionic model– Experimental, in-vivo data

Page 21: Multi affine

Optimal Polygonal ApproximationProblem to solve:Given a nonlinear curve and the desired number of the segments return the optimal polygonal approximation:

Example: What is the optimal polygonal approximation of the blu curvewith 3 segments ?

Marc Salotti, An efficient algorithm for the optimal polygonal approximation of digitized curves, Pattern Recognition Letters 22 (2001), Pag 215-221

Dynamic Programming Algorithm with Complexity O(P2S)P the number of points of the curveS the number of segments

Page 22: Multi affine

Global Optimal Polygonal ApproximationOur problem:Given a set of nonlinear curves and the desired number of the segments return the optimal polygonal approximation:

Example: What is the optimal polygonal approximation of the blu and the red curve with 5 segments ?

But combining the two we obtain 8 segments and not 5 segmentsWe modify the optimal polygonal approximation algorithm to perform the linearization on a set of curves trying to minimize the maximum error.

Our solution:

Page 23: Multi affine

Deriving the Piecewise Multi Affine Model

Page 24: Multi affine

DI

APD

AP

D

DI

t (ms)

u (

mV

)

Minimal Resistor Model

Multi Affine Model (26 ramps)

1D Cable Comparison

Page 25: Multi affine

2D Comparison

Simulation of the Multi Affine Model is computational efficient (1.43 x)

1024x1024 cells 100000 iterations 556 sec. vs. 810 sec. (GPU Tesla C1060)

Page 26: Multi affine

Parameter Identification

Page 27: Multi affine

• Find parameters such that network is bistable

cross-inhibition network

x: protein concentration

: rate parametersthreshold concentrationka ,kb ,γa,γb

θa1,θa

2 ,θb1,θb

2

Genetic Regulatory Networks

G. Batt, C. Belta and R. Weiss (2008)Temporal logic analysis of gene networks under parameter uncertainty

Page 28: Multi affine

• Partition of the state space: rectangles

ka ,kb

Genetic Regulatory Networks

Page 29: Multi affine

Specifications of dynamical properties

Page 30: Multi affine
Page 31: Multi affine

Embedding transition system

Page 32: Multi affine

Iterative exploration of parameter space

Page 33: Multi affine

Analysis Problem

• Find parameter ranges reproducing non-excitability:

– Restated as an LTL formula: G (u <θv)

• Initial region:

u ∈[0,θ1] v ∈[0.95,1] w ∈[0.95,1] s ∈[0,0.01]

• Uncertain parameter ranges:

go1 ∈[1,180] go2∈[0,10] gsi ∈[0.1,100] gso ∈[0.9,50]

• Stimulus: e=1

Page 34: Multi affine

State Space Partition

• Hyperrectangles: 4 dimensional (uv-projection)

– Arrows: indicate the vector field

u

v1.00

0.95

0.00θ0 θ1 θ2 θ3 θ7 θ8 θ12 θ13 θ25 θ26θ11θ9

Page 35: Multi affine

Embedding Transition System TX(p)

u

v1.00

0.95

0.00θ0 θ1 θ2 θ3 θ7 θ8 θ12 θ13 θ25 θ26θ11θ9

xTX (p)⏐ →⏐ ⏐ x' iff there is a solution ξ and time τ such that:

x 'x

− ξ(0) = x, ξ (τ ) = x'

− ∀t ∈[0,τ ]. ξ (t)∈rect(x)∪ rect(x')

− rect(x) is adjacent to rect(x ')

ξ

Page 36: Multi affine

The Discrete Abstraction TR(p)

u

v1.00

0.95

0.00θ0 θ1 θ2 θ3 θ7 θ8 θ12 θ13 θ25 θ26θ11θ9

x : R( p) x' iff rect(x) =rect(x')

TR (p) is the quotiont of TX (p) with res pect to : R( p)

Theorem: ∀p. TX (p) ≤ TR (p)

Page 37: Multi affine

Computing TR(p)

Theorem: If f is multi-affine then

∀x ∈R. f (x)∈cHull({ f (v) | v ∈VR})f (v1)

f (v4 )

f (v2 )

f (v3)

v3v4

v1 v2

x

f (x)

R

Corollary:

1.00

0.95

0.00θ0 θ1 θ2

1.00

0.95

0.00θ0 θ1 θ2

Page 38: Multi affine

Partitioning the Parameter Space

go2

go10

go1go2

1

go2

0

go11 go1

2 go1m−1 go1

m

go2

n

go2

n−1

go2

2

• Parameter space: 4 dimensional (go1/go2

projection)

– Each rectangle: a different transition system

• In each vertex: affine equation in the parameters

1.00

0.95

0.00θ1 θ2

&u =1−u go1

= 0

go1 =1 /θ2go1 =1 /θ1

u

Page 39: Multi affine

Results

• Rovergene: intelligently explores the PS rectangles

go2

go1

1

0

166.94 180

10

7.69

gso

gsi

0.1

0.9

90.18

100

50

26.95

independent linearly dependent simulation

Page 40: Multi affine

Conclusions and Outlook • First automatic parameter-range identification for CC

- Validated both in MCM and MRM- Can be validated experimentally as for ischemia

• Currently work on time-dependent properties of CC- Extend SpaceEx with RoverGene MA-techniques

• Moving towards 2D/3D parameter-range identification- Use PS partitioning, simulation and curvature analysis

• Derive the MRM from Iyer model through TS abstraction

Page 41: Multi affine

Resistances Minimal Model (RMM)

(Assumption: resistances are sigmoids)

Page 42: Multi affine

&v = h−(u,θv,0,1) (v∞ −v) / τ v−−h+(u,θv,0,1)v / τ v

+

&w = h−(u,θw,0,1)(w∞ −w) / τw−−h+(u,θw,0,1)w/ τw

+

&s = (s+(u,us,2ks,0,1)−s) / τ s

J fi =−H(u−θv)(u−θv)(uu −u)v/ τ fi

&u =∇(D∇u)−(J fi + J si + J so)

J fi =−H(u−θv)(u−θv)(uu −u)v/ τ fiJ fi =−h+(u,θv,0,1) (u−θv)(uu −u)v/ τ fi

J si =−h+(u,θw,0,1) ws / τ si

J so = h−(u,θw,0,1) u / τo +h+(u,θw,0,1) / τ so

RMM with Currents and Gates

θv−

0.006

θv

0.3

θw

0.13

uuu

1.55

us

0.9087

uw−

0.03

uso

0.65

Page 43: Multi affine

&v = h−(u,θv,0,1) (v∞ −v) / τ v−−h+(u,θv,0,1)v / τ v

+

&w = h−(u,θw,0,1)(w∞ −w) / τw−−h+(u,θw,0,1)w/ τw

+

&s = (s+(u,us,2ks,0,1)−s) / τ s

J fi =

&u =∇(D∇u)−(J fi + J si + J so)

J fi + h+(u,θv,0,1) (u−θv)(uu −u)v/ τ fi

J si + h+(u,θw,0,1) ws / τ si

J so − h−(u,θw,0,1) u / τo +h+(u,θw,0,1) / τ so

RMM State Variables

θv−

0.006

θv

0.3

θw

0.13

uuu

1.55

us

0.9087

uw−

0.03

uso

0.65

Page 44: Multi affine

τ v− = h− (u,θ v

− ,0,τ v1− ) + h+ (u,θ v

− ,0,τ v2− )

τ o = h− (u,θ v− ,0,τ o1) + h+ (u,θ v

− ,0,τ o2 )

τ s = h− (u,θw ,0,τ s1) + h+ (u,θw ,0,τ s2 )

w∞τw− = s+ (u,uw

− ,2kw− ,τ w1

− ,τ w2− )

τ so = s+ (u,uso,2kso,τ so1,τ so2 )

w∞v∞ = h−(u,θv−,0,1)

w∞ = h−(u,θv−,0,1) (1−u / τw∞) + h+(u,θv

−,0,w∞* )

τ so = h−(u,θv−,0,1)τo1 + Hh(u−θo) τo2θv

0.006

θv

0.3

θw

0.13

uuu

1.55

us

0.9087

uw−

0.03

uso

0.65

RMM Resistances

Page 45: Multi affine

&v = h−(u,θv,0,1)(v∞ −r+(v,0,v,0,v)) / τ v−−h+(u,θv,0,1) r

+(v,0,1,0,1) / τ v+

&w = h−(u,θw,0,1)(w∞ −r+(w,0,1,0,1)) / τw−−h+(u,θw,0,1)r

+(w,0,1,0,1) / τw+

&s = (s+(u,us,2ks,0,1)−r+(s,0,1,0,1)) / τ s

J fi =−H(u−θv)(u−θv)(uu −u)v/ τ fi

&u =∇(D∇u)−(J fi + J si + J so)

J fi + r+(u,θv,uu,0,uu-θv)r−(u,θv,uu,0,uu-θv)r

+(v,0,1,0,1) / τ fi

J si + h+(u,θw,0,1)r+(w,0,1,0,1)r+(s,0,1,0,1) / τ si

J so − r(u,0,θw,0,θw) / τo +h+(u,θw,0,1) / τ so

State Variables with Ramps

θv−

0.006

θv

0.3

θw

0.13

uuu

1.55

us

0.9087

uw−

0.03

uso

0.65

Page 46: Multi affine

Resistances with Ramps

τ v− = h+ (u,θ v

− ,τ v1− ,τ v2

− )

τ o = h+ (u,θ v− ,τ o1,τ o2 )

τ s = h+ (u,θw ,τ s1,τ s2 )

w∞τw− = s+ (u,uw

− ,2kw− ,τ w1

− ,τ w2− )

τ so = s+ (u,uso,2kso,τ so1,τ so2 )

w∞v∞ = h−(u,θv−,0,1)

w∞ = r−(u,0,θv−,1,1-θv

−/τw∞) + h+(u,θv−,0,w∞

* )

τ so = h−(u,θv−,0,1)τo1 + Hh(u−θo) τo2θv

0.006

θv

0.3

θw

0.13

uuu

1.55

us

0.9087

uw−

0.03

uso

0.65

Page 47: Multi affine

function [e,a,b,xb] = optimalLinearApproximation(x,y,S)Input: x,y: Curves given as an x-points vector and a vector of y-points vectors S: Number >= 2 of desired segmentsOutput: e: Errors matrix a,b: Line-segment-coefficients matrix xb: x-coordinate at breaking point matrixInitializationz1 = size(x); P = z1(2); Get number of points in each curvez2 = size(y); C = z2(1); Get number of digitized curvesse = zeros(1,C); Initialize vector of errors, one error for each curve Cost tablescost = ones(P,S) * inf; cost(30,4) = min cost to pt 30 with 4-segm polylineerror = ones(P,P) * inf; error(i, n) = cached error of line segment (i,n) cost(2,1) = 0; 1-segment-polyline cost of polyline (1,2) = 0Predecessor tablefather = ones(P,S) * inf; father(30,4) = pred of pt 30 on a 4-segm polyline

Computation of optimal segmentationInitialize cost and father for 1-segment-polyline, from pt 1 to all other ptsfor p = 2:P Traverse all other points for c = 1:C Traverse all curves se(c) = segmentError(x(1:p), y(c,1:p)); (1,p)-line-segment appr error end; for c cost(p,1) = max(se); Maximum error among all curves father(p,1) = 1; All 1-segment polylines have father point 1end; for p

Page 48: Multi affine

Compute s-segm-polyline cost from point 1 to all other pointsfor s = 2:S Number of segments in the polyline for p = 3:P Next-point-number to consider minErr = cost(p-1,s-1); minIndex = p-1; Error of (p-1,p) = 0 for i = s:p-2 Next-intermediate-point to consider if (error(i,p) == Inf) Error of line segment (i,n) not cashed for c = 1:C Next curve-number to consider se(c) = segmentError(x(i:p), y(k,i:p)); (i,p)-segment error end; for k error(i,p) = max(se); Maximum line segment error end; if currErr = cost(i,s-1) + error(i,p); s-segment-polyline error if (currErr < minErr) Smaller error? minErr = currErr; minIndex = i; Update error and parent end; if end; for i cost(p,s) = minErr; s-segment-polyline minimal cost father(p,s) = minIndex; Last point's father on the polyline end; for pend; for s[e,a,b,xb] = ExtractAnswer; end

Page 49: Multi affine

function [e,a,b] = segmentError(x,y) Input: x,y: Digitized curve-segment as an x-vector and an y-vector Output: e: Error of the line segment between the first and last point a,b: The coeficients defining this segmentInitialization:z = size(x); P = s(2); Find out the number of points of x,y

Compute 1-segment linear-interpolation of (x,y) coefficients a = (y(n) - y(1)) / (x(n) - x(1));b = (y(1) * x(n) - y(n) * x(1)) / (x(n) - x(1));

Compute perpendicular-distance error for above line segmente = 0; Initialize Errorfor p = 1:P Compute error for the each point on the curve e = e + (y(p) - a * x(p) - b)2 / (a2+1); Accumulate least square end;end

Page 50: Multi affine

function [e,a,b,xb] = ExtractAnswer Output: e,a,b,xb: As in the output of optimalLinearApproximationInitialization:ib = zeros(S,S+1); xb = zeros(S,S+1); yb = zeros(C, S,S+1); Points matricesa = zeros(C, S,S); b = zeros(C, S,S); er = zeros(C, S,S); Coefficients/errorExtract error and coefficient matricesfor s = S:-1:1 Traverse polyline segments in inverse order ib(s,s+1) = P; Get last point number xb(s,s+1) = x(ib(s,s+1)); Get x-value for this point for c = 1:C Traverse all curves yb(c,s,s+1) = y(c,ib(s,s+1)); Get y-value for this point end; for i = s:-1:1 Traverse predecessor points in inverse order ib(s,i) = father(ib(j,i+1),i); Get predecessor point number xb(s,i) = x(ib(s,i)); Get x-value for this point for c = 1:C Traverse all curves yb(c,s,i) = y(c,ib(s,i)); Get y-value for this point [er(c,s,i), a(c,s,i), b(c,s,i)] = Compute err, a and b for segm (x,y) segmentError( x(ib(s,i):ib(s,i+1)), y(c,ib(s,i):ib(s,i+1)) ); end end;end; end