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.005Here, 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 14 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 17 of ``The Book of GENESIS''.
The following GENESIS routines are used for establishing and working with synaptic connections:
Routine | Description |
getsynindex | Returns the synapse index in a synchan element |
given the source element. | |
getsyncount | Returns the number of synapses or SPIKE messages |
for synchan and spikegen objects. | |
getsynsrc | Returns the source path of a synapse given the |
destination and the synapse index. | |
getsyndest | Returns the destination path or index of a synapse |
given the source path and number of the SPIKE message. | |
planarconnect | Connects one group of elements in a plane to another, |
using source and destination element lists and masks. | |
volumeconnect | Connects one group of elements in a volume 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. | |
volumedelay | Sets delays of a group of synapses receiving input |
from a list of presynaptic elements in a volume. | |
syndelay | Sets up delays of a group of postsynaptic objects. |
planarweight | Sets weights of a group of synapses receiving input |
from a list of presynaptic elements in a plane. | |
volumeweight | Sets weights of a group of synapses receiving input |
from a list of presynaptic elements in a volume. | |
normalizeweights | Sets the cumulative synaptic weight on a synaptic |
channel to a given or randomly selected value. | |
resetsynchanbuffers | Shrinks the event buffer down to its original size |
for synchan2 objects. | |
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 |
connect | Creates connection between a projection and a segment, |
using connection element of a specified type. | |
delete_connection | Deletes a connection between a projection and a |
segment. | |
getconn | Returns axon connection weight and delay. |
setconn | Sets axon connection weight and delay. |
showconn | Prints out weight or delay of a specified axonal |
connection. | |
cstat | Displays information about connections off of a |
projection. | |
region_connect | Connects one group of elements in a plane to another, |
using source and destination element lists and masks. | |
volume_connect | Connects one group of elements in a volume to another, |
using source and destination element lists and masks. | |
scaleweight | Adjusts the weight of a connection by a given scaling |
factor. | |
expweight | Sets weights of efferents from arrays of neurons |
created with createmap and connected with | |
region_connect. | |
normalize_synapses | Sets the cumulative weight of axonal connections to |
a channel to a given or randomly selected value. | |
radialdelay | Sets delays of a group of synapses receiving input |
from a list of presynaptic elements in a plane. | |
expsum | Returns exponentially weighted sum of connection |
weights according to the radial distance. | |
affweight | Calculates weights of projections along a path which |
decay exponentially in strength with distance. | |
affdelay | calculates an aggregate delay between elements |
separated by two paths, one fast-conducting and | |
one slow-conducting | |