Connection Models
Neurons, and populations of neurons, are connected in SNS-Toolbox using connections. The different versions available are as follows:
Non-Spiking Chemical Synapse
The most basic form of synaptic connection. The amount of synaptic current \(I_{syn}^{ji}\) from pre-synaptic neuron \(j\) to post-synaptic neuron \(i\) is
where \(E_{syn}^{ji}\) is the reversal potential of the synapse, and \(G_{syn}^{ji}(V_j)\) is the synaptic conductance as a function of the pre-synaptic neural voltage:
\(G_{max,non}^{ji}\) is the maximum synaptic conductance, \(E_{lo}\) is the synaptic activation voltage, and \(E_{hi}\) is the synaptic saturation voltage.
Default values are as follows:
\(G_{max,non}^{ji} = 1 \mu S\)
\(E_{syn}^{ji} = 40mV\)
\(E_{lo} = 0mV\)
\(E_{hi} = 20mV\)
This form of synapse can be implemented using sns_toolbox.connections.NonSpikingSynapse.
Spiking Chemical Synapse
Spiking synapses produce a synaptic current similar in formulation to non-spiking chemical synapses,
however they differ in that \(G_{syn}^{ji}\) is a dynamical variable. This conductance is incremented by the constant \(G_{inc}^{ji}\) (constrained to a maximum value of \(G_{max,spike}^{ji}\)) whenever the pre-synaptic neuron spikes, and otherwise decays to 0 with a time constant of \(\tau_{syn}^{ji}\).
If desired, synaptic propagation delay can also be incorporated. If the synapse from neuron \(j\) to \(i\) has a delay of \(d\) timesteps, the delayed spike can be defined as:
Default values are as follows:
\(G_{max,spike}^{ji} = 1 \mu S\)
\(E_{syn}^{ji} = 194 mV\)
\(\tau_{syn}^{ji} = 1 ms\)
\(d = 0\)
\(G_{inc}^{ji} = G_{max,spike}^{ji}\)
This form of synapse can be implemented using sns_toolbox.connections.SpikingSynapse.
Electrical Synapse
Electrical synapses (also known as gap junctions) are a form of synaptic connection which communicates using direct current transmission instead of synaptic neurotransmitters. Their generated synaptic current is:
where \(G_{syn,electrical}\) is the synaptic conductance. By default electrical synapses are bidirectional, meaning current can flow in either direction between \(U_j\) and \(U_i\). However electrical synapses can also be rectified if desired, meaning that current only flows from \(U_j\) to \(U_i\), and only if \(U_j>U_i\).
This form of synapse can be implemented using sns_toolbox.connections.ElectricalSynapse.
Pattern Connection
Chemical synapses can also be defined which connect populations of neurons, instead of single neurons.
All of the synaptic dynamics are unchanged between a non-spiking or spiking synapse and a non-spiking or spiking pattern connection, the only difference is that these parameters are now vectors/matrices representing the kernel which is tiled to describe the synaptic pattern. Note that there is currently no pattern implementation for electrical synapses.
These forms of synapse can be implemented using sns_toolbox.connections.NonSpikingPatternConnection and sns_toolbox.connections.SpikingPatternConnection.
For more information, see Tutorial 6: Connectivity Patterns.
Other Connections
There are other connection presets available, which inherit from the above connection models. For a full reference to them, please consult sns_toolbox.connections.