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

time

MVOLT = 1mV

voltage

NFARAD = 1nF

capacitance

iSyn

current

v

Membrane potential (from baseCellMembPot)

voltage

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

w

Dimensionless

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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)

current

v

Membrane potential (from baseCellMembPot)

voltage

w

Dimensionless

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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)

current

m

Dimensionless

n

Dimensionless

v

Membrane potential (from baseCellMembPot)

voltage

spike

Spike event (from baseSpikingCell)

Direction: out

spike_in_E

(from basePyNNCell)

Direction: in

spike_in_I

(from basePyNNCell)

Direction: in

synapses

baseSynapse

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

MSEC = 1ms

time

MVOLT = 1mV

voltage

NAMP = 1nA

current

i

The total (usually time varying) current produced by this ComponentType (from basePointCurrent)

current

v

The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse)

voltage

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)

current

v

The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse)

voltage

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)

current

v

The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse)

voltage

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)

current

v

The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse)

voltage

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

current

i

The total (usually time varying) current produced by this ComponentType (from basePointCurrent)

current

v

The current may vary with the voltage exposed by the ComponentType on which this is placed (from baseVoltageDepSynapse)

voltage

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.

duration

time

rate

per_time

start

time

LONG_TIME = 1e9hour

time

SMALL_TIME = 1e-9ms

time

end

time

   end = start + duration

isi

time

tnextIdeal

time

tnextUsed

time

tsince

Time since the last spike was emitted (from baseSpikeSource)

time

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"/>