// genesis // Assumes /Inhibitory_fibres has been created (by calling make_fibres from Fibres_make.g). // A parameter TARGET gives the pathname of the target neuron to which all fibres from // /Inhibitory fibres are to be connected. // The connections may be laid horizontally, using only the z-coordinate as a criterion, // or radially, allowing the fibre to connect to all compartments at about the same // position from the soma. Only the first implementation is active now. // Remark: It would be cleaner to add the fibres along with all connection parameters as // arguments of the function, but this is too complicated now. int index function connect_horizontally_to_inhibitory_fibres (target) str target // Connecting fibres to L5P ***** ce /Inhibitory_fibres // First connection scheme: each fiber runs horizontally and is allowed to make a synapse // on each compartment in (approximately) the same horizontal plane echo Connecting inhibitory feedforward fibres volumeconnect FF/fibre[] \ {target}[][TYPE=compartment]/GABA \ -relative \ -sourcemask box -1 -1 -1 1 1 1 \ -destmask ellipsoid 0 0 0 1 1 2e-6 \ -probability 0.025 // 0.05 // 1.0 // {P_parallel_fiber_to_Golgi_cell_synapse} volumeweight FF/fibre[] \ {target}[][TYPE=compartment]/GABA -fixed \ {weight_GABA_synapse} -uniform {weight_distribution} volumedelay FF/fibre[] \ {target}[][TYPE=compartment]/GABA \ -fixed 0.001 // 0.0004 // 08 // 0.001 // 0.002 // -radial {E_fibre_conduction_velocity} -uniform {delay_distribution} echo Connecting inhibitory intracolumnar feedback fibres volumeconnect FBintra/fibre[] \ {target}[][TYPE=compartment]/GABA \ -relative \ -sourcemask box -1 -1 -1 1 1 1 \ -destmask ellipsoid 0 0 0 1 1 2e-6 \ -probability 0.05 // 1.0 // {P_parallel_fiber_to_Golgi_cell_synapse} volumeweight FBintra/fibre[] \ {target}[][TYPE=compartment]/GABA -fixed \ {weight_GABA_synapse} -uniform {weight_distribution} volumedelay FBintra/fibre[] \ {target}[][TYPE=compartment]/GABA \ -fixed 0.02 // -radial {E_fibre_conduction_velocity} -uniform {delay_distribution} end /* echo Connecting inhibitory intercolumnar feedback fibres volumeconnect FBinter/FBinter_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA \ -relative \ -sourcemask box -1 -1 -1 1 1 1 \ -destmask ellipsoid 0 0 0 1 1 2e-6 \ -probability 0.05 // 1.0 // {P_parallel_fiber_to_Golgi_cell_synapse} volumeweight FBinter/FBinter_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA -fixed \ {weight_GABA_synapse} -uniform {weight_distribution} volumedelay FBinter/FBinter_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA \ -radial {E_fibre_conduction_velocity} -uniform {delay_distribution} */ /* // Second connection scheme: each fiber is allowed to make a synapse on compartments // located from the soma (the origin) at the same distance as the compartment to which the fibre // has been associated (remember that a fibre for each compartment was created). int i float r, x1, y1, z1 ce {FF} for (i = 0; i < 686; i = {i} + 1) x1 = {getfield FF_fibre[{i}] x} y1 = {getfield FF_fibre[{i}] y} z1 = {getfield FF_fibre[{i}] z} r = {sqrt {x1*x1 + y1*y1 + z1*z1}} // echo {r} volumeconnect FF_fibre[{i}] \ /L5P/p#[][TYPE=compartment]/GABA \ -sourcemask box -1 -1 -1 1 1 1 \ -destmask ellipsoid 0 0 0 {r + 1e-6} {r + 1e-6} {r + 1e-6} \ -desthole ellipsoid 0 0 0 {r - 1e-6} {r - 1e-6} {r - 1e-6} \ -probability 0.1 // 0.05 end volumeweight FF_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA -fixed \ {weight_AMPA_synapse} -uniform {weight_distribution} volumedelay FF_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA \ -radial {E_fibre_conduction_velocity} -uniform {delay_distribution} ce {FBintra} for (i = 0; i < 686; i = {i} + 1) x1 = {getfield FBintra_fibre[{i}] x} y1 = {getfield FBintra_fibre[{i}] y} z1 = {getfield FBintra_fibre[{i}] z} r = {sqrt {x1*x1 + y1*y1 + z1*z1}} // echo {r} volumeconnect FBintra_fibre[{i}] \ /L5P/p#[][TYPE=compartment]/GABA \ -sourcemask box -1 -1 -1 1 1 1 \ -destmask ellipsoid 0 0 0 {r + 1e-6} {r + 1e-6} {r + 1e-6} \ -desthole ellipsoid 0 0 0 {r - 1e-6} {r - 1e-6} {r - 1e-6} \ -probability 0.1 // 0.05 end volumeweight FBintra_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA -fixed \ {weight_AMPA_synapse} -uniform {weight_distribution} volumedelay FBintra_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA \ -radial {E_fibre_conduction_velocity} -uniform {delay_distribution} ce {FBinter} for (i = 0; i < 686; i = {i} + 1) x1 = {getfield FBinter_fibre[{i}] x} y1 = {getfield FBinter_fibre[{i}] y} z1 = {getfield FBinter_fibre[{i}] z} r = {sqrt {x1*x1 + y1*y1 + z1*z1}} // echo {r} volumeconnect FBinter_fibre[{i}] \ /L5P/p#[][TYPE=compartment]/GABA \ -sourcemask box -1 -1 -1 1 1 1 \ -destmask ellipsoid 0 0 0 {r + 1e-6} {r + 1e-6} {r + 1e-6} \ -desthole ellipsoid 0 0 0 {r - 1e-6} {r - 1e-6} {r - 1e-6} \ -probability 0.1 // 0.05 end volumeweight FBinter_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA -fixed \ {weight_AMPA_synapse} -uniform {weight_distribution} volumedelay FBinter_fibre[] \ /L5P/p#[][TYPE=compartment]/GABA \ -radial {E_fibre_conduction_velocity} -uniform {delay_distribution} */