PyNN#
A number of ComponentType description of PyNN standard cells. All of the cells extend basePyNNCell, and the synapses extend basePynnSynapse.
Original ComponentType definitions: PyNN.xml. Schema against which NeuroML based on these should be valid: NeuroML_v2.3.xsd. Generated on 14/08/24 from this commit. Please file any issues or questions at the issue tracker here.
basePyNNCell#
extends baseCellMembPot
Base type of any PyNN standard cell model. Note: membrane potential v has dimensions voltage, but all other parameters are dimensionless. This is to facilitate translation to and from PyNN scripts in Python, where these parameters have implicit units, see http://neuralensemble.org/trac/PyNN/wiki/StandardModels.
cm |
Dimensionless |
|
i_offset |
Dimensionless |
|
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell |
Dimensionless |
v_init |
Dimensionless |
MSEC = 1ms |
||
MVOLT = 1mV |
||
NFARAD = 1nF |
iSyn |
||
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
Direction: in |
|
spike_in_I |
Direction: in |
<xs:complexType name="basePyNNCell">
<xs:complexContent>
<xs:extension base="BaseCell">
<xs:attribute name="cm" type="xs:float" use="required"/>
<xs:attribute name="i_offset" type="xs:float" use="required"/>
<xs:attribute name="tau_syn_E" type="xs:float" use="required"/>
<xs:attribute name="tau_syn_I" type="xs:float" use="required"/>
<xs:attribute name="v_init" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
basePyNNIaFCell#
extends basePyNNCell
Base type of any PyNN standard integrate and fire model.
cm |
(from basePyNNCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
Dimensionless |
|
tau_refrac |
Dimensionless |
|
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
Dimensionless |
|
v_rest |
Dimensionless |
|
v_thresh |
Dimensionless |
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
<xs:complexType name="basePyNNIaFCell">
<xs:complexContent>
<xs:extension base="basePyNNCell">
<xs:attribute name="tau_m" type="xs:float" use="required"/>
<xs:attribute name="tau_refrac" type="xs:float" use="required"/>
<xs:attribute name="v_reset" type="xs:float" use="required"/>
<xs:attribute name="v_rest" type="xs:float" use="required"/>
<xs:attribute name="v_thresh" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
basePyNNIaFCondCell#
extends basePyNNIaFCell
Base type of conductance based PyNN IaF cell models.
cm |
(from basePyNNCell) |
Dimensionless |
e_rev_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell |
Dimensionless |
e_rev_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
<xs:complexType name="basePyNNIaFCondCell">
<xs:complexContent>
<xs:extension base="basePyNNIaFCell">
<xs:attribute name="e_rev_E" type="xs:float" use="required"/>
<xs:attribute name="e_rev_I" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
IF_curr_alpha#
extends basePyNNIaFCell
Leaky integrate and fire model with fixed threshold and alpha-function-shaped post-synaptic current.
cm |
(from basePyNNCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
lastSpikeTime: time
- On Start
v = v_init * MVOLT
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
- Regime: refractory (initial)
On Entry
lastSpikeTime = t
v = v_reset * MVOLT
On Conditions
IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
TRANSITION to REGIME integrating
- Regime: integrating (initial)
On Conditions
IF v > v_thresh * MVOLT THEN
EVENT OUT on port: spike
TRANSITION to REGIME refractory
Time Derivatives
d v /dt = (MVOLT * ((i_offset/cm) + ((v_rest - (v/MVOLT)) / tau_m))/MSEC) + (iSyn / (cm * NFARAD))
<xs:complexType name="IF_curr_alpha">
<xs:complexContent>
<xs:extension base="basePyNNIaFCell">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import IF_curr_alpha
from neuroml.utils import component_factory
variable = component_factory(
IF_curr_alpha,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
tau_m: 'a float (required)' = None,
tau_refrac: 'a float (required)' = None,
v_reset: 'a float (required)' = None,
v_rest: 'a float (required)' = None,
v_thresh: 'a float (required)' = None,
)
<IF_curr_alpha id="IF_curr_alpha" cm="1.0" i_offset="0.9" tau_m="20.0" tau_refrac="10.0" tau_syn_E="0.5" tau_syn_I="0.5" v_init="-65" v_reset="-62.0" v_rest="-65.0" v_thresh="-52.0"/>
IF_curr_exp#
extends basePyNNIaFCell
Leaky integrate and fire model with fixed threshold and decaying-exponential post-synaptic current.
cm |
(from basePyNNCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
lastSpikeTime: time
- On Start
v = v_init * MVOLT
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
- Regime: refractory (initial)
On Entry
lastSpikeTime = t
v = v_reset * MVOLT
On Conditions
IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
TRANSITION to REGIME integrating
- Regime: integrating (initial)
On Conditions
IF v > v_thresh * MVOLT THEN
EVENT OUT on port: spike
TRANSITION to REGIME refractory
Time Derivatives
d v /dt = (MVOLT * (((i_offset)/cm) + ((v_rest - (v/MVOLT)) / tau_m))/MSEC) + (iSyn / (cm * NFARAD))
<xs:complexType name="IF_curr_exp">
<xs:complexContent>
<xs:extension base="basePyNNIaFCell">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import IF_curr_exp
from neuroml.utils import component_factory
variable = component_factory(
IF_curr_exp,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
tau_m: 'a float (required)' = None,
tau_refrac: 'a float (required)' = None,
v_reset: 'a float (required)' = None,
v_rest: 'a float (required)' = None,
v_thresh: 'a float (required)' = None,
)
<IF_curr_exp id="IF_curr_exp" cm="1.0" i_offset="1.0" tau_m="20.0" tau_refrac="8.0" tau_syn_E="5.0" tau_syn_I="5.0" v_init="-65" v_reset="-70.0" v_rest="-65.0" v_thresh="-50.0"/>
IF_cond_alpha#
extends basePyNNIaFCondCell
Leaky integrate and fire model with fixed threshold and alpha-function-shaped post-synaptic conductance.
cm |
(from basePyNNCell) |
Dimensionless |
e_rev_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
e_rev_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
lastSpikeTime: time
- On Start
v = v_init * MVOLT
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
- Regime: refractory (initial)
On Entry
lastSpikeTime = t
v = v_reset * MVOLT
On Conditions
IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
TRANSITION to REGIME integrating
- Regime: integrating (initial)
On Conditions
IF v > v_thresh * MVOLT THEN
EVENT OUT on port: spike
TRANSITION to REGIME refractory
Time Derivatives
d v /dt = (MVOLT * (((i_offset) / cm) + ((v_rest - (v / MVOLT)) / tau_m)) / MSEC) + (iSyn / (cm * NFARAD))
<xs:complexType name="IF_cond_alpha">
<xs:complexContent>
<xs:extension base="basePyNNIaFCondCell">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import IF_cond_alpha
from neuroml.utils import component_factory
variable = component_factory(
IF_cond_alpha,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
tau_m: 'a float (required)' = None,
tau_refrac: 'a float (required)' = None,
v_reset: 'a float (required)' = None,
v_rest: 'a float (required)' = None,
v_thresh: 'a float (required)' = None,
e_rev_E: 'a float (required)' = None,
e_rev_I: 'a float (required)' = None,
)
<IF_cond_alpha id="IF_cond_alpha" cm="1.0" e_rev_E="0.0" e_rev_I="-70.0" i_offset="0.9" tau_m="20.0" tau_refrac="5.0" tau_syn_E="0.3" tau_syn_I="0.5" v_init="-65" v_reset="-65.0" v_rest="-65.0" v_thresh="-50.0"/>
<IF_cond_alpha id="silent_cell" cm="1.0" e_rev_E="0.0" e_rev_I="-70.0" i_offset="0" tau_m="20.0" tau_refrac="5.0" tau_syn_E="5" tau_syn_I="10" v_init="-65" v_reset="-65.0" v_rest="-65.0" v_thresh="-50.0"/>
IF_cond_exp#
extends basePyNNIaFCondCell
Leaky integrate and fire model with fixed threshold and exponentially-decaying post-synaptic conductance.
cm |
(from basePyNNCell) |
Dimensionless |
e_rev_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
e_rev_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
lastSpikeTime: time
- On Start
v = v_init * MVOLT
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
- Regime: refractory (initial)
On Entry
lastSpikeTime = t
v = v_reset * MVOLT
On Conditions
IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
TRANSITION to REGIME integrating
- Regime: integrating (initial)
On Conditions
IF v > v_thresh * MVOLT THEN
EVENT OUT on port: spike
TRANSITION to REGIME refractory
Time Derivatives
d v /dt = (MVOLT * (((i_offset)/cm) + ((v_rest - (v / MVOLT)) / tau_m)) / MSEC) + (iSyn / (cm * NFARAD))
<xs:complexType name="IF_cond_exp">
<xs:complexContent>
<xs:extension base="basePyNNIaFCondCell">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import IF_cond_exp
from neuroml.utils import component_factory
variable = component_factory(
IF_cond_exp,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
tau_m: 'a float (required)' = None,
tau_refrac: 'a float (required)' = None,
v_reset: 'a float (required)' = None,
v_rest: 'a float (required)' = None,
v_thresh: 'a float (required)' = None,
e_rev_E: 'a float (required)' = None,
e_rev_I: 'a float (required)' = None,
)
<IF_cond_exp id="IF_cond_exp" cm="1.0" e_rev_E="0.0" e_rev_I="-70.0" i_offset="1.0" tau_m="20.0" tau_refrac="5.0" tau_syn_E="5.0" tau_syn_I="5.0" v_init="-65" v_reset="-68.0" v_rest="-65.0" v_thresh="-52.0"/>
EIF_cond_exp_isfa_ista#
extends basePyNNIaFCondCell
Adaptive exponential integrate and fire neuron according to Brette R and Gerstner W ( 2005 ) with exponentially-decaying post-synaptic conductance.
a |
Dimensionless |
|
b |
Dimensionless |
|
cm |
(from basePyNNCell) |
Dimensionless |
delta_T |
Dimensionless |
|
e_rev_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
e_rev_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_w |
Dimensionless |
|
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_spike |
Dimensionless |
|
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
eif_threshold |
Dimensionless |
eif_threshold = v_spike * H(delta_T-1e-12) + v_thresh * H(-1*delta_T+1e-9)
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
|
w |
Dimensionless |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
w: Dimensionless (exposed as w)
lastSpikeTime: time
- On Start
v = v_init * MVOLT
w = 0
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
- Conditional Derived Variables
IF delta_T > 0 THEN
delta_I = delta_T * exp(((v / MVOLT) - v_thresh) / delta_T)
IF delta_T = 0 THEN
delta_I = 0
- Regime: refractory (initial)
On Entry
lastSpikeTime = t
v = v_reset * MVOLT
w = w+b
On Conditions
IF t > lastSpikeTime + (tau_refrac*MSEC) THEN
TRANSITION to REGIME integrating
Time Derivatives
d w /dt = (1 / tau_w) * (a * ((v / MVOLT) - v_rest) - w) / MSEC
- Regime: integrating (initial)
On Conditions
IF v > eif_threshold * MVOLT THEN
EVENT OUT on port: spike
TRANSITION to REGIME refractory
Time Derivatives
d v /dt = (MVOLT * ((-1 * ((v / MVOLT) - v_rest) + delta_I) / tau_m + (i_offset - w) / cm) / MSEC) + (iSyn / (cm * NFARAD))
d w /dt = (1 / tau_w) * (a * ((v / MVOLT) - v_rest) - w) / MSEC
<xs:complexType name="EIF_cond_exp_isfa_ista">
<xs:complexContent>
<xs:extension base="basePyNNIaFCondCell">
<xs:attribute name="a" type="xs:float" use="required"/>
<xs:attribute name="b" type="xs:float" use="required"/>
<xs:attribute name="delta_T" type="xs:float" use="required"/>
<xs:attribute name="tau_w" type="xs:float" use="required"/>
<xs:attribute name="v_spike" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import EIF_cond_exp_isfa_ista
from neuroml.utils import component_factory
variable = component_factory(
EIF_cond_exp_isfa_ista,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
tau_m: 'a float (required)' = None,
tau_refrac: 'a float (required)' = None,
v_reset: 'a float (required)' = None,
v_rest: 'a float (required)' = None,
v_thresh: 'a float (required)' = None,
e_rev_E: 'a float (required)' = None,
e_rev_I: 'a float (required)' = None,
a: 'a float (required)' = None,
b: 'a float (required)' = None,
delta_T: 'a float (required)' = None,
tau_w: 'a float (required)' = None,
v_spike: 'a float (required)' = None,
extensiontype_=None,
)
<EIF_cond_exp_isfa_ista id="EIF_cond_exp_isfa_ista" a="0.0" b="0.0805" cm="0.281" delta_T="2.0" e_rev_E="0.0" e_rev_I="-80.0" i_offset="0.6" tau_m="9.3667" tau_refrac="5" tau_syn_E="5.0" tau_syn_I="5.0" tau_w="144.0" v_init="-65" v_reset="-68.0" v_rest="-70.6" v_spike="-40.0" v_thresh="-52.0"/>
EIF_cond_alpha_isfa_ista#
extends basePyNNIaFCondCell
Adaptive exponential integrate and fire neuron according to Brette R and Gerstner W ( 2005 ) with alpha-function-shaped post-synaptic conductance.
a |
Dimensionless |
|
b |
Dimensionless |
|
cm |
(from basePyNNCell) |
Dimensionless |
delta_T |
Dimensionless |
|
e_rev_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
e_rev_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNIaFCondCell) |
Dimensionless |
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_m |
(from basePyNNIaFCell) |
Dimensionless |
tau_refrac |
(from basePyNNIaFCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_w |
Dimensionless |
|
v_init |
(from basePyNNCell) |
Dimensionless |
v_reset |
(from basePyNNIaFCell) |
Dimensionless |
v_rest |
(from basePyNNIaFCell) |
Dimensionless |
v_spike |
Dimensionless |
|
v_thresh |
(from basePyNNIaFCell) |
Dimensionless |
eif_threshold |
Dimensionless |
eif_threshold = v_spike * H(delta_T-1e-12) + v_thresh * H(-1*delta_T+1e-9)
iSyn |
(from basePyNNCell) |
|
v |
Membrane potential (from baseCellMembPot) |
|
w |
Dimensionless |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
w: Dimensionless (exposed as w)
lastSpikeTime: time
- On Start
v = v_init * MVOLT
w = 0
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
- Conditional Derived Variables
IF delta_T > 0 THEN
delta_I = delta_T * exp(((v / MVOLT) - v_thresh) / delta_T)
IF delta_T = 0 THEN
delta_I = 0
- Regime: refractory (initial)
On Entry
lastSpikeTime = t
v = v_reset * MVOLT
w = w + b
On Conditions
IF t > lastSpikeTime + (tau_refrac * MSEC) THEN
TRANSITION to REGIME integrating
Time Derivatives
d w /dt = (1 / tau_w) * (a * ((v / MVOLT) - v_rest) - w) / MSEC
- Regime: integrating (initial)
On Conditions
IF v > eif_threshold * MVOLT THEN
EVENT OUT on port: spike
TRANSITION to REGIME refractory
Time Derivatives
d v /dt = (MVOLT * ((-1 * ( (v / MVOLT) - v_rest) + delta_I) / tau_m + (i_offset - w) / cm) / MSEC) + (iSyn / (cm * NFARAD))
d w /dt = (1/ tau_w) * (a*((v/MVOLT)-v_rest) - w) /MSEC
<xs:complexType name="EIF_cond_alpha_isfa_ista">
<xs:complexContent>
<xs:extension base="EIF_cond_exp_isfa_ista">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import EIF_cond_alpha_isfa_ista
from neuroml.utils import component_factory
variable = component_factory(
EIF_cond_alpha_isfa_ista,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
tau_m: 'a float (required)' = None,
tau_refrac: 'a float (required)' = None,
v_reset: 'a float (required)' = None,
v_rest: 'a float (required)' = None,
v_thresh: 'a float (required)' = None,
e_rev_E: 'a float (required)' = None,
e_rev_I: 'a float (required)' = None,
a: 'a float (required)' = None,
b: 'a float (required)' = None,
delta_T: 'a float (required)' = None,
tau_w: 'a float (required)' = None,
v_spike: 'a float (required)' = None,
)
<EIF_cond_alpha_isfa_ista id="EIF_cond_alpha_isfa_ista" a="0.0" b="0.0805" cm="0.281" delta_T="0" e_rev_E="0.0" e_rev_I="-80.0" i_offset="0.6" tau_m="9.3667" tau_refrac="5" tau_syn_E="5.0" tau_syn_I="5.0" tau_w="144.0" v_init="-65" v_reset="-68.0" v_rest="-70.6" v_spike="-40.0" v_thresh="-52.0"/>
HH_cond_exp#
extends basePyNNCell
Single-compartment Hodgkin-Huxley-type neuron with transient sodium and delayed-rectifier potassium currents using the ion channel models from Traub.
cm |
(from basePyNNCell) |
Dimensionless |
e_rev_E |
Dimensionless |
|
e_rev_I |
Dimensionless |
|
e_rev_K |
Dimensionless |
|
e_rev_Na |
Dimensionless |
|
e_rev_leak |
Dimensionless |
|
g_leak |
Dimensionless |
|
gbar_K |
Dimensionless |
|
gbar_Na |
Dimensionless |
|
i_offset |
(from basePyNNCell) |
Dimensionless |
tau_syn_E |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
tau_syn_I |
This parameter is never used in the NeuroML2 description of this cell! Any synapse producing a current can be placed on this cell (from basePyNNCell) |
Dimensionless |
v_init |
(from basePyNNCell) |
Dimensionless |
v_offset |
Dimensionless |
h |
Dimensionless |
|
iSyn |
(from basePyNNCell) |
|
m |
Dimensionless |
|
n |
Dimensionless |
|
v |
Membrane potential (from baseCellMembPot) |
spike |
Spike event (from baseSpikingCell) |
Direction: out |
spike_in_E |
(from basePyNNCell) |
Direction: in |
spike_in_I |
(from basePyNNCell) |
Direction: in |
synapses |
- State Variables
v: voltage (exposed as v)
m: Dimensionless (exposed as m)
h: Dimensionless (exposed as h)
n: Dimensionless (exposed as n)
- On Start
v = v_init * MVOLT
- Derived Variables
iSyn = synapses[*]->i(reduce method: add) (exposed as iSyn)
iLeak = g_leak * (e_rev_leak - (v / MVOLT))
iNa = gbar_Na * (m * m * m) * h * (e_rev_Na - (v / MVOLT))
iK = gbar_K * (n * n * n * n) * (e_rev_K - (v / MVOLT))
iMemb = iLeak + iNa + iK + i_offset
alpham = 0.32 * (13 - (v / MVOLT) + v_offset) / (exp((13 - (v / MVOLT) + v_offset) / 4.0) - 1)
betam = 0.28 * ((v / MVOLT) - v_offset - 40) / (exp(((v / MVOLT) - v_offset - 40) / 5.0) - 1)
alphah = 0.128 * exp((17 - (v / MVOLT) + v_offset) / 18.0)
betah = 4.0 / (1 + exp((40 - (v / MVOLT) + v_offset) / 5))
alphan = 0.032 * (15 - (v / MVOLT) + v_offset) / (exp((15 - (v / MVOLT) + v_offset) / 5) - 1)
betan = 0.5 * exp((10 - (v / MVOLT) + v_offset) / 40)
- Time Derivatives
d v /dt = (MVOLT * (iMemb / cm) / MSEC) + (iSyn / (cm * NFARAD))
d m /dt = (alpham * (1 - m) - betam * m) / MSEC
d h /dt = (alphah * (1 - h) - betah * h) / MSEC
d n /dt = (alphan * (1 - n) - betan * n) / MSEC
<xs:complexType name="HH_cond_exp">
<xs:complexContent>
<xs:extension base="basePyNNCell">
<xs:attribute name="v_offset" type="xs:float" use="required"/>
<xs:attribute name="e_rev_E" type="xs:float" use="required"/>
<xs:attribute name="e_rev_I" type="xs:float" use="required"/>
<xs:attribute name="e_rev_K" type="xs:float" use="required"/>
<xs:attribute name="e_rev_Na" type="xs:float" use="required"/>
<xs:attribute name="e_rev_leak" type="xs:float" use="required"/>
<xs:attribute name="g_leak" type="xs:float" use="required"/>
<xs:attribute name="gbar_K" type="xs:float" use="required"/>
<xs:attribute name="gbar_Na" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import HH_cond_exp
from neuroml.utils import component_factory
variable = component_factory(
HH_cond_exp,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
cm: 'a float (required)' = None,
i_offset: 'a float (required)' = None,
tau_syn_E: 'a float (required)' = None,
tau_syn_I: 'a float (required)' = None,
v_init: 'a float (required)' = None,
v_offset: 'a float (required)' = None,
e_rev_E: 'a float (required)' = None,
e_rev_I: 'a float (required)' = None,
e_rev_K: 'a float (required)' = None,
e_rev_Na: 'a float (required)' = None,
e_rev_leak: 'a float (required)' = None,
g_leak: 'a float (required)' = None,
gbar_K: 'a float (required)' = None,
gbar_Na: 'a float (required)' = None,
)
<HH_cond_exp id="HH_cond_exp" cm="0.2" e_rev_E="0.0" e_rev_I="-80.0" e_rev_K="-90.0" e_rev_Na="50.0" e_rev_leak="-65.0" g_leak="0.01" gbar_K="6.0" gbar_Na="20.0" i_offset="0.2" tau_syn_E="0.2" tau_syn_I="2.0" v_init="-65" v_offset="-63.0"/>
basePynnSynapse#
extends baseVoltageDepSynapse
Base type for all PyNN synapses. Note, the current I produced is dimensionless, but it requires a membrane potential v with dimension voltage.
tau_syn |
Dimensionless |
i |
The total (usually time varying) current produced by this ComponentType (from basePointCurrent) |
v |
The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse) |
in |
(from baseSynapse) |
Direction: in |
<xs:complexType name="BasePynnSynapse">
<xs:complexContent>
<xs:extension base="BaseSynapse">
<xs:attribute name="tau_syn" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import BasePynnSynapse
from neuroml.utils import component_factory
variable = component_factory(
BasePynnSynapse,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
tau_syn: 'a float (required)' = None,
extensiontype_=None,
)
expCondSynapse#
extends basePynnSynapse
Conductance based synapse with instantaneous rise and single exponential decay ( with time constant tau_syn ).
e_rev |
Dimensionless |
|
tau_syn |
(from basePynnSynapse) |
Dimensionless |
weight (default: 1) |
Dimensionless |
g |
Dimensionless |
|
i |
The total (usually time varying) current produced by this ComponentType (from basePointCurrent) |
v |
The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse) |
in |
(from baseSynapse) |
Direction: in |
- State Variables
g: Dimensionless (exposed as g)
- On Events
EVENT IN on port: in
g = g+weight
- Derived Variables
i = g * (e_rev - (v/MVOLT)) * NAMP (exposed as i)
- Time Derivatives
d g /dt = -g / (tau_syn*MSEC)
<xs:complexType name="ExpCondSynapse">
<xs:complexContent>
<xs:extension base="BasePynnSynapse">
<xs:attribute name="e_rev" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import ExpCondSynapse
from neuroml.utils import component_factory
variable = component_factory(
ExpCondSynapse,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
tau_syn: 'a float (required)' = None,
e_rev: 'a float (required)' = None,
)
<expCondSynapse id="syn1" tau_syn="5" e_rev="0"/>
expCurrSynapse#
extends basePynnSynapse
Current based synapse with instantaneous rise and single exponential decay ( with time constant tau_syn ).
tau_syn |
(from basePynnSynapse) |
Dimensionless |
weight (default: 1) |
Dimensionless |
i |
The total (usually time varying) current produced by this ComponentType (from basePointCurrent) |
v |
The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse) |
in |
(from baseSynapse) |
Direction: in |
- State Variables
I: Dimensionless
- On Events
EVENT IN on port: in
I = I + weight
- Derived Variables
i = I * NAMP (exposed as i)
- Time Derivatives
d I /dt = -I / (tau_syn*MSEC)
<xs:complexType name="ExpCurrSynapse">
<xs:complexContent>
<xs:extension base="BasePynnSynapse">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import ExpCurrSynapse
from neuroml.utils import component_factory
variable = component_factory(
ExpCurrSynapse,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
tau_syn: 'a float (required)' = None,
)
<expCurrSynapse id="syn3" tau_syn="5"/>
alphaCondSynapse#
extends basePynnSynapse
Alpha synapse: rise time and decay time are both tau_syn. Conductance based synapse.
e_rev |
Dimensionless |
|
tau_syn |
(from basePynnSynapse) |
Dimensionless |
weight (default: 1) |
Dimensionless |
A |
Dimensionless |
|
g |
Dimensionless |
|
i |
The total (usually time varying) current produced by this ComponentType (from basePointCurrent) |
v |
The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse) |
in |
(from baseSynapse) |
Direction: in |
- State Variables
g: Dimensionless (exposed as g)
A: Dimensionless (exposed as A)
- On Events
EVENT IN on port: in
A = A + weight
- Derived Variables
i = g * (e_rev - (v/MVOLT)) * NAMP (exposed as i)
- Time Derivatives
d g /dt = (2.7182818A - g)/(tau_synMSEC)
d A /dt = -A /(tau_syn*MSEC)
<xs:complexType name="AlphaCondSynapse">
<xs:complexContent>
<xs:extension base="BasePynnSynapse">
<xs:attribute name="e_rev" type="xs:float" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import AlphaCondSynapse
from neuroml.utils import component_factory
variable = component_factory(
AlphaCondSynapse,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
tau_syn: 'a float (required)' = None,
e_rev: 'a float (required)' = None,
)
<alphaCondSynapse id="syn2" tau_syn="5" e_rev="0"/>
alphaCurrSynapse#
extends basePynnSynapse
Alpha synapse: rise time and decay time are both tau_syn. Current based synapse.
tau_syn |
(from basePynnSynapse) |
Dimensionless |
weight (default: 1) |
Dimensionless |
A |
||
i |
The total (usually time varying) current produced by this ComponentType (from basePointCurrent) |
v |
The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse) |
in |
(from baseSynapse) |
Direction: in |
- State Variables
I: Dimensionless
A: Dimensionless (exposed as A)
- On Events
EVENT IN on port: in
A = A + weight
- Derived Variables
i = I * NAMP (exposed as i)
- Time Derivatives
d I /dt = (2.7182818A - I)/(tau_synMSEC)
d A /dt = -A /(tau_syn*MSEC)
<xs:complexType name="AlphaCurrSynapse">
<xs:complexContent>
<xs:extension base="BasePynnSynapse">
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import AlphaCurrSynapse
from neuroml.utils import component_factory
variable = component_factory(
AlphaCurrSynapse,
id: 'a NmlId (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
neuro_lex_id: 'a NeuroLexId (optional)' = None,
tau_syn: 'a float (required)' = None,
)
<alphaCurrSynapse id="syn4" tau_syn="5"/>
SpikeSourcePoisson#
extends baseSpikeSource
Spike source, generating spikes according to a Poisson process.
end |
end = start + duration
isi |
||
tnextIdeal |
||
tnextUsed |
||
tsince |
Time since the last spike was emitted (from baseSpikeSource) |
in |
Direction: in |
|
spike |
Port on which spikes are emitted (from baseSpikeSource) |
Direction: out |
- State Variables
tsince: time (exposed as tsince)
tnextIdeal: time (exposed as tnextIdeal)
tnextUsed: time (exposed as tnextUsed)
isi: time (exposed as isi)
- On Start
isi = start - log(random(1))/rate
tsince = 0
tnextIdeal = isi + H(((isi) - (start+duration))/duration)*LONG_TIME
tnextUsed = tnextIdeal
- On Conditions
IF t > tnextUsed THEN
isi = -1 * log(random(1))/rate
tnextIdeal = (tnextIdeal+isi) + H(((tnextIdeal+isi) - (start+duration))/duration)*LONG_TIME
tnextUsed = tnextIdeal*H( (tnextIdeal-t)/t ) + (t+SMALL_TIME)*H( (t-tnextIdeal)/t )
tsince = 0
EVENT OUT on port: spike
- Time Derivatives
d tsince /dt = 1
d tnextUsed /dt = 0
d tnextIdeal /dt = 0
<xs:complexType name="SpikeSourcePoisson">
<xs:complexContent>
<xs:extension base="Standalone">
<xs:attribute name="start" type="Nml2Quantity_time" use="required"/>
<xs:attribute name="duration" type="Nml2Quantity_time" use="required"/>
<xs:attribute name="rate" type="Nml2Quantity_pertime" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Go to the libNeuroML documentation
from neuroml import SpikeSourcePoisson
from neuroml.utils import component_factory
variable = component_factory(
SpikeSourcePoisson,
id: 'a NonNegativeInteger (required)' = None,
metaid: 'a MetaId (optional)' = None,
notes: 'a string (optional)' = None,
properties: 'list of Property(s) (optional)' = None,
annotation: 'a Annotation (optional)' = None,
start: 'a Nml2Quantity_time (required)' = None,
duration: 'a Nml2Quantity_time (required)' = None,
rate: 'a Nml2Quantity_pertime (required)' = None,
)
<SpikeSourcePoisson id="spikes1" start="50ms" duration="400ms" rate="50Hz"/>
<SpikeSourcePoisson id="spikes2" start="50ms" duration="300ms" rate="80Hz"/>