// Vierling-Claassen 2010 ////////////////////////////////////////// // processes for excitatory optogenetic connections ////////////////////////////////////////// /////////////////////////////////////////////////////////// // feed to exactly half of pyramidal cells in checkerboard pattern proc FeedtoIIhalf(){ local weight,delay, distX, distY, distance, preX, preY, postX, postY preY=FSy preX=FSx offset=0 for postY=0,YD{ for postX=offset,XD{ distX = abs(preX-postX) distY = abs(preY-postY) distance = sqrt(distX^2 + distY^2) weight = $3 * exp( -(distance^2) / ( $4^2) ) delay = $5 * 1 / (exp( -(distance^2) / ( $6^2) ) ) rconnect($o7, PL2[postX][postY], $1, $2, weight, delay, 0) postX=postX+1} if (offset==0) {offset=1} else {offset=0} }} ////////////////////////////////////////////////////////// // added target compartment to old version from Steph 2007 2009 proc FeedtoIL2(){ local weight,delay, distX, distY, distance, preX, preY, postX, postY // Gaussian Feed Back/Forward to *all* Layer II/III Inhibitory Basket cells // usage: FeedtoIL2(L.2 basket compartment [0-15] (15 soma), // receptor type [ 2=GABAa, 3-GABAb ], // max_weight, weight_space_constant [>1], // min-delay [ms.] , delay-space-constant [>1], // FeedX object(eg. FF) ) // preX=FSx preY=FSy for postX=0,XD{ for postY=0,YD{ distX = abs(preX-postX) distY = abs(preY-postY) distance = sqrt(distX^2 + distY^2) weight = $3 * exp( -(distance^2) / ( $4^2) ) delay = $5 * 1 / (exp( -(distance^2) / ( $6^2) ) ) if (object_id(IPL2[postX][postY]) ){ rconnect($o7, IPL2[postX][postY], $1, $2, weight, delay, 0) } } } }