GENESIS: Documentation

Related Documentation:

Introduction

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.

Implementation

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.

Specification

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:

Terminology