Previous Next Table of Contents

14. Synaptic Connections

Synaptic connections to neurons are established by sending a SPIKE message from a spiking class element to a synchannel class element. Typically, this means using a spikegen element to convert action potentials to delta-function ``spike events'' and establishing a SPIKE message to a synchan element. The propagation delays and synaptic weighting for each synaptic connection are stored in the synchan.

For example, to send somatic action potentials in cell1 to ``Ex_channel'' in the dendrite compartment of cell2, one might use:

  create spikegen /cell1/soma/spike
  setfield /cell1/soma/spike thresh 0 abs_refract 0.010 output_amp 1
  addmsg  /cell1/soma  /cell1/soma/spike  INPUT Vm

  addmsg /cell1/soma/spike /cell2/dend/Ex_channel SPIKE
  setfield /cell2/dend/Ex_channel synapse[0].weight 10 synapse[0].delay 0.005
Here, this synaptic connection is labeled as ``synapse[0]'', as it was the first (of possibly several) to be established with the SPIKE message. A more detailed example is given in Scripts/tutorials/tutorial4.g, and is discussed in Chapter 15 of ``The Book of GENESIS''. The Scripts/orient_tut directory contains examples of routines for setting up networks of synaptically connected cells. Further details of the construction of neural circuits and networks are given in Chapter 18 of ``The Book of GENESIS'' (second ed.). Also see the synchan documentation.

The following GENESIS routines are used for establishing and working with synaptic connections:

Routine Description
fileconnect Makes synaptic connections using a weight matrix file
getsyncount Returns the number of synapses or SPIKE messages
for synchan and spikegen objects.
getsyndest Returns the destination path or index of a synapse
given the source path and number of the SPIKE message.
getsynindex Returns the synapse index in a synchan element
given the source element.
getsynsrc Returns the source path of a synapse given the
destination and the synapse index.
normalizeweightsSets the cumulative synaptic weight on a synaptic
channel to a given or randomly selected value.
planarconnect Connects one group of elements in a plane to another,
using source and destination element lists and masks.
planardelay Sets delays of a group of synapses receiving input
from a list of presynaptic elements in a plane.
planardelay2 Faster version of planardelay; requires destination
planarweight Sets weights of a group of synapses receiving input
from a list of presynaptic elements in a plane.
planarweight2 Faster version of planarweight; requires destination
resetsynchanbuffers Shrinks the event buffer down to its original size
for synchan objects.
syndelay Sets up delays of a group of postsynaptic objects.
volumeconnect Connects one group of elements in a volume to another,
using source and destination element lists and masks.
volumedelay Sets delays of a group of synapses receiving input
from a list of presynaptic elements in a volume.
volumedelay2 Faster version of volumedelay; requires destination.
volumeweight Sets weights of a group of synapses receiving input
from a list of presynaptic elements in a volume.
volumeweight2 Faster version of volumeweight; requires destination.

Earlier versions of GENESIS used a different method of establishing synaptic connections by means of axon objects (projections) which hold the delays and weights for each connection. This approach, which is not recommended for new simulations, is illustrated in the Scripts/MultiCell simulation.

The following obsolete routines (available in the Connection Compatibility Library) are used with old-style axonal connections:

Routine Description
affdelaycalculates an aggregate delay between elements
separated by two paths, one fast-conducting and
one slow-conducting
affweightCalculates weights of projections along a path which
decay exponentially in strength with distance.
connect Creates connection between a projection and a segment,
using connection element of a specified type.
cstat Displays information about connections from a projection.
delete_connectionDeletes a connection between a projection and segment.
expsum Returns exponentially weighted sum of connection
weights according to the radial distance.
expweight Sets weights of efferents from cell arrays made
with createmap and connected with region_connect.
getconn Returns axon connection weight and delay.
normalize_synapsesSets the cumulative weight of axonal connections to
a channel to a given or randomly selected value.
radialdelaySets delays of a group of synapses receiving input
from a list of presynaptic elements in a plane.
region_connectConnects one group of elements in a plane to another,
using source and destination element lists and masks.
scaleweight Adjusts the weight of a connection by a scaling factor.
setconn Sets axon connection weight and delay.
showconn Prints out weight or delay of axonal connection.
volume_connectConnects one group of elements in a volume to another,
using source and destination element lists and masks.


Previous Next Table of Contents