NOTE: the latest version of this documentation can be found on docs.neuroml.org!


For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2.2 definitions, using the latest version of LEMS!

Synapses

NeuroML2 ComponentType definitions from Synapses.xml
Original LEMS ComponentType definitions: Synapses.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2.2.xsd

 
baseSynapse

    extends basePointCurrent

Base type for all synapses, i.e. ComponentTypes which produce a current (dimension current) and change Dynamics in response to an incoming event.

cno_0000009
Exposures i    (from basePointCurrent) current
Event Ports in Direction: in
 
baseVoltageDepSynapse

    extends baseSynapse

Base type for synapses with a dependence on membrane potential
Exposures i    (from basePointCurrent) current
Requirements v voltage
Event Ports in    (from baseSynapse) Direction: in
 
baseSynapseDL

    extends baseVoltageDepPointCurrentDL

Base type for all synapses, i.e. ComponentTypes which produce a dimensionless current and change Dynamics in response to an incoming event.

cno_0000009
Exposures I    (from basePointCurrentDL) Dimensionless
Requirements V    (from baseVoltageDepPointCurrentDL) Dimensionless
 
baseCurrentBasedSynapse

    extends baseSynapse

Synapse model which produces a synaptic current.
Exposures i    (from basePointCurrent) current
Event Ports in    (from baseSynapse) Direction: in
 
alphaCurrentSynapse

    extends baseCurrentBasedSynapse

Alpha current synapse: rise time and decay time are both tau.
Parameters ibase current
tau time
Exposures i    (from basePointCurrent) current
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    I    current
    J    current

On Start

    I = 0
    J = 0

On Events

    EVENT IN on port: in
        J = J + weight * ibase

Derived Variables

    i = I     (exposed as i)

Time Derivatives

    d I /dt = (2.7182818284590451*J - I)/tau
    d J /dt = -J/tau

 
baseConductanceBasedSynapse

    extends baseVoltageDepSynapse

Synapse model which exposes a conductance g in addition to producing a current. Not necessarily ohmic!!

cno_0000027
Parameters erev voltage
gbase conductance
Exposures g
    Time varying conductance through the synapse
conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
 
baseConductanceBasedSynapseTwo

    extends baseVoltageDepSynapse

Synapse model suited for a sum of two expTwoSynapses which exposes a conductance g in addition to producing a current. Not necessarily ohmic!!

cno_0000027
Parameters erev voltage
gbase1 conductance
gbase2 conductance
Exposures g
    Time varying conductance through the synapse
conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
 
expOneSynapse

    extends baseConductanceBasedSynapse

Ohmic synapse model whose conductance rises instantaneously by (_gbase weight) on receiving an event, and which decays exponentially to zero with time course tauDecay
Parameters erev    (from baseConductanceBasedSynapse) voltage
gbase    (from baseConductanceBasedSynapse) conductance
tauDecay time
Exposures g    (from baseConductanceBasedSynapse) conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    g    conductance (exposed as g)

On Start

    g = 0

On Events

    EVENT IN on port: in
        g = g + (weight * gbase)

Derived Variables

    i = g * (erev - v)     (exposed as i)

Time Derivatives

    d g /dt = -g / tauDecay

 
alphaSynapse

    extends baseConductanceBasedSynapse

Ohmic synapse model where rise time and decay time are both tau. Max conductance reached during this time (assuming zero conductance before) is gbase weight.
Parameters erev    (from baseConductanceBasedSynapse) voltage
gbase    (from baseConductanceBasedSynapse) conductance
tau time
Exposures g    (from baseConductanceBasedSynapse) conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    g    conductance (exposed as g)
    A    conductance

On Start

    g = 0
    A = 0

On Events

    EVENT IN on port: in
        A = A + (gbase*weight)

Derived Variables

    i = g * (erev - v)     (exposed as i)

Time Derivatives

    d g /dt = (2.7182818284590451 * A - g)/tau
    d A /dt = -A / tau

 
expTwoSynapse

    extends baseConductanceBasedSynapse

Ohmic synapse model whose conductance waveform on receiving an event has a rise time of tauRise and a decay time of tauDecay. Max conductance reached during this time (assuming zero conductance before) is gbase weight.
Parameters erev    (from baseConductanceBasedSynapse) voltage
gbase    (from baseConductanceBasedSynapse) conductance
tauDecay time
tauRise time
Derived Parameters peakTime = log(tauDecay / tauRise) * (tauRise * tauDecay)/(tauDecay - tauRise) time
waveformFactor = 1 / (-exp(-peakTime / tauRise) + exp(-peakTime / tauDecay)) Dimensionless
Exposures g    (from baseConductanceBasedSynapse) conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    A    Dimensionless
    B    Dimensionless

On Start

    A = 0
    B = 0

On Events

    EVENT IN on port: in
        A = A + (weight * waveformFactor)
        B = B + (weight * waveformFactor)

Derived Variables

    g = gbase * (B - A)     (exposed as g)
    i = g * (erev - v)     (exposed as i)

Time Derivatives

    d A /dt = -A / tauRise
    d B /dt = -B / tauDecay

 
expThreeSynapse

    extends baseConductanceBasedSynapseTwo

Ohmic synapse similar to expTwoSynapse but consisting of two components that can differ in decay times and max conductances but share the same rise time.
Parameters erev    (from baseConductanceBasedSynapseTwo) voltage
gbase1    (from baseConductanceBasedSynapseTwo) conductance
gbase2    (from baseConductanceBasedSynapseTwo) conductance
tauDecay1 time
tauDecay2 time
tauRise time
Derived Parameters peakTime1 = log(tauDecay1 / tauRise) * (tauRise * tauDecay1)/(tauDecay1 - tauRise) time
peakTime2 = log(tauDecay2 / tauRise) * (tauRise * tauDecay2)/(tauDecay2 - tauRise) time
waveformFactor1 = 1 / (-exp(-peakTime1 / tauRise) + exp(-peakTime1 / tauDecay1)) Dimensionless
waveformFactor2 = 1 / (-exp(-peakTime2 / tauRise) + exp(-peakTime2 / tauDecay2)) Dimensionless
Exposures g    (from baseConductanceBasedSynapseTwo) conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    A    Dimensionless
    B    Dimensionless
    C    Dimensionless

On Start

    A = 0
    B = 0
    C = 0

On Events

    EVENT IN on port: in
        A = A + (gbase1*weight * waveformFactor1 + gbase2*weight*waveformFactor2 )/(gbase1+gbase2)
        B = B + (weight * waveformFactor1)
        C = C + (weight * waveformFactor2)

Derived Variables

    g = gbase1*(B - A) + gbase2*(C-A)     (exposed as g)
    i = g * (erev - v)     (exposed as i)

Time Derivatives

    d A /dt = -A / tauRise
    d B /dt = -B / tauDecay1
    d C /dt = -C / tauDecay2

 
baseBlockMechanism
Base of any ComponentType which produces a varying scaling (or blockage) of synaptic strength of magnitude scaling
Exposures blockFactor Dimensionless
 
voltageConcDepBlockMechanism

    extends baseBlockMechanism

Synaptic blocking mechanism which varys with membrane potential across the synapse, e.g. in NMDA receptor mediated synapses
Parameters blockConcentration concentration
scalingConc concentration
scalingVolt voltage
Text fields species
Exposures blockFactor    (from baseBlockMechanism) Dimensionless
Requirements v voltage
Dynamics Derived Variables

    blockFactor = 1/(1 + (blockConcentration / scalingConc)* exp(-1 * (v / scalingVolt)))     (exposed as blockFactor)

 
basePlasticityMechanism
Base plasticity mechanism.
Exposures plasticityFactor Dimensionless
Event Ports in
    This is where the plasticity mechanism receives spike events from the parent synapse.
Direction: in
 
tsodyksMarkramDepMechanism

    extends basePlasticityMechanism

Depression-only Tsodyks-Markram model, as in Tsodyks and Markram 1997.
Parameters initReleaseProb Dimensionless
tauRec time
Exposures plasticityFactor    (from basePlasticityMechanism) Dimensionless
Event Ports in    (from basePlasticityMechanism) Direction: in
Dynamics Structure

    WITH parent AS a
    WITH this AS b
    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:

State Variables

    R    Dimensionless

On Start

    R = 1

On Events

    EVENT IN on port: in
        R = R * (1 - U)

Derived Variables

    U = initReleaseProb    
    plasticityFactor = R * U     (exposed as plasticityFactor)

Time Derivatives

    d R /dt = (1 - R) / tauRec

 
tsodyksMarkramDepFacMechanism

    extends basePlasticityMechanism

Full Tsodyks-Markram STP model with both depression and facilitation, as in Tsodyks, Pawelzik and Markram 1998.
Parameters initReleaseProb Dimensionless
tauFac time
tauRec time
Exposures plasticityFactor    (from basePlasticityMechanism) Dimensionless
Event Ports in    (from basePlasticityMechanism) Direction: in
Dynamics Structure

    WITH parent AS a
    WITH this AS b
    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:

State Variables

    R    Dimensionless
    U    Dimensionless

On Start

    R = 1
    U = initReleaseProb

On Events

    EVENT IN on port: in
        R = R * (1 - U)
        U = U + initReleaseProb * (1 - U)

Derived Variables

    plasticityFactor = R * U     (exposed as plasticityFactor)

Time Derivatives

    d R /dt = (1 - R) / tauRec
    d U /dt = (initReleaseProb - U) / tauFac

 
blockingPlasticSynapse

    extends expTwoSynapse

Biexponential synapse that allows for optional block and plasticity mechanisms, which can be expressed as child elements.
Parameters erev    (from baseConductanceBasedSynapse) voltage
gbase    (from baseConductanceBasedSynapse) conductance
tauDecay    (from expTwoSynapse) time
tauRise    (from expTwoSynapse) time
Derived Parameters peakTime = log(tauDecay / tauRise) * (tauRise * tauDecay)/(tauDecay - tauRise)    (from expTwoSynapse) time
waveformFactor = 1 / (-exp(-peakTime / tauRise) + exp(-peakTime / tauDecay))    (from expTwoSynapse) Dimensionless
Children elements plasticityMechanisms basePlasticityMechanism
blockMechanisms baseBlockMechanism
Exposures g    (from baseConductanceBasedSynapse) conductance
i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
relay
    Used to relay incoming spikes to child plasticity mechanism
Direction: out
Dynamics State Variables

    A    Dimensionless
    B    Dimensionless

On Start

    A = 0
    B = 0

On Events

    EVENT IN on port: in
        A = A + (weight * plasticityFactor * waveformFactor)
        B = B + (weight * plasticityFactor * waveformFactor)
        EVENT OUT on port relay

Derived Variables

    plasticityFactor = plasticityMechanisms[*]->plasticityFactor (reduce method: multiply)    
    blockFactor = blockMechanisms[*]->blockFactor (reduce method: multiply)    
    g = blockFactor * gbase * (B - A)     (exposed as g)
    i = g * (erev - v)     (exposed as i)

Time Derivatives

    d A /dt = -A / tauRise
    d B /dt = -B / tauDecay

 
doubleSynapse

    extends baseVoltageDepSynapse

Synapse consisting of two independent synaptic mechanisms (e.g. AMPA-R and NMDA-R), which can be easily colocated in connections
Paths synapse1Path
synapse2Path
Component References synapse1 baseSynapse
synapse2 baseSynapse
Exposures i    (from basePointCurrent) current
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
relay
    Used to relay incoming spikes to child mechanisms
Direction: out
Dynamics Structure

    WITH this AS a
    WITH synapse1Path AS b
    WITH synapse2Path AS c
    CHILD INSTANCE: synapse1
    CHILD INSTANCE: synapse2
    EVENT CONNECTION from a TO c, RECEIVER: , TARGET PORT:
    EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT:

State Variables

    weightFactor    Dimensionless

On Events

    EVENT IN on port: in
        weightFactor = weight
        EVENT OUT on port relay

Derived Variables

    i1 = synapse1->i    
    i2 = synapse2->i    
    i = weightFactor * (i1 + i2)     (exposed as i)

 
stdpSynapse

    extends expTwoSynapse

Spike timing dependent plasticity mechanism, NOTE: EXAMPLE NOT YET WORKING!!!!

cno_0000034
Parameters erev    (from baseConductanceBasedSynapse) voltage
gbase    (from baseConductanceBasedSynapse) conductance
tauDecay    (from expTwoSynapse) time
tauRise    (from expTwoSynapse) time
Derived Parameters peakTime = log(tauDecay / tauRise) * (tauRise * tauDecay)/(tauDecay - tauRise)    (from expTwoSynapse) time
waveformFactor = 1 / (-exp(-peakTime / tauRise) + exp(-peakTime / tauDecay))    (from expTwoSynapse) Dimensionless
Constants tsinceRate = 1 Dimensionless
longTime = 1000s time
Exposures M Dimensionless
P Dimensionless
g    (from baseConductanceBasedSynapse) conductance
i    (from basePointCurrent) current
tsince time
Requirements v    (from baseVoltageDepSynapse) voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    A    Dimensionless
    B    Dimensionless
    M    Dimensionless (exposed as M)
    P    Dimensionless (exposed as P)
    tsince    time (exposed as tsince)

On Start

    A = 0
    B = 0
    M = 1
    P = 1
    tsince = longTime

On Events

    EVENT IN on port: in
        A = A + waveformFactor
        B = B + waveformFactor
        tsince = 0

Derived Variables

    g = gbase * (B - A)     (exposed as g)
    i = g * (erev - v)     (exposed as i)

Time Derivatives

    d A /dt = -A / tauRise
    d B /dt = -B / tauDecay
    d tsince /dt = tsinceRate

 
gapJunction

    extends baseSynapse

Gap junction/single electrical connection
Parameters conductance conductance
Exposures i    (from basePointCurrent) current
Requirements v voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics Derived Variables

    vpeer = peer->v    
    i = weight * conductance * (vpeer - v)     (exposed as i)

 
baseGradedSynapse

    extends baseSynapse

Base type for graded synapses
Exposures i    (from basePointCurrent) current
Event Ports in    (from baseSynapse) Direction: in
 
silentSynapse

    extends baseGradedSynapse

Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection.
Exposures i    (from basePointCurrent) current
Requirements v voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics Derived Variables

    vpeer = peer->v    
    i = 0     (exposed as i)

 
linearGradedSynapse

    extends baseGradedSynapse

Behaves just like a one way gap junction.
Parameters conductance conductance
Exposures i    (from basePointCurrent) current
Requirements v voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics Derived Variables

    vpeer = peer->v    
    i = weight * conductance * (vpeer - v)     (exposed as i)

 
gradedSynapse

    extends baseGradedSynapse

Graded/analog synapse. Based on synapse in Methods of http://www.nature.com/neuro/journal/v7/n12/abs/nn1352.html
Parameters Vth voltage
conductance conductance
delta voltage
erev voltage
k per_time
Exposures i    (from basePointCurrent) current
inf Dimensionless
tau time
Requirements v voltage
Event Ports in    (from baseSynapse) Direction: in
Dynamics State Variables

    s    Dimensionless

On Conditions

    IF (1-inf) < 1e-4 THEN
        s = inf

Derived Variables

    vpeer = peer->v    
    inf = 1/(1 + exp((Vth - vpeer)/delta))     (exposed as inf)
    tau = (1-inf)/k     (exposed as tau)
    i = weight * conductance * s * (erev-v)     (exposed as i)

Conditional Derived Variables

    IF (1-inf) > 1e-4 THEN
        s_rate = (inf - s)/tau    
    OTHERWISE
        s_rate = 0    


Time Derivatives

    d s /dt = s_rate