Skip to content

Modeling time delays using the linear chain trick

Adrian Hauber edited this page Apr 28, 2020 · 5 revisions

Time delays can be modeled without using delay differential equations by applying the linear chain trick (MacDonald, 1976). The time-delayed reaction A_state -> B_state is thereby replaced with a series of ODE states, the linear chain:

A_state -> X1    CUSTOM "k_in * A_state"
X1 -> X2         CUSTOM "k_delay * X1"
X2 -> X3         CUSTOM "k_delay * X2"
X3 -> X4         CUSTOM "k_delay * X3"
X4 -> X5         CUSTOM "k_delay * X4"
X5 -> X6         CUSTOM "k_delay * X5"
X6 -> X7         CUSTOM "k_delay * X6"
X7 -> B_state    CUSTOM "k_out * X7"

For an infinite number of chain states, this technique is equivalent to a delay differential equations. The shorter the chain, the more smeared out the time course of B becomes with respect to A. However, a large number of chain states can unnecessarily increase model complexity and introduce large degrees of stiffness which increases computational cost. It is therefore desirable to not use overly long chains. To find the optimal size of the number of states (the chain length), one can apply the iterative algorithm described in Hauber et al., 2020:

Chose a arbitrary (not too low, 6 or 7 may be a good choice) chain length and introduce the auxiliary parameter ´k_skip´ that replaces ´k_delay´ in one of the equations:

A_state -> X1    CUSTOM "k_in * A_state"
X1 -> X2         CUSTOM "k_skip * X1"
X3 -> X4         CUSTOM "k_delay * X3"
X4 -> X5         CUSTOM "k_delay * X4"
X5 -> X6         CUSTOM "k_delay * X5"
X6 -> X7         CUSTOM "k_delay * X6"
X7 -> B_state    CUSTOM "k_out * X7"

Fit the model to the dat, calculate the profile likelihood and investigate the confidence interval of ´k_skip´: Decrease the chain length by and repeat the above steps until ´k_skip´ changes from being non-identifiable with its confidence interval being infinitely extended towards positive infinity to being identifiable.

References

Clone this wiki locally