Modulation of hippocampal rhythms by electric fields and network topology (Berzhanskaya et al. 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:144589
“… Here we present experimental and computational evidence of the interplay among hippocampal synaptic circuitry, neuronal morphology, external electric fields, and network activity. Electrophysiological data are used to constrain and validate an anatomically and biophysically realistic model of area CA1 containing pyramidal cells and two interneuron types: dendritic- and perisomatic-targeting. We report two lines of results: addressing the network structure capable of generating theta-modulated gamma rhythms, and demonstrating electric field effects on those rhythms. First, theta-modulated gamma rhythms require specific inhibitory connectivity. … The second major finding is that subthreshold electric fields robustly alter the balance between different rhythms. …”
Reference:
1 . Berzhanskaya J, Chernyy N, Gluckman BJ, Schiff SJ, Ascoli GA (2013) Modulation of hippocampal rhythms by subthreshold electric fields and network topology. J Comput Neurosci 34:369-89 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Extracellular;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Brain Rhythms;
Implementer(s):
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell;
/
BerzThetaGamm2013
readme.txt
h.mod
kadist.mod *
kaprox.mod *
kdrca1.mod *
na3.mod *
nax.mod *
xtra.mod
CurRun.ses
GraphandElf.ses
HipNetStart.hoc
interpxyz.hoc
mosinit.hoc
netwOPb.hoc
setpointers.hoc
                            
//J. Berzhanskaya 2D network model of CA1  OPB//
// with full 3D P cell morphology and reduced O and B cells //
// Neuron 5.7, 2007-2009//
//Neuron 7.0 2012//
//Variables//



create acell_home_
  access acell_home_

proc model_globals(){
	// External Stimulus Properties
	pw=2000		//msec//
	delay=10 	//msec//
	//rhoa=100 	//Ohm-cm//
rho = 35.4 //excres

	// Internal Current Clamp
// do not change. this vlaue used in mult cells
	Istim=0   	//nA//	//.26
	intpw=2000	//ms//
	intdel=50	//ms//	//600

	tstop=1300	//msec//
	dt=0.025	//msec//

	celsius=35	//degC//
	spacer = .01 //Lambda space constant multiplier//

	mult1 = 1	//Channel density in linear region (slope od density line)
	mult2 = 1	//Overall channel density (effects all sections of cell equally)
	
//julia hchannel
     // ghd=0.00005  
//back
	lineardist = 0	//Used to show which type of channel distribution is active
	uniformdist = 0
	pasonly = 1

stimtypenosource =1
	stimtypefield = 0
	stimtypepoint = 0
	stimtypeline = 0


	//Uniform Field
	efield=-30	//mV/mm//
	theta=0.0	//radians//

// IClamp globals
Istim0=0.23		//nA// was 0.05 for other than 1 cluster

	Istim1=0.20		//nA// was 0.07
        Istim2=0.22		//nA// was 0.08
        Istim3=0.21		//nA// was 0.05

//Ostim1=0.009
//Ostim2=0.008
//Ostim3=0.009
//OStim1=0.010
//OStim2=0.009
//OStim3=0.010
OStim1=0.011
OStim2=0.010
OStim3=0.011



//Channel Parameters and Variables//

mid=12
//dist=27
secondorder=2
FARADAY=96520
PI=3.14159

//Membrane Resistance

Rm = 28000
RmDend = Rm/2 //XS 
RmSoma = Rm

//Membrane Capacitance

Cm    = 1
CmSoma= Cm
CmDend = Cm*2 //XS 


														
//Axial Resistance

RaAll= 150 //XS 
RaSoma=150  

RaAll= 80 //XS 
RaSoma=80  


//Parameters

Vrest = -65
gna =  .02
gkdr = 0.01


KMULT =  0.025
KMULTP = 0.025
//julia synapse
totSyn=10
totSyn=30



TAU1=0.5
TAU2=5
ndend=196

}
//end globals

model_globals()
numelements=ndend+1		//Total objects, dendrites + soma

Nel=10
Tsteps=6000
ncells=20

objref fname1, fname2, datafile
objref rxobj 
objref rc, rc1, rc2, rc3, rc4, wts1 
rxobj = new Matrix(numelements,Nel)


//to hold external rec matrix at the current time step
objref vrecMat, vrecMat2, vrecVec[ncells]

vrecMat = new Matrix(Tsteps, Nel)
vrecMat2 = new Matrix(Tsteps, Nel)

for i=0,ncells-1{
vrecVec[i] = new Vector(Nel)
}


objref Ens[totSyn], syn[totSyn], nc[totSyn] // julia_XX synapse
objref Ens2[totSyn], syn2[totSyn], nc2[totSyn] 

// elctrode matrix
objref xcEl
objref ycEl
objref zcEl
xcEl = new Vector(Nel)
ycEl = new Vector(Nel)
zcEl = new Vector(Nel)


XE = 50  
YE = 0
ZE = 0

create electrode

objectvar intstim
objref exIClmp1
objref mobj			//extracellular voltage
objref xobj			//x coords
objref yobj			//y coords
objref zobj			//z coords
objref vobj			//number of segments in each branch
objref vectype		//Apical or basal
totSyn=10
totSyn=30

//objref Ens[totSyn], syn[totSyn], nc[totSyn] // julia_XX synapse
//objref Ens2[totSyn], syn2[totSyn], nc2[totSyn] 
double  synWt[totSyn]                       //julia_XXweight



numelements=ndend+1		//Total objects, dendrites + soma



begintemplate Cell_Cell

// Cell_Cell is P-cell

public is_art
public init, topol, basic_shape, subsets, geom, biophys, setrxRec, setRecMat
public synlist, x, y, z, position, connect2target, rxobj
public fieldrec1, fieldrec, maxn3d , pasinit
public fieldextstimulus, noextstimulus
public wts1
//totSyn=90
totSyn=30
ndend=196
numelements=ndend+1		//Total objects, dendrites + soma
Nel=10
Tsteps=6000
//efield=-30	//mV/mm//
theta=0.0 //rad
XE = 50  
YE = 0
ZE = 0


objref Ens, syn, nc // julia_XX synapse
objref Ens2, syn2, nc2 
objref Ens[totSyn], syn[totSyn], nc[totSyn] // julia_XX synapse
objref Ens2[totSyn], syn2[totSyn], nc2[totSyn] 
objref exIClmp1
objref r
objref xcEl
objref ycEl
objref zcEl
xcEl = new Vector(Nel)
ycEl = new Vector(Nel)
zcEl = new Vector(Nel)
for n=0,Nel-1 {
xcEl.x[n]=XE
zcEl.x[n]=ZE
ycEl.x[n]=YE
               }

               //objref wts1

public soma, dendTot, dendrite, apical_dendrite, user5
public all, SecList2


TWO_THIRD_APIDIST = 350 
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 //"3": counting start at 0

objref rc, rc1, rc2, rc3, rc4 //Random gen
objref synlist, syn_

proc init() {

  topol()
  subsets()
  geom()
  biophys()
  geom_nseg()
  maxn3d()
  synlist = new List()

  x = y = z = 0 // only change via position
}

create soma
create dendrite[44]//basal dendrite
create apical_dendrite[75]
create user5[77]
objref dendTot[196]
objref vobj, xobj,yobj, zobj, mobj, r, rxobj




//Quadratic_fitting_results_Type_I_model (Li, Ascoli):	
A0 = 0.00611126
B0 = 82.5413

A= A0
B= B0



// morphology to be loaded from the file
proc topol() { 
{soma connect dendrite[0](0), 1}
{dendrite[0] connect dendrite[1](0), 1}
{dendrite[0] connect dendrite[2](0), 1}
{dendrite[2] connect dendrite[3](0), 1}
{dendrite[2] connect dendrite[4](0), 1}
{soma connect dendrite[5](0), 1}
{dendrite[5] connect dendrite[6](0), 1}
{dendrite[6] connect dendrite[7](0), 1}
{dendrite[6] connect dendrite[8](0), 1}
{dendrite[5] connect dendrite[9](0), 1}
{dendrite[9] connect dendrite[10](0), 1}
{dendrite[10] connect dendrite[11](0), 1}
{dendrite[10] connect dendrite[12](0), 1}
{dendrite[12] connect dendrite[13](0), 1}
{dendrite[12] connect dendrite[14](0), 1}
{dendrite[9] connect dendrite[15](0), 1}
{soma connect dendrite[16](0), 1}
{dendrite[16] connect dendrite[17](0), 1}
{dendrite[17] connect dendrite[18](0), 1}
{dendrite[18] connect dendrite[19](0), 1}
{dendrite[18] connect dendrite[20](0), 1}
{dendrite[17] connect dendrite[21](0), 1}
{dendrite[16] connect dendrite[22](0), 1}
{soma connect dendrite[23](0), 1}
{dendrite[23] connect dendrite[24](0), 1}
{dendrite[24] connect dendrite[25](0), 1}
{dendrite[25] connect dendrite[26](0), 1}
{dendrite[26] connect dendrite[27](0), 1}
{dendrite[26] connect dendrite[28](0), 1}
{dendrite[28] connect dendrite[29](0), 1}

{dendrite[28] connect dendrite[30](0), 1}


{dendrite[25] connect dendrite[31](0), 1}

{dendrite[24] connect dendrite[32](0), 1}
{dendrite[32] connect dendrite[33](0), 1}
{dendrite[33] connect dendrite[34](0), 1}
{dendrite[33] connect dendrite[35](0), 1}
{dendrite[32] connect dendrite[36](0), 1}

{dendrite[23] connect dendrite[37](0), 1}
{dendrite[37] connect dendrite[38](0), 1}

{dendrite[38] connect dendrite[39](0), 1}

{dendrite[38] connect dendrite[40](0), 1}
{dendrite[37] connect dendrite[41](0), 1}
{dendrite[41] connect dendrite[42](0), 1}
{dendrite[41] connect dendrite[43](0), 1}
{soma connect user5[0](0), 1}
{user5[0] connect user5[1](0), 1}
{user5[1] connect user5[2](0), 1}
{user5[2] connect user5[3](0), 1}

{user5[3] connect user5[4](0), 1}

{user5[4] connect user5[5](0), 1}
{user5[5] connect user5[6](0), 1}
{user5[6] connect user5[7](0), 1}

{user5[7] connect user5[8](0), 1}

{user5[8] connect user5[9](0), 1}

{user5[9] connect user5[10](0), 1}

{user5[10] connect user5[11](0), 1}
{user5[11] connect user5[12](0), 1}
{user5[12] connect user5[13](0), 1}

{user5[13] connect user5[14](0), 1}

{user5[14] connect user5[15](0), 1}

{user5[15] connect user5[16](0), 1}


{user5[15] connect user5[17](0), 1}

{user5[14] connect user5[18](0), 1}

{user5[13] connect user5[19](0), 1}

{user5[19] connect user5[20](0), 1}
{user5[20] connect user5[21](0), 1}

{user5[20] connect user5[22](0), 1}

{user5[19] connect user5[23](0), 1}

{user5[12] connect user5[24](0), 1}

{user5[11] connect apical_dendrite[0](0), 1}

{user5[10] connect apical_dendrite[1](0), 1}
{apical_dendrite[1] connect apical_dendrite[2](0), 1}

{apical_dendrite[1] connect apical_dendrite[3](0), 1}

{user5[9] connect apical_dendrite[4](0), 1}

{apical_dendrite[4] connect apical_dendrite[5](0), 1}

{apical_dendrite[4] connect apical_dendrite[6](0), 1}

{user5[8] connect apical_dendrite[7](0), 1}
{user5[7] connect apical_dendrite[8](0), 1}

{user5[6] connect apical_dendrite[9](0), 1}

{user5[5] connect apical_dendrite[10](0), 1}

{user5[4] connect apical_dendrite[11](0), 1}

{user5[3] connect apical_dendrite[12](0), 1}
{user5[2] connect apical_dendrite[13](0), 1}

{apical_dendrite[13] connect apical_dendrite[14](0), 1}

{apical_dendrite[14] connect apical_dendrite[15](0), 1}

{apical_dendrite[14] connect apical_dendrite[16](0), 1}

{apical_dendrite[13] connect apical_dendrite[17](0), 1}

{user5[1] connect apical_dendrite[18](0), 1}

{apical_dendrite[18] connect apical_dendrite[19](0), 1}
{apical_dendrite[19] connect apical_dendrite[20](0), 1}

{apical_dendrite[19] connect apical_dendrite[21](0), 1}

{apical_dendrite[21] connect apical_dendrite[22](0), 1}

{apical_dendrite[21] connect apical_dendrite[23](0), 1}

{apical_dendrite[18] connect apical_dendrite[24](0), 1}

{user5[0] connect user5[25](0), 1}
{user5[25] connect user5[26](0), 1}

{user5[26] connect user5[27](0), 1}

{user5[27] connect user5[28](0), 1}

{user5[28] connect user5[29](0), 1}

{user5[29] connect user5[30](0), 1}

{user5[30] connect user5[31](0), 1}

{user5[31] connect user5[32](0), 1}

{user5[32] connect user5[33](0), 1}

{user5[33] connect user5[34](0), 1}

{user5[34] connect user5[35](0), 1}

{user5[35] connect user5[36](0), 1}
{user5[36] connect user5[37](0), 1}
{user5[37] connect user5[38](0), 1}

{user5[38] connect user5[39](0), 1}

{user5[39] connect user5[40](0), 1}

{user5[39] connect user5[41](0), 1}

{user5[38] connect user5[42](0), 1}

{user5[42] connect user5[43](0), 1}
{user5[42] connect user5[44](0), 1}

{user5[37] connect apical_dendrite[25](0), 1}

{user5[36] connect user5[45](0), 1}

{user5[35] connect apical_dendrite[26](0), 1}

{user5[34] connect apical_dendrite[27](0), 1}

{user5[33] connect apical_dendrite[28](0), 1}

{user5[32] connect apical_dendrite[29](0), 1}

{user5[31] connect apical_dendrite[30](0), 1}

{user5[30] connect apical_dendrite[31](0), 1}

{user5[29] connect apical_dendrite[32](0), 1}

{user5[28] connect apical_dendrite[33](0), 1}

{user5[27] connect apical_dendrite[34](0), 1}

{apical_dendrite[34] connect apical_dendrite[35](0), 1}

{apical_dendrite[34] connect apical_dendrite[36](0), 1}

{user5[26] connect apical_dendrite[37](0), 1}

{user5[25] connect apical_dendrite[38](0), 1}

{soma connect user5[46](0), 1}

{user5[46] connect user5[47](0), 1}

{user5[47] connect user5[48](0), 1}

{user5[48] connect user5[49](0), 1}

{user5[49] connect user5[50](0), 1}

{user5[50] connect user5[51](0), 1}

{user5[51] connect user5[52](0), 1}

{user5[52] connect user5[53](0), 1}

{user5[53] connect user5[54](0), 1}

{user5[54] connect user5[55](0), 1}

{user5[55] connect user5[56](0), 1}

{user5[56] connect user5[57](0), 1}

{user5[57] connect user5[58](0), 1}

{user5[58] connect user5[59](0), 1}

{user5[59] connect user5[60](0), 1}

{user5[60] connect user5[61](0), 1}

{user5[61] connect user5[62](0), 1}

{user5[62] connect user5[63](0), 1}

{user5[63] connect user5[64](0), 1}
{user5[64] connect user5[65](0), 1}

{user5[64] connect apical_dendrite[39](0), 1}

{user5[63] connect apical_dendrite[40](0), 1}

{user5[62] connect user5[66](0), 1}

{user5[66] connect user5[67](0), 1}

{user5[66] connect apical_dendrite[41](0), 1}

{user5[61] connect user5[68](0), 1}

{user5[68] connect apical_dendrite[42](0), 1}

{user5[68] connect user5[69](0), 1}

{user5[69] connect user5[70](0), 1}
{user5[69] connect user5[71](0), 1}

{user5[71] connect user5[72](0), 1}

{user5[71] connect user5[73](0), 1}

{user5[60] connect apical_dendrite[43](0), 1}
{user5[59] connect apical_dendrite[44](0), 1}
{user5[58] connect user5[74](0), 1}

{user5[74] connect user5[75](0), 1}
{user5[75] connect user5[76](0), 1}
{user5[75] connect apical_dendrite[45](0), 1}
{user5[74] connect apical_dendrite[46](0), 1}

{user5[57] connect apical_dendrite[47](0), 1}

{user5[56] connect apical_dendrite[48](0), 1}

{user5[55] connect apical_dendrite[49](0), 1}

{user5[54] connect apical_dendrite[50](0), 1}
{apical_dendrite[50] connect apical_dendrite[51](0), 1}

{apical_dendrite[50] connect apical_dendrite[52](0), 1}

{user5[53] connect apical_dendrite[53](0), 1}

{user5[52] connect apical_dendrite[54](0), 1}

{apical_dendrite[54] connect apical_dendrite[55](0), 1}

{apical_dendrite[54] connect apical_dendrite[56](0), 1}
{user5[51] connect apical_dendrite[57](0), 1}

{user5[50] connect apical_dendrite[58](0), 1}

{user5[49] connect apical_dendrite[59](0), 1}

{apical_dendrite[59] connect apical_dendrite[60](0), 1}

{apical_dendrite[60] connect apical_dendrite[61](0), 1}
{apical_dendrite[60] connect apical_dendrite[62](0), 1}

{apical_dendrite[59] connect apical_dendrite[63](0), 1}

{user5[48] connect apical_dendrite[64](0), 1}
{apical_dendrite[64] connect apical_dendrite[65](0), 1}

{apical_dendrite[64] connect apical_dendrite[66](0), 1}

{user5[47] connect apical_dendrite[67](0), 1}

{apical_dendrite[67] connect apical_dendrite[68](0), 1}

{apical_dendrite[67] connect apical_dendrite[69](0), 1}

{user5[46] connect apical_dendrite[70](0), 1}

{apical_dendrite[70] connect apical_dendrite[71](0), 1}

{apical_dendrite[71] connect apical_dendrite[72](0), 1}

{apical_dendrite[71] connect apical_dendrite[73](0), 1}

{apical_dendrite[70] connect apical_dendrite[74](0), 1}


  basic_shape()
}

proc shape3d_1() {
  {access soma}
{pt3dclear()}
{pt3dadd(0,0,10.68,10.68)}
{pt3dadd(0,0,0,10.68)}


{access dendrite[0]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(2.458,-2.766,6.198,0.3)}
{pt3dadd(5.462,-3.319,10.662,0.3)}
{pt3dadd(11.368,-7.68,13.372,0.3)}
{pt3dadd(15.732,-11.81,21.014,0.3)}


{access dendrite[1]}
{pt3dclear()}
{pt3dadd(15.732,-11.81,21.014,0.3)}
{pt3dadd(21.793,-19.269,26.15,0.3)}
{pt3dadd(28.95,-31.257,32.956,0.3)}
{pt3dadd(35.105,-43.192,37.418,0.3)}
{pt3dadd(39.052,-54.597,38.783,0.3)}
{pt3dadd(44.677,-68.435,40.229,0.3)}
{pt3dadd(48.874,-74.324,41.717,0.3)}
{pt3dadd(52.495,-78.242,43.388,0.3)}
{pt3dadd(60.474,-87.08,47.566,0.3)}
{pt3dadd(67.933,-99.907,50.704,0.3)}
{pt3dadd(74.309,-113.164,50.989,0.3)}
{pt3dadd(78.45,-119.64,54.514,0.3)}
{pt3dadd(81.631,-127.061,55.655,0.3)}
{pt3dadd(83.789,-133.931,54.473,0.3)}
{pt3dadd(86.687,-141.409,56.694,0.3)}
{pt3dadd(91.478,-146.892,61.136,0.3)}
{pt3dadd(94.815,-150.866,63.887,0.3)}
{pt3dadd(98.268,-153.27,65.131,0.3)}
{pt3dadd(101.304,-153.133,65.009,0.3)}


{access dendrite[2]}
{pt3dclear()}
{pt3dadd(15.732,-11.81,21.014,0.3)}
{pt3dadd(19.533,-12.384,26.843,0.3)}
{pt3dadd(21.74,-12.915,29.941,0.3)}


{access dendrite[3]}
{pt3dclear()}
{pt3dadd(21.74,-12.915,29.941,0.3)}
{pt3dadd(29.43,-19.33,35.79,0.3)}
{pt3dadd(36.123,-24.902,44.431,0.3)}
{pt3dadd(43.899,-30.042,55.924,0.3)}
{pt3dadd(51.423,-34.549,63.914,0.3)}
{pt3dadd(59.175,-39.586,72.86,0.3)}
{pt3dadd(66.304,-42.049,79.464,0.3)}
{pt3dadd(74.109,-46.896,83.805,0.3)}
{pt3dadd(81.899,-53.722,87.575,0.3)}
{pt3dadd(89.741,-57.087,92.467,0.3)}
{pt3dadd(96.942,-56.983,97.603,0.3)}
{pt3dadd(104.495,-57.924,104.166,0.3)}
{pt3dadd(110.986,-59.795,107.855,0.3)}
{pt3dadd(115.825,-62.607,108.283,0.3)}
{pt3dadd(120.75,-67.415,108.63,0.3)}
{pt3dadd(122.288,-71.316,107.672,0.3)}


{access dendrite[4]}
{pt3dclear()}
{pt3dadd(21.74,-12.915,29.941,0.3)}
{pt3dadd(29.101,-12.24,33.528,0.3)}
{pt3dadd(34.25,-14.702,37.992,0.3)}
{pt3dadd(40.003,-15.57,40.845,0.3)}
{pt3dadd(43.067,-15.14,45.839,0.3)}
{pt3dadd(45.984,-13.696,50.384,0.3)}
{pt3dadd(50.171,-14.228,55.621,0.3)}
{pt3dadd(58.882,-15.046,60.411,0.3)}
{pt3dadd(64.763,-16.032,66.301,0.3)}
{pt3dadd(71.883,-16.412,70.928,0.3)}
{pt3dadd(79.835,-15.727,74.903,0.3)}


{access dendrite[5]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-6.384,-8.771,-3.381,0.3)}
{pt3dadd(-4.113,-14.467,-8.639,0.3)}
{pt3dadd(-6.022,-18.444,-11.432,0.3)}


{access dendrite[6]}
{pt3dclear()}
{pt3dadd(-6.022,-18.444,-11.432,0.3)}
{pt3dadd(-5.2,-21.84,-13.246,0.3)}
{pt3dadd(-1.815,-23.143,-14.509,0.3)}


{access dendrite[7]}
{pt3dclear()}
{pt3dadd(-1.815,-23.143,-14.509,0.3)}
{pt3dadd(1.226,-32.031,-14.408,0.3)}
{pt3dadd(2.173,-35.941,-15.753,0.3)}
{pt3dadd(4.816,-43.182,-19.605,0.3)}
{pt3dadd(8.5,-48.993,-20.562,0.3)}
{pt3dadd(10.76,-55.878,-21.256,0.3)}
{pt3dadd(14.751,-61.736,-20.746,0.3)}
{pt3dadd(19.639,-68.026,-20.95,0.3)}
{pt3dadd(21.654,-73.486,-20.013,0.3)}
{pt3dadd(28.142,-75.753,-18.892,0.3)}
{pt3dadd(32.52,-81.57,-18.973,0.3)}
{pt3dadd(37.274,-91.806,-20.808,0.3)}
{pt3dadd(40.328,-105.654,-21.888,0.3)}
{pt3dadd(44.736,-114.053,-20.014,0.3)}
{pt3dadd(49.854,-130.294,-21.604,0.3)}
{pt3dadd(53.833,-141.009,-24.825,0.3)}
{pt3dadd(59.474,-152.867,-22.808,0.3)}
{pt3dadd(62.653,-160.684,-24.235,0.3)}
{pt3dadd(66.411,-163.531,-24.092,0.3)}
{pt3dadd(75.481,-164.601,-25.008,0.3)}


{access dendrite[8]}
{pt3dclear()}
{pt3dadd(-1.815,-23.143,-14.509,0.3)}
{pt3dadd(2.563,-25.686,-21.132,0.3)}
{pt3dadd(5.345,-28.583,-33.053,0.3)}
{pt3dadd(6.698,-30.075,-44.118,0.3)}
{pt3dadd(9.383,-32.165,-51.393,0.3)}
{pt3dadd(10.813,-30.297,-58.79,0.3)}
{pt3dadd(14.149,-34.666,-70.875,0.3)}
{pt3dadd(19.533,-40.137,-78.313,0.3)}
{pt3dadd(24.734,-46.077,-86.749,0.3)}
{pt3dadd(26.447,-50.697,-94.412,0.3)}
{pt3dadd(27.669,-55.74,-104.54,0.3)}
{pt3dadd(31.288,-56.78,-111.978,0.3)}
{pt3dadd(36.635,-57.188,-120.781,0.3)}
{pt3dadd(37.978,-59.869,-127.282,0.3)}
{pt3dadd(40.183,-57.523,-133.293,0.3)}


{access dendrite[9]}
{pt3dclear()}
{pt3dadd(-6.022,-18.444,-11.432,0.3)}
{pt3dadd(-13.211,-23.507,-17.751,0.3)}
{pt3dadd(-19.631,-32.158,-21.278,0.3)}
{pt3dadd(-24.096,-40.707,-25.212,0.3)}


{access dendrite[10]}
{pt3dclear()}
{pt3dadd(-24.096,-40.707,-25.212,0.3)}
{pt3dadd(-27.425,-45.362,-25.172,0.3)}


{access dendrite[11]}
{pt3dclear()}
{pt3dadd(-27.425,-45.362,-25.172,0.3)}
{pt3dadd(-32.096,-50.608,-24.358,0.3)}
{pt3dadd(-35.667,-56.714,-25.847,0.3)}
{pt3dadd(-40.581,-63.41,-26.562,0.3)}
{pt3dadd(-44.514,-69.66,-24.912,0.3)}
{pt3dadd(-46.644,-78.859,-22.713,0.3)}
{pt3dadd(-51.767,-89.194,-20.432,0.3)}
{pt3dadd(-53.795,-98.409,-17.743,0.3)}
{pt3dadd(-55.078,-104.562,-15.624,0.3)}
{pt3dadd(-55.02,-116.669,-13.466,0.3)}
{pt3dadd(-58.028,-126.331,-13.141,0.3)}
{pt3dadd(-60.716,-134.454,-13.346,0.3)}
{pt3dadd(-66.819,-138.691,-14.244,0.3)}
{pt3dadd(-70.895,-146.803,-16.202,0.3)}
{pt3dadd(-72.125,-159.31,-17.874,0.3)}
{pt3dadd(-72.707,-171.221,-21.197,0.3)}
{pt3dadd(-70.382,-179.604,-21.951,0.3)}


{access dendrite[12]}
{pt3dclear()}
{pt3dadd(-27.425,-45.362,-25.172,0.3)}
{pt3dadd(-27.621,-50.687,-29.901,0.3)}
{pt3dadd(-30.311,-59.206,-32.674,0.3)}
{pt3dadd(-30.999,-71.497,-39.053,0.3)}
{pt3dadd(-28.227,-82.128,-45.596,0.3)}


{access dendrite[13]}
{pt3dclear()}
{pt3dadd(-28.227,-82.128,-45.596,0.3)}
{pt3dadd(-31.549,-85.99,-52.688,0.3)}
{pt3dadd(-33.566,-87.471,-55.378,0.3)}
{pt3dadd(-38.263,-83.192,-67.035,0.3)}


{access dendrite[14]}
{pt3dclear()}
{pt3dadd(-28.227,-82.128,-45.596,0.3)}
{pt3dadd(-26.356,-89.451,-48.266,0.3)}
{pt3dadd(-27.026,-99.365,-51.507,0.3)}
{pt3dadd(-24.413,-110.568,-56.5,0.3)}
{pt3dadd(-21.218,-126.221,-62.268,0.3)}
{pt3dadd(-19.518,-132.426,-67.934,0.3)}
{pt3dadd(-19.007,-142.717,-72.969,0.3)}
{pt3dadd(-19.595,-155.42,-81.427,0.3)}
{pt3dadd(-18.767,-161.296,-83.832,0.3)}
{pt3dadd(-18.68,-169.837,-83.099,0.3)}


{access dendrite[15]}
{pt3dclear()}
{pt3dadd(-24.096,-40.707,-25.212,0.3)}
{pt3dadd(-26.596,-47.965,-34.119,0.3)}
{pt3dadd(-29.911,-54.307,-41.802,0.3)}
{pt3dadd(-33.375,-63.303,-58.229,0.3)}
{pt3dadd(-36.671,-70.54,-68.501,0.3)}
{pt3dadd(-40.082,-72.801,-78.079,0.3)}
{pt3dadd(-42.672,-78.458,-89.472,0.3)}
{pt3dadd(-41.855,-82.646,-96.421,0.3)}
{pt3dadd(-47.316,-87.078,-104.105,0.3)}
{pt3dadd(-50.591,-91.542,-108.671,0.3)}
{pt3dadd(-53.168,-92.343,-116.334,0.3)}
{pt3dadd(-53.594,-97.534,-124.587,0.3)}


{access dendrite[16]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-0.814,-10.106,-1.526,0.3)}
{pt3dadd(1.848,-14.97,-2.24,0.3)}
{pt3dadd(5.594,-19.402,-0.1,0.3)}
{pt3dadd(5.033,-21.996,1.469,0.3)}


{access dendrite[17]}
{pt3dclear()}
{pt3dadd(5.033,-21.996,1.469,0.3)}
{pt3dadd(7.545,-29.514,4.281,0.3)}


{access dendrite[18]}
{pt3dclear()}
{pt3dadd(7.545,-29.514,4.281,0.3)}
{pt3dadd(8.422,-35.597,6.97,0.3)}
}


proc shape3d_2() {
  {access dendrite[19]}
{pt3dclear()}
{pt3dadd(8.422,-35.597,6.97,0.3)}
{pt3dadd(11.547,-43.605,10.149,0.3)}
{pt3dadd(15.223,-50.209,16.323,0.3)}
{pt3dadd(19.046,-57.827,22.946,0.3)}
{pt3dadd(24.559,-66.294,27.653,0.3)}
{pt3dadd(28.518,-72.841,32.748,0.3)}
{pt3dadd(32.59,-81.488,40.308,0.3)}
{pt3dadd(35.338,-85.076,45.24,0.3)}
{pt3dadd(38.127,-90.059,47.563,0.3)}
{pt3dadd(41.097,-94.969,48.316,0.3)}
{pt3dadd(45.07,-99.931,51.414,0.3)}
{pt3dadd(49.029,-106.479,56.509,0.3)}
{pt3dadd(53.132,-114.436,59.484,0.3)}
{pt3dadd(55.943,-126.462,62.601,0.3)}
{pt3dadd(59.93,-142.534,67.898,0.3)}
{pt3dadd(64.172,-155.57,72.727,0.3)}
{pt3dadd(68.53,-167.036,76.048,0.3)}
{pt3dadd(71.373,-171.827,73.766,0.3)}
{pt3dadd(74.776,-180.571,70.729,0.3)}
{pt3dadd(78.104,-189.006,72.318,0.3)}
{pt3dadd(79.044,-196.982,72.378,0.3)}


{access dendrite[20]}
{pt3dclear()}
{pt3dadd(8.422,-35.597,6.97,0.3)}
{pt3dadd(6.058,-48.331,9.618,0.3)}
{pt3dadd(9.339,-56.164,8.68,0.3)}
{pt3dadd(14.227,-62.454,8.476,0.3)}
{pt3dadd(19.044,-71.311,9.739,0.3)}
{pt3dadd(24.196,-76.65,11.044,0.3)}
{pt3dadd(32.413,-84.83,11.615,0.3)}
{pt3dadd(38.272,-95.134,12.613,0.3)}
{pt3dadd(42.752,-100.966,13.021,0.3)}
{pt3dadd(45.896,-109.869,13.611,0.3)}
{pt3dadd(49.784,-122.256,14.446,0.3)}
{pt3dadd(53.075,-132.173,15.485,0.3)}
{pt3dadd(56.453,-137.541,15.627,0.3)}
{pt3dadd(60.833,-149.506,18.928,0.3)}
{pt3dadd(65.985,-154.845,20.232,0.3)}
{pt3dadd(69.08,-160.27,21.455,0.3)}
{pt3dadd(73.663,-166.117,22.352,0.3)}
{pt3dadd(76.309,-172.962,21.067,0.3)}
{pt3dadd(78.563,-177.367,20.965,0.3)}


{access dendrite[21]}
{pt3dclear()}
{pt3dadd(7.545,-29.514,4.281,0.3)}
{pt3dadd(10.997,-38.464,6.338,0.3)}
{pt3dadd(14.377,-49.981,9.863,0.3)}
{pt3dadd(15.672,-58.606,13.918,0.3)}
{pt3dadd(19.759,-68.544,16.322,0.3)}
{pt3dadd(24.516,-84.929,17.87,0.3)}
{pt3dadd(27.909,-94.862,19.398,0.3)}
{pt3dadd(31.208,-106.863,22.413,0.3)}
{pt3dadd(37.325,-120.28,26.325,0.3)}
{pt3dadd(45.201,-135.648,30.828,0.3)}
{pt3dadd(51.063,-145.557,34.394,0.3)}
{pt3dadd(57.069,-156.874,35.841,0.3)}
{pt3dadd(61.162,-169.292,37.654,0.3)}
{pt3dadd(67.298,-183.605,38.978,0.3)}
{pt3dadd(70.443,-192.508,39.568,0.3)}
{pt3dadd(74.806,-203.182,48.025,0.3)}
{pt3dadd(78.323,-210.357,55.748,0.3)}
{pt3dadd(83.186,-219.817,59.538,0.3)}


{access dendrite[22]}
{pt3dclear()}
{pt3dadd(5.033,-21.996,1.469,0.3)}
{pt3dadd(15.155,-26.595,2.265,0.3)}
{pt3dadd(21.105,-25.41,4.12,0.3)}
{pt3dadd(27.301,-25.65,4.345,0.3)}
{pt3dadd(33.161,-29.409,4.529,0.3)}
{pt3dadd(40.789,-30.658,6.465,0.3)}
{pt3dadd(49.118,-31.12,2.146,0.3)}
{pt3dadd(61.296,-36.029,0.456,0.3)}
{pt3dadd(68.914,-41.739,1.231,0.3)}
{pt3dadd(77.766,-44.363,1.334,0.3)}
{pt3dadd(85.758,-51.617,3.515,0.3)}
{pt3dadd(96.102,-54.267,5.859,0.3)}
{pt3dadd(104.521,-56.329,4.026,0.3)}
{pt3dadd(111.037,-68.12,5.35,0.3)}
{pt3dadd(118.457,-76.279,4.556,0.3)}
{pt3dadd(124.699,-83.666,8.122,0.3)}
{pt3dadd(126.794,-88.643,9.569,0.3)}


{access dendrite[23]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-8.459,-10.839,8.234,1.7)}
{pt3dadd(-8.248,-13.35,8.621,1.1)}
{pt3dadd(-7.933,-15.877,9.497,0.6)}


{access dendrite[24]}
{pt3dclear()}
{pt3dadd(-7.933,-15.877,9.497,0.6)}
{pt3dadd(-6.872,-21.492,13.185,0.3)}
{pt3dadd(-5.478,-23.983,14.346,0.3)}


{access dendrite[25]}
{pt3dclear()}
{pt3dadd(-5.478,-23.983,14.346,0.3)}
{pt3dadd(-5.768,-28.104,16.832,0.3)}


{access dendrite[26]}
{pt3dclear()}
{pt3dadd(-5.768,-28.104,16.832,0.3)}
{pt3dadd(-4.879,-35.875,24.066,0.3)}


{access dendrite[27]}
{pt3dclear()}
{pt3dadd(-4.879,-35.875,24.066,0.3)}
{pt3dadd(-6.222,-39.739,31.381,0.3)}
{pt3dadd(-6.544,-44.551,38.452,0.3)}
{pt3dadd(-7.295,-48.405,46.155,0.3)}
{pt3dadd(-8.012,-51.173,51.84,0.3)}
{pt3dadd(-7.908,-54.066,61.438,0.3)}
{pt3dadd(-7.474,-57.504,72.483,0.3)}
{pt3dadd(-7.391,-59.898,82.101,0.3)}
{pt3dadd(-7.448,-63.758,90.68,0.3)}
{pt3dadd(-9.047,-70.658,98.464,0.3)}
{pt3dadd(-8.809,-79.421,104.78,0.3)}
{pt3dadd(-8.598,-85.205,111.708,0.3)}
{pt3dadd(-8.724,-87.964,117.781,0.3)}
{pt3dadd(-10.356,-92.676,121.041,0.3)}
{pt3dadd(-12.153,-95.48,126.44,0.3)}
{pt3dadd(-12.643,-98.779,133.083,0.3)}
{pt3dadd(-14.556,-103.152,139.991,0.3)}
{pt3dadd(-15.852,-110.89,144.107,0.3)}
{pt3dadd(-18.82,-112.129,146.735,0.3)}


{access dendrite[28]}
{pt3dclear()}
{pt3dadd(-4.879,-35.875,24.066,0.3)}
{pt3dadd(-1.177,-39.309,26.246,0.3)}
{pt3dadd(2.695,-43.86,31.423,0.3)}
{pt3dadd(1.667,-50.251,39.614,0.3)}
{pt3dadd(6.268,-53.721,43.649,0.3)}
{pt3dadd(9.256,-56.255,47.542,0.3)}
{pt3dadd(13.528,-59.18,50.13,0.3)}

{access dendrite[29]}
{pt3dclear()}
{pt3dadd(13.528,-59.18,50.13,0.3)}
{pt3dadd(18.836,-61.071,53.045,0.3)}
{pt3dadd(23.639,-71.514,56.305,0.3)}
{pt3dadd(27.412,-78.925,57.833,0.3)}
{pt3dadd(29.261,-82.477,60.91,0.3)}
{pt3dadd(32.511,-90.999,64.557,0.3)}
{pt3dadd(34.223,-95.621,69.163,0.3)}
{pt3dadd(36.735,-103.14,71.974,0.3)}
{pt3dadd(39.832,-108.169,75.765,0.3)}
{pt3dadd(42.344,-115.688,78.577,0.3)}
{pt3dadd(45.236,-120.686,81.389,0.3)}
{pt3dadd(47.611,-129.275,85.729,0.3)}
{pt3dadd(50.508,-133.481,93.676,0.3)}
{pt3dadd(54.213,-136.519,98.425,0.3)}
{pt3dadd(57.356,-142.15,104.742,0.3)}
{pt3dadd(59.943,-146.706,108.655,0.3)}
{pt3dadd(61.646,-149.243,111.283,0.3)}
{pt3dadd(63.84,-157.905,117.193,0.3)}
{pt3dadd(66.049,-164.585,123.672,0.3)}
{pt3dadd(68.097,-165.688,128.319,0.3)}


}
proc shape3d_3() {
  
{access dendrite[30]}
{pt3dclear()}
{pt3dadd(13.528,-59.18,50.13,0.3)}
{pt3dadd(10.631,-64.396,52.106,0.3)}
{pt3dadd(14.451,-72.41,56.161,0.3)}
{pt3dadd(18.731,-77.418,60.726,0.3)}
{pt3dadd(21.84,-84.136,69.06,0.3)}
{pt3dadd(25.984,-90.215,75.153,0.3)}
{pt3dadd(28.022,-95.778,78.638,0.3)}
{pt3dadd(31.309,-102.819,82.836,0.3)}
{pt3dadd(34.647,-106.794,85.587,0.3)}
{pt3dadd(39.322,-120.391,92.352,0.3)}
{pt3dadd(43.695,-129.876,96.244,0.3)}
{pt3dadd(47.592,-141.075,104.782,0.3)}
{pt3dadd(47.497,-146.417,112.81,0.3)}
{pt3dadd(49.299,-155.911,114.175,0.3)}
{pt3dadd(54.068,-160.894,118.638,0.3)}
{pt3dadd(61.018,-160.157,120.269,0.3)}
{pt3dadd(61.578,-160.837,125.241,0.3)}

{access dendrite[31]}
{pt3dclear()}
{pt3dadd(-5.768,-28.104,16.832,0.3)}
{pt3dadd(-4.152,-31.918,13.816,0.3)}
{pt3dadd(2.296,-42.608,12.634,0.3)}
{pt3dadd(9.205,-50.293,11.962,0.3)}
{pt3dadd(13.966,-56.464,8.721,0.3)}
{pt3dadd(19.256,-67.277,9.312,0.3)}
{pt3dadd(24.633,-73.542,9.006,0.3)}
{pt3dadd(32.734,-83.291,11.085,0.3)}
{pt3dadd(39.06,-93.071,12.002,0.3)}
{pt3dadd(42.475,-96.957,12.695,0.3)}
{pt3dadd(45.999,-103.339,13.286,0.3)}
{pt3dadd(48.481,-108.275,14.142,0.3)}
{pt3dadd(49.8,-120.275,15.017,0.3)}
{pt3dadd(55.052,-132.57,15.057,0.3)}
{pt3dadd(59.233,-140.439,15.974,0.3)}
{pt3dadd(63.096,-149.451,19.988,0.3)}
{pt3dadd(67.555,-154.784,20.416,0.3)}
{pt3dadd(69.787,-158.69,20.334,0.3)}
{pt3dadd(72.919,-162.633,22.107,0.3)}
{pt3dadd(76.297,-168.002,22.25,0.3)}
{pt3dadd(78.548,-172.803,19.58,0.3)}
{pt3dadd(79.03,-176.843,20.884,0.3)}

{access dendrite[32]}
{pt3dclear()}
{pt3dadd(-5.478,-23.983,14.346,0.3)}
{pt3dadd(-5.902,-32.05,15.202,0.3)}
{pt3dadd(-13.618,-38.623,20.702,0.3)}
{pt3dadd(-15.297,-42.733,21.435,0.3)}

{access dendrite[33]}
{pt3dclear()}
{pt3dadd(-15.297,-42.733,21.435,0.3)}
{pt3dadd(-19.289,-49.966,22.555,0.3)}
{pt3dadd(-20.94,-57.055,22.676,0.3)}
{pt3dadd(-22.727,-58.67,23.511,0.3)}


{access dendrite[34]}
{pt3dclear()}
{pt3dadd(-22.727,-58.67,23.511,0.3)}
{pt3dadd(-23.818,-66.44,28.605,0.3)}
{pt3dadd(-24.283,-73.113,32.068,0.3)}
{pt3dadd(-24.601,-80.801,35.98,0.3)}
{pt3dadd(-26.199,-84.427,37.223,0.3)}
{pt3dadd(-25.384,-88.617,42.541,0.3)}
{pt3dadd(-25.236,-95.779,46.372,0.3)}
{pt3dadd(-28.839,-102.575,49.468,0.3)}
{pt3dadd(-32.974,-108.398,52.707,0.3)}
{pt3dadd(-34.685,-113.198,58.025,0.3)}
{pt3dadd(-35.486,-123.391,61.448,0.3)}
{pt3dadd(-36.604,-131.453,61.426,0.3)}
{pt3dadd(-36.686,-138.482,61.731,0.3)}
{pt3dadd(-36.823,-146.097,64.074,0.3)}
{pt3dadd(-36.715,-155.137,64.786,0.3)}

{access dendrite[35]}
{pt3dclear()}
{pt3dadd(-22.727,-58.67,23.511,0.3)}
{pt3dadd(-24.026,-66.804,25.059,0.3)}
{pt3dadd(-27.383,-75.025,26.525,0.3)}
{pt3dadd(-32.381,-79.33,28.46,0.3)}
{pt3dadd(-36.934,-89.155,31.148,0.3)}
{pt3dadd(-41.182,-99.423,32.736,0.3)}
{pt3dadd(-44.44,-104.784,37.85,0.3)}
{pt3dadd(-47.246,-111.6,42.312,0.3)}
{pt3dadd(-50.937,-116.399,45.49,0.3)}
{pt3dadd(-50.433,-120.938,46.773,0.3)}
{pt3dadd(-53.083,-127.579,47.119,0.3)}
{pt3dadd(-54.534,-132.22,48.81,0.3)}
{pt3dadd(-55.982,-139.736,47.341,0.3)}
{pt3dadd(-56.649,-149.255,46.668,0.3)}
{pt3dadd(-56.584,-157.297,47.421,0.3)}
{pt3dadd(-57.285,-167.901,48.765,0.3)}

{access dendrite[36]}
{pt3dclear()}
{pt3dadd(-15.297,-42.733,21.435,0.3)}
{pt3dadd(-20.833,-53.402,19.192,0.3)}
{pt3dadd(-24.997,-66.062,18.13,0.3)}
{pt3dadd(-29.852,-78.321,18.76,0.3)}
{pt3dadd(-32.196,-85.405,18.005,0.3)}
{pt3dadd(-35.052,-92.016,17.372,0.3)}
{pt3dadd(-39.708,-101.826,19.571,0.3)}
{pt3dadd(-41.956,-112.99,20.711,0.3)}
{pt3dadd(-43.548,-119.097,21.362,0.3)}
{pt3dadd(-46.503,-125.296,22.808,0.3)}
{pt3dadd(-46.886,-134.758,21.055,0.3)}
{pt3dadd(-46.27,-144.668,19.077,0.3)}
{pt3dadd(-44.882,-161.041,16.732,0.3)}
{pt3dadd(-42.822,-176.92,15.284,0.3)}
{pt3dadd(-43.451,-184.957,15.161,0.3)}
{pt3dadd(-41.869,-189.856,14.162,0.3)}
{pt3dadd(-41.279,-202.936,16.178,0.3)}

{access dendrite[37]}
{pt3dclear()}
{pt3dadd(-7.933,-15.877,9.497,0.6)}
{pt3dadd(-8.154,-17.827,7.948,0.3)}
{pt3dadd(-11.888,-24.9,5.44,0.3)}
{pt3dadd(-12.962,-27.415,4.563,0.3)}

{access dendrite[38]}
{pt3dclear()}
{pt3dadd(-12.962,-27.415,4.563,0.3)}
{pt3dadd(-18.302,-36.031,1.322,0.3)}
{pt3dadd(-21.456,-44.678,1.198,0.3)}
{pt3dadd(-22.627,-56.203,0.056,0.3)}
{pt3dadd(-27.267,-67.304,-2.901,0.3)}
{pt3dadd(-29.251,-70.972,-1.068,0.3)}
{pt3dadd(-33.682,-75.163,-1.293,0.3)}

{access dendrite[39]}
{pt3dclear()}
{pt3dadd(-33.682,-75.163,-1.293,0.3)}
{pt3dadd(-38.424,-76.432,0.174,0.3)}
{pt3dadd(-43.608,-81.6,-1.458,0.3)}
{pt3dadd(-49.353,-82.817,-2.335,0.3)}
{pt3dadd(-56.857,-88.627,-2.989,0.3)}
{pt3dadd(-63.302,-93.903,-3.336,0.3)}
{pt3dadd(-74.422,-111.366,-4.623,0.3)}
{pt3dadd(-78.221,-116.941,-7.07,0.3)}
{pt3dadd(-81.736,-122.46,-10.596,0.3)}
{pt3dadd(-82.228,-129.427,-12.248,0.3)}
{pt3dadd(-83.193,-134.438,-13.227,0.3)}
{pt3dadd(-85.612,-137.94,-15.897,0.3)}

{access dendrite[40]}
{pt3dclear()}
{pt3dadd(-33.682,-75.163,-1.293,0.3)}
{pt3dadd(-36.148,-84.608,-5.675,0.3)}
{pt3dadd(-39.532,-93.122,-9.324,0.3)}
{pt3dadd(-43.29,-100.092,-14.379,0.3)}
{pt3dadd(-46.537,-107.535,-19.557,0.3)}
{pt3dadd(-50.8,-116.511,-25.081,0.3)}
{pt3dadd(-54.249,-123.527,-28.669,0.3)}
{pt3dadd(-54.928,-131.357,-33.886,0.3)}
{pt3dadd(-57.565,-136.414,-35.538,0.3)}
{pt3dadd(-60.349,-140.456,-37.638,0.3)}
{pt3dadd(-63.833,-148.558,-39.208,0.3)}
{pt3dadd(-66.446,-153.718,-38.312,0.3)}
{pt3dadd(-67.844,-158.168,-41.227,0.3)}
{pt3dadd(-68.242,-163.065,-44.366,0.3)}


{access dendrite[41]}
{pt3dclear()}
{pt3dadd(-12.962,-27.415,4.563,0.3)}
{pt3dadd(-13.123,-38.199,-1.368,0.3)}


{access dendrite[42]}
{pt3dclear()}
{pt3dadd(-13.123,-38.199,-1.368,0.3)}
{pt3dadd(-12.846,-52.024,-5.954,0.3)}
{pt3dadd(-12.781,-69.884,-10.113,0.3)}
{pt3dadd(-9.979,-83.098,-14.699,0.3)}
{pt3dadd(-7.467,-93.888,-17.614,0.3)}
{pt3dadd(-5.39,-101.242,-19.306,0.3)}
{pt3dadd(-7.831,-110.79,-21.141,0.3)}
{pt3dadd(-8.629,-117.314,-21.692,0.3)}
{pt3dadd(-8.141,-130.379,-20.165,0.3)}
{pt3dadd(-9.228,-141.024,-18.23,0.3)}
{pt3dadd(-9.559,-153.568,-18.048,0.3)}
{pt3dadd(-11.733,-161.769,-15.808,0.3)}
{pt3dadd(-12.086,-173.814,-15.605,0.3)}
{pt3dadd(-12.211,-186.39,-14.445,0.3)}
{pt3dadd(-11.349,-194.453,-12.326,0.3)}
{pt3dadd(-11.399,-197.52,-10.88,0.3)}
{pt3dadd(-9.625,-204.035,-8.904,0.3)}
{pt3dadd(-10.603,-210.631,-7.885,0.3)}

{access dendrite[43]}
{pt3dclear()}
{pt3dadd(-13.123,-38.199,-1.368,0.3)}
{pt3dadd(-17.984,-44.705,-6.688,0.3)}
{pt3dadd(-23.6,-59.129,-15.168,0.3)}
{pt3dadd(-29.759,-67.224,-19.754,0.3)}
{pt3dadd(-33.803,-81.191,-25.483,0.3)}
{pt3dadd(-39.118,-93.182,-31.904,0.3)}
{pt3dadd(-43.013,-101.222,-35.43,0.3)}
{pt3dadd(-45.466,-109.082,-41.81,0.3)}
{pt3dadd(-49.828,-117.646,-45.256,0.3)}
{pt3dadd(-53.186,-135.684,-48.702,0.3)}
{pt3dadd(-55.079,-144.224,-50.109,0.3)}
{pt3dadd(-55.935,-155.003,-56.916,0.3)}
{pt3dadd(-57.812,-164.834,-63.48,0.3)}
{pt3dadd(-58.114,-167.267,-65.538,0.3)}
{pt3dadd(-58.624,-176.61,-70.328,0.3)}
{pt3dadd(-57.426,-184.426,-73.895,0.3)}
{pt3dadd(-53.521,-191.559,-79.03,0.3)}
}
proc shape3d_4() {
  {access user5[0]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(4.207,13.334,-5.925,2.5)}
{pt3dadd(3.692,26.105,-12.567,2)}

{access user5[1]}
{pt3dclear()}
{pt3dadd(3.692,26.105,-12.567,2)}
{pt3dadd(7.719,34.424,-15.704,1.2)}

{access user5[2]}
{pt3dclear()}
{pt3dadd(7.719,34.424,-15.704,1.2)}
{pt3dadd(6.409,41.067,-20.33,1.1)}
{pt3dadd(7.516,57.363,-25.667,1.1)}

{access user5[3]}
{pt3dclear()}
{pt3dadd(7.516,57.363,-25.667,1.1)}
{pt3dadd(5.627,68.853,-26.95,0.6)}
{pt3dadd(5.596,77.982,-29.72,0.6)}
{pt3dadd(5.793,86.58,-31.533,0.6)}

{access user5[4]}
{pt3dclear()}
{pt3dadd(5.793,86.58,-31.533,0.6)}
{pt3dadd(4.679,98.548,-31.43,0.4)}
{pt3dadd(5.972,109.162,-32.387,0.4)}
{pt3dadd(6.097,115.193,-32.733,0.4)}

{access user5[5]}
{pt3dclear()}
{pt3dadd(6.097,115.193,-32.733,0.4)}
{pt3dadd(4.703,124.229,-34.709,0.4)}

{access user5[6]}
{pt3dclear()}
{pt3dadd(4.703,124.229,-34.709,0.4)}
{pt3dadd(4.339,130.234,-34.953,0.4)}

{access user5[7]}
{pt3dclear()}
{pt3dadd(4.339,130.234,-34.953,0.4)}
{pt3dadd(4.084,133.743,-35.299,0.4)}

{access user5[8]}
{pt3dclear()}
{pt3dadd(4.084,133.743,-35.299,0.4)}
{pt3dadd(5.084,146.385,-37.152,0.4)}
{pt3dadd(5.997,161.023,-38.923,0.5)}
{pt3dadd(7.384,173.706,-41.367,0.5)}

{access user5[9]}
{pt3dclear()}
{pt3dadd(7.384,173.706,-41.367,0.5)}
{pt3dadd(7.385,186.796,-42.996,0.5)}

{access user5[10]}
{pt3dclear()}
{pt3dadd(7.385,186.796,-42.996,0.5)}
{pt3dadd(8.924,195.985,-45.583,0.5)}
{pt3dadd(9.006,209.558,-46.703,0.4)}

{access user5[11]}
{pt3dclear()}
{pt3dadd(9.006,209.558,-46.703,0.4)}
{pt3dadd(10.629,232.717,-47.841,0.4)}
{pt3dadd(10.696,250.855,-50.346,0.4)}
{pt3dadd(10.996,265.982,-52.484,0.4)}
{pt3dadd(10.128,276.525,-54.012,0.4)}

{access user5[12]}
{pt3dclear()}
{pt3dadd(10.128,276.525,-54.012,0.4)}
{pt3dadd(10.661,288.643,-55.783,0.4)}
{pt3dadd(11.668,298.804,-58.228,0.4)}
{pt3dadd(11.961,309.867,-58.96,0.4)}

{access user5[13]}
{pt3dclear()}
{pt3dadd(11.961,309.867,-58.96,0.4)}
{pt3dadd(13.924,320.579,-61.588,0.4)}
{pt3dadd(15.347,334.743,-63.481,0.4)}
{pt3dadd(16.304,348.383,-65.293,0.4)}
{pt3dadd(18.142,359.61,-68.39,0.4)}
{pt3dadd(18.865,369.715,-69.754,0.4)}

{access user5[14]}
{pt3dclear()}
{pt3dadd(18.865,369.715,-69.754,0.4)}
{pt3dadd(20.112,380.932,-73.237,0.3)}
{pt3dadd(22.293,399.743,-77.698,0.3)}
{pt3dadd(23.751,408.448,-80.794,0.3)}
{pt3dadd(25.866,415.666,-83.565,0.3)}
{pt3dadd(28.843,421.366,-85.031,0.3)}
{pt3dadd(32.178,430.086,-86.477,0.3)}
{pt3dadd(34.542,436.275,-88.31,0.3)}
{pt3dadd(38.111,441.984,-89.389,0.3)}
{pt3dadd(44.046,454.279,-89.733,0.3)}
{pt3dadd(48.119,461.995,-90.343,0.3)}
{pt3dadd(51.426,467.149,-90.363,0.3)}

{access user5[15]}
{pt3dclear()}
{pt3dadd(51.426,467.149,-90.363,0.3)}
{pt3dadd(55.521,474.366,-90.993,0.3)}
{pt3dadd(57.966,481.038,-92.317,0.3)}
{pt3dadd(62.939,488.718,-91.072,0.3)}
{pt3dadd(69.393,491.909,-88.748,0.3)}
{pt3dadd(75.415,495.662,-88.36,0.3)}
{pt3dadd(81.306,502.41,-87.849,0.3)}
{pt3dadd(86.961,505.227,-89.458,0.3)}

{access user5[16]}
{pt3dclear()}
{pt3dadd(86.961,505.227,-89.458,0.3)}
{pt3dadd(90.872,508.703,-84.546,0.3)}
{pt3dadd(94.86,512.266,-81.692,0.3)}
{pt3dadd(96.379,515.805,-80.876,0.3)}
{pt3dadd(100.029,521.999,-81.445,0.3)}
{pt3dadd(103.622,527.605,-79.977,0.3)}
{pt3dadd(105.026,529.575,-77.654,0.3)}

{access user5[17]}
{pt3dclear()}
{pt3dadd(86.961,505.227,-89.458,0.3)}
{pt3dadd(88.982,510.377,-90.741,0.3)}
{pt3dadd(90.73,516.659,-95.508,0.3)}
{pt3dadd(87.695,519.794,-101.928,0.3)}
{pt3dadd(86.625,520.948,-106.778,0.3)}
{pt3dadd(87.94,521.246,-112.667,0.3)}
}
proc shape3d_5() {
 
{access user5[18]}
{pt3dclear()}
{pt3dadd(51.426,467.149,-90.363,0.3)}
{pt3dadd(48.708,471.426,-87.612,0.3)}
{pt3dadd(46.51,479.69,-83.821,0.3)}
{pt3dadd(41.376,487.405,-81.986,0.3)}
{pt3dadd(38.424,494.692,-79.602,0.3)}
{pt3dadd(34.678,495.851,-75.2,0.3)}
{pt3dadd(31.227,501.924,-68.149,0.3)}
{pt3dadd(28.901,503.762,-66.58,0.3)}
{pt3dadd(26.111,505.471,-62.362,0.3)}
{pt3dadd(20.338,510.505,-56.901,0.3)}
{pt3dadd(15.823,515.252,-55.291,0.3)}
{pt3dadd(11.1,519.633,-57.228,0.3)}
{pt3dadd(5.869,524.884,-56.474,0.3)}
{pt3dadd(0.944,529.692,-56.82,0.3)}
{pt3dadd(-3.493,534.526,-57.269,0.3)}
{pt3dadd(-9.066,538.737,-55.965,0.3)}
{pt3dadd(-16.633,541.365,-54.804,0.3)}
{pt3dadd(-23.221,544.044,-53.847,0.3)}
{pt3dadd(-33.035,548.597,-53.175,0.3)}
{pt3dadd(-41.766,553.582,-49.65,0.3)}
{pt3dadd(-47.707,560.129,-44.617,0.3)}
{pt3dadd(-52.45,568.677,-38.238,0.3)}
{pt3dadd(-54.963,572.923,-34.509,0.3)}
{pt3dadd(-57.912,580.606,-29.557,0.3)}
{pt3dadd(-62.075,584.307,-26.52,0.3)}
{pt3dadd(-66.748,588.482,-23.362,0.3)}
{pt3dadd(-69.642,590.207,-19.633,0.3)}

{access user5[19]}
{pt3dclear()}
{pt3dadd(18.865,369.715,-69.754,0.4)}
{pt3dadd(23.047,384.753,-65.554,0.3)}
{pt3dadd(23.866,400.594,-60.111,0.3)}
{pt3dadd(26.939,412.03,-54.77,0.3)}
{pt3dadd(31.202,430.823,-44.334,0.3)}
{pt3dadd(34.321,441.657,-36.466,0.3)}
{pt3dadd(36.606,451.03,-30.515,0.3)}
{pt3dadd(35.448,467.269,-24.644,0.3)}
{pt3dadd(37.764,480.603,-17.551,0.3)}

{access user5[20]}
{pt3dclear()}
{pt3dadd(37.764,480.603,-17.551,0.3)}
{pt3dadd(36.167,493.338,-12.211,0.3)}
{pt3dadd(35.329,511.116,-6.87,0.3)}
{pt3dadd(32.866,518.428,-4.587,0.3)}
{pt3dadd(37.124,533.157,-5.013,0.3)}
{pt3dadd(38.333,542.892,-9.047,0.3)}
{pt3dadd(37.369,557.516,-12.469,0.3)}
{pt3dadd(39.627,566.596,-11.632,0.3)}
{pt3dadd(43.905,574.281,-11.264,0.3)}

{access user5[21]}
{pt3dclear()}
{pt3dadd(43.905,574.281,-11.264,0.3)}
{pt3dadd(43.084,584.222,-10.265,0.3)}
{pt3dadd(43.183,593.628,-7.431,0.3)}
{pt3dadd(44.725,603.213,-7.45,0.3)}

{access user5[22]}
{pt3dclear()}
{pt3dadd(43.905,574.281,-11.264,0.3)}
{pt3dadd(45.945,578.536,-15.135,0.3)}
{pt3dadd(51.7,580.941,-18.823,0.3)}
{pt3dadd(57.457,583.743,-19.943,0.3)}
{pt3dadd(63.632,584.002,-19.697,0.3)}
{pt3dadd(69.495,583.912,-23.487,0.3)}
{pt3dadd(77.027,586.743,-23.445,0.3)}
{pt3dadd(80.867,590.925,-23.607,0.3)}
{pt3dadd(88.302,594.563,-18.918,0.3)}
{pt3dadd(90.727,595.586,-16.84,0.3)}

{access user5[23]}
{pt3dclear()}
{pt3dadd(37.764,480.603,-17.551,0.3)}
{pt3dadd(36.963,496.589,-5.119,0.3)}
{pt3dadd(32.952,506.614,2.687,0.3)}
{pt3dadd(30.878,517.635,12.673,0.3)}
{pt3dadd(27.237,525.719,19.317,0.3)}
{pt3dadd(30.422,535.056,27.123,0.3)}
{pt3dadd(31.262,543.853,33.36,0.3)}
{pt3dadd(36.012,549.582,45.323,0.3)}
{pt3dadd(37.65,558.358,52.926,0.3)}
{pt3dadd(40.589,565.848,56.636,0.3)}
{pt3dadd(43.923,574.567,67.458,0.3)}

{access user5[24]}
{pt3dclear()}
{pt3dadd(11.961,309.867,-58.96,0.4)}
{pt3dadd(11.447,319.761,-56.493,0.3)}
{pt3dadd(7.553,334.628,-56.737,0.3)}
{pt3dadd(7.21,343.406,-51.275,0.3)}
{pt3dadd(9.856,356.195,-42.734,0.3)}
{pt3dadd(11.394,371.928,-33.868,0.3)}
{pt3dadd(9.716,390.724,-29.852,0.3)}
{pt3dadd(6.224,407.613,-30.116,0.3)}
{pt3dadd(4.879,422.988,-27.811,0.3)}
{pt3dadd(5.433,431.333,-23.062,0.3)}
{pt3dadd(0.131,440.561,-21.656,0.3)}
{pt3dadd(-5.237,444.741,-19.374,0.3)}
{pt3dadd(-6.743,459.149,-18.089,0.3)}
{pt3dadd(-9.788,470.913,-15.031,0.3)}
{pt3dadd(-13.74,478.648,-12.423,0.3)}
{pt3dadd(-16.33,486.079,-13.176,0.3)}
{pt3dadd(-20.016,491.494,-14.786,0.3)}
{pt3dadd(-20.454,494.535,-16.131,0.3)}

{access apical_dendrite[0]}
{pt3dclear()}
{pt3dadd(10.128,276.525,-54.012,0.4)}
{pt3dadd(12.363,279.56,-52.34,0.3)}
{pt3dadd(15.611,283.731,-52.889,0.3)}
{pt3dadd(18.078,289.904,-54.233,0.3)}
{pt3dadd(24.813,299.302,-56.371,0.3)}
{pt3dadd(30.636,307.151,-58.367,0.3)}
{pt3dadd(34.271,317.908,-60.322,0.3)}
{pt3dadd(37.46,327.642,-62.215,0.3)}
{pt3dadd(40.151,339.434,-65.984,0.3)}
{pt3dadd(43.916,347.197,-68.061,0.3)}
{pt3dadd(48.114,354.398,-68.203,0.3)}
{pt3dadd(53.379,360.05,-66.062,0.3)}
{pt3dadd(57.9,369.186,-64.165,0.3)}
{pt3dadd(63.103,376.731,-59.395,0.3)}
{pt3dadd(69.972,383.53,-59.088,0.3)}
{pt3dadd(75.409,391.338,-60.492,0.3)}
{pt3dadd(79.569,397.057,-61.184,0.3)}
{pt3dadd(83.624,402.396,-64.933,0.3)}

{access apical_dendrite[1]}
{pt3dclear()}
{pt3dadd(9.006,209.558,-46.703,0.4)}
{pt3dadd(8.851,219.201,-49.942,0.3)}
}

proc shape3d_6() {
{access apical_dendrite[2]}
{pt3dclear()}
{pt3dadd(8.851,219.201,-49.942,0.3)}
{pt3dadd(6.86,233.981,-58.255,0.3)}
{pt3dadd(5.018,241.597,-62.738,0.3)}
{pt3dadd(5.137,253.38,-69.034,0.3)}
{pt3dadd(5.609,264.119,-73.903,0.3)}
{pt3dadd(4.293,273.243,-77.937,0.3)}
{pt3dadd(2.984,283.16,-89.104,0.3)}
{pt3dadd(2.213,292.896,-95.278,0.3)}
{pt3dadd(4.038,295.992,-95.562,0.3)}

{access apical_dendrite[3]}
{pt3dclear()}
{pt3dadd(8.851,219.201,-49.942,0.3)}
{pt3dadd(9.602,226.327,-51.918,0.3)}
{pt3dadd(10.313,238.121,-57.826,0.3)}
{pt3dadd(12.674,243.914,-62.227,0.3)}
{pt3dadd(14.503,250.679,-66.485,0.3)}

{access apical_dendrite[4]}
{pt3dclear()}
{pt3dadd(7.385,186.796,-42.996,0.5)}
{pt3dadd(3.449,196.512,-39.817,0.3)}

{access apical_dendrite[5]}
{pt3dclear()}
{pt3dadd(3.449,196.512,-39.817,0.3)}
{pt3dadd(0.812,207.817,-37.37,0.3)}
{pt3dadd(-2.279,220.183,-36.84,0.3)}
{pt3dadd(-5.028,227.043,-36.045,0.3)}
{pt3dadd(-11.586,233.684,-33.946,0.3)}
{pt3dadd(-13.88,246.028,-32.05,0.3)}
{pt3dadd(-15.188,256.34,-28.381,0.3)}
{pt3dadd(-16.218,269.188,-25.201,0.3)}
{pt3dadd(-17.291,289.579,-22.794,0.3)}
{pt3dadd(-18.116,302.397,-18.636,0.3)}
{pt3dadd(-14.791,309.927,-15.517,0.3)}
{pt3dadd(-13.231,321.889,-12.397,0.3)}
{pt3dadd(-15.32,327.658,-8.709,0.3)}

{access apical_dendrite[6]}
{pt3dclear()}
{pt3dadd(3.449,196.512,-39.817,0.3)}
{pt3dadd(2.046,201.087,-42.955,0.3)}
{pt3dadd(-1.752,208.602,-47.03,0.3)}
{pt3dadd(-4.722,213.512,-47.784,0.3)}
{pt3dadd(-6.936,216.523,-50.291,0.3)}
{pt3dadd(-8.841,219.488,-51.33,0.3)}
{pt3dadd(-10.36,222.494,-52.96,0.3)}
{pt3dadd(-13.214,228.974,-55.222,0.3)}
{pt3dadd(-18.304,238.964,-59.97,0.3)}
{pt3dadd(-22.566,246.35,-61.396,0.3)}
{pt3dadd(-25.638,257.82,-63.454,0.3)}
{pt3dadd(-29.726,261.213,-65.043,0.3)}
{pt3dadd(-32.659,267.605,-65.247,0.3)}

{access apical_dendrite[7]}
{pt3dclear()}
{pt3dadd(7.384,173.706,-41.367,0.5)}
{pt3dadd(10.05,179.056,-46.868,0.3)}
{pt3dadd(12.527,186.419,-52.777,0.3)}
{pt3dadd(14.047,193.231,-58.503,0.3)}
{pt3dadd(14.97,202.513,-64.024,0.3)}
{pt3dadd(16.133,219.395,-71.399,0.3)}
{pt3dadd(18.105,224.751,-77.777,0.3)}
{pt3dadd(20.984,234.135,-83.706,0.3)}
{pt3dadd(23.725,242.449,-88.106,0.3)}
{pt3dadd(25.024,250.584,-89.654,0.3)}
{pt3dadd(26.665,259.757,-91.752,0.3)}
{pt3dadd(29.699,266.044,-95.256,0.3)}

{access apical_dendrite[8]}
{pt3dclear()}
{pt3dadd(4.084,133.743,-35.299,0.4)}
{pt3dadd(-1.636,138.968,-34.443,0.3)}
{pt3dadd(-5.972,149.936,-37.785,0.3)}
{pt3dadd(-8.914,158.412,-39.965,0.3)}
{pt3dadd(-10.131,163.851,-39.536,0.3)}
{pt3dadd(-12.064,179.612,-35.052,0.3)}
{pt3dadd(-12.276,191.94,-30.527,0.3)}
{pt3dadd(-10.853,202.831,-25.879,0.3)}
{pt3dadd(-11.79,211.203,-23.372,0.3)}
{pt3dadd(-8.269,220.787,-21.251,0.3)}
{pt3dadd(-5.22,232.326,-18.458,0.3)}
{pt3dadd(-9.968,240.082,-17.214,0.3)}
{pt3dadd(-11.929,255.55,-17.845,0.3)}
{pt3dadd(-13.825,262.976,-17.722,0.3)}

{access apical_dendrite[9]}
{pt3dclear()}
{pt3dadd(4.339,130.234,-34.953,0.4)}
{pt3dadd(5.681,140.642,-30.815,0.3)}
{pt3dadd(7.789,153.612,-27.267,0.3)}
{pt3dadd(11.092,161.642,-24.128,0.3)}
{pt3dadd(12.366,173.151,-22.496,0.3)}
{pt3dadd(16.231,190.319,-21.74,0.3)}
{pt3dadd(19.249,204.441,-20.903,0.3)}
{pt3dadd(21.09,216.064,-21.431,0.3)}
{pt3dadd(23.363,227.125,-20.024,0.3)}
{pt3dadd(25.798,239.153,-17.597,0.3)}
{pt3dadd(27.713,247.195,-16.21,0.3)}
{pt3dadd(27.219,256.194,-16.332,0.3)}

{access apical_dendrite[10]}
{pt3dclear()}
{pt3dadd(4.703,124.229,-34.709,0.4)}
{pt3dadd(1.577,132.237,-37.887,0.3)}
{pt3dadd(-4.329,136.598,-40.598,0.3)}
{pt3dadd(-10.044,145.493,-43.716,0.3)}
{pt3dadd(-15.735,151.012,-50.013,0.3)}
{pt3dadd(-19.869,155.007,-54.13,0.3)}
{pt3dadd(-25.389,159.41,-57.431,0.3)}
{pt3dadd(-28.393,166.507,-62.709,0.3)}
{pt3dadd(-32.919,172.941,-65.644,0.3)}
{pt3dadd(-35.944,180.538,-70.901,0.3)}
{pt3dadd(-40.166,186.53,-74.936,0.3)}
{pt3dadd(-44.738,196.839,-86.938,0.3)}
{pt3dadd(-47.716,207.107,-96.21,0.3)}

{access apical_dendrite[11]}
{pt3dclear()}
{pt3dadd(6.097,115.193,-32.733,0.4)}
{pt3dadd(8.317,116.246,-31.632,0.3)}
{pt3dadd(12.038,118.462,-32.854,0.3)}
{pt3dadd(16.282,121.789,-36.195,0.3)}
{pt3dadd(17.301,126.991,-39.822,0.3)}
{pt3dadd(18.787,132.718,-43.53,0.3)}
{pt3dadd(21.503,137.862,-43.937,0.3)}
{pt3dadd(23.602,143.099,-47.278,0.3)}
{pt3dadd(25.396,148.779,-49.519,0.3)}
{pt3dadd(32.243,156.077,-49.191,0.3)}
{pt3dadd(34.85,163.716,-49.496,0.3)}
{pt3dadd(38.907,169.451,-50.676,0.3)}
{pt3dadd(42.703,174.631,-50.798,0.3)}
{pt3dadd(45.2,178.221,-50.186,0.3)}
{pt3dadd(47.462,184.425,-52.508,0.3)}
{pt3dadd(48.402,189.539,-54.076,0.3)}
{pt3dadd(50.277,195.703,-55.808,0.3)}
{pt3dadd(51.978,199.314,-56.561,0.3)}
{pt3dadd(55.805,205.184,-61.267,0.3)}
{pt3dadd(60.09,210.388,-61.49,0.3)}
{pt3dadd(65.452,215.233,-63.996,0.3)}
{pt3dadd(68.059,222.873,-64.3,0.3)}
{pt3dadd(69.797,227.966,-64.504,0.3)}

{access apical_dendrite[12]}
{pt3dclear()}
{pt3dadd(5.793,86.58,-31.533,0.6)}
{pt3dadd(6.346,94.53,-41.62,0.3)}
{pt3dadd(6.127,102.398,-50.524,0.3)}
{pt3dadd(7.769,108.3,-58.349,0.3)}
{pt3dadd(8.25,113.682,-66.968,0.3)}
{pt3dadd(7.62,121.613,-77.83,0.3)}
{pt3dadd(6.071,130.475,-87.957,0.3)}
{pt3dadd(6.272,139.47,-99.47,0.3)}
{pt3dadd(5.642,147.4,-110.331,0.3)}
{pt3dadd(-2.909,152.062,-123.211,0.3)}
{pt3dadd(-7.887,156.681,-131.22,0.3)}
{pt3dadd(-12.839,157.925,-142.408,0.3)}
{pt3dadd(-18.734,160.203,-155.41,0.3)}
{pt3dadd(-23.507,164.791,-162.441,0.3)}

{access apical_dendrite[13]}
{pt3dclear()}
{pt3dadd(7.516,57.363,-25.667,1.1)}
{pt3dadd(11.334,58.771,-31.535,0.3)}

{access apical_dendrite[14]}
{pt3dclear()}
{pt3dadd(11.334,58.771,-31.535,0.3)}
{pt3dadd(16.637,62.633,-34.571,0.3)}
{pt3dadd(23.338,64.4,-33.877,0.3)}
{pt3dadd(30.608,66.675,-32.775,0.3)}
{pt3dadd(33.252,75.797,-32.529,0.3)}
{pt3dadd(31.618,83.778,-33.466,0.3)}

{access apical_dendrite[15]}
{pt3dclear()}
{pt3dadd(31.618,83.778,-33.466,0.3)}
{pt3dadd(36.17,87.059,-35.34,0.3)}
{pt3dadd(42.258,89.314,-35.013,0.3)}
{pt3dadd(48.964,88.601,-34.91,0.3)}
{pt3dadd(56.312,87.691,-29.326,0.3)}
{pt3dadd(60.574,90.122,-22.987,0.3)}
{pt3dadd(62.656,90.105,-20.358,0.3)}

{access apical_dendrite[16]}
{pt3dclear()}
{pt3dadd(31.618,83.778,-33.466,0.3)}
{pt3dadd(32.057,93.827,-33.75,0.3)}
{pt3dadd(33.359,102.357,-32.73,0.3)}
{pt3dadd(35.166,112.894,-31.242,0.3)}
{pt3dadd(36.081,121.383,-29.631,0.3)}
{pt3dadd(39.419,130.499,-28.508,0.3)}
{pt3dadd(41.612,141.076,-27.61,0.3)}
{pt3dadd(44.234,150.697,-27.344,0.3)}
{pt3dadd(47.127,158.789,-26.161,0.3)}
{pt3dadd(48.55,166.408,-27.24,0.3)}

{access apical_dendrite[17]}
{pt3dclear()}
{pt3dadd(11.334,58.771,-31.535,0.3)}
{pt3dadd(10.787,61.036,-38.505,0.3)}
{pt3dadd(11.8,65.446,-47.267,0.3)}
{pt3dadd(9.363,66.112,-53.89,0.3)}
{pt3dadd(4.791,69.876,-65.078,0.3)}
{pt3dadd(-0.738,66.546,-75.268,0.3)}
{pt3dadd(-3.281,63.558,-78.407,0.3)}
{pt3dadd(-4.831,52.785,-86.091,0.3)}
{pt3dadd(-8.219,43.876,-92.308,0.3)}
{pt3dadd(-12.023,37.509,-99.89,0.3)}
{pt3dadd(-15.093,33.013,-103.477,0.3)}
{pt3dadd(-17.166,30.946,-104.13,0.3)}
}
proc shape3d_7() {
  {access apical_dendrite[18]}
{pt3dclear()}
{pt3dadd(7.719,34.424,-15.704,1.2)}
{pt3dadd(7.881,35.391,-14.685,0.3)}

{access apical_dendrite[19]}
{pt3dclear()}
{pt3dadd(7.881,35.391,-14.685,0.3)}
{pt3dadd(10.948,39.49,-13.665,0.3)}
{pt3dadd(12.838,41.089,-14.011,0.3)}

{access apical_dendrite[20]}
{pt3dclear()}
{pt3dadd(12.838,41.089,-14.011,0.3)}
{pt3dadd(20.398,40.942,-14.581,0.3)}
{pt3dadd(27.805,44.288,-15.008,0.3)}
{pt3dadd(33.236,48.031,-15.007,0.3)}
{pt3dadd(39.834,49.813,-14.802,0.3)}
{pt3dadd(45.473,50.649,-16.981,0.3)}
{pt3dadd(54.428,51.283,-22.931,0.3)}
{pt3dadd(58.324,56.051,-25.13,0.3)}
{pt3dadd(58.77,57.075,-25.192,0.3)}

{access apical_dendrite[21]}
{pt3dclear()}
{pt3dadd(12.838,41.089,-14.011,0.3)}
{pt3dadd(11.931,46.878,-9.548,0.3)}
{pt3dadd(20.372,54.133,-6.489,0.3)}
{pt3dadd(25.111,58.278,-4.797,0.3)}
{pt3dadd(30.996,60.961,-2.88,0.3)}
{pt3dadd(35.088,67.782,-6.079,0.3)}
{pt3dadd(36.518,72.921,-7.749,0.3)}

{access apical_dendrite[22]}
{pt3dclear()}
{pt3dadd(36.518,72.921,-7.749,0.3)}
{pt3dadd(38.315,78.997,-7.422,0.3)}
{pt3dadd(38.804,85.568,-8.338,0.3)}
{pt3dadd(39.811,95.729,-10.783,0.3)}
{pt3dadd(40.468,107.332,-12.086,0.3)}
{pt3dadd(40.681,117.911,-13.328,0.3)}
{pt3dadd(42.163,126.513,-13.877,0.3)}
{pt3dadd(42.563,134.684,-17.279,0.3)}
{pt3dadd(43.329,143.791,-18.684,0.3)}
{pt3dadd(44.88,151.292,-16.727,0.3)}
{pt3dadd(48.268,156.93,-16.237,0.3)}
{pt3dadd(50.146,163.489,-15.4,0.3)}

{access apical_dendrite[23]}
{pt3dclear()}
{pt3dadd(36.518,72.921,-7.749,0.3)}
{pt3dadd(43.375,74.863,-11.171,0.3)}
{pt3dadd(48.092,79.507,-9.459,0.3)}
{pt3dadd(53.301,84.572,-5.28,0.3)}
{pt3dadd(60.437,86.173,-0.082,0.3)}
{pt3dadd(64.144,90.076,6.42,0.3)}
{pt3dadd(68.519,93.681,8.682,0.3)}
{pt3dadd(70.951,98.768,9.356,0.3)}
{pt3dadd(74.993,102.522,7.604,0.3)}
{pt3dadd(80.84,103.723,8.97,0.3)}
{pt3dadd(84.573,104.251,12.293,0.3)}
{pt3dadd(87.562,108.263,15.371,0.3)}
{pt3dadd(90.98,111.317,17.817,0.3)}
{pt3dadd(96.423,113.372,22.362,0.3)}
{pt3dadd(101.865,115.427,26.907,0.3)}

{access apical_dendrite[24]}
{pt3dclear()}
{pt3dadd(7.881,35.391,-14.685,0.3)}
{pt3dadd(7.572,38.709,-10.426,0.3)}
{pt3dadd(16.427,43.027,-8.57,0.3)}
{pt3dadd(18.426,51.947,-4.106,0.3)}
{pt3dadd(22.144,57.039,-2.169,0.3)}
{pt3dadd(25.316,61.519,1.908,0.3)}
{pt3dadd(28.386,66.014,5.495,0.3)}
{pt3dadd(31.755,72.547,8.574,0.3)}
{pt3dadd(36.164,77.237,8.819,0.3)}
{pt3dadd(44.375,78.082,9.167,0.3)}
{pt3dadd(48.071,83.673,11.124,0.3)}
{pt3dadd(54.292,89.875,13.082,0.3)}
{pt3dadd(61.833,97.167,14.286,0.3)}
{pt3dadd(65.669,104.224,17.283,0.3)}
{pt3dadd(68.611,112.11,23.561,0.3)}

{access user5[25]}
{pt3dclear()}
{pt3dadd(3.692,26.105,-12.567,2)}
{pt3dadd(5.352,27.839,-16.439,0.8)}
{pt3dadd(6.187,32.573,-21.064,0.8)}

{access user5[26]}
{pt3dclear()}
{pt3dadd(6.187,32.573,-21.064,0.8)}
{pt3dadd(6.519,41.845,-26.973,0.8)}

{access user5[27]}
{pt3dclear()}
{pt3dadd(6.519,41.845,-26.973,0.8)}
{pt3dadd(6.205,57.462,-29.478,0.6)}

{access user5[28]}
{pt3dclear()}
{pt3dadd(6.205,57.462,-29.478,0.6)}
{pt3dadd(6.623,61.464,-28.927,0.6)}
{pt3dadd(6.045,69.584,-32.126,0.6)}
{pt3dadd(6.154,73.634,-33.043,0.6)}

{access user5[29]}
{pt3dclear()}
{pt3dadd(6.154,73.634,-33.043,0.6)}
{pt3dadd(4.636,89.73,-36.302,0.6)}
{pt3dadd(2.871,100.706,-37.116,0.6)}
{pt3dadd(1.389,105.193,-38.196,0.6)}
{pt3dadd(1.757,109.402,-42.74,0.6)}
{pt3dadd(1.991,112.937,-43.188,0.6)}

{access user5[30]}
{pt3dclear()}
{pt3dadd(1.991,112.937,-43.188,0.6)}
{pt3dadd(3.415,120.557,-44.267,0.6)}
{pt3dadd(5.255,125.634,-43.981,0.6)}

{access user5[31]}
{pt3dclear()}
{pt3dadd(5.255,125.634,-43.981,0.6)}
{pt3dadd(5.028,132.709,-45.753,0.6)}
{pt3dadd(5.723,139.249,-45.691,0.6)}

{access user5[32]}
{pt3dclear()}
{pt3dadd(5.723,139.249,-45.691,0.6)}
{pt3dadd(5.132,145.784,-46.893,0.6)}

{access user5[33]}
{pt3dclear()}
{pt3dadd(5.132,145.784,-46.893,0.6)}
{pt3dadd(3.265,163.32,-49.011,0.6)}

{access user5[34]}
{pt3dclear()}
{pt3dadd(3.265,163.32,-49.011,0.6)}
{pt3dadd(3.826,172.458,-51.394,0.6)}
}
proc shape3d_8() {
{access user5[35]}
{pt3dclear()}
{pt3dadd(3.826,172.458,-51.394,0.6)}
{pt3dadd(5.639,180.515,-50.496,0.6)}
{pt3dadd(5.873,197.14,-52.573,0.6)}
{pt3dadd(6.97,205.701,-52.532,0.6)}
{pt3dadd(6.08,216.744,-54.038,0.6)}
{pt3dadd(5.738,222.249,-54.303,0.6)}

{access user5[36]}
{pt3dclear()}
{pt3dadd(5.738,222.249,-54.303,0.6)}
{pt3dadd(8.295,233.367,-53.975,0.6)}
{pt3dadd(9.451,249.456,-54.218,0.6)}

{access user5[37]}
{pt3dclear()}
{pt3dadd(9.451,249.456,-54.218,0.6)}
{pt3dadd(13.014,264.191,-55.52,0.4)}
{pt3dadd(14.992,276.883,-57.577,0.4)}
{pt3dadd(17.197,289.046,-58.676,0.4)}

{access user5[38]}
{pt3dclear()}
{pt3dadd(17.197,289.046,-58.676,0.4)}
{pt3dadd(17.892,302.13,-59.429,0.4)}
{pt3dadd(19.851,309.173,-58.083,0.4)}
{pt3dadd(21.436,317.76,-58.143,0.4)}
{pt3dadd(23.707,328.425,-59.303,0.4)}
{pt3dadd(25.788,341.103,-60.871,0.4)}
{pt3dadd(28.678,355.344,-63.07,0.4)}
{pt3dadd(32.686,371.102,-64.433,0.4)}
{pt3dadd(36.134,384.267,-64.227,0.4)}
{pt3dadd(37.054,402.971,-67.404,0.4)}
{pt3dadd(39.844,417.623,-67.525,0.4)}
{pt3dadd(43.176,429.219,-65.812,0.4)}
{pt3dadd(45.247,440.707,-62.814,0.4)}
{pt3dadd(49.289,454.278,-59.654,0.4)}
{pt3dadd(52.59,461.912,-59.082,0.4)}

{access user5[39]}
{pt3dclear()}
{pt3dadd(52.59,461.912,-59.082,0.4)}
{pt3dadd(50.254,469.106,-53.763,0.4)}
{pt3dadd(46.327,476.738,-48.607,0.4)}
{pt3dadd(39.714,482.792,-44.47,0.4)}
{pt3dadd(32.836,487.894,-41.842,0.4)}
{pt3dadd(26.163,492.965,-38.235,0.4)}

{access user5[40]}
{pt3dclear()}
{pt3dadd(26.163,492.965,-38.235,0.4)}
{pt3dadd(21.62,500.691,-36.014,0.4)}
{pt3dadd(12.672,507.394,-38.012,0.4)}
{pt3dadd(5.878,510.104,-38.033,0.4)}
{pt3dadd(-3.02,513.33,-40.662,0.4)}
{pt3dadd(-7.784,519.105,-39.99,0.4)}
{pt3dadd(-15.303,527.676,-37.117,0.4)}
{pt3dadd(-17.113,539.649,-25.622,0.4)}
{pt3dadd(-20.193,543.782,-19.733,0.4)}
{pt3dadd(-23.712,550.955,-15.188,0.4)}
{pt3dadd(-28.612,555.661,-12.988,0.4)}
{pt3dadd(-38.048,559.462,-5.774,0.4)}
{pt3dadd(-51.779,559.746,-2.882,0.4)}

{access user5[41]}
{pt3dclear()}
{pt3dadd(26.163,492.965,-38.235,0.4)}
{pt3dadd(28.631,496.261,-30.47,0.4)}
{pt3dadd(25.931,502.915,-24.581,0.4)}
{pt3dadd(21.416,510.933,-17.244,0.4)}
{pt3dadd(18.906,515.575,-10.947,0.4)}
{pt3dadd(19.366,521.851,-4.711,0.4)}
{pt3dadd(17.707,533.208,-2.468,0.4)}
{pt3dadd(19.603,542.144,1.507,0.4)}

{access user5[42]}
{pt3dclear()}
{pt3dadd(52.59,461.912,-59.082,0.4)}
{pt3dadd(54.764,470.113,-61.323,0.4)}
{pt3dadd(61.786,479.963,-61.973,0.4)}
{pt3dadd(65.055,483.635,-62.543,0.4)}
{pt3dadd(71.648,491.17,-68.288,0.4)}
{pt3dadd(78.063,495.758,-75.623,0.4)}
{pt3dadd(86.618,500.915,-82.366,0.4)}
{pt3dadd(90.218,507.314,-88.03,0.4)}

{access user5[43]}
{pt3dclear()}
{pt3dadd(90.218,507.314,-88.03,0.4)}
{pt3dadd(92.747,511.594,-92.003,0.4)}
{pt3dadd(98.835,517.123,-98.218,0.4)}

{access user5[44]}
{pt3dclear()}
{pt3dadd(90.218,507.314,-88.03,0.4)}
{pt3dadd(90.138,510.104,-95.081,0.4)}
{pt3dadd(90.025,515.081,-106.656,0.4)}
{pt3dadd(90.525,519.568,-117.863,0.4)}
{pt3dadd(92.008,524.899,-124.139,0.4)}
{pt3dadd(96.847,528.632,-124.525,0.4)}
{pt3dadd(100.194,532.392,-127.153,0.4)}
{pt3dadd(104.23,538.626,-128.314,0.4)}
{pt3dadd(105.304,541.141,-127.437,0.4)}

{access apical_dendrite[25]}
{pt3dclear()}
{pt3dadd(17.197,289.046,-58.676,0.4)}
{pt3dadd(16.317,294.733,-63.933,0.4)}
{pt3dadd(18.523,303.623,-70.759,0.4)}
{pt3dadd(18.847,308.831,-75.262,0.4)}
{pt3dadd(18.827,312.603,-81.783,0.4)}
{pt3dadd(18.214,316.365,-88.691,0.4)}
{pt3dadd(21.279,316.797,-95.965,0.4)}
{pt3dadd(23.236,320.172,-102.914,0.4)}
{pt3dadd(26.664,324.415,-105.032,0.4)}
{pt3dadd(31.6,327.341,-110.065,0.4)}
{pt3dadd(32.928,329.224,-117.951,0.4)}
{pt3dadd(33.529,330.423,-122.128,0.4)}

{access user5[45]}
{pt3dclear()}
{pt3dadd(9.451,249.456,-54.218,0.6)}
{pt3dadd(3.502,277.722,-53.605,0.4)}
{pt3dadd(-2.07,301.569,-54.744,0.4)}
{pt3dadd(-5.765,325.43,-54.233,0.4)}
{pt3dadd(-8.221,343.352,-54.17,0.4)}
{pt3dadd(-9.842,356.19,-51.378,0.4)}
{pt3dadd(-10.909,380.647,-50.377,0.4)}
{pt3dadd(-11.173,402.602,-48.602,0.4)}
{pt3dadd(-13.174,419.464,-46.624,0.4)}
{pt3dadd(-11.536,431.513,-45.562,0.4)}
{pt3dadd(-18.109,442.718,-44.849,0.4)}
{pt3dadd(-23.831,457.364,-41.649,0.4)}
{pt3dadd(-30.812,469.027,-40.324,0.4)}
{pt3dadd(-38.175,477.773,-41.567,0.4)}
{pt3dadd(-44.704,487.979,-40.894,0.4)}
{pt3dadd(-49.74,501.432,-44.521,0.4)}
{pt3dadd(-55.908,511.783,-46.987,0.4)}
{pt3dadd(-61.534,519.076,-47.618,0.4)}
{pt3dadd(-68.67,527.292,-47.904,0.4)}
{pt3dadd(-70.573,533.925,-40.649,0.4)}
{pt3dadd(-74.621,542.467,-33.394,0.4)}
{pt3dadd(-74.052,546.248,-27.259,0.4)}

{access apical_dendrite[26]}
{pt3dclear()}
{pt3dadd(5.738,222.249,-54.303,0.6)}
{pt3dadd(3.578,235.268,-56.503,0.4)}
{pt3dadd(-3.277,249.69,-61.25,0.4)}
{pt3dadd(-9.758,262.567,-64.592,0.4)}
{pt3dadd(-14.883,271.471,-67.323,0.4)}
{pt3dadd(-17.071,280.924,-68.096,0.4)}
{pt3dadd(-22.248,292.911,-72.762,0.4)}
{pt3dadd(-27.823,303.271,-74.841,0.4)}
{pt3dadd(-32.204,302.147,-76.513,0.4)}
{pt3dadd(-34.81,301.052,-77.022,0.4)}

{access apical_dendrite[27]}
{pt3dclear()}
{pt3dadd(3.826,172.458,-51.394,0.6)}
{pt3dadd(1.24,183.559,-56.121,0.4)}
{pt3dadd(-3.528,201.632,-62.213,0.4)}
{pt3dadd(-4.24,218.896,-68.671,0.4)}
{pt3dadd(-6.919,241.018,-73.54,0.4)}
{pt3dadd(-10.65,260.125,-79.306,0.4)}
{pt3dadd(-16.25,270.588,-83.931,0.4)}
{pt3dadd(-15.645,282.001,-92.897,0.4)}
{pt3dadd(-16.55,291.063,-94.974,0.4)}

{access apical_dendrite[28]}
{pt3dclear()}
{pt3dadd(3.265,163.32,-49.011,0.6)}
{pt3dadd(2.714,165.188,-46.28,0.4)}
{pt3dadd(1.387,176.395,-40.023,0.4)}
{pt3dadd(-0.161,185.651,-35.315,0.4)}
{pt3dadd(-3.564,194.395,-32.278,0.4)}
{pt3dadd(-6.248,199.758,-31.544,0.4)}
{pt3dadd(-7.474,210.553,-27.366,0.4)}
{pt3dadd(-9.903,218.951,-27.1,0.4)}
{pt3dadd(-12.81,231.785,-25.571,0.4)}
{pt3dadd(-14.018,241.685,-23.98,0.4)}
{pt3dadd(-15.556,255.403,-18.11,0.4)}
{pt3dadd(-15.78,272.691,-12.403,0.4)}
{pt3dadd(-16.403,278.536,-9.019,0.4)}

{access apical_dendrite[29]}
{pt3dclear()}
{pt3dadd(5.132,145.784,-46.893,0.6)}
{pt3dadd(6.775,152.08,-39.882,0.4)}
{pt3dadd(8.883,158.505,-35.52,0.4)}
{pt3dadd(10.014,171.424,-31.769,0.4)}
{pt3dadd(11.209,182.846,-28.079,0.4)}
{pt3dadd(10.434,192.185,-24.553,0.4)}
{pt3dadd(7.439,200.47,-22.127,0.4)}
{pt3dadd(1.778,206.678,-20.742,0.4)}
{pt3dadd(-1.706,214.938,-18.214,0.4)}
{pt3dadd(-6.986,223.667,-16.828,0.4)}
{pt3dadd(-11.613,230.513,-17.684,0.4)}
{pt3dadd(-15.038,239.755,-14.627,0.4)}
{pt3dadd(-16.641,245.153,-13.608,0.4)}

{access apical_dendrite[30]}
{pt3dclear()}
{pt3dadd(5.723,139.249,-45.691,0.6)}
{pt3dadd(9.223,139.515,-48.462,0.4)}
{pt3dadd(11.509,135.799,-53.149,0.4)}
{pt3dadd(13.892,141.093,-57.57,0.4)}
{pt3dadd(17.966,145.537,-63.907,0.4)}
{pt3dadd(17.89,151.996,-74.931,0.4)}
{pt3dadd(20.285,158.875,-81.35,0.4)}
{pt3dadd(24.378,162.424,-90.274,0.4)}
{pt3dadd(22.303,166.507,-106.577,0.4)}
{pt3dadd(22.856,167.912,-115.849,0.4)}

{access apical_dendrite[31]}
{pt3dclear()}
{pt3dadd(5.255,125.634,-43.981,0.6)}
{pt3dadd(9.901,134.255,-41.615,0.4)}
{pt3dadd(13.728,143.397,-40.595,0.4)}
{pt3dadd(18.567,147.13,-40.981,0.4)}
{pt3dadd(24.286,151.721,-36.925,0.4)}
{pt3dadd(33.07,160.016,-34.416,0.4)}
{pt3dadd(38.706,163.728,-33.437,0.4)}
{pt3dadd(46.797,165.879,-28.422,0.4)}
{pt3dadd(54.168,167.744,-29.399,0.4)}
{pt3dadd(59.62,167.716,-35.145,0.4)}
{pt3dadd(63.88,166.479,-37.101,0.4)}
{pt3dadd(69.179,166.672,-36.163,0.4)}
{pt3dadd(73.009,166.392,-37.487,0.4)}
{pt3dadd(77.59,166.694,-39.973,0.4)}
{pt3dadd(80.34,172.923,-42.397,0.4)}

{access apical_dendrite[32]}
{pt3dclear()}
{pt3dadd(1.991,112.937,-43.188,0.6)}
{pt3dadd(4.437,122.883,-51.052,0.4)}
{pt3dadd(5.634,127.761,-58.816,0.4)}
{pt3dadd(5.532,131.049,-65.846,0.4)}
{pt3dadd(4.926,132.331,-73.346,0.4)}
{pt3dadd(1.673,133.913,-78.746,0.4)}
{pt3dadd(1.36,139.713,-86.163,0.4)}
{pt3dadd(0.069,145.462,-93.377,0.4)}
{pt3dadd(-3.264,159.65,-100.916,0.4)}
{pt3dadd(-2.612,170.461,-107.354,0.4)}
{pt3dadd(-1.835,180.757,-113.324,0.4)}
{pt3dadd(-1.159,184.919,-116.401,0.4)}
{pt3dadd(-2.173,186.659,-123.289,0.4)}
{pt3dadd(-1.558,189.443,-129.463,0.4)}
{pt3dadd(0.606,193.183,-132.866,0.4)}
{pt3dadd(4.085,193.949,-135.616,0.4)}

{access apical_dendrite[33]}
{pt3dclear()}
{pt3dadd(6.154,73.634,-33.043,0.6)}
{pt3dadd(6.5,71.797,-36.752,0.4)}
{pt3dadd(14.415,67.728,-39.054,0.4)}
{pt3dadd(22.522,62.044,-38.381,0.4)}
{pt3dadd(30.814,56.827,-36.709,0.4)}
{pt3dadd(36.384,55.492,-34.854,0.4)}
{pt3dadd(45.522,53.321,-33.264,0.4)}
{pt3dadd(51.705,51.496,-31.042,0.4)}
{pt3dadd(58.928,51.101,-25.926,0.4)}
{pt3dadd(64.009,49.74,-23.969,0.4)}
{pt3dadd(67.431,49.918,-24.682,0.4)}

{access apical_dendrite[34]}
{pt3dclear()}
{pt3dadd(6.205,57.462,-29.478,0.6)}
{pt3dadd(4.877,61.728,-37.242,0.4)}

{access apical_dendrite[35]}
{pt3dclear()}
{pt3dadd(4.877,61.728,-37.242,0.4)}
{pt3dadd(-0.941,67.366,-46.576,0.4)}
{pt3dadd(-2.904,72.622,-54.686,0.4)}
{pt3dadd(-4.635,78.139,-56.703,0.4)}
{pt3dadd(-6.371,86.136,-58.129,0.4)}
{pt3dadd(-9.73,97.154,-61.674,0.4)}
{pt3dadd(-14.462,110.164,-66.401,0.4)}
{pt3dadd(-19.252,122.192,-71.658,0.4)}
{pt3dadd(-21.175,129.325,-76.651,0.4)}
{pt3dadd(-22.865,133.447,-81.276,0.4)}
{pt3dadd(-26.174,140.987,-85.454,0.4)}
{pt3dadd(-29.358,148.013,-89.162,0.4)}
{pt3dadd(-32.786,153.587,-94.399,0.4)}
{pt3dadd(-37.057,156.512,-96.988,0.4)}
{pt3dadd(-40.889,162.941,-99.046,0.4)}
{pt3dadd(-45.372,168.377,-102.021,0.4)}
{pt3dadd(-48.233,170.792,-102.877,0.4)}

{access apical_dendrite[36]}
{pt3dclear()}
{pt3dadd(4.877,61.728,-37.242,0.4)}
{pt3dadd(4.548,59.002,-44.416,0.4)}
{pt3dadd(-0.89,60.616,-52.934,0.4)}
{pt3dadd(-3.585,70.94,-63.286,0.4)}
{pt3dadd(-8.008,80.632,-72.272,0.4)}
{pt3dadd(-10.304,89.309,-78.671,0.4)}
{pt3dadd(-14.491,96.387,-84.723,0.4)}
{pt3dadd(-18.99,99.842,-88.269,0.4)}
{pt3dadd(-26.898,98.158,-92.285,0.4)}
{pt3dadd(-30.456,100.183,-96.585,0.4)}
{pt3dadd(-33.51,104.213,-100.416,0.4)}
{pt3dadd(-33.633,108.001,-107.426,0.4)}
{pt3dadd(-34.622,116.183,-112.581,0.4)}
{pt3dadd(-36.452,125.385,-119.061,0.4)}
{pt3dadd(-36.781,125.93,-120.508,0.4)}
}
proc shape3d_9() {
  {access apical_dendrite[37]}
{pt3dclear()}
{pt3dadd(6.519,41.845,-26.973,0.8)}
{pt3dadd(10.738,38.73,-32.047,0.4)}
{pt3dadd(14.192,39.599,-37.345,0.4)}
{pt3dadd(14.15,43.87,-43.845,0.4)}
{pt3dadd(16.492,47.286,-51.384,0.4)}
{pt3dadd(17.468,50.214,-60.697,0.4)}
{pt3dadd(18.232,49.109,-69.582,0.4)}
{pt3dadd(22.505,49.457,-73.535,0.4)}
{pt3dadd(21.314,54.794,-82.827,0.4)}
{pt3dadd(19.957,62.04,-89.979,0.4)}
{pt3dadd(23.835,64.431,-95.318,0.4)}
{pt3dadd(25.283,62.131,-98.762,0.4)}
{pt3dadd(26.862,56.836,-102.328,0.4)}
{pt3dadd(30.197,49.194,-107.872,0.4)}
{pt3dadd(34.036,43.558,-112.946,0.4)}
{pt3dadd(39.841,42.486,-117.265,0.4)}
{pt3dadd(41.311,39.686,-120.73,0.4)}
{pt3dadd(45.711,36.644,-127.373,0.4)}

{access apical_dendrite[38]}
{pt3dclear()}
{pt3dadd(6.187,32.573,-21.064,0.8)}
{pt3dadd(0.336,33.853,-34.107,0.4)}
{pt3dadd(-7.298,34.31,-41.179,0.4)}
{pt3dadd(-13.727,34.288,-47.498,0.4)}
{pt3dadd(-18.584,34.723,-51.064,0.4)}
{pt3dadd(-23.244,37.211,-55.63,0.4)}
{pt3dadd(-26.646,39.411,-64.046,0.4)}
{pt3dadd(-32.623,37.933,-71.016,0.4)}
{pt3dadd(-37.256,37.442,-76.193,0.4)}
{pt3dadd(-41.951,38.844,-78.741,0.4)}
{pt3dadd(-47.527,42.659,-80.005,0.4)}
{pt3dadd(-52.318,48.142,-84.447,0.4)}
{pt3dadd(-56.231,50.815,-92.742,0.4)}
{pt3dadd(-58.792,51.996,-99.834,0.4)}
{pt3dadd(-61.827,55.131,-106.253,0.4)}
{pt3dadd(-65.217,62.188,-110.94,0.4)}
{pt3dadd(-66.574,66.161,-111.551,0.4)}

{access user5[46]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-3.646,12.236,0.289,2.2)}
{pt3dadd(-4.985,18.586,2.817,1)}
{pt3dadd(-5.244,24.971,5.629,1)}

{access user5[47]}
{pt3dclear()}
{pt3dadd(-5.244,24.971,5.629,1)}
{pt3dadd(-12.034,34.622,7.362,1)}
{pt3dadd(-14.186,39.012,7.953,1)}

{access user5[48]}
{pt3dclear()}
{pt3dadd(-14.186,39.012,7.953,1)}
{pt3dadd(-15.101,46.884,10.44,0.6)}
{pt3dadd(-16.439,59.779,12.152,0.6)}

{access user5[49]}
{pt3dclear()}
{pt3dadd(-16.439,59.779,12.152,0.6)}
{pt3dadd(-18.684,68.645,13.416,0.6)}
{pt3dadd(-21.636,75.932,15.801,0.6)}

{access user5[50]}
{pt3dclear()}
{pt3dadd(-21.636,75.932,15.801,0.6)}
{pt3dadd(-23.7,84.871,15.496,0.6)}
{pt3dadd(-26.324,97.761,15.945,0.6)}

{access user5[51]}
{pt3dclear()}
{pt3dadd(-26.324,97.761,15.945,0.6)}
{pt3dadd(-26.467,105.716,17.25,0.6)}
{pt3dadd(-27.463,113.105,19.228,0.6)}

{access user5[52]}
{pt3dclear()}
{pt3dadd(-27.463,113.105,19.228,0.6)}
{pt3dadd(-28.365,122.563,19.718,0.6)}

{access user5[53]}
{pt3dclear()}
{pt3dadd(-28.365,122.563,19.718,0.6)}
{pt3dadd(-28.076,136.501,22.144,0.6)}

{access user5[54]}
{pt3dclear()}
{pt3dadd(-28.076,136.501,22.144,0.6)}
{pt3dadd(-30.482,144.4,22.389,0.6)}

{access user5[55]}
{pt3dclear()}
{pt3dadd(-30.482,144.4,22.389,0.6)}
{pt3dadd(-31.618,156.868,22.512,0.4)}
{pt3dadd(-32.701,172.798,23.757,0.4)}
{pt3dadd(-33.083,186.243,25.287,0.4)}
{pt3dadd(-33.525,192.161,27.101,0.4)}

{access user5[56]}
{pt3dclear()}
{pt3dadd(-33.525,192.161,27.101,0.4)}
{pt3dadd(-33.288,202.636,28.406,0.4)}

{access user5[57]}
{pt3dclear()}
{pt3dadd(-33.288,202.636,28.406,0.4)}
{pt3dadd(-33.066,217.676,28.326,0.4)}

{access user5[58]}
{pt3dclear()}
{pt3dadd(-33.066,217.676,28.326,0.4)}
{pt3dadd(-33.736,224.123,29.183,0.4)}

{access user5[59]}
{pt3dclear()}
{pt3dadd(-33.736,224.123,29.183,0.4)}
{pt3dadd(-34.293,235.016,31.69,0.4)}
{pt3dadd(-35.027,242.961,32.608,0.4)}

{access user5[60]}
{pt3dclear()}
{pt3dadd(-35.027,242.961,32.608,0.4)}
{pt3dadd(-34.725,251.939,33.852,0.4)}
{pt3dadd(-35.347,264.329,36.421,0.4)}
{pt3dadd(-34.556,279.878,36.748,0.4)}
{pt3dadd(-34.851,291.326,38.196,0.4)}

{access user5[61]}
{pt3dclear()}
{pt3dadd(-34.851,291.326,38.196,0.4)}
{pt3dadd(-33.185,300.397,38.646,0.4)}
{pt3dadd(-32.97,311.372,39.972,0.4)}

{access user5[62]}
{pt3dclear()}
{pt3dadd(-32.97,311.372,39.972,0.4)}
{pt3dadd(-33.832,322.707,43.58,0.4)}

{access user5[63]}
{pt3dclear()}
{pt3dadd(-33.832,322.707,43.58,0.4)}
{pt3dadd(-34.324,335.374,51.753,0.4)}
{pt3dadd(-32.08,346.141,60.313,0.3)}
{pt3dadd(-30.409,359.276,71.624,0.3)}
{pt3dadd(-29.746,365.125,76.272,0.3)}
{pt3dadd(-30.213,374.417,81.265,0.3)}
{pt3dadd(-29.672,381.177,88.011,0.3)}
{pt3dadd(-27.623,386.62,91.843,0.3)}
{pt3dadd(-27.804,396.364,98.324,0.3)}
{pt3dadd(-28.352,405.173,102.808,0.3)}
{pt3dadd(-29.23,414.527,105.846,0.3)}
{pt3dadd(-29.953,420.784,111.308,0.3)}

{access user5[64]}
{pt3dclear()}
{pt3dadd(-29.953,420.784,111.308,0.3)}
{pt3dadd(-31.47,427.458,117.972,0.3)}
{pt3dadd(-30.698,430.812,122.517,0.3)}
}
proc shape3d_10() {
{access user5[65]}
{pt3dclear()}
{pt3dadd(-30.698,430.812,122.517,0.3)}
{pt3dadd(-31.185,434.454,130.913,0.3)}
{pt3dadd(-27.885,438.815,138.026,0.3)}
{pt3dadd(-23.623,441.246,144.364,0.3)}
{pt3dadd(-18.671,446.547,154.738,0.3)}
{pt3dadd(-15.495,451.423,161.383,0.3)}
{pt3dadd(-13.164,460.193,169.861,0.3)}
{pt3dadd(-8.426,467.61,177.28,0.3)}
{pt3dadd(-2.877,476.59,184.068,0.3)}
{pt3dadd(0.538,482.521,189.673,0.3)}
{pt3dadd(5.149,490.056,194.056,0.3)}
{pt3dadd(10.691,498.244,195.708,0.3)}
{pt3dadd(15.253,509.258,200.723,0.3)}
{pt3dadd(19.111,515.816,203.699,0.3)}
{pt3dadd(22.473,524.828,207.369,0.3)}
{pt3dadd(26.552,533.336,211.894,0.3)}
{pt3dadd(30.032,537.769,217.438,0.3)}
{pt3dadd(35.425,543.302,222.615,0.3)}
{pt3dadd(40.647,549.953,224.797,0.3)}
{pt3dadd(47.219,555.11,228.181,0.3)}
{pt3dadd(49.981,559.651,230.302,0.3)}
{pt3dadd(52.285,568.13,233.665,0.3)}
{pt3dadd(55.044,572.275,233.218,0.3)}
{pt3dadd(56.131,579.648,237.824,0.3)}
{pt3dadd(56.202,585.487,242.084,0.3)}
{pt3dadd(57.447,593.431,245.142,0.3)}
{pt3dadd(60.384,600.525,246.284,0.3)}
{pt3dadd(63.084,603.688,245.306,0.3)}

{access apical_dendrite[39]}
{pt3dclear()}
{pt3dadd(-30.698,430.812,122.517,0.3)}
{pt3dadd(-31.916,429.706,123.759,0.3)}
{pt3dadd(-33.227,426.531,126.49,0.3)}
{pt3dadd(-35.573,422.719,131.461,0.3)}
{pt3dadd(-37.551,419.844,138.43,0.3)}
{pt3dadd(-39.411,418.933,146.459,0.3)}
{pt3dadd(-41.455,417.554,153.489,0.3)}
{pt3dadd(-42.023,414.168,162.19,0.3)}

{access apical_dendrite[40]}
{pt3dclear()}
{pt3dadd(-29.953,420.784,111.308,0.3)}
{pt3dadd(-27.466,423.185,116.484,0.3)}
{pt3dadd(-23.117,423.62,122.741,0.3)}
{pt3dadd(-18.466,426.488,131.056,0.3)}
{pt3dadd(-15.824,425.791,138.658,0.3)}
{pt3dadd(-12.533,425.691,144.609,0.3)}
{pt3dadd(-9.772,423.688,147.544,0.3)}
{pt3dadd(-4.757,420.551,156.103,0.3)}
{pt3dadd(-0.872,417.585,159.282,0.3)}
{pt3dadd(4.517,416.177,162.706,0.3)}
{pt3dadd(8.981,411.636,168.27,0.3)}
{pt3dadd(12.714,405.619,172.406,0.3)}

{access user5[66]}
{pt3dclear()}
{pt3dadd(-33.832,322.707,43.58,0.4)}
{pt3dadd(-35.021,331.712,42.582,0.3)}
{pt3dadd(-34.457,341.246,42.766,0.3)}
{pt3dadd(-36.333,364.138,44.399,0.3)}
{pt3dadd(-38.238,390.01,46.642,0.3)}
{pt3dadd(-40.152,404.876,48.539,0.3)}

{access user5[67]}
{pt3dclear()}
{pt3dadd(-40.152,404.876,48.539,0.3)}
{pt3dadd(-38.38,414.326,52.045,0.3)}
{pt3dadd(-34.128,418.842,56.407,0.3)}
{pt3dadd(-30.625,422.775,61.931,0.3)}
{pt3dadd(-29.019,427.59,68.391,0.3)}
{pt3dadd(-27.401,437.261,78.582,0.3)}
{pt3dadd(-27.897,442.988,85.002,0.3)}
{pt3dadd(-27.975,452.717,91.972,0.3)}
{pt3dadd(-27.627,464.365,101.469,0.3)}
{pt3dadd(-28.842,473.472,110.192,0.3)}
{pt3dadd(-28.32,481.127,119.526,0.3)}
{pt3dadd(-26.016,486.332,129.431,0.3)}
{pt3dadd(-23.197,498.4,143.535,0.3)}
{pt3dadd(-22.018,504.568,153.195,0.3)}
{pt3dadd(-20.259,515.706,164.425,0.3)}
{pt3dadd(-20.291,524.833,173.922,0.3)}
{pt3dadd(-21.055,532.483,181.992,0.3)}
{pt3dadd(-23.288,539.662,187.801,0.3)}
{pt3dadd(-26.757,543.357,191.713,0.3)}
{pt3dadd(-30.618,549.492,196.808,0.3)}
{pt3dadd(-31.357,557.039,207.426,0.3)}
{pt3dadd(-31.29,569.027,220.571,0.3)}

{access apical_dendrite[41]}
{pt3dclear()}
{pt3dadd(-40.152,404.876,48.539,0.3)}
{pt3dadd(-42.085,410.82,48.111,0.3)}
{pt3dadd(-45.376,420.736,47.073,0.3)}
{pt3dadd(-48.987,429.115,46.564,0.3)}
{pt3dadd(-54.921,436.455,44.464,0.3)}
{pt3dadd(-60.049,441.691,45.707,0.3)}
{pt3dadd(-65.918,447.534,43.547,0.3)}
{pt3dadd(-69.473,449.954,41.815,0.3)}
{pt3dadd(-74.925,453.255,41.02,0.3)}
{pt3dadd(-79.676,454.07,40.51,0.3)}
{pt3dadd(-84.063,455.426,39.429,0.3)}

{access user5[68]}
{pt3dclear()}
{pt3dadd(-32.97,311.372,39.972,0.4)}
{pt3dadd(-32.48,317.942,39.055,0.3)}
{pt3dadd(-31.328,327.09,37.059,0.3)}
{pt3dadd(-28.4,336.268,36.225,0.3)}
{pt3dadd(-26.123,344.453,34.474,0.3)}

{access apical_dendrite[42]}
{pt3dclear()}
{pt3dadd(-26.123,344.453,34.474,0.3)}
{pt3dadd(-23.084,351.532,36.105,0.3)}
{pt3dadd(-18.784,358.718,36.453,0.3)}
{pt3dadd(-13.154,364.91,38.023,0.3)}
{pt3dadd(-8.266,374.981,41.917,0.3)}
{pt3dadd(-4.909,386.474,46.178,0.3)}
{pt3dadd(-3.692,397.397,49.847,0.3)}
{pt3dadd(-1.294,407.943,51.724,0.3)}
{pt3dadd(-0.372,413.952,52.743,0.3)}
{pt3dadd(2.234,421.592,52.439,0.3)}
{pt3dadd(5.354,429.154,54.58,0.3)}
{pt3dadd(5.606,435.065,57.27,0.3)}
{pt3dadd(7.207,439.088,58.595,0.3)}

{access user5[69]}
{pt3dclear()}
{pt3dadd(-26.123,344.453,34.474,0.3)}
{pt3dadd(-28.816,351.9,33.231,0.3)}
{pt3dadd(-27.452,358.537,31.622,0.3)}
{pt3dadd(-25.256,366.239,29.361,0.3)}
{pt3dadd(-23.512,375.397,27.752,0.3)}
{pt3dadd(-22.315,383.547,25.715,0.3)}
{pt3dadd(-21.06,392.679,24.208,0.3)}
{pt3dadd(-17.531,406.328,24.923,0.3)}
{pt3dadd(-14.588,417.487,24.66,0.3)}
{pt3dadd(-10.076,428.707,24.58,0.3)}
{pt3dadd(-8.133,440.314,24.541,0.3)}
{pt3dadd(-4.041,450.406,27.069,0.3)}
{pt3dadd(-0.865,458.555,27.172,0.3)}
{pt3dadd(-0.463,467.122,26.338,0.3)}
{pt3dadd(1.232,473.213,26.176,0.3)}

{access user5[70]}
{pt3dclear()}
{pt3dadd(1.232,473.213,26.176,0.3)}
{pt3dadd(6.793,480.507,25.24,0.3)}
{pt3dadd(11.019,484.729,24.487,0.3)}
{pt3dadd(14.248,489.795,26.526,0.3)}
{pt3dadd(19.899,495.488,28.076,0.3)}
{pt3dadd(24.457,499.561,31.337,0.3)}
{pt3dadd(31.027,504.322,32.154,0.3)}
{pt3dadd(35.576,510.479,33.439,0.3)}
{pt3dadd(39.191,515.586,34.887,0.3)}
{pt3dadd(44.136,519.699,37.557,0.3)}
{pt3dadd(51.007,526.894,40.432,0.3)}
{pt3dadd(58.007,530.698,40.617,0.3)}
{pt3dadd(65.465,537.111,38.744,0.3)}
{pt3dadd(70.952,541.441,36.707,0.3)}
{pt3dadd(74.529,545.066,37.605,0.3)}
{pt3dadd(78.266,549.263,36.953,0.3)}
{pt3dadd(84.043,557.714,32.431,0.3)}
{pt3dadd(87.609,563.028,28.784,0.3)}
{pt3dadd(92.364,565.882,25.321,0.3)}
{pt3dadd(96.692,570.089,25.057,0.3)}
{pt3dadd(100.07,571.265,24.385,0.3)}

{access user5[71]}
{pt3dclear()}
{pt3dadd(1.232,473.213,26.176,0.3)}
{pt3dadd(1.578,481.193,27.379,0.3)}
{pt3dadd(1.264,490.265,25.688,0.3)}
{pt3dadd(1.426,497.777,25.893,0.3)}
{pt3dadd(3.291,509.296,27.912,0.3)}
{pt3dadd(3.36,514.74,29.604,0.3)}
{pt3dadd(4.584,529.728,31.867,0.3)}
{pt3dadd(5.764,539.168,34.986,0.3)}
{pt3dadd(6.247,541.674,35.476,0.3)}


}
proc shape3d_11() {
{access user5[72]}
{pt3dclear()}
{pt3dadd(6.247,541.674,35.476,0.3)}
{pt3dadd(3.588,546.933,38.757,0.3)}
{pt3dadd(-0.127,552.054,44.3,0.3)}
{pt3dadd(-2.777,561.775,48.743,0.3)}
{pt3dadd(-7.538,567.946,51.983,0.3)}
{pt3dadd(-11.57,575.198,54.082,0.3)}
{pt3dadd(-14.992,581.564,53.981,0.3)}
{pt3dadd(-18.267,586.917,54.327,0.3)}
{pt3dadd(-20.954,595.156,58.22,0.3)}
{pt3dadd(-22.026,602.853,64.823,0.3)}
{pt3dadd(-24.826,609.918,72.791,0.3)}
{pt3dadd(-29.948,612.673,73.443,0.3)}
{pt3dadd(-37.488,611.926,71.425,0.3)}
{pt3dadd(-44.136,610.35,66.125,0.3)}
{pt3dadd(-49.17,611.109,66.695,0.3)}
{pt3dadd(-52.795,611.358,68.998,0.3)}

{access user5[73]}
{pt3dclear()}
{pt3dadd(6.247,541.674,35.476,0.3)}
{pt3dadd(8.875,548.814,35.151,0.3)}
{pt3dadd(11.217,558.774,39.065,0.3)}
{pt3dadd(13.54,566.357,39.84,0.3)}
{pt3dadd(13.839,578.211,44.243,0.3)}
{pt3dadd(17.304,587.208,48.402,0.3)}
{pt3dadd(21.797,592.778,51.725,0.3)}
{pt3dadd(26.209,597.865,54.538,0.3)}
{pt3dadd(28.273,605.288,58.941,0.3)}

{access apical_dendrite[43]}
{pt3dclear()}
{pt3dadd(-34.851,291.326,38.196,0.4)}
{pt3dadd(-37.011,297.801,36.811,0.3)}
{pt3dadd(-42.5,306.165,34.651,0.3)}
{pt3dadd(-45.224,316.195,31.452,0.3)}
{pt3dadd(-51.776,339.594,27.949,0.3)}
{pt3dadd(-56.007,350.942,27.664,0.3)}
{pt3dadd(-56.598,364.022,25.648,0.3)}
{pt3dadd(-58.586,372.652,20.717,0.3)}
{pt3dadd(-60.63,377.424,12.097,0.3)}
{pt3dadd(-64.335,380.462,7.348,0.3)}
{pt3dadd(-67.002,384.534,2.926,0.3)}

{access apical_dendrite[44]}
{pt3dclear()}
{pt3dadd(-35.027,242.961,32.608,0.4)}
{pt3dadd(-38.187,249.883,31.447,0.3)}
{pt3dadd(-43.106,252.211,30.509,0.3)}
{pt3dadd(-49.881,254.026,27.9,0.3)}
{pt3dadd(-56.852,260.333,25.474,0.3)}
{pt3dadd(-62.217,261.637,24.597,0.3)}
{pt3dadd(-69.829,264.867,23.231,0.3)}
{pt3dadd(-72.765,270.864,20.46,0.3)}
{pt3dadd(-74.813,275.238,21.54,0.3)}

{access user5[74]}
{pt3dclear()}
{pt3dadd(-33.736,224.123,29.183,0.4)}
{pt3dadd(-33.1,236.225,27.9,0.3)}
{pt3dadd(-31.772,247.925,24.926,0.3)}

{access user5[75]}
{pt3dclear()}
{pt3dadd(-31.772,247.925,24.926,0.3)}
{pt3dadd(-31.049,258.03,23.562,0.3)}
{pt3dadd(-29.355,264.122,23.4,0.3)}
{pt3dadd(-27.947,276.305,20.935,0.3)}
{pt3dadd(-25.084,293.526,19.348,0.3)}
{pt3dadd(-25.389,300.513,19.634,0.3)}

{access user5[76]}
{pt3dclear()}
{pt3dadd(-25.389,300.513,19.634,0.3)}
{pt3dadd(-25.541,310.552,18.962,0.3)}
{pt3dadd(-24.167,321.65,18.515,0.3)}
{pt3dadd(-23.232,335.789,16.724,0.3)}
{pt3dadd(-22.618,348.39,15.461,0.3)}
{pt3dadd(-20.419,363.032,14.954,0.3)}
{pt3dadd(-18.565,382.785,11.614,0.3)}
{pt3dadd(-16.92,398.899,11.269,0.3)}
{pt3dadd(-15.511,411.083,8.805,0.3)}
{pt3dadd(-13.82,423.323,5.26,0.3)}
{pt3dadd(-8.989,435.685,2.083,0.3)}
{pt3dadd(-7.167,444.931,-1.584,0.3)}
{pt3dadd(-8.05,453.494,-3.682,0.3)}
{pt3dadd(-8.977,463.054,-5.739,0.3)}
{pt3dadd(-10.828,479.3,-13.013,0.3)}
{pt3dadd(-15.584,492.413,-20.288,0.3)}
{pt3dadd(-15.244,506.147,-25.034,0.3)}
{pt3dadd(-13.34,515.876,-28.192,0.3)}
{pt3dadd(-11.502,527.102,-31.288,0.3)}
{pt3dadd(-10.296,536.441,-37.89,0.3)}
{pt3dadd(-8.237,539.801,-44.349,0.3)}
{pt3dadd(-9.434,547.618,-53.05,0.3)}
{pt3dadd(-12.21,554.185,-57.37,0.3)}
{pt3dadd(-11.35,558.816,-59.448,0.3)}

{access apical_dendrite[45]}
{pt3dclear()}
{pt3dadd(-25.389,300.513,19.634,0.3)}
{pt3dadd(-22.857,305.189,18.228,0.3)}
{pt3dadd(-19.378,312.499,14.664,0.3)}
{pt3dadd(-16.478,321.384,8.714,0.3)}
{pt3dadd(-14.123,329.657,4.905,0.3)}
{pt3dadd(-12.111,336.891,1.645,0.3)}
{pt3dadd(-9.635,344.253,-4.264,0.3)}
{pt3dadd(-5.791,352.104,-8.399,0.3)}
{pt3dadd(-0.918,356.923,-10.803,0.3)}
{pt3dadd(4.572,361.648,-10.272,0.3)}
{pt3dadd(7.879,366.802,-10.291,0.3)}

{access apical_dendrite[46]}
{pt3dclear()}
{pt3dadd(-31.772,247.925,24.926,0.3)}
{pt3dadd(-34.916,256.828,24.336,0.3)}
{pt3dadd(-38.583,274.438,18.509,0.3)}
{pt3dadd(-42.075,288.055,12.518,0.3)}
{pt3dadd(-46.19,294.427,11.54,0.3)}
{pt3dadd(-52.906,297.225,9.461,0.3)}
{pt3dadd(-60.328,304.988,7.688,0.3)}

{access apical_dendrite[47]}
{pt3dclear()}
{pt3dadd(-33.066,217.676,28.326,0.4)}
{pt3dadd(-37.058,223.533,27.817,0.3)}
{pt3dadd(-42.466,225.836,26.981,0.3)}
{pt3dadd(-47.438,231.247,24.107,0.3)}
{pt3dadd(-53.175,240.64,21.01,0.3)}
{pt3dadd(-59.062,244.106,15.711,0.3)}
{pt3dadd(-64.704,249.419,14.508,0.3)}
{pt3dadd(-69.769,252.761,13.122,0.3)}

{access apical_dendrite[48]}
{pt3dclear()}
{pt3dadd(-33.288,202.636,28.406,0.4)}
{pt3dadd(-33.018,210.925,34.235,0.3)}
{pt3dadd(-33.08,222.635,41.776,0.3)}
{pt3dadd(-35.089,228.887,45.975,0.3)}
{pt3dadd(-39.218,233.674,46.994,0.3)}
{pt3dadd(-37.145,235.74,59.914,0.3)}
{pt3dadd(-37.591,237.988,65.702,0.3)}
{pt3dadd(-37.732,243.066,76.116,0.3)}
{pt3dadd(-40.489,249.133,84.043,0.3)}
{pt3dadd(-41.464,259.295,91.727,0.3)}
{pt3dadd(-38.94,266.449,103.18,0.3)}

{access apical_dendrite[49]}
{pt3dclear()}
{pt3dadd(-33.525,192.161,27.101,0.4)}
{pt3dadd(-30.655,197.479,34.846,0.3)}
{pt3dadd(-30.98,202.088,44.261,0.3)}
{pt3dadd(-31.8,209.152,54.369,0.3)}
{pt3dadd(-28.043,219.393,65.151,0.3)}
{pt3dadd(-24.285,226.363,70.206,0.3)}
{pt3dadd(-21.794,235.705,77.136,0.3)}
{pt3dadd(-17.398,248.627,84.291,0.3)}
{pt3dadd(-14.665,259.42,92.749,0.3)}
{pt3dadd(-12.096,268.85,97.621,0.3)}
{pt3dadd(-9.266,278.835,101.433,0.3)}
{pt3dadd(-5.885,290.224,108.241,0.3)}
{pt3dadd(-2.678,299.062,116.027,0.3)}
{pt3dadd(-0.645,302.523,119.288,0.3)}
}
proc shape3d_12() {
{access apical_dendrite[50]}
{pt3dclear()}
{pt3dadd(-30.482,144.4,22.389,0.6)}
{pt3dadd(-34.495,150.757,21.9,0.3)}
{pt3dadd(-35.887,153.644,23.306,0.3)}

{access apical_dendrite[51]}
{pt3dclear()}
{pt3dadd(-35.887,153.644,23.306,0.3)}
{pt3dadd(-39.035,158.878,26.689,0.3)}
{pt3dadd(-43.36,161.612,28.706,0.3)}
{pt3dadd(-48.93,166.22,32.578,0.3)}
{pt3dadd(-54.844,169.788,37,0.3)}
{pt3dadd(-58.272,172.089,38.304,0.3)}
{pt3dadd(-64.051,176.332,38.629,0.3)}
{pt3dadd(-68.768,181.505,41.829,0.3)}
{pt3dadd(-72.667,186.158,46.373,0.3)}

{access apical_dendrite[52]}
{pt3dclear()}
{pt3dadd(-35.887,153.644,23.306,0.3)}
{pt3dadd(-39.398,161.611,20.718,0.3)}
{pt3dadd(-42.972,171.471,20.76,0.3)}
{pt3dadd(-47.408,182.85,19.497,0.3)}
{pt3dadd(-52.268,192.706,18.274,0.3)}
{pt3dadd(-51.538,206.876,15.504,0.3)}
{pt3dadd(-55.66,222.273,14.303,0.3)}
{pt3dadd(-61.559,230.699,10.187,0.3)}
{pt3dadd(-66.273,239.542,9.413,0.3)}
{pt3dadd(-68.679,247.441,9.658,0.3)}

{access apical_dendrite[53]}
{pt3dclear()}
{pt3dadd(-28.076,136.501,22.144,0.6)}
{pt3dadd(-25.83,143.996,24.978,0.3)}
{pt3dadd(-20.65,152.041,29.768,0.3)}
{pt3dadd(-17.035,157.148,31.216,0.3)}
{pt3dadd(-13.012,161.797,32.052,0.3)}
{pt3dadd(-7.201,168.061,32.054,0.3)}
{pt3dadd(-1.964,176.692,34.807,0.3)}
{pt3dadd(0.658,186.313,35.073,0.3)}
{pt3dadd(-3.944,193.055,36.764,0.3)}
{pt3dadd(-7.798,199.983,34.727,0.3)}
{pt3dadd(-10.104,207.471,32.893,0.3)}
{pt3dadd(-9.817,221.014,32.752,0.3)}
{pt3dadd(-0.563,226.957,32.02,0.3)}
{pt3dadd(1.629,230.99,33.732,0.3)}
{pt3dadd(2.474,240.184,30.269,0.3)}

{access apical_dendrite[54]}
{pt3dclear()}
{pt3dadd(-28.365,122.563,19.718,0.6)}
{pt3dadd(-30.803,133.045,18.006,0.3)}
{pt3dadd(-35.002,138.538,13.951,0.3)}
{pt3dadd(-39.928,143.346,13.605,0.3)}
{pt3dadd(-47.073,147.101,12.157,0.3)}
{pt3dadd(-48.751,149.535,12.076,0.3)}

{access apical_dendrite[55]}
{pt3dclear()}
{pt3dadd(-48.751,149.535,12.076,0.3)}
{pt3dadd(-55.277,156.866,9.589,0.3)}
{pt3dadd(-60.94,162.678,8.407,0.3)}
{pt3dadd(-63.471,171.092,8.184,0.3)}
{pt3dadd(-65.703,181.543,7.451,0.3)}

{access apical_dendrite[56]}
{pt3dclear()}
{pt3dadd(-48.751,149.535,12.076,0.3)}
{pt3dadd(-51.967,152.599,7.225,0.3)}
{pt3dadd(-57.131,159.625,1.377,0.3)}
{pt3dadd(-62.489,164.995,-0.906,0.3)}
{pt3dadd(-68.507,171.456,-6.082,0.3)}
{pt3dadd(-73.282,178.919,-9.954,0.3)}
{pt3dadd(-77.395,182.416,-14.091,0.3)}

{access apical_dendrite[57]}
{pt3dclear()}
{pt3dadd(-27.463,113.105,19.228,0.6)}
{pt3dadd(-28.478,121.389,23.793,0.3)}
{pt3dadd(-30.487,127.641,27.992,0.3)}
{pt3dadd(-35.328,133.329,30.722,0.3)}
{pt3dadd(-40.762,139.007,33.066,0.3)}
{pt3dadd(-46.681,141.783,32.352,0.3)}
{pt3dadd(-51.189,153.866,38.282,0.3)}
{pt3dadd(-53.44,165.213,40.138,0.3)}
{pt3dadd(-49.691,170.994,37.49,0.3)}

{access apical_dendrite[58]}
{pt3dclear()}
{pt3dadd(-26.324,97.761,15.945,0.6)}
{pt3dadd(-28.325,94.99,8.099,0.3)}
{pt3dadd(-26.213,85.45,-1.337,0.3)}
{pt3dadd(-26.1,76.807,-10.325,0.3)}
{pt3dadd(-26.454,67.639,-19.231,0.3)}
{pt3dadd(-24.903,62.051,-27.912,0.3)}
{pt3dadd(-25.8,52.667,-32.112,0.3)}
{pt3dadd(-28.577,46.144,-34.802,0.3)}
{pt3dadd(-30.672,34.759,-40.347,0.3)}
{pt3dadd(-35.152,30.774,-45.667,0.3)}

{access apical_dendrite[59]}
{pt3dclear()}
{pt3dadd(-21.636,75.932,15.801,0.6)}
{pt3dadd(-26.279,77.524,20.916,0.3)}

{access apical_dendrite[60]}
{pt3dclear()}
{pt3dadd(-26.279,77.524,20.916,0.3)}
{pt3dadd(-27.783,79.238,26.398,0.3)}

{access apical_dendrite[61]}
{pt3dclear()}
{pt3dadd(-27.783,79.238,26.398,0.3)}
{pt3dadd(-29.322,79.866,33.897,0.3)}
{pt3dadd(-32.92,80.407,41.314,0.3)}
{pt3dadd(-33.335,80.072,49.058,0.3)}
{pt3dadd(-34.647,80.17,57.515,0.3)}
{pt3dadd(-36.392,84.1,69.762,0.3)}
{pt3dadd(-34.574,86.404,76.61,0.3)}
{pt3dadd(-34.463,87.576,84.802,0.3)}
{pt3dadd(-36.236,84.669,92.749,0.3)}
{pt3dadd(-37.364,85.234,102.205,0.3)}
{pt3dadd(-39.781,85.4,107.829,0.3)}
{pt3dadd(-42.338,90.644,111.599,0.3)}

{access apical_dendrite[62]}
{pt3dclear()}
{pt3dadd(-27.783,79.238,26.398,0.3)}
{pt3dadd(-26.943,81.49,33.449,0.3)}
{pt3dadd(-26.658,88.487,46.39,0.3)}
{pt3dadd(-27.836,92.53,56.477,0.3)}
{pt3dadd(-29.347,96.724,62.55,0.3)}
{pt3dadd(-30.146,96.744,73.453,0.3)}
{pt3dadd(-29.636,102.814,84.784,0.3)}
{pt3dadd(-29.958,104.548,91.04,0.3)}
{pt3dadd(-29.277,106.229,99.64,0.3)}
{pt3dadd(-27.833,103.531,105.896,0.3)}
{pt3dadd(-25.353,98.594,119.02,0.3)}
{pt3dadd(-23.138,92.706,130.635,0.3)}

{access apical_dendrite[63]}
{pt3dclear()}
{pt3dadd(-26.279,77.524,20.916,0.3)}
{pt3dadd(-29.788,79.342,21.71,0.3)}
{pt3dadd(-32.733,84.149,23.504,0.3)}
{pt3dadd(-35.608,88.251,30.371,0.3)}
{pt3dadd(-40.69,92.884,34.141,0.3)}
{pt3dadd(-46.954,97.497,37.136,0.3)}
{pt3dadd(-53.313,100.041,41.619,0.3)}
{pt3dadd(-56.474,103.691,46.999,0.3)}
{pt3dadd(-59.447,111.477,49.404,0.3)}
{pt3dadd(-64.295,119.644,52.726,0.3)}
{pt3dadd(-68.004,122.285,57.677,0.3)}

{access apical_dendrite[64]}
{pt3dclear()}
{pt3dadd(-16.439,59.779,12.152,0.6)}
{pt3dadd(-15.668,63.133,16.697,0.3)}
{pt3dadd(-13.214,70.993,23.077,0.3)}

{access apical_dendrite[65]}
{pt3dclear()}
{pt3dadd(-13.214,70.993,23.077,0.3)}
{pt3dadd(-14.376,73.746,28.009,0.3)}
{pt3dadd(-15.389,75.881,35.956,0.3)}
{pt3dadd(-17.168,75.454,44.495,0.3)}
{pt3dadd(-17.839,72.083,52.707,0.3)}
{pt3dadd(-20.926,72.151,60.002,0.3)}
{pt3dadd(-25.662,71.674,66.604,0.3)}
{pt3dadd(-29.782,74.377,69.599,0.3)}
{pt3dadd(-33.631,75.552,73.511,0.3)}
{pt3dadd(-40.915,74.963,80.133,0.3)}

{access apical_dendrite[66]}
{pt3dclear()}
{pt3dadd(-13.214,70.993,23.077,0.3)}
{pt3dadd(-10.509,74.948,27.235,0.3)}
{pt3dadd(-6.421,78.1,28.01,0.3)}
{pt3dadd(-3.098,85.235,28.562,0.3)}
{pt3dadd(1.255,89.339,30.845,0.3)}
{pt3dadd(6.352,96.503,32.558,0.3)}
{pt3dadd(10.004,103.093,34.556,0.3)}
{pt3dadd(14.148,110.103,39.02,0.3)}
{pt3dadd(19.955,119.243,42.181,0.3)}
{pt3dadd(24.47,124.314,45.483,0.3)}
{pt3dadd(29.044,130.367,49.316,0.3)}
{pt3dadd(32.089,134.966,50.356,0.3)}
{pt3dadd(34.571,143.12,49.582,0.3)}
{pt3dadd(37.243,149.262,49.217,0.3)}
{pt3dadd(40.634,161.841,51.46,0.3)}
{pt3dadd(41.652,170.314,53.56,0.3)}
{pt3dadd(43.225,177.316,55.497,0.3)}
}
proc shape3d_13() {
{access apical_dendrite[67]}
{pt3dclear()}
{pt3dadd(-14.186,39.012,7.953,1)}
{pt3dadd(-18.473,39.956,4.794,0.3)}
{pt3dadd(-25.045,41.344,0.595,0.3)}
{pt3dadd(-28.363,44.423,-4.744,0.3)}
{pt3dadd(-34.256,50.369,-9.452,0.3)}
{pt3dadd(-37.456,55.413,-13.731,0.3)}

{access apical_dendrite[68]}
{pt3dclear()}
{pt3dadd(-37.456,55.413,-13.731,0.3)}
{pt3dadd(-39.585,62.577,-19.702,0.3)}
{pt3dadd(-43.852,69.171,-26.264,0.3)}
{pt3dadd(-48.155,74.68,-30.808,0.3)}
{pt3dadd(-54.285,79.967,-31.909,0.3)}
{pt3dadd(-60.926,85.728,-32.887,0.3)}
{pt3dadd(-62.94,97.733,-34.639,0.3)}
{pt3dadd(-65.305,104.238,-37.002,0.3)}
{pt3dadd(-67.746,107.78,-40.467,0.3)}

{access apical_dendrite[69]}
{pt3dclear()}
{pt3dadd(-37.456,55.413,-13.731,0.3)}
{pt3dadd(-38.3,56.037,-17.624,0.3)}
{pt3dadd(-43.041,58.041,-22.698,0.3)}
{pt3dadd(-49.489,58.914,-26.428,0.3)}
{pt3dadd(-57.708,60.154,-28.753,0.3)}
{pt3dadd(-64.051,61.407,-29.426,0.3)}

{access apical_dendrite[70]}
{pt3dclear()}
{pt3dadd(-5.244,24.971,5.629,1)}
{pt3dadd(-4.556,27.445,7.097,0.3)}

{access apical_dendrite[71]}
{pt3dclear()}
{pt3dadd(-4.556,27.445,7.097,0.3)}
{pt3dadd(1.307,30.627,9.034,0.3)}
{pt3dadd(5.539,35.641,13.416,0.3)}
{pt3dadd(10.937,38.694,18.003,0.3)}
{pt3dadd(17.214,42.21,24.464,0.3)}
{pt3dadd(23.206,45.669,32.005,0.3)}
{pt3dadd(31.379,48.304,37.529,0.3)}
{pt3dadd(37.161,51.002,38.956,0.3)}

{access apical_dendrite[72]}
{pt3dclear()}
{pt3dadd(37.161,51.002,38.956,0.3)}
{pt3dadd(35.526,49.166,45.375,0.3)}
{pt3dadd(44.153,50.74,52.815,0.3)}
{pt3dadd(49.55,43.975,64.757,0.3)}
{pt3dadd(57.13,40.055,70.708,0.3)}
{pt3dadd(62.875,41.272,71.585,0.3)}
{pt3dadd(68.962,43.528,71.912,0.3)}

{access apical_dendrite[73]}
{pt3dclear()}
{pt3dadd(37.161,51.002,38.956,0.3)}
{pt3dadd(38.799,56.507,40.832,0.3)}
{pt3dadd(44.597,61.186,42.83,0.3)}
{pt3dadd(50.759,66.405,44.258,0.3)}
{pt3dadd(58.898,71.228,45.258,0.3)}
{pt3dadd(67.373,73.024,47.114,0.3)}
{pt3dadd(73.463,75.676,50.009,0.3)}
{pt3dadd(78.348,78.806,52.15,0.3)}
{pt3dadd(83.106,82.056,51.254,0.3)}
{pt3dadd(88.113,84.276,51.296,0.3)}
{pt3dadd(93.882,85.39,54.72,0.3)}
{pt3dadd(97.024,85.908,57.655,0.3)}
{pt3dadd(100.947,90.968,60.57,0.3)}

{access apical_dendrite[74]}
{pt3dclear()}
{pt3dadd(-4.556,27.445,7.097,0.3)}
{pt3dadd(-4.549,34.782,11.418,0.3)}
{pt3dadd(2.68,38.452,15.128,0.3)}
{pt3dadd(10.205,47.035,21.488,0.3)}
{pt3dadd(12.064,57.761,30.639,0.3)}
{pt3dadd(14.921,68.039,39.566,0.3)}
{pt3dadd(19.134,80.494,45.723,0.3)}
{pt3dadd(23.237,88.898,52.795,0.3)}
{pt3dadd(25.968,99.295,58.686,0.3)}
{pt3dadd(30.721,102.148,67.491,0.3)}
{pt3dadd(32.798,104.611,70.711,0.3)}
{pt3dadd(36.375,111.508,77.335,0.3)}
{pt3dadd(41.129,117.634,79.598,0.3)}
{pt3dadd(45.672,126.27,81.475,0.3)}
{pt3dadd(49.336,131.171,88.017,0.3)}
{pt3dadd(53.716,135.568,95.416,0.3)}
{pt3dadd(58.426,139.418,104.261,0.3)}
}
proc basic_shape() {
  shape3d_1()
  shape3d_2()
  shape3d_3()
  shape3d_4()
  shape3d_5()
  shape3d_6()
  shape3d_7()
  shape3d_8()
  shape3d_9()
  shape3d_10()
  shape3d_11()
  shape3d_12()
  shape3d_13()

}

objref all

proc subsets() { local i
  objref all
  all = new SectionList()
    soma all.append()
    for i=0, 76 user5[i] all.append()
    for i=0, 74 apical_dendrite[i] all.append()
for i=0, 43 dendrite[i] all.append()



TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 //"3": counting start at 0

index = 0

forsec "dendrite" { //this will includes both dendrites and apical-dendrites
  dendTot[index] = new SectionRef()
   index += 1
}

}

proc geom() {
  forsec all {  }
 
}
proc geom_nseg() {
  soma area(.5) // make sure diam reflects 3d points
   forsec all { nseg = 3  }
//forsec all { nseg = 9  }
 
}

proc biophys() {

distance()

  forsec all {
//print secname()
Rm= 28000
gpas =1/Rm
Ra = 80 
    cm = 1
Vrest=-65

celsius = 35.0  

KMULT =  0.025
KMULTP = 0.025

mult1 = 1		
mult2 = 1	
gna=0.02  
gkdr = 0.01 
gkap= 0.025  

gkad=0.025 

ghd=0.00005 
nash=0


      insert hd
      ghdbar_hd = ghd      vhalfl_hd = -73
    
    insert kad
        gkabar_kad = 0

         
    insert kap
     
        gkabar_kap = 0

    insert kdr
      gkdrbar_kdr = gkdr 
    insert na3
      gbar_na3 = gna
      ar2_na3 = 1

      sh_na3=nash
    insert pas
      g_pas = gpas
      e_pas = Vrest
insert extracellular								
			insert xtra
mult1=1

for (x){ xdist = distance(x)

gkabar_kap(x)=gkap

//apical linear increase
		if ( xdist > 0 && xdist <=100){

       ghdbar_hd(x) = ghd*(1+3*xdist/100)


      gkabar_kap(x) = gkap*(1+xdist/100)

                      }
		 if (xdist > 100){

                   vhalfl_hd=-81
              

                  ghdbar_hd(x) = ghd*(1+3*xdist/100)

               
                   gkabar_kad(x) = gkad*(1+xdist/100)

                  
                   gkabar_kap(x)=0 
	      	
 		} //end of xdist>100
        }//end for(x)
  } //end for all sec


access soma
ghdbar_hd(x) = ghd
vhalfl_hd=-73
gkabar_kap(x)=gkap


forsec all {
        v=Vrest
        if (ismembrane("nax") || ismembrane("na3")) {ena=55}
	
        if (ismembrane("kdr") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
        if (ismembrane("hd") ) {ehd_hd=-30}
	}


forsec all {
	for (x) {
	
	if (!ismembrane("hd")){e_pas(x)=Vrest+(ina(x)+ik(x))/g_pas(x)}
	if (ismembrane("hd")) {e_pas(x)=Vrest+(ina(x)+ik(x)+ih_hd(x))/g_pas(x)}


		}
	}

} //end for biophys

proc position() { local i
  soma for i = 0, n3d()-1 {
//distance(0,x)
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_


//J. Berzhanskaya edit 2005-2007
//next 4 proc maxn3d (for setting extracellular comp), setrx, setrxRec
// C Mcintyre , 2001
proc setpointers() {
  grindaway()  // in interpxyz.hoc, determines interpolated locations of nodes
/*
  forall for (x) if (x!=0 && x!=1) setpointer im_xtra(x), i_membrane(x)
  forall for (x) if (x!=0 && x!=1) setpointer ex_xtra(x), e_extracellular(x)
*/
  forall {
    if (ismembrane("xtra")) {
	for (x) if (x!=0 && x!=1) {
		setpointer im_xtra(x), i_membrane(x)
		setpointer ex_xtra(x), e_extracellular(x)
	}
    }
  }
}

/* Computes xyz coords of nodes in a model cell 
   whose topology & geometry are defined by pt3d data.
   Expects sections to already exist, and that the xtra mechanism has been inserted
 */


// original data, irregularly spaced
objref xx, yy, zz, length
// interpolated data, spaced at regular intervals
objref xint, yint, zint, range

proc grindaway() { local ii, nn, kk, xr
	forall {
	  if (ismembrane("xtra")) {
		// get the data for the section
		nn = n3d()
		xx = new Vector(nn)
		yy = new Vector(nn)
		zz = new Vector(nn)
		length = new Vector(nn)

		for ii = 0,nn-1 {
			xx.x[ii] = x3d(ii)
			yy.x[ii] = y3d(ii)
			zz.x[ii] = z3d(ii)
			length.x[ii] = arc3d(ii)
		}

		// to use Vector class's .interpolate() 
		// must first scale the independent variable
		// i.e. normalize length along centroid
		length.div(length.x[nn-1])

		// initialize the destination "independent" vector
		range = new Vector(nseg+2)
		range.indgen(1/nseg)
		range.sub(1/(2*nseg))
		range.x[0]=0
		range.x[nseg+1]=1

		// length contains the normalized distances of the pt3d points 
		// along the centroid of the section.  These are spaced at 
		// irregular intervals.
		// range contains the normalized distances of the nodes along the 
		// centroid of the section.  These are spaced at regular intervals.
		// Ready to interpolate.

		xint = new Vector(nseg+2)
		yint = new Vector(nseg+2)
		zint = new Vector(nseg+2)
		xint.interpolate(range, length, xx)
		yint.interpolate(range, length, yy)
		zint.interpolate(range, length, zz)

		// for each node, assign the xyz values to x_xtra, y_xtra, z_xtra
		//for ii = 0, nseg+1 {

// also avoid writing coords of the 1 end into the last internal node's coords
		for ii = 1, nseg { 
			xr = range.x[ii]
			x_xtra(xr) = xint.x[ii]
			y_xtra(xr) = yint.x[ii]
			z_xtra(xr) = zint.x[ii]
		}
	  }
	}
}



proc maxn3d() {
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
// Finds number of subsegments for each segment and stores into vobj
// For each segment, endpoints and intermediates from xtra are stored into x and y coordinate matrices
// Total of nseg +2 points for each segment (ends + at least one midpoint  
	numelements =197
	vobj = new Vector(numelements)
	num = 0

for i=0,USER5MAX {

		vobj.x[i] = user5[i].nseg
		if( vobj.x[i] > num) {num = vobj.x[i] }
	}

for i=USER5MAX+1,USER5MAX+APIDENDMAX+1 {

k=i-USER5MAX-1


	
		vobj.x[i] = apical_dendrite[k].nseg
		if( vobj.x[i] > num) {num = vobj.x[i] }
	}

for i=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {

k=i-USER5MAX-APIDENDMAX-2

		vobj.x[i] = dendrite[k].nseg
		if( vobj.x[i] > num) {num = vobj.x[i] }
	}
		vobj.x[USER5MAX+APIDENDMAX+BASDENDMAX+3] = soma.nseg	
	
	xobj = new Matrix(numelements,num+1)
	yobj = new Matrix(numelements,num+1)
	zobj = new Matrix(numelements,num+1)
	mobj = new Matrix(numelements,num+1)

	setpointers()

for ii=0,USER5MAX {
	
		access user5[ii]
		
		if (nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
	
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
		}
	}


 
for ii=USER5MAX+1,USER5MAX+APIDENDMAX+1  {
        
             kk=ii-USER5MAX-1
		access apical_dendrite[kk]
		
		if (nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
	
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
		}
	}


for ii=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {

kk=ii-USER5MAX-APIDENDMAX-2
access  dendrite[kk]
		
		if (nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
	
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
		}
	}


	
	soma{
ii=USER5MAX+APIDENDMAX+BASDENDMAX+3
		if (soma.nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{		

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
		
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
			}
		}
}
//End maxn3d


///setrx sets coeff to multiply is,and essentially do mobj

proc setrx() {  // now expects xyc coords as arguments
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
  for i=0,USER5MAX {
               user5[i]{
    if (ismembrane("xtra")) {
             for j=1,vobj.x[i]{

user5[i].coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002



		               } 
                            }
         } //end user5
}
for i=USER5MAX+1,USER5MAX+APIDENDMAX+1 {
k=i-USER5MAX-1
apical_dendrite[k]{
    if (ismembrane("xtra")) {
             for j=1,vobj.x[i]{

apical_dendrite[k].coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002



		               } 
                            }
         } //end apical_dendrite
}
for i=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {
k=i-USER5MAX-APIDENDMAX-2
dendrite[k]{
    if (ismembrane("xtra")) {
             for j=1,vobj.x[i]{

dendrite[k].coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002


		               } 
                            }
         } //end apical_dendrite

 }

soma {
   if (ismembrane("xtra")) {
i=USER5MAX+APIDENDMAX+BASDENDMAX+3
         for j=1,vobj.x[i]{
soma.coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002

                                } 

                              }
     }//end soma


}
///end setrx()


//sterxRec
// electrode coordinates:
// for this test, default location is 50 microns horizontal from the cell's 0,0,0
XE = 50  // um
YE = 0
ZE = 0

proc setrxRec() {  // now does not expects xyc coords as arguments

rd=0
//dupl
rho = 35.4
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
 
  for i=0,USER5MAX {

  user5[i]{
    if (ismembrane("xtra")) {
      for (x) if ((x>0) && (x<1)) {
 
rd = sqrt((user5[i].x_xtra(x) - XE)^2 + (user5[i].y_xtra(x) - YE)^2 +(user5[i].z_xtra(x) - ZE)^2)

user5[i].recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01


		                    } 
  
                             }
                             }//end user5[i]
       } ///end i

for i=0,APIDENDMAX {
apical_dendrite[i]{

    if (ismembrane("xtra")) {
      for (x) if ((x>0) && (x<1)) {
        rd = sqrt((apical_dendrite[i].x_xtra(x) - XE)^2 + (apical_dendrite[i].y_xtra(x) - YE)^2 +(apical_dendrite[i].z_xtra(x) - ZE)^2)

apical_dendrite[i].recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01


		                    } 
  
                             }
                             }//end of apical dendrite
       } ///end i

for i=0,BASDENDMAX {
dendrite{
    if (ismembrane("xtra")) {
    //print "basal ", i
      for (x) if ((x>0) && (x<1)) {
        rd = sqrt((dendrite[i].x_xtra(x) - XE)^2 + (dendrite[i].y_xtra(x) - YE)^2 +(dendrite[i].z_xtra(x) - ZE)^2)

dendrite[i].recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01


		                    } 
  
                             }
                             }//end of dendrite
                             
       } ///end i


      soma {
        if (ismembrane("xtra")) {
 
            for (x) if ((x>0) && (x<1)) {
        rd = sqrt((soma.x_xtra(x) - XE)^2 + (soma.y_xtra(x) - YE)^2+(soma.z_xtra(x) - ZE)^2)

soma.recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01




		                         } 
 
// print "rho", rho

                                     }
                  }// end soma


 }

//end setRxrec

proc setRecMat() {  // now expects xyc coords as arguments
//sets rxobj for each end and CENTER of each segment
rd=0
Nel=10
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 

xcEl = new Vector(Nel)
ycEl = new Vector(Nel)
zcEl = new Vector(Nel)


XE = 50  
YE = 0
ZE = 0
for n=0,Nel-1 {
xcEl.x[n]=XE
zcEl.x[n]=ZE
// note that 4 below has to be Nel/2 and has to be changed manually
ycEl.x[n]=YE+100*(n-Nel/2)

               }
rxobj = new Matrix(numelements,Nel)

//print "rxobj[1][1]", rxobj.x[1][1]

for n=0,Nel-1 {
 // print "nel", n

  for i=0,USER5MAX {
  user5[i]{

    if (ismembrane("xtra")) {

   rd = sqrt((user5[i].x_xtra(0.5) - xcEl.x[n])^2 + (user5[i].y_xtra(0.5)- ycEl.x[n])^2 +(user5[i].z_xtra(0.5) - zcEl.x[n])^2)

rxobj.x[i][n]=(rho / 4 / PI)*(1/rd)*0.01



                               }
                               }//end of user5i
                      } //end i
for i=USER5MAX+1,USER5MAX+APIDENDMAX+1 {
k=i-USER5MAX-1
apical_dendrite[k]{

    if (ismembrane("xtra")) {
rd=1
   rd = sqrt((apical_dendrite[k].x_xtra(0.5) - xcEl.x[n])^2 +(apical_dendrite[k].y_xtra(0.5)- ycEl.x[n])^2 +(apical_dendrite[k].z_xtra(0.5) - zcEl.x[n])^2)

rxobj.x[i][n]=(rho / 4 / PI)*(1/rd)*0.01


                               }
                               }//end of apical[k] 
                      } //end i

for i=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {
k=i-USER5MAX-APIDENDMAX-2
dendrite[k]{

    if (ismembrane("xtra")) {

     rd = sqrt((dendrite[k].x_xtra(0.5) - xcEl.x[n])^2 + (dendrite[k].y_xtra(0.5)- ycEl.x[n])^2 +(dendrite[k].z_xtra(0.5) - zcEl.x[n])^2)

rxobj.x[i][n]=(rho / 4 / PI)*(1/rd)*0.01


                               }
                               }//end dendrite k
                      } //end i


      soma {
        if (ismembrane("xtra")) {

rd = sqrt((soma.x_xtra(0.5) - xcEl.x[n])^2 + (soma.y_xtra(0.5) - ycEl.x[n])^2 +(soma.z_xtra(0.5) - zcEl.x[n])^2)
    
rxobj.x[USER5MAX+APIDENDMAX+BASDENDMAX+3][n]=(rho / 4 / PI)*(1/rd)*0.01




                                      }
              }
  }//end of Nel

}
//end of setRecMat


///original electrode (next to the soma)
func fieldrec1(){local sum
	sum = 0
	
forsec all {
	  if (ismembrane("xtra")) {
// avoid nodes at 0 and 1 ends, which shouldn't make any contribution
		for (x) if ((x>0) && (x<1)) sum += er_xtra(x)
	  }
	}
	return sum
}



func fieldrec() {local i, sum
//requires 1 argument
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
ElN=$1
	sum = 0
	for n=0,USER5MAX-1 {


   if (ismembrane("xtra")) {
    sum += rxobj.x[n][ElN]*user5[n].er_xtra(0.5)/user5[n].recx_xtra(0.5)

	                   }
	                  }//end n
for n=USER5MAX+1,USER5MAX+APIDENDMAX {
k=n-USER5MAX-1


   if (ismembrane("xtra")) {
    sum += rxobj.x[n][ElN]*apical_dendrite[k].er_xtra(0.5)/apical_dendrite[k].recx_xtra(0.5)

	                   }
	                  }//end n
for n=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+1 {
k=n-USER5MAX-APIDENDMAX-2

   if (ismembrane("xtra")) {
    sum += rxobj.x[n][ElN]*dendrite[k].er_xtra(0.5)/dendrite[k].recx_xtra(0.5)

	                   }
	                  }//end n

soma{
	  if (ismembrane("xtra")) {
    sum += rxobj.x[USER5MAX+APIDENDMAX+BASDENDMAX+3][ElN]*soma.er_xtra(0.5)/soma.recx_xtra(0.5)

                                   }
     }//end soma
	return sum
}
proc pasinit(){
// Inserts passive properties from Migliore model and paper.

	forsec all {
		for (x) 	{if (ismembrane("na3")||ismembrane("nax")){e_pas(x)=v(x)+(ina(x)+ik(x))/g_pas(x)
	                 if (ismembrane("hd")) {e_pas(x)=e_pas(x)+ih_hd(x)/g_pas(x)}


				} else {
					if (ismembrane("pas")){
						e_pas(x)=v(x)
					}
				}
		}

	}

}
// End pasinit

func fieldextstimulus(){												
efield=$1
// Calculates the external field for all of the points created in maxn3d() above and stores in mobj.
// Linear Field

	mobj = new Matrix(numelements,num+1)

	for i=0,TOTALDEND{
	
		for j=0,vobj.x[i]{
		
		
		x = xobj.x[i][j]*.001		//mm
		y = yobj.x[i][j]*.001		//mm
		thetad = theta*(PI/180)
		mobj.x[i][j] = (efield)*((cos(thetad)*y)+(sin(thetad)*x))		//Linear field
	    
		// print "efield", efield
		// print "dend", i
		// print "seg", j
	    // print "mobj", mobj.x[i][j] 
		}	
	}
 
setrx()
setrxRec()

// do no del
setRecMat()

return efield
}
// End fieldextstimulus

proc noextstimulus(){

	mobj = new Matrix(numelements,num+1)
		mrow = mobj.nrow
		mcol = mobj.ncol
		for i=0,mrow-1{
			for j=0,mcol-1{
				mobj.x[i][j] = 0
			}
		}


setrx()
setrxRec()
setRecMat()

}
// End noextstimulus
endtemplate Cell_Cell




begintemplate BasketCell
public synlist, x, y, z, position, connect2target

objref synlist

public soma
public all
create soma
objref Esyn, Isyn

nst=4
	objectvar intstim2[nst]
double stimdur[nst], stimdel[nst], stimamp[nst]
public intstim2, stimdur, stimamp, stimdel


objref Esyn, Isyn
proc init() {

	temp()
synlist = new List()
x = y = z = 0 // only change via position

	synapses()
}

objref all

proc temp() {

	 soma {nseg=3 L=20 diam=20} // changed L & diam
// soma {nseg=9 L=20 diam=20} // changed L & diam
		
	    


///start julia channels
Vrest = -65

//Membrane Resistance

Rm = 28000
RmDend = Rm/2
RmSoma = Rm

//Membrane Capacitance

Cm    = 1
CmSoma= Cm
CmDend = Cm*2

														
//Axial Resistance

RaAll= 150
RaSoma=150  

//Parameters


Vrest = -65
gna =  0.02 
gkdr = 0.005
KMULT =  0.025 
KMULTP = 0.025
//basket cell
ghd=0.00005 

mult1 = 1		
mult2 = 1	

soma {   insert pas 
			e_pas=Vrest
			g_pas = 1/RmSoma
			Ra = RaSoma
			cm = CmSoma
			
            

			insert na3  gbar_na3=gna  ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
			ar2_na3=0.8
            
                
}	
soma {
         v=Vrest
        if (ismembrane("nax") || ismembrane("na3")) {ena=55}
 
	
        if (ismembrane("kdr") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
        if (ismembrane("hd") ) {ehd_hd=-30}
	}


soma {
	for (x) {
e_pas(x)=Vrest+(ina(x)+ik(x))/g_pas(x)
	



		}

	}

//end i



}
// end temp

proc position() { local i
  soma for i = 0, n3d()-1 {
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_
proc synapses() {
  /* Exc0 */   soma syn_ = new Exp2Syn(0.8)  synlist.append(syn_)
// AMPA timing on basket cells 
syn_.tau1 = 0.05
   syn_.tau2 = 5
   syn_.e = 0

  /* Inh1 */   soma syn_ = new Exp2Syn(0.2)  synlist.append(syn_)
    syn_.tau1 = 1
    syn_.tau2 = 20
    syn_.e = -75
}
func is_art() { return 0 }


	endtemplate BasketCell


begintemplate OLMCell
// Note that OLM cell designates o-cell in general 
//and can correspond O-bi when connected proximally and OLM- when distally

public soma
create soma
public synlist, x, y, z, position, connect2target

objref synlist
public all
objref Esyn, Isyn
nst=4
	objectvar intstim3[nst]
objectvar intstim4[nst]
double stimdur[nst], stimdel[nst], stimamp[nst]
public intstim3, intstim4, stimdur, stimamp, stimdel


objref Esyn, Isyn
proc init() {

synlist = new List()
	temp()
x = y = z = 0 // only change via position

	synapses()
}

objref all

proc temp() {

	 soma {nseg=3 L=30 diam=30} // changed L & diam

// soma {nseg=9 L=30 diam=30} // changed L & diam
		
	
    

///start julia channels
Vrest = -65
//Membrane Resistance

Rm = 28000
RmDend = Rm/2
RmSoma = Rm

//Membrane Capacitance

Cm    = 1
CmSoma= Cm
CmDend = Cm*2

														
//Axial Resistance

RaAll= 150
RaSoma=150  

//Parameters

Vrest = -65
gna =  0.02 
gkdr = 0.01 
KMULT =  0.025
KMULTP = 0.025 
//OLM cell
ghd=0.00005 

mult1 = 1		
mult2 = 1	
soma {   insert pas 
			e_pas=Vrest
			g_pas = 1/RmSoma
			Ra = RaSoma
			cm = CmSoma
			//insert extracellular								
			//insert xtra

               insert hd ghdbar_hd=ghd	vhalfl_hd=-73

			insert na3  gbar_na3=gna  ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
			ar2_na3=0.8
                insert kap gkabar_kap = KMULTP ek=-90

	}

	soma {
        v=Vrest
        if (ismembrane("nax") || ismembrane("na3")) {ena=55}
 
	
        if (ismembrane("kdr") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
        if (ismembrane("hd") ) {ehd_hd=-30}
	}



soma {
	for (x) {
	
	if (!ismembrane("hd")){e_pas(x)=Vrest+(ina(x)+ik(x))/g_pas(x)}
	if (ismembrane("hd")) {e_pas(x)=Vrest+(ina(x)+ik(x)+ih_hd(x))/g_pas(x)}


		}
	}

for i=0,0 {
stimdel[i]=50
stimdur[i]=500
stimamp[i]=0.02

/* 0.4 stim when we want the cell to fire with regular spikes */

}

}// end temp

proc position() { local i
  soma for i = 0, n3d()-1 {
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_
proc synapses() {
  /* Exc0 */   soma syn_ = new Exp2Syn(0.8)  synlist.append(syn_)
  /* Inh1 */   soma syn_ = new Exp2Syn(0.2)  synlist.append(syn_)
    syn_.tau1 = 0.5
    syn_.tau2 = 10
    syn_.e = -90
}
func is_art() { return 0 }

//end temp
	
	endtemplate OLMCell

begintemplate NetStim_NetStim
public pp, connect2target, x, y, z, position, is_art
external acell_home_
objref pp
proc init() {
  acell_home_ pp = new NetStim(.5)
    pp.number = 50000
    pp.interval = 50
    pp.start = 30
    pp.noise=1

}
func is_art() { return 1 }
proc connect2target() { $o2 = new NetCon(pp, $o1) }
proc position(){x=$1  y=$2  z=$3}
endtemplate NetStim_NetStim


// 20 pyramidal cells
ncells=20
objref syn_
objref syn2_

objref wts1[ncells+32]

//for i=0,ncells-1{
//Note: wts1 has to have more dimensions than N of pyramidal cells,

for i=0,51{
wts1[i] = new Vector(totSyn,10)
}

// objref wts2
// wts2 = new Vector(totSyn,10)
objref cells



func InsertSyn1(){

access cells.object($1).soma
distance()
 

TWO_THIRD_APIDIST = 350 
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43

BEGINSECTION= 1
ENDSECTION1= BASDENDMAX
ENDSECTION2= APIDENDMAX
ENDSECTION3 = USER5MAX



//compartment count
objref rc
objref rc1
objref rc2
objref rc3
objref rc4
//rc1 = new Random() //basal
rc2 = new Random() //apical
rc3 = new Random() //trunk
//rc4 = new Random() //trunk

//rc = new Random() 
//rc.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc.uniform(BEGINSECTION, ENDSECTION)  // no basal dend for choice 1,2, 

//rc1.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc1.uniform(BEGINSECTION, ENDSECTION1)  // no basal dend for choice 1,2, //rc2.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
rc2.uniform(BEGINSECTION, ENDSECTION3)  // no basal dend for choice 1,2, //rc3.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc3.uniform(BEGINSECTION, ENDSECTION3)  // no basal dend for choice 1,2, 
//rc3.uniform(BEGINSECTION, ENDSECTION1)
//rc4.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc4.uniform(BEGINSECTION, ENDSECTION3)  // no basal dend for choice 1,2, 



TWO_THIRD_APIDIST=350

for (i=0; i <= totSyn-1; i +=1) {
    count = 1
    /*---------generate a syn at random section and random segment--*/
	flag=0
	while (flag==0) {//pick compartments until get right distance

	//	comp=int(rc3.repick()+0.5)
comp=int(rc2.repick()+0.5)
		////comp=49
	        //Cell_Cell[0].user5[comp] { 
//cells.object($1).apical_dendrite[comp] {
            cells.object($1).user5[comp] {
//cells.object($1).dendrite[comp] {
		    count = 0
		   
                   tmp = 0.5
                   dist = distance(tmp)
			
if ((distance(tmp) < 350) && (distance(tmp) > 150) ) {flag=1} else {flag=0} 


		}// end user5
	}//end while flag
   


cells.object($1).user5[comp] syn_ = new Exp2Syn(0.5) cells.object($1).synlist.append(syn_)


     
A = 0.00611126
B = 82.5413

//netw50
//wt=15*(A*dist*dist+B)/1e+06 
// netw44
wt=0.8*(A*dist*dist+B)/1e+06 

wts1[$1].set(i,wt)





count=count+1

}//end i

wts1[$1].printf

/// next few line Basket synapse on the soma

    /*---------generate a syn at random section and random segment--*/

	flag=0
	while (flag==0) {//pick compartments until get right distance

comp=0
 cells.object($1).user5[comp] {  
	        
		    count = 0
		   
                   tmp = 0.5
                  dist = distance(tmp)
			
if ((distance(tmp) <200) ) {flag=1} else {flag=0} //print comp

		}// end user5
	}//end while flag
   // print "inh comp", comp
      cells.object($1).user5[comp] syn_ = new Exp2Syn(0.5)  cells.object($1).synlist.append(syn_)
       
    syn_.tau1 = 0.5
    syn_.tau2 = 5
    syn_.e = -90

   
 

wt=0.04



count=count+1

///next few lines for OLM - (o-bi) synapse



for (i=0; i <= 26; i +=1) {

    count = 1
    /*---------generate a syn at random section and random segment--*/
	flag=0
	while (flag==0) {//pick compartments until get right distance

		// comp=int(rc3.repick()+0.5)
               // cells.object($1).user5[comp] {  
	        
comp=int(rc2.repick()+0.5)
cells.object($1).user5[comp] {  
	        
  //              cells.object($1).apical_dendrite[comp] {  
	        
		    count = 0
		   
                   tmp = 0.5
                  dist = distance(tmp)
// distant synapse	
//if ((distance(tmp) < 500) && (distance(tmp) > 300) ) {flag=1} else {flag=0} 
// proximal synapse
if ((distance(tmp) < 350) && (distance(tmp) > 150) ) {flag=1} else {flag=0} 
//print comp
//if ((distance(tmp) < 200) ) {flag=1} else {flag=0} //print comp


		}// end user5
	}//end while flag
   // print "inh comp", comp
      cells.object($1).user5[comp] syn_ = new Exp2Syn(0.5)  cells.object($1).synlist.append(syn_)
       
    syn_.tau1 = 1
    syn_.tau2 = 20
    syn_.e = -90


wt=0.04


count=count+1

}//end i

return count
}

// end InsertSyn1






//connectivity objects

objref cells, nclist, netcon
{cells = new List()  nclist = new List()}

func cell_append() {cells.append($o1)  $o1.position($2,$3,$4)
	return cells.count - 1
}

func nc_append() {//srcindex, tarcelindex, synindex
  if ($3 >= 0) {
    cells.object($1).connect2target(cells.object($2).synlist.object($3),netcon)
    netcon.weight = $4   netcon.delay = $5
  }else{
    cells.object($1).connect2target(cells.object($2).pp,netcon)
    netcon.weight = $4   netcon.delay = $5
  }
  nclist.append(netcon)
  return nclist.count - 1
}
//model_globals()


//Network instantiation

/* Cell0 Cell_Cell[0] */  cell_append(new Cell_Cell(),	-30,	 0, 0)
/* Cell1 Cell_Cell[1]*/  cell_append(new Cell_Cell(),	20,	 0, 0)
/* Cell2 Cell_Cell[2]*/  cell_append(new Cell_Cell(),	70,	 0, 0)
/* Cell3 Cell_Cell[3]*/  cell_append(new Cell_Cell(),	120,	 0, 0)

/* Cell4 BasketCell[0] bask */  cell_append(new BasketCell(),	-35,	 53, 0)
/* Cell5 BasketCell[1] bask */  cell_append(new BasketCell(),	15,	 53, 0)
/* Cell6 BasketCell[2] bask */  cell_append(new BasketCell(),	45,	 53, 0)
/* Cell7 BasketCell[3] bask */  cell_append(new BasketCell(),	75,	 53, 0)

/* Cell8 OLMCell[0]*/  cell_append(new OLMCell(),	-40,	 -53, 0)
/* Cell9 OLMCell[1]*/  cell_append(new OLMCell(),	10,	 -53, 0)
/* Cell10 OLMCell[2]*/  cell_append(new OLMCell(),	40,	 -53, 0)
/* Cell11 OLMCell[3]*/  cell_append(new OLMCell(),	70,	 -53, 0)


/* Cell12 Cell_Cell[4]*/  cell_append(new Cell_Cell(),	-30,	 0, 50)
/* Cell13 Cell_Cell[5]*/  cell_append(new Cell_Cell(),	20,	 0, 50)
/* Cell14 Cell_Cell[6]*/  cell_append(new Cell_Cell(),	70,	 0, 50)
/* Cell15 Cell_Cell[7]*/  cell_append(new Cell_Cell(),	120,	 0, 50)

/* Cell16 BasketCell[4] bask */  cell_append(new BasketCell(),	-35,	 53, 50)
/* Cell17 BasketCell[5] bask */  cell_append(new BasketCell(),	15,	 53, 50)
/* Cell18 BasketCell[6] bask */  cell_append(new BasketCell(),	45,	 53, 50)
/* Cell19 BasketCell[7] bask */  cell_append(new BasketCell(),	75,	 53, 50)

/* Cell20 OLMCell[4] */  cell_append(new OLMCell(),	-40,	 -53, 50)
/* Cell21 OLMCell[5] */  cell_append(new OLMCell(),	10,	 -53, 50)
/* Cell22 OLMCell[6] */  cell_append(new OLMCell(),	40,	 -53, 50)
/* Cell23 OLMCell[7] */  cell_append(new OLMCell(),	70,	 -53, 50)


/* Cell24 Cell_Cell[8] */  cell_append(new Cell_Cell(),	-30,	 0, -50)
/* Cell25 Cell_Cell[9] */  cell_append(new Cell_Cell(),	20,	 0, -50)
/* Cell26 Cell_Cell[10] */  cell_append(new Cell_Cell(),	70,	 0, -50)
/* Cell27 Cell_Cell[11] */  cell_append(new Cell_Cell(),	120,	 0, -50)

/* Cell28 BasketCell[8] bask */  cell_append(new BasketCell(),	-35,	 53, -50)
/* Cell29 BasketCell[9] bask */  cell_append(new BasketCell(),	15,	 53, -50)
/* Cell30 BasketCell[10] bask */  cell_append(new BasketCell(),	45,	 53, -50)
/* Cell31 BasketCell[11] bask */  cell_append(new BasketCell(),	75,	 53, -50)

/* Cell32 OLMCell[8] */  cell_append(new OLMCell(),	-40,	 -53,-50)
/* Cell33 OLMCell[9] */  cell_append(new OLMCell(),	10,	 -53, -50)
/* Cell34 OLMCell[10] */  cell_append(new OLMCell(),	40,	 -53, -50)
/* Cell35 OLMCell[11] */  cell_append(new OLMCell(),	70,	 -53, -50)

/* Cell36 Cell_Cell[12] */  cell_append(new Cell_Cell(),	-30,	 0, 100)
/* Cell37 Cell_Cell[13] */  cell_append(new Cell_Cell(),	20,	 0, 100)
/* Cell38 Cell_Cell[14] */  cell_append(new Cell_Cell(),	70,	 0, 100)
/* Cell39 Cell_Cell[15] */  cell_append(new Cell_Cell(),	120,	 0, 100)

/* Cell40 BasketCell[12] bask */  cell_append(new BasketCell(),	-35,	 53, 100)
/* Cell41 BasketCell[13] bask */  cell_append(new BasketCell(),	15,	 53, 100)
/* Cell42 BasketCell[14] bask */  cell_append(new BasketCell(),	45,	 53, 100)
/* Cell43 BasketCell[15] bask */  cell_append(new BasketCell(),	75,	 53, 100)

/* Cell44 OLMCell[12] */  cell_append(new OLMCell(),	-40,	 -53, 100)
/* Cell45 OLMCell[13] */  cell_append(new OLMCell(),	10,	 -53, 100)
/* Cell46 OLMCell[14] */  cell_append(new OLMCell(),	40,	 -53, 100)
/* Cell47 OLMCell[15] */  cell_append(new OLMCell(),	70,	 -53, 100)



/* Cell48 Cell_Cell[16] */  cell_append(new Cell_Cell(),	-30,	 0, -100)
/* Cell49 Cell_Cell[17] */  cell_append(new Cell_Cell(),	20,	 0, -100)
/* Cell50 Cell_Cell[18] */  cell_append(new Cell_Cell(),	70,	 0, -100)
/* Cell51 Cell_Cell[19] */  cell_append(new Cell_Cell(),	120,	 0, -100)

/* Cell52 BasketCell[16] bask */  cell_append(new BasketCell(),	-35,	 53, -100)
/* Cell53 BasketCell[17] bask */  cell_append(new BasketCell(),	15,	 53, -100)
/* Cell54 BasketCell[18] bask */  cell_append(new BasketCell(),	45,	 53, -100)
/* Cell55 BasketCell[19] bask */  cell_append(new BasketCell(),	75,	 53, -100)

/* Cell56 OLMCell[16] */  cell_append(new OLMCell(),	-40,	 -53, -100)
/* Cell57 OLMCell[17] */  cell_append(new OLMCell(),	10,	 -53, -100)
/* Cell58 OLMCell[18] */  cell_append(new OLMCell(),	40,	 -53, -100)
/* Cell59 OLMCell[19] */  cell_append(new OLMCell(),	70,	 -53, -100)



/* NetStim10 */  cell_append(new NetStim_NetStim(),	-390,	 165, 0)

//current clamp in 1st cell

objectvar intstim
access Cell_Cell[0].soma
Cell_Cell[0].soma intstim = new IClamp()
//access electrode
access Cell_Cell[0].soma
exIClmp1 = new IClamp()
access Cell_Cell[0].soma
intstim.loc(0.5)
	intstim.del=10
	intstim.dur=2000
	intstim.amp=0.24


objectvar intstim10
Cell_Cell[4].soma intstim10 = new IClamp()
access Cell_Cell[4].soma
intstim10.loc(0.5)
	intstim10.del=intdel
	intstim10.dur=intpw
	intstim10.amp=Istim0


objectvar intstim11
Cell_Cell[12].soma intstim11 = new IClamp()
access Cell_Cell[12].soma
intstim11.loc(0.5)
	intstim11.del=intdel
	intstim11.dur=intpw
	intstim11.amp=Istim0

objectvar intstim10a
Cell_Cell[8].soma intstim10a = new IClamp()
access Cell_Cell[8].soma
intstim10a.loc(0.5)
	intstim10a.del=intdel
	intstim10a.dur=intpw
	intstim10a.amp=Istim0

objectvar intstim11a
Cell_Cell[16].soma intstim11a = new IClamp()
access Cell_Cell[8].soma
intstim11a.loc(0.5)
	intstim11a.del=intdel
	intstim11a.dur=intpw
	intstim11a.amp=Istim0



objectvar intstim2

access BasketCell[1].soma
BasketCell[1].soma intstim2 = new IClamp()
access BasketCell[1].soma
intstim2.loc(0.5)
	intstim2.del=30
	intstim2.dur=500
	
intstim2.amp=0

objectvar intstim3

access OLMCell[3].soma
OLMCell[3].soma intstim3 = new IClamp()
access OLMCell[3].soma
intstim3.loc(0.5)
	intstim3.del=50
	intstim3.dur=300
	intstim3.amp=-0.06




objectvar intstim4

access OLMCell[1].soma
OLMCell[1].soma intstim4 = new IClamp()
access OLMCell[1].soma
intstim4.loc(0.5)
	
intstim4.del=10
	intstim4.dur=1800
	
intstim4.amp= OStim1 


objectvar intstim5
access OLMCell[5].soma
OLMCell[5].soma intstim5 = new IClamp()
access OLMCell[5].soma
intstim5.loc(0.5)
	intstim5.del=10
	intstim5.dur=1800
	//intstim3.amp=-0.01
intstim5.amp= OStim1 //0.013


objectvar intstim6
access OLMCell[9].soma
OLMCell[9].soma intstim6 = new IClamp()
access OLMCell[9].soma
intstim6.loc(0.5)
	intstim6.del=10
	intstim6.dur=1800
intstim6.amp=OStim1 

objectvar intstim7
access OLMCell[13].soma
OLMCell[13].soma intstim7 = new IClamp()
access OLMCell[13].soma
intstim7.loc(0.5)
	intstim7.del=10
	intstim7.dur=1800
	//intstim3.amp=-0.01
intstim7.amp=OStim1 


objectvar intstim8
access OLMCell[17].soma
OLMCell[17].soma intstim8 = new IClamp()
access OLMCell[17].soma
intstim8.loc(0.5)
	intstim8.del=10
	intstim8.dur=1800
intstim8.amp=OStim1 


objectvar intstim30
access OLMCell[0].soma
OLMCell[0].soma intstim30 = new IClamp()
access OLMCell[0].soma
intstim30.loc(0.5)
	
intstim30.del=10
	intstim30.dur=1800
	
intstim30.amp= OStim2  //0.013


objectvar intstim31
access OLMCell[4].soma
OLMCell[4].soma intstim31 = new IClamp()
access OLMCell[4].soma
intstim31.loc(0.5)
	intstim31.del=10
	intstim31.dur=1800
	
intstim31.amp= OStim2 //0.013


objectvar intstim32
access OLMCell[8].soma
OLMCell[8].soma intstim32 = new IClamp()
access OLMCell[8].soma
intstim32.loc(0.5)
	intstim32.del=10
	intstim32.dur=1800
intstim32.amp=OStim2 // 0.013

objectvar intstim33
access OLMCell[12].soma
OLMCell[12].soma intstim33 = new IClamp()
access OLMCell[12].soma
intstim33.loc(0.5)
	intstim33.del=10
	intstim33.dur=1800
	
intstim33.amp=OStim2 //  0.013


objectvar intstim34
access OLMCell[16].soma
OLMCell[16].soma intstim34 = new IClamp()
access OLMCell[16].soma
intstim34.loc(0.5)
	intstim34.del=10
	intstim34.dur=1800
intstim34.amp=OStim2 //  0.013


objectvar intstim35
access OLMCell[2].soma
OLMCell[2].soma intstim35 = new IClamp()
access OLMCell[2].soma
intstim35.loc(0.5)
	
intstim35.del=10
	intstim35.dur=1800
	
intstim35.amp= OStim3  //0.013


objectvar intstim36
access OLMCell[6].soma
OLMCell[6].soma intstim36 = new IClamp()
access OLMCell[6].soma
intstim36.loc(0.5)
	intstim36.del=10
	intstim36.dur=1800
	
intstim36.amp= OStim3 //0.013


objectvar intstim37
access OLMCell[10].soma
OLMCell[10].soma intstim37 = new IClamp()
access OLMCell[10].soma
intstim37.loc(0.5)
	intstim37.del=10
	intstim37.dur=1800
intstim37.amp=OStim3 // 0.013

objectvar intstim38
access OLMCell[14].soma
OLMCell[14].soma intstim38 = new IClamp()
access OLMCell[14].soma
intstim38.loc(0.5)
	intstim38.del=10
	intstim38.dur=1800
	
intstim38.amp=OStim3 //  0.013


objectvar intstim39
access OLMCell[18].soma
OLMCell[18].soma intstim39 = new IClamp()
access OLMCell[18].soma
intstim39.loc(0.5)
	intstim39.del=10
	intstim39.dur=1800
intstim39.amp=OStim3 //  0.013




//seperate current inj in input cels in each clust



objectvar intstim15

access Cell_Cell[1].soma
Cell_Cell[1].soma intstim15 = new IClamp()
//access electrode
access Cell_Cell[1].soma
intstim15.loc(0.5)
	intstim15.del=intdel
	intstim15.dur=intpw
	intstim15.amp=Istim1

objectvar intstim16

access Cell_Cell[2].soma
Cell_Cell[2].soma intstim16 = new IClamp()
//access electrode
access Cell_Cell[2].soma
intstim16.loc(0.5)
	intstim16.del=intdel
	intstim16.dur=intpw
	intstim16.amp=Istim2

objectvar intstim17

access Cell_Cell[3].soma
Cell_Cell[3].soma intstim17 = new IClamp()
//access electrode
access Cell_Cell[3].soma
intstim17.loc(0.5)
	intstim17.del=intdel
	intstim17.dur=intpw
	intstim17.amp=Istim3

objectvar intstim18

access Cell_Cell[5].soma
Cell_Cell[5].soma intstim18 = new IClamp()
//access electrode
access Cell_Cell[5].soma
intstim18.loc(0.5)
	intstim18.del=intdel
	intstim18.dur=intpw
	intstim18.amp=Istim1

objectvar intstim19

access Cell_Cell[6].soma
Cell_Cell[6].soma intstim19 = new IClamp()
//access electrode
access Cell_Cell[6].soma
intstim19.loc(0.5)
	intstim19.del=intdel
	intstim19.dur=intpw
	intstim19.amp=Istim2

objectvar intstim20

access Cell_Cell[7].soma
Cell_Cell[7].soma intstim20 = new IClamp()
//access electrode
access Cell_Cell[7].soma
intstim20.loc(0.5)
	intstim20.del=intdel
	intstim20.dur=intpw
	intstim20.amp=Istim3


objectvar intstim21

access Cell_Cell[9].soma
Cell_Cell[9].soma intstim21 = new IClamp()
//access electrode
access Cell_Cell[9].soma
intstim21.loc(0.5)
	intstim21.del=intdel
	intstim21.dur=intpw
	intstim21.amp=Istim1

objectvar intstim22

access Cell_Cell[10].soma
Cell_Cell[10].soma intstim22 = new IClamp()
//access electrode
access Cell_Cell[10].soma
intstim22.loc(0.5)
	intstim22.del=intdel
	intstim22.dur=intpw
	intstim22.amp=Istim2

objectvar intstim23

access Cell_Cell[11].soma
Cell_Cell[11].soma intstim23 = new IClamp()
//access electrode
access Cell_Cell[11].soma
intstim23.loc(0.5)
	intstim23.del=intdel
	intstim23.dur=intpw
	intstim23.amp=Istim3

objectvar intstim24

access Cell_Cell[13].soma
Cell_Cell[13].soma intstim24 = new IClamp()
//access electrode
access Cell_Cell[13].soma
intstim24.loc(0.5)
	intstim24.del=intdel
	intstim24.dur=intpw
	intstim24.amp=Istim1

objectvar intstim25

access Cell_Cell[14].soma
Cell_Cell[14].soma intstim25 = new IClamp()
//access electrode
access Cell_Cell[14].soma
intstim25.loc(0.5)
	intstim25.del=intdel
	intstim25.dur=intpw
	intstim25.amp=Istim2

objectvar intstim26

access Cell_Cell[15].soma
Cell_Cell[15].soma intstim26 = new IClamp()
//access electrode
access Cell_Cell[15].soma
intstim26.loc(0.5)
	intstim26.del=intdel
	intstim26.dur=intpw
	intstim26.amp=Istim3


objectvar intstim27
access Cell_Cell[17].soma
Cell_Cell[17].soma intstim27 = new IClamp()
//access electrode
access Cell_Cell[17].soma
intstim27.loc(0.5)
	intstim27.del=intdel
	intstim27.dur=intpw
	intstim27.amp=Istim1

objectvar intstim28

access Cell_Cell[18].soma
Cell_Cell[18].soma intstim28 = new IClamp()
//access electrode
access Cell_Cell[18].soma
intstim28.loc(0.5)
	intstim28.del=intdel
	intstim28.dur=intpw
	intstim28.amp=Istim2

objectvar intstim29

access Cell_Cell[19].soma
Cell_Cell[19].soma intstim29 = new IClamp()
//access electrode
access Cell_Cell[19].soma
intstim29.loc(0.5)
	intstim29.del=intdel
	intstim29.dur=intpw
	intstim29.amp=Istim3



for n=0, 3 {
InsertSyn1(n)
InsertSyn1(n+12)
InsertSyn1(n+24)
InsertSyn1(n+36)
InsertSyn1(n+48)
}

/////Connectivity


for k =0, totSyn/3-1 {

// print "k", k
for n=0, 2 {
m=n+1
if (m > 3) {m=n-3} 


a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)


a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)

a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)
} //end n

//Projection from cell_1 cluster 1 to first cell in each other cluster (12 and 24)
g=wts1[12].get(k)
l=wts1[24].get(k)
/* Cell2 -> Cell3.Exc0 */  nc_append(1,   12, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(1,   24, k,  l, 5)

g=wts1[36].get(k)
l=wts1[48].get(k)

/* Cell2 -> Cell3.Exc0 */  nc_append(1,   36, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(1,   48, k,  l, 5)

}

for k =totSyn/3, 2*totSyn/3-1 {

for n=0, 2 {
m=n+2
if (m > 3) {m=n-2} 
a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)

a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)
  } ///end n

g=wts1[12].get(k)
l=wts1[24].get(k)
//Projection from cell_2 cluster 1 to first cell in each other cluster (12 and 24)
/* Cell3 -> Cell4.Exc0 */  nc_append(2,   12, k,  g, 5)
/* Cell2 -> Cell3.Exc0 */  nc_append(2,   24, k,  l, 5)


g=wts1[36].get(k)
l=wts1[48].get(k)

/* Cell2 -> Cell3.Exc0 */  nc_append(2,   36, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(2,   48, k,  l, 5)

  
}

for k =2*totSyn/3, totSyn-1 {
// print "k", k

for n=0, 2 {
m=n+3
if (m > 3) {m=n-1} 
a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)

a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)
}//end n

g=wts1[12].get(k)
l=wts1[24].get(k)
//Projection from cell_3 cluster 1 to first cell in each other cluster (12 and 24)
/* Cell4 -> Cell1.Exc0 */  nc_append(3,   12, k,  g, 5)
/* Cell2 -> Cell3.Exc0 */  nc_append(3,   24, k,  l, 5)

g=wts1[36].get(k)
l=wts1[48].get(k)

/* Cell2 -> Cell3.Exc0 */  nc_append(3,   36, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(3,   48, k,  l, 5)

} //end k


for k =1, totSyn/3-1 {
// print "k", k

n=3
m=0

a=wts1[0].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)

a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)
a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)


} //end k


for k =totSyn/3, 2*totSyn/3-1 {
// print "k", k

n=3
m=1


a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)
a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,  m+24, k,  a, 5)
a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,  m+36, k,  a, 5)
a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)


}
for k =2*totSyn/3,totSyn/3-1 {
// print "k", k

n=3
m=2

a=wts1[m].get(k)

/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)
a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)
a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,  m+ 36, k,  a, 5)
a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)



} //end k

for k =0, totSyn-1{
a=wts1[0].get(k)
b=wts1[1].get(k)
c=wts1[2].get(k)
f=wts1[3].get(k)

 /*NetStim4 -> Cell0.Exc0 */  ////nc_append(4,   0, k,  0.001,1)
/*NetStim4 -> Cell0.Exc0 */  ////nc_append(6,   0, k,  5*a,1)
}

for k =0, totSyn-1{
a=wts1[1].get(k)

 /*NetStim4 -> Cell0.Exc0 */ /// nc_append(2,   0, k,  0.001,1)
/*NetStim4 -> Cell0.Exc0 */  ////nc_append(6,   1, k,  5*a,1)
}



for n =0, 3{


///Pyr- bask within lammelar cluster1
/*Cell0 -> Bask0.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


//Pyr- OLM within lammelar cluster1
for m=0,2 {
/*Cell1 -> OLM2.Exc0 */ // nc_append(n,   9+m, 0,  0.00005,1)

//Pyr- OLM cross lammelar cluster1
/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   21+m, 0,  0.00003,1)

/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   33+m, 0,  0.00003,1)

/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   45+m, 0,  0.00002,1)

/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   57+m, 0,  0.00002,1)



/*Cell1 -> OLM2.Exc0 */  nc_append(n,   9+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster1
/*Cell1 -> OLM2.Exc0 */    nc_append(n,   21+m, 0,  0.00001,1)

/*Cell1 -> OLM2.Exc0 */    nc_append(n,   33+m, 0,  0.00001,1)

/*Cell1 -> OLM2.Exc0 */    nc_append(n,   45+m, 0,  0.000008,1)

/*Cell1 -> OLM2.Exc0 */    nc_append(n,   57+m, 0,  0.000008,1)
}
}

///Pyr- OLM within lammelar cluster2
for n =12, 15{

//for n =12, 14{

///Pyr- bask within lammelar cluster2
/*Cell0 -> Bask0.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster2
for m=0,2{

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   21+m, 0,  0.0001,1)

///Pyr- OLM cross lammelar cluster2
/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   9+m, 0,  0.00005,1)

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   33+m, 0,  0.00002,1)

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   45+m, 0,  0.00005,1)

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   57+m, 0,  0.00002,1)


/*Cell4 -> OLM2.Exc0 */  nc_append(n,   21+m, 0,  0.00002,1)

///Pyr- OLM cross lammelar cluster2
/*Cell4 -> OLM2.Exc0 */  nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   33+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   45+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   57+m, 0,  0.000003,1)
}
}

for n =24, 27{
//for n =24, 26{

///Pyr- bask within lammelar cluster3
/*Cell8 -> Bask8.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster3
for m=0,2{
/*Cell4 -> OLM2.Exc0 */  nc_append(n,   33+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster3
/*Cell4 -> OLM2.Exc0 */   nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   21+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   45+m, 0,  0.000003,1)


/*Cell4 -> OLM2.Exc0 */  nc_append(n,   57+m, 0,  0.000008,1)
}
}
///cluster 4

for n =36, 39{
//for n =36, 38{

///Pyr- bask within lammelar cluster3
/*Cell8 -> Bask8.Exc0 */   nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster3

for m=0,2{
/*Cell4 -> OLM2.Exc0 */  nc_append(n,   45+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster3
/*Cell4 -> OLM2.Exc0 */   nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   21+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   33+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   57+m, 0,  0.000003,1)
}
}

//cluster 5
for n =48, 51{
//for n =48, 50{
///Pyr- bask within lammelar cluster3
/*Cell8 -> Bask8.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster3
for m=0,2{

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   57+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster3
/*Cell4 -> OLM2.Exc0 */   nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   21+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   33+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   45+m, 0,  0.000003,1)
}
}


///Basket-Pyr in lammela
in1=totSyn 
for n= 0,3 {
/*Bask0 -> Exc1.Inh0 */ //  nc_append(n+4,   n, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */ //  nc_append(n+16,  n+12, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */  // nc_append(n+28,   n+ 24, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */ //  nc_append(n+40,  n+36, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */  // nc_append(n+52,   n+ 48, in1,  0.02,1)

/*Bask0 -> Exc1.Inh0 */  // nc_append(n+4,   n, in1,  0.015,1)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+4,   n, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+16,  n+12, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+28,   n+ 24, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+40,  n+36, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+52,   n+ 48, in1,  0.015,0.3)



}


///distal OLM

for n=0,3 {

for m= 0, 2{

for k =0, 8{

///OLM-Pyr within lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  // nc_append(9+m,   n, in1+1+9*m+k,  0.0005,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */ //  nc_append(9+m,   n+12, in1+1+9*m+k,  0.0005,1)
/*OLM0 -> Exc0.Inh0 */ // nc_append(9+m,   n+ 24, in1+1+9*m+k,  0.0005,1)
/*OLM0 -> Exc0.Inh0 */ // nc_append(9+m,   n+36, in1+1+9*m+k,  0.0003,1)
/*OLM0 -> Exc0.Inh0 */ //  nc_append(9+m,   n+ 48, in1+1+9*m+k,  0.0003,1) 

/*OLM0 -> Exc0.Inh0 */  /// nc_append(9+m,   n, in1+1+9*m+k,  0.0007,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  /// nc_append(9+m,   n+12, in1+1+9*m+k,  0.0006,1)
/*OLM0 -> Exc0.Inh0 */ /// nc_append(9+m,   n+ 24, in1+1+9*m+k,  0.0006,1)
/*OLM0 -> Exc0.Inh0 */ /// nc_append(9+m,   n+36, in1+1+9*m+k,  0.0004,1)
/*OLM0 -> Exc0.Inh0 */ ///  nc_append(9+m,   n+ 48, in1+1+9*m+k,  0.0004,1) 

/*OLM0 -> Exc0.Inh0 */   nc_append(9+m,   n, in1+1+9*m+k,  0.0022,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */   nc_append(9+m,   n+12, in1+1+9*m+k,  0.0015,1)
/*OLM0 -> Exc0.Inh0 */  nc_append(9+m,   n+ 24, in1+1+9*m+k,  0.0015,1)
/*OLM0 -> Exc0.Inh0 */  nc_append(9+m,   n+36, in1+1+9*m+k,  0.0012,1)
/*OLM0 -> Exc0.Inh0 */   nc_append(9+m,   n+ 48, in1+1+9*m+k,  0.0012,1) 


/// next 5 statements check if OLM is gone in 1 cluster
///OLM-Pyr within lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  //// nc_append(10,   n, in1+1+k,  0,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  //// nc_append(10,   n+12, in1+1+k,  0,1)
/*OLM0 -> Exc0.Inh0 */ //// nc_append(10,   n+ 24, in1+1+k,  0,1)
/*OLM0 -> Exc0.Inh0 */ ////  nc_append(10,   n+36, in1+1+k,  0,1)
/*OLM0 -> Exc0.Inh0 */ //// nc_append(10,   n+ 48, in1+1+k,  0,1) 



///OLM-Pyr within lammelar cluster2
/*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+12, in1+1+9*m+k,  0.0022,1) 
///OLM-Pyr cross lammelar cluster2
/*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n, in1+1+9*m+k,  0.0015,1)
//*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+24, in1+1+9*m+k,  0.0012,1)
/*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+36, in1+1+9*m+k,  0.0015,1)
//*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+48, in1+1+9*m+k,  0.0012,1)

//OLM-Pyr within lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+24, in1+1+9*m+k,  0.0022,1) 
//OLM-Pyr cross lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+12, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+36, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+48, in1+1+9*m+k,  0.0015,1) 


//OLM-Pyr within lammelar cluster4
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+36, in1+1+9*m+k,  0.0022,1) 
//OLM-Pyr cross lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+12, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n, in1+1+9*m+k,  0.0015,1)
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+24, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+48, in1+1+9*m+k,  0.0012,1) 

//OLM-Pyr within lammelar cluster5
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+48, in1+1+9*m+k,  0.0022,1) 
//OLM-Pyr cross lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+12, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+24, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+36, in1+1+9*m+k,  0.0012,1) 

}
}
}

//// end network connectivity

vrec=0





proc intstimulus(){
//Intracellular current clamp at the soma based on user selected variables from control panel
// delay fixed at 50 ms
intdel=50
	access Cell_Cell[0].soma
        intstim.loc(0.5)
	intstim.del=intdel
	intstim.dur=intpw
	intstim.amp=Istim
}

proc intstimulus2(){//input cell N as argument
//Intracellular current clamp at the soma based on user selected variables from control panel

	access cells.object($1).soma
	intstim.loc(0.5)
	intstim.del=20
	intstim.dur=300
	intstim.amp=0.1
}





ncells=20

//objref  dis[ncells]
//objref di[ncells][ndend], dv[ncells][Nel]

///need to move const below to globals or extract from Cell_Cell
TWO_THIRD_APIDIST = 350 
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43



//electric field stimulation
objref stim_amp, stim_time
stim_amp = new Vector()
stim_time = new Vector()

proc stim_waveform() { local i0, i1
  // this uses interpolated play
  // index    0  1    2    3        4
  // stim vec 0, 0,   1,   1,       0
  // time vec 0, DEL, DEL, DEL+DUR, DEL+DUR
  //  really  0, $1,  $1,  $1+$2,   $1+$2
  // first the stim vector
  stim_amp.resize(5)
  stim_amp.fill(0)
  stim_amp.x[2]=1
  stim_amp.x[3]=1
  stim_amp.mul($3)

stim_time.resize(5)
  stim_time.x[1]=$1
  stim_time.x[2]=$1
  stim_time.x[3]=$1+$2
  stim_time.x[4]=$1+$2
}


proc attach_stim() {
// since is_xtra is GLOBAL, we only need to specify Vector.play()
// for one point along each section of the model
forsec Cell_Cell[0].all {

    if (ismembrane("xtra")) {
psection()
// print "stim inserted"

stim_amp.play(&is_xtra, stim_time)

    }
 
}
forsec Cell_Cell[1].all {


    if (ismembrane("xtra")) {

psection()
// print "stim inserted"

stim_amp.play(&is_xtra, stim_time)

    }
 
}

}


proc setstim() {
  del = $1
  dur = $2
  amp = $3
  stim_waveform(del, dur, amp)
  attach_stim()
}


proc advance(){				
// At each time step, the extracellular voltage for each segments ends and midpoints are taken from mobj
									
fadvance()


}
//End advance


//check if need this for all cells
Cell_Cell[0].maxn3d()


//setstim(10, 200, 0.06)
//changed 9/12/09
setstim(10, pw, 0.06)



finitialize(Vrest)
if (cvode.active()) { cvode.re_init() }else{ fcurrent() } 
vrec = Cell_Cell[0].fieldrec1()

Cell_Cell[0].pasinit()
///checkthis
Cell_Cell[1].pasinit()
Cell_Cell[2].pasinit()
Cell_Cell[3].pasinit()



load_file("CurRun.ses")
load_file("GraphandElf.ses")


//access acell_home_