Beeler-Reuter Action Potential Model

class pints.toy.ActionPotentialModel(y0=None)[source]

The 1977 Beeler-Reuter model of the mammalian ventricular action potential (AP).

This model is written as an ODE with 8 states and several intermediary variables: for the full model equations, please see the original paper [1].

The model contains 5 ionic currents, each described by a sub-model with several kinetic parameters, and a maximum conductance parameter that determines its magnitude. Only the 5 conductance parameters are varied in this ToyModel, all other parameters are fixed and assumed to be known. To aid in inference, a parameter transformation is used: instead of specifying the maximum conductances directly, their natural logarithm should be used. In other words, the parameter vector passed to simulate() should contain the logarithm of the five conductances.

As outputs, we use the AP and the calcium transient, as these are the only two states (out of the total of eight) with a physically observable counterpart. This makes this a fairly hard problem.

Extends pints.ForwardModel, pints.toy.ToyModel.

Parameters:y0 – The initial state of the observables V and Ca_i, where Ca_i must be 0 or greater. If not given, the defaults are -84.622 and 2e-7.

References

[1]Reconstruction of the action potential of ventricular myocardial fibres. Beeler, Reuter (1977) Journal of Physiology https://doi.org/10.1113/jphysiol.1977.sp011853
initial_conditions()[source]

Returns the initial conditions of this model.

n_outputs()[source]

See pints.ForwardModel.n_outputs().

n_parameters()[source]

See pints.ForwardModel.n_parameters().

set_initial_conditions(y0)[source]

Changes the initial conditions for this model.

set_solver_tolerances(rtol=0.0001, atol=1e-06)[source]

Updates the solver tolerances. See: https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.odeint.html

simulate(parameters, times)[source]

See pints.ForwardModel.simulate().

simulate_all_states(parameters, times)[source]

Runs a simulation and returns all state variables, including the ones that do no have a physically observable counterpart.

suggested_parameters()[source]

Returns suggested parameters for this model. The returned vector is already log-transformed, and can be passed directly to simulate().

See pints.toy.ToyModel.suggested_parameters().

suggested_times()[source]

See pints.toy.ToyModel.suggested_times().