Related Documentation:
The createprojection command of the gshell allows convenient creation of projections between two populations of multicompartmental neurons. A projection can have one or more connections.
The createprojection command is a user-friendly wrapper around the low-level command volumeconnect. Functionally these commands are the same and the volumeconnect should normally not be used. Their implementation is based on the GENESIS-2 (G-2) commands for the creation of connections (G-2 planarconnect), and setting their weights (G-2 planarweight) and delays (G-2 planardelay). It is instructive to read the overview of these G-2 functions to develop an understanding of their functionality.
An example invocation of the createprojection command1 is shown below:
createprojection
( { root => ’/RSNet’, projection => { name => ’/RSNet/projection’, # source => ’../population’, # optional # target => ’../population’, # optional }, probability => ’1.0’, random_seed => ’1212.0’, source => { context => ’/RSNet/population’, include => { type => ’box’, # type => ’all’ would remove the need for the line below coordinates => [ ’-1e10’, ’-1e10’, ’-1e10’, ’1e10’, ’1e10’, ’1e10’, ], }, }, target => { context => ’/RSNet/population’, include => { type => ’ellipse’, coordinates => [ 0, 0, 0, $SEP_X * 1.2, $SEP_Y * 1.2, $SEP_Z * 0.5, ], }, exclude => { type => ’box’, coordinates => [ - $SEP_X * 0.5, - $SEP_Y * 0.5, - $SEP_Z * 0.5, $SEP_X * 0.5, $SEP_Y * 0.5, $SEP_Z * 0.5, ], }, }, synapse => { pre => ’spike’, post => ’Ex_channel’, weight => { # type => ’fixed’, # not sure yet, weight distribution example needed value => $syn_weight, }, delay => { # type => ’fixed’, # not sure yet, variable delay example needed value => $SEP_X / $cond_vel, # velocity => 0.5, # alternative to fixed delay? }, }, }, ); |
We call the items before the arrow signs (=>) dictionary keys or keys. The invocation distinguishes four main of the parameterization of the command:
The (probability and random_seed keys
root => ’/RSNet’,
projection => { name => ’/RSNet/projection’, # source => ’../population’, # optional # target => ’../population’, # optional }, probability => ’1.0’, random_seed => ’1212.0’, |
source => {
context => ’/RSNet/population’, include => { type => ’box’, # type => ’all’ would remove the need for the line below coordinates => [ ’-1e10’, ’-1e10’, ’-1e10’, ’1e10’, ’1e10’, ’1e10’, ], }, }, |
target => {
context => ’/RSNet/population’, include => { type => ’ellipse’, coordinates => [ 0, 0, 0, $SEP_X * 1.2, $SEP_Y * 1.2, $SEP_Z * 0.5, ], }, exclude => { type => ’box’, coordinates => [ - $SEP_X * 0.5, - $SEP_Y * 0.5, - $SEP_Z * 0.5, $SEP_X * 0.5, $SEP_Y * 0.5, $SEP_Z * 0.5, ], }, }, |
synapse => {
pre => ’spike’, post => ’Ex_channel’, weight => { # type => ’fixed’, # not sure yet, weight distribution example needed value => $syn_weight, }, delay => { # type => ’fixed’, # not sure yet, variable delay example needed value => $SEP_X / $cond_vel, # velocity => 0.5, # alternative to fixed delay? }, }, |