Skip to content

Commit

Permalink
automatic model characterisation and doc generator
Browse files Browse the repository at this point in the history
  • Loading branch information
C.A.P. Linssen committed May 14, 2024
1 parent 877ef4f commit d384085
Show file tree
Hide file tree
Showing 38 changed files with 3,167 additions and 11 deletions.
Binary file added doc/models_library/.aeif_cond_alpha.rst.swp
Binary file not shown.
114 changes: 114 additions & 0 deletions doc/models_library/aeif_cond_alpha_neuron.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
aeif_cond_alpha_neuron
######################


aeif_cond_alpha - Conductance based exponential integrate-and-fire neuron model

Description
+++++++++++

aeif_cond_alpha is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with post-synaptic conductances in the form of a bi-exponential ("alpha") function.

The membrane potential is given by the following differential equation:

.. math::
C_m \frac{dV_m}{dt} =
-g_L(V_m-E_L)+g_L\Delta_T\exp\left(\frac{V_m-V_{th}}{\Delta_T}\right) -
g_e(t)(V_m-E_e) \\
-g_i(t)(V_m-E_i)-w + I_e
and

.. math::
\tau_w \frac{dw}{dt} = a(V_m-E_L) - w
Note that the membrane potential can diverge to positive infinity due to the exponential term. To avoid numerical instabilities, instead of :math:`V_m`, the value :math:`\min(V_m,V_{peak})` is used in the dynamical equations.


References
++++++++++

.. [1] Brette R and Gerstner W (2005). Adaptive exponential
integrate-and-fire model as an effective description of neuronal
activity. Journal of Neurophysiology. 943637-3642
DOI: https://doi.org/10.1152/jn.00686.2005
See also
++++++++

iaf_cond_alpha, aeif_cond_exp



Parameters
++++++++++
.. csv-table::
:header: "Name", "Physical unit", "Default value", "Description"
:widths: auto


"C_m", "pF", "281.0pF", "membrane parametersMembrane Capacitance"
"refr_T", "ms", "2ms", "Duration of refractory period"
"V_reset", "mV", "-60.0mV", "Reset Potential"
"g_L", "nS", "30.0nS", "Leak Conductance"
"E_L", "mV", "-70.6mV", "Leak reversal Potential (aka resting potential)"
"a", "nS", "4nS", "spike adaptation parametersSubthreshold adaptation"
"b", "pA", "80.5pA", "Spike-triggered adaptation"
"Delta_T", "mV", "2.0mV", "Slope factor"
"tau_w", "ms", "144.0ms", "Adaptation time constant"
"V_th", "mV", "-50.4mV", "Threshold Potential"
"V_peak", "mV", "0mV", "Spike detection threshold"
"E_exc", "mV", "0mV", "synaptic parametersExcitatory reversal Potential"
"tau_syn_exc", "ms", "0.2ms", "Synaptic Time Constant Excitatory Synapse"
"E_inh", "mV", "-85.0mV", "Inhibitory reversal Potential"
"tau_syn_inh", "ms", "2.0ms", "Synaptic Time Constant for Inhibitory Synapse"
"I_e", "pA", "0pA", "constant external input current"



State variables
+++++++++++++++

.. csv-table::
:header: "Name", "Physical unit", "Default value", "Description"
:widths: auto


"V_m", "mV", "E_L", "Membrane potential"
"w", "pA", "0pA", "Spike-adaptation current"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""




Equations
+++++++++



.. math::
\frac{ dV_{m} } { dt }= \frac 1 { C_{m} } \left( { (-g_{L} \cdot (V_{bounded} - E_{L}) + I_{spike} - I_{syn,exc} - I_{syn,inh} - w + I_{e} + I_{stim}) } \right)
.. math::
\frac{ dw } { dt }= \frac 1 { \tau_{w} } \left( { (a \cdot (V_{bounded} - E_{L}) - w) } \right)
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `aeif_cond_alpha_neuron <https://github.com/nest/nestml/tree/master/models/neurons/aeif_cond_alpha_neuron.nestml>`_.

Characterisation
++++++++++++++++

.. include:: aeif_cond_alpha_neuron_characterisation.rst


.. footer::

Generated at 2024-05-14 22:01:11.810891
115 changes: 115 additions & 0 deletions doc/models_library/aeif_cond_exp_neuron.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
aeif_cond_exp_neuron
####################


aeif_cond_exp - Conductance based exponential integrate-and-fire neuron model

Description
+++++++++++

aeif_cond_exp is the adaptive exponential integrate and fire neuron
according to Brette and Gerstner (2005), with post-synaptic
conductances in the form of truncated exponentials.

The membrane potential is given by the following differential equation:

.. math::
C_m \frac{dV_m}{dt} =
-g_L(V_m-E_L)+g_L\Delta_T\exp\left(\frac{V_m-V_{th}}{\Delta_T}\right) - g_e(t)(V_m-E_e) \\
-g_i(t)(V_m-E_i)-w +I_e
and

.. math::
\tau_w \frac{dw}{dt} = a(V_m-E_L) - w
Note that the membrane potential can diverge to positive infinity due to the exponential term. To avoid numerical instabilities, instead of :math:`V_m`, the value :math:`\min(V_m,V_{peak})` is used in the dynamical equations.


References
++++++++++

.. [1] Brette R and Gerstner W (2005). Adaptive exponential
integrate-and-fire model as an effective description of neuronal
activity. Journal of Neurophysiology. 943637-3642
DOI: https://doi.org/10.1152/jn.00686.2005
See also
++++++++

iaf_cond_exp, aeif_cond_alpha



Parameters
++++++++++
.. csv-table::
:header: "Name", "Physical unit", "Default value", "Description"
:widths: auto


"C_m", "pF", "281.0pF", "membrane parametersMembrane Capacitance"
"refr_T", "ms", "2ms", "Duration of refractory period"
"V_reset", "mV", "-60.0mV", "Reset Potential"
"g_L", "nS", "30.0nS", "Leak Conductance"
"E_L", "mV", "-70.6mV", "Leak reversal Potential (aka resting potential)"
"a", "nS", "4nS", "spike adaptation parametersSubthreshold adaptation"
"b", "pA", "80.5pA", "Spike-triggered adaptation"
"Delta_T", "mV", "2.0mV", "Slope factor"
"tau_w", "ms", "144.0ms", "Adaptation time constant"
"V_th", "mV", "-50.4mV", "Threshold Potential"
"V_peak", "mV", "0mV", "Spike detection threshold"
"E_exc", "mV", "0mV", "synaptic parametersExcitatory reversal Potential"
"tau_syn_exc", "ms", "0.2ms", "Synaptic Time Constant Excitatory Synapse"
"E_inh", "mV", "-85.0mV", "Inhibitory reversal Potential"
"tau_syn_inh", "ms", "2.0ms", "Synaptic Time Constant for Inhibitory Synapse"
"I_e", "pA", "0pA", "constant external input current"



State variables
+++++++++++++++

.. csv-table::
:header: "Name", "Physical unit", "Default value", "Description"
:widths: auto


"V_m", "mV", "E_L", "Membrane potential"
"w", "pA", "0pA", "Spike-adaptation current"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""




Equations
+++++++++



.. math::
\frac{ dV_{m} } { dt }= \frac 1 { C_{m} } \left( { (-g_{L} \cdot (V_{bounded} - E_{L}) + I_{spike} - I_{syn,exc} - I_{syn,inh} - w + I_{e} + I_{stim}) } \right)
.. math::
\frac{ dw } { dt }= \frac 1 { \tau_{w} } \left( { (a \cdot (V_{bounded} - E_{L}) - w) } \right)
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `aeif_cond_exp_neuron <https://github.com/nest/nestml/tree/master/models/neurons/aeif_cond_exp_neuron.nestml>`_.

Characterisation
++++++++++++++++

.. include:: aeif_cond_exp_neuron_characterisation.rst


.. footer::

Generated at 2024-05-14 22:01:11.765292
131 changes: 131 additions & 0 deletions doc/models_library/hh_cond_exp_destexhe_neuron.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
hh_cond_exp_destexhe_neuron
###########################


hh_cond_exp_destexhe - Hodgin Huxley based model, Traub, Destexhe and Mainen modified

Description
+++++++++++

hh_cond_exp_destexhe is an implementation of a modified Hodkin-Huxley model, which is based on the hh_cond_exp_traub model.

Differences to hh_cond_exp_traub:

(1) **Additional background noise:** A background current whose conductances were modeled as an Ornstein-Uhlenbeck process is injected into the neuron.
(2) **Additional non-inactivating K+ current:** A non-inactivating K+ current was included, which is responsible for spike frequency adaptation.


References
++++++++++

.. [1] Traub, R.D. and Miles, R. (1991) Neuronal Networks of the Hippocampus. Cambridge University Press, Cambridge UK.
.. [2] Destexhe, A. and Pare, D. (1999) Impact of Network Activity on the Integrative Properties of Neocortical Pyramidal Neurons In Vivo. Journal of Neurophysiology
.. [3] A. Destexhe, M. Rudolph, J.-M. Fellous and T. J. Sejnowski (2001) Fluctuating synaptic conductances recreate in vivo-like activity in neocortical neurons. Neuroscience
.. [4] Z. Mainen, J. Joerges, J. R. Huguenard and T. J. Sejnowski (1995) A Model of Spike Initiation in Neocortical Pyramidal Neurons. Neuron
See also
++++++++

hh_cond_exp_traub



Parameters
++++++++++
.. csv-table::
:header: "Name", "Physical unit", "Default value", "Description"
:widths: auto


"g_Na", "nS", "17318.0nS", "Na Conductance"
"g_K", "nS", "3463.6nS", "K Conductance"
"g_L", "nS", "15.5862nS", "Leak Conductance"
"C_m", "pF", "346.36pF", "Membrane Capacitance"
"E_Na", "mV", "60mV", "Reversal potentials"
"E_K", "mV", "-90.0mV", "Potassium reversal potential"
"E_L", "mV", "-80.0mV", "Leak reversal Potential (aka resting potential)"
"V_T", "mV", "-58.0mV", "Voltage offset that controls dynamics. For default"
"tau_syn_exc", "ms", "2.7ms", "parameters, V_T = -63mV results in a threshold around -50mV.Synaptic Time Constant Excitatory Synapse"
"tau_syn_inh", "ms", "10.5ms", "Synaptic Time Constant for Inhibitory Synapse"
"E_exc", "mV", "0.0mV", "Excitatory synaptic reversal potential"
"E_inh", "mV", "-75.0mV", "Inhibitory synaptic reversal potential"
"g_M", "nS", "173.18nS", "Conductance of non-inactivating K+ channel"
"g_noise_exc0", "uS", "0.012uS", "Conductance OU noiseMean of the excitatory noise conductance"
"g_noise_inh0", "uS", "0.057uS", "Mean of the inhibitory noise conductance"
"sigma_noise_exc", "uS", "0.003uS", "Standard deviation of the excitatory noise conductance"
"sigma_noise_inh", "uS", "0.0066uS", "Standard deviation of the inhibitory noise conductance"
"alpha_n_init", "1 / ms", "0.032 / (ms * mV) * (15.0mV - V_m) / (exp((15.0mV - V_m) / 5.0mV) - 1.0)", ""
"beta_n_init", "1 / ms", "0.5 / ms * exp((10.0mV - V_m) / 40.0mV)", ""
"alpha_m_init", "1 / ms", "0.32 / (ms * mV) * (13.0mV - V_m) / (exp((13.0mV - V_m) / 4.0mV) - 1.0)", ""
"beta_m_init", "1 / ms", "0.28 / (ms * mV) * (V_m - 40.0mV) / (exp((V_m - 40.0mV) / 5.0mV) - 1.0)", ""
"alpha_h_init", "1 / ms", "0.128 / ms * exp((17.0mV - V_m) / 18.0mV)", ""
"beta_h_init", "1 / ms", "(4.0 / (1.0 + exp((40.0mV - V_m) / 5.0mV))) / ms", ""
"alpha_p_init", "1 / ms", "0.0001 / (ms * mV) * (V_m + 30.0mV) / (1.0 - exp(-(V_m + 30.0mV) / 9.0mV))", ""
"beta_p_init", "1 / ms", "-0.0001 / (ms * mV) * (V_m + 30.0mV) / (1.0 - exp((V_m + 30.0mV) / 9.0mV))", ""
"refr_T", "ms", "2ms", "Duration of refractory period"
"I_e", "pA", "0pA", "constant external input current"



State variables
+++++++++++++++

.. csv-table::
:header: "Name", "Physical unit", "Default value", "Description"
:widths: auto


"g_noise_exc", "uS", "g_noise_exc0", ""
"g_noise_inh", "uS", "g_noise_inh0", ""
"V_m", "mV", "E_L", "Membrane potential"
"V_m_old", "mV", "E_L", "Membrane potential at the previous timestep"
"refr_t", "ms", "0ms", "Refractory period timer"
"is_refractory", "boolean", "false", ""
"Act_m", "real", "alpha_m_init / (alpha_m_init + beta_m_init)", ""
"Act_h", "real", "alpha_h_init / (alpha_h_init + beta_h_init)", ""
"Inact_n", "real", "alpha_n_init / (alpha_n_init + beta_n_init)", ""
"Noninact_p", "real", "alpha_p_init / (alpha_p_init + beta_p_init)", ""




Equations
+++++++++



.. math::
\frac{ dV_{m} } { dt }= \frac 1 { C_{m} } \left( { (-I_{Na} - I_{K} - I_{M} - I_{L} - I_{syn,exc} - I_{syn,inh} + I_{e} + I_{stim} - I_{noise}) } \right)
.. math::
\frac{ dAct_{m} } { dt }= (\alpha_{m} - (\alpha_{m} + \beta_{m}) \cdot Act_{m})
.. math::
\frac{ dAct_{h} } { dt }= (\alpha_{h} - (\alpha_{h} + \beta_{h}) \cdot Act_{h})
.. math::
\frac{ dInact_{n} } { dt }= (\alpha_{n} - (\alpha_{n} + \beta_{n}) \cdot Inact_{n})
.. math::
\frac{ dNoninact_{p} } { dt }= (\alpha_{p} - (\alpha_{p} + \beta_{p}) \cdot Noninact_{p})
Source code
+++++++++++

The model source code can be found in the NESTML models repository here: `hh_cond_exp_destexhe_neuron <https://github.com/nest/nestml/tree/master/models/neurons/hh_cond_exp_destexhe_neuron.nestml>`_.

Characterisation
++++++++++++++++

.. include:: hh_cond_exp_destexhe_neuron_characterisation.rst


.. footer::

Generated at 2024-05-14 22:01:11.772062
Loading

0 comments on commit d384085

Please sign in to comment.