# brainpy.dyn.neurons.MorrisLecar#

class brainpy.dyn.neurons.MorrisLecar(size, V_Ca=130.0, g_Ca=4.4, V_K=- 84.0, g_K=8.0, V_leak=- 60.0, g_leak=2.0, C=20.0, V1=- 1.2, V2=18.0, V3=2.0, V4=30.0, phi=0.04, V_th=10.0, W_initializer=OneInit(value=0.02), V_initializer=Uniform(min_val=- 70.0, max_val=- 60.0, seed=None), method='exp_auto', keep_size=False, name=None)[source]#

The Morris-Lecar neuron model.

Model Descriptions

The Morris-Lecar model 4 (Also known as $$I_{Ca}+I_K$$-model) is a two-dimensional “reduced” excitation model applicable to systems having two non-inactivating voltage-sensitive conductances. This model was named after Cathy Morris and Harold Lecar, who derived it in 1981. Because it is two-dimensional, the Morris-Lecar model is one of the favorite conductance-based models in computational neuroscience.

The original form of the model employed an instantaneously responding voltage-sensitive Ca2+ conductance for excitation and a delayed voltage-dependent K+ conductance for recovery. The equations of the model are:

\begin{split}\begin{aligned} C\frac{dV}{dt} =& - g_{Ca} M_{\infty} (V - V_{Ca})- g_{K} W(V - V_{K}) - g_{Leak} (V - V_{Leak}) + I_{ext} \\ \frac{dW}{dt} =& \frac{W_{\infty}(V) - W}{ \tau_W(V)} \end{aligned}\end{split}

Here, $$V$$ is the membrane potential, $$W$$ is the “recovery variable”, which is almost invariably the normalized $$K^+$$-ion conductance, and $$I_{ext}$$ is the applied current stimulus.

Model Examples

>>> import brainpy as bp
>>>
>>> group = bp.dyn.MorrisLecar(1)
>>> runner = bp.dyn.DSRunner(group, monitors=['V', 'W'], inputs=('input', 100.))
>>> runner.run(1000)
>>>
>>> fig, gs = bp.visualize.get_figure(2, 1, 3, 8)
>>> bp.visualize.line_plot(runner.mon.ts, runner.mon.W, ylabel='W')
>>> bp.visualize.line_plot(runner.mon.ts, runner.mon.V, ylabel='V', show=True)


Model Parameters

 Parameter Init Value Unit Explanation V_Ca 130 mV Equilibrium potentials of Ca+.(mV) g_Ca 4.4 Maximum conductance of corresponding Ca+.(mS/cm2) V_K -84 mV Equilibrium potentials of K+.(mV) g_K 8 Maximum conductance of corresponding K+.(mS/cm2) V_Leak -60 mV Equilibrium potentials of leak current.(mV) g_Leak 2 Maximum conductance of leak current.(mS/cm2) C 20 Membrane capacitance.(uF/cm2) V1 -1.2 Potential at which M_inf = 0.5.(mV) V2 18 Reciprocal of slope of voltage dependence of M_inf.(mV) V3 2 Potential at which W_inf = 0.5.(mV) V4 30 Reciprocal of slope of voltage dependence of W_inf.(mV) phi 0.04 A temperature factor. (1/s) V_th 10 mV The spike threshold.

References

4

Meier, Stephen R., Jarrett L. Lancaster, and Joseph M. Starobin. “Bursting regimes in a reaction-diffusion system with action potential-dependent equilibrium.” PloS one 10.3 (2015): e0122401.

5

http://www.scholarpedia.org/article/Morris-Lecar_model

6

https://en.wikipedia.org/wiki/Morris%E2%80%93Lecar_model

__init__(size, V_Ca=130.0, g_Ca=4.4, V_K=- 84.0, g_K=8.0, V_leak=- 60.0, g_leak=2.0, C=20.0, V1=- 1.2, V2=18.0, V3=2.0, V4=30.0, phi=0.04, V_th=10.0, W_initializer=OneInit(value=0.02), V_initializer=Uniform(min_val=- 70.0, max_val=- 60.0, seed=None), method='exp_auto', keep_size=False, name=None)[source]#

Methods

 __init__(size[, V_Ca, g_Ca, V_K, g_K, ...]) dV(V, t, W, I_ext) dW(W, t, V) get_delay_data(name, delay_step, *indices) Get delay data according to the provided delay steps. ints([method]) Collect all integrators in this node and the children nodes. load_states(filename[, verbose]) Load the model states. nodes([method, level, include_self]) Collect all children nodes. register_delay(name, delay_step, delay_target) Register delay variable. register_implicit_nodes(nodes) register_implicit_vars(variables) reset() Reset function which reset the whole variables in the model. save_states(filename[, variables]) Save the model states. train_vars([method, level, include_self]) The shortcut for retrieving all trainable variables. unique_name([name, type_]) Get the unique name for this object. update(t, dt) The function to specify the updating rule. vars([method, level, include_self]) Collect all variables in this node and the children nodes.

Attributes

 derivative global_delay_targets global_delay_vars name steps