brainmodels.synapses.DualExpCOBA

class brainmodels.synapses.DualExpCOBA(pre, post, conn, delay=0.0, g_max=1.0, tau_decay=10.0, tau_rise=1.0, E=0.0, method='exp_auto', name=None)[source]

Conductance-based dual exponential synapse model.

Model Descriptions

The conductance-based dual exponential synapse model is similar with the current-based dual exponential synapse model, except the expression which output onto the post-synaptic neurons:

\[I_{syn}(t) = g_{\mathrm{syn}}(t) (V(t)-E)\]

where \(V(t)\) is the membrane potential of the post-synaptic neuron, \(E\) is the reversal potential.

Model Examples

>>> import brainpy as bp
>>> import brainmodels
>>> import matplotlib.pyplot as plt
>>>
>>> neu1 = brainmodels.neurons.HH(1)
>>> neu2 = brainmodels.neurons.HH(1)
>>> syn1 = brainmodels.synapses.DualExpCOBA(neu1, neu2, bp.connect.All2All(), E=0.)
>>> net = bp.Network(pre=neu1, syn=syn1, post=neu2)
>>>
>>> runner = bp.StructRunner(net, inputs=[('pre.input', 5.)], monitors=['pre.V', 'post.V', 'syn.g', 'syn.h'])
>>> runner.run(150.)
>>>
>>> fig, gs = bp.visualize.get_figure(2, 1, 3, 8)
>>> fig.add_subplot(gs[0, 0])
>>> plt.plot(runner.mon.ts, runner.mon['pre.V'], label='pre-V')
>>> plt.plot(runner.mon.ts, runner.mon['post.V'], label='post-V')
>>> plt.legend()
>>>
>>> fig.add_subplot(gs[1, 0])
>>> plt.plot(runner.mon.ts, runner.mon['syn.g'], label='g')
>>> plt.plot(runner.mon.ts, runner.mon['syn.h'], label='h')
>>> plt.legend()
>>> plt.show()

(Source code, png, hires.png, pdf)

../../_images/brainmodels-synapses-DualExpCOBA-1.png

Model Parameters

Parameter

Init Value

Unit

Explanation

delay

0

ms

The decay length of the pre-synaptic spikes.

tau_decay

10

ms

The time constant of the synaptic decay phase.

tau_rise

1

ms

The time constant of the synaptic rise phase.

g_max

1

µmho(µS)

The maximum conductance.

E

0

mV

The reversal potential for the synaptic current.

Model Variables

Member name

Initial values

Explanation

g

0

Synapse conductance on the post-synaptic neuron.

s

0

Gating variable.

pre_spike

False

The history spiking states of the pre-synaptic neurons.

References

1

Sterratt, David, Bruce Graham, Andrew Gillies, and David Willshaw. “The Synapse.” Principles of Computational Modelling in Neuroscience. Cambridge: Cambridge UP, 2011. 172-95. Print.

__init__(pre, post, conn, delay=0.0, g_max=1.0, tau_decay=10.0, tau_rise=1.0, E=0.0, method='exp_auto', name=None)[source]

Methods

__init__(pre, post, conn[, delay, g_max, ...])

check_post_attrs(*attrs)

Check whether post group satisfies the requirement.

check_pre_attrs(*attrs)

Check whether pre group satisfies the requirement.

child_ds([method, include_self])

Return the children instance of dynamical systems.

ints([method])

Collect all integrators in this node and the children nodes.

load_states(filename[, verbose, check_missing])

Load the model states.

nodes([method, _paths])

Collect all children nodes.

register_constant_delay(key, size, delay[, ...])

Register a constant delay, whose update method will be appended into the self.steps in this host class.

register_implicit_nodes(nodes)

register_implicit_vars(variables)

save_states(filename[, all_vars])

Save the model states.

train_vars([method])

The shortcut for retrieving all trainable variables.

unique_name([name, type_])

Get the unique name for this object.

update(_t, _dt)

The function to specify the updating rule.

vars([method])

Collect all variables in this node and the children nodes.

Attributes

derivative