OSCR

Active dendrites enable robust spiking computations despite timing jitter.

Code ↔ Paper

1 match between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 1 match
  1. [1] § Methods › Biophysical model ↔ plateau-potentials/CA229.py, lines 43–85 · score 0.67 · apical dendrites, basal dendrites, axon, biophysical, Kv, sodium

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Python · 2,056 lines · 110 KB · GPL-3.0 · 1 match

  1. """
  2. CA229.py
  3. : Reconstructed prefrontal layer V pyramidal neuron with detailed morphology
  4. and active channels --- Acker and Antic (2009)
  5. Original:
  6. https://senselab.med.yale.edu/ModelDB/ShowModel.cshtml?model=117207&file=/acker_antic/Model/CA%20229.hoc#tabs-2
  7. Modified by : Peng Penny Gao <[email hidden]>
  8. Feb 01, 2018
  9. The cell class has 3d morphology infomation,
  10. and can be placed in a network (logical 3d location).
  11. Improved on March 01, 2018 to have better membrane time constant & resting membrane potential.
  12. Previous model has time constant ~ 6ms, most experimental data of
  13. neocortex pyramidal L5-6 neurons have time constant ~ 10ms.
  14. somaRm increased from 1000/0.4 to 1500/0.04
  15. somaCm increased from 1 to 1.45
  16. dendCm increased to somaCm*spineFACTOR
  17. pasVm increased from -80 to -65
  18. Udated on April 03, 2018 to have better resting membrane potential
  19. global_Ra = 100
  20. spinedist = 40 :decreased from 50
  21. Vk = -87 :increased from -100 shift the RMP towards higher potential
  22. Vna = 75 :increased from 65
  23. pasVm = -65
  24. Update again on July 25, 2018. Go back to the original value of Vna
  25. Vna = 60 : same as the 2009 model
  26. SomaNa = 900 : increased from 150 to get a similar bAP responses as the 2009 model
  27. Ref:
  28. https://senselab.med.yale.edu/ModelDB/ShowModel.cshtml?model=117207&file=/acker_antic/Model/CA%20229.hoc#tabs-2
  29. https://neuroelectro.org/neuron/111/
  30. https://senselab.med.yale.edu/ModelDB/ShowModel.cshtml?model=168148&file=/stadler2014_layerV/LayerVinit.hoc#tabs-2
  31. """
  32. import sys
  33. from neuron import h, gui
  34. from matplotlib import pyplot
  35. from math import sqrt, pi, log, exp
  36. #########################################
  37. # Parameters
  38. #########################################
  39. # Cell passive properties
  40. global_Ra = 100
  41. spineFACTOR = 1.5
  42. somaRm = 1500/0.04
  43. dendRm = somaRm/spineFACTOR
  44. somaCm = 1.45
  45. ############
  46. dendCm = somaCm*spineFACTOR
  47. spinedist = 40 # distance from soma where the spines start
  48. Vk = -87
  49. VNa = 60
  50. pasVm = -65
  51. # Specify cell biophysics
  52. somaNa = 900 # [pS/um2]
  53. axonNa = 5000 # [pS/um2]
  54. basalNa = 150 # Increased to 200 in Fig2. D2 - boosted gNa [pS/um2]
  55. mNa = 0.5 # decrease in sodium channel conductance in basal dendrites [pS/um2/um]
  56. apicalNa = 375
  57. gNamax = 2000 # maximum basal sodium conductance
  58. vshiftna = -10
  59. somaKv = 40 # somatic, apical, and initial basal Kv conductance
  60. mKV = 0 # increase in KV conductance in basal dendrites
  61. gKVmax = 500 # maximum basal KV conductance
  62. axonKv = 100
  63. somaKA = 150
  64. mgka = 0.7 # linear rise in IA channel density
  65. mgkaratio = 1./300 # linear drop in KAP portion, 1 at soma
  66. apicalKA = 300 # apical total GKA conductance
  67. gkamax = 2000 # pS/um2
  68. somaCa = 2 # total calcium channel conductance density of soma [pS/um^2]
  69. dendCa = 0.4 # dendritic total calcium conductance density
  70. SomaCaT = 2 # This value was original 8, decrease to 2 for better match
  71. dendCaT = 1.6
  72. cadistB = 30 # basal dendritic calcium channel conductance equals that of soma up until this distance
  73. cadistA = 30 # apical dendritic calcium channel conductance equals that of soma up until this distance
  74. gkl = 0.005
  75. ILdist = 15
  76. #############BK.mod
  77. kBK_gpeak = 2.68e-4
  78. kBK_caVhminShift = 45 #shift upwards to get lower effect on subthreshold
  79. #########################################
  80. # Set up the CA229 cell class
  81. #########################################
  82. class CA229:
  83. """
  84. A detailed model of Prefrontal layer V pyramidal neuron in mice.
  85. Channel distributions and other biophysical properties are from
  86. the Acker and Antic 2009 model.
  87. Section name:
  88. soma: soma compartments (soma[0] - soma[3])
  89. apical: apical dendrites (apical[0] - apical[44])
  90. basal: basal dendrites (basal[0] - basal[35])
  91. basals: SectionList of all basal but excluing basal[16]
  92. axon: SectionList of basal[16] (basal[16] is modeled as axon here)
  93. all: SectionList of all the above compartments
  94. """
  95. #############
  96. def __init__(self, Na_ratio = 1.0, HVA_ratio = 1.0, LVA_ratio = 1.0,
  97. KA_ratio = 1.0, BK_ratio = 1.0):
  98. # Define the ratio of parameters to adjust systematically
  99. self.Na_ratio = Na_ratio
  100. self.HVA_ratio = HVA_ratio
  101. self.LVA_ratio = LVA_ratio
  102. self.KA_ratio = KA_ratio
  103. self.BK_ratio = BK_ratio
  104. self.create_cell()
  105. self.optimize_nseg()
  106. self.add_axon()
  107. self.add_all()
  108. self.addsomachan()
  109. self.addapicalchan()
  110. self.addbasalchan()
  111. self.addaxonchan()
  112. self.gna_control()
  113. self.distCa()
  114. self.distKV()
  115. self.distKA()
  116. self.distspines()
  117. self.add_ih()
  118. self.add_CaK()
  119. ###################
  120. # Set up nseg numbers for each branch
  121. ###################
  122. def geom_nseg (self):
  123. # local freq, d_lambda, before, after, tmp
  124. # these are reasonable values for most models
  125. freq = 100 # Hz, frequency at which AC length constant will be computed
  126. d_lambda = 0.05
  127. before = 0
  128. after = 0
  129. for sec in self.all: before += sec.nseg
  130. for sec in self.all:
  131. # creates the number of segments per section
  132. # lambda_f takes in the current section
  133. sec.nseg = int((sec.L/(d_lambda*self.lambda_f(sec))+0.9)/2)*2 + 1
  134. for sec in self.all: after += sec.nseg
  135. # print ("geom_nseg: ", after, " total segments")
  136. def lambda_f (self, section):
  137. # these are reasonable values for most models
  138. freq = 100
  139. # The lowest number of n3d() is 2
  140. if (section.n3d() < 2):
  141. return 1e5*sqrt(section.diam/(4*pi*freq*section.Ra*section.cm))
  142. # above was too inaccurate with large variation in 3d diameter
  143. # so now we use all 3-d points to get a better approximate lambda
  144. x1 = section.arc3d(0)
  145. d1 = section.diam3d(0)
  146. self.lam = 0
  147. #print (section, " n3d:", section.n3d(), " diam3d:", section.diam3d(0))
  148. for i in range(section.n3d()): #h.n3d()-1
  149. x2 = section.arc3d(i)
  150. d2 = section.diam3d(i)
  151. self.lam += (x2 - x1)/sqrt(d1 + d2)
  152. x1 = x2
  153. d1 = d2
  154. # length of the section in units of lambda
  155. self.lam *= sqrt(2) * 1e-5*sqrt(4*pi*freq*section.Ra*section.cm)
  156. return section.L/self.lam
  157. def optimize_nseg (self):
  158. """
  159. Set up nseg
  160. """
  161. # Set up sectionList - easy to modify the properties of all branches
  162. self.all = h.SectionList()
  163. self.all_no_axon = h.SectionList()
  164. for section in self.soma:
  165. self.all.append(sec = section)
  166. self.all_no_axon.append(sec = section)
  167. for section in self.basal:
  168. self.all.append(sec = section)
  169. for section in self.apical:
  170. self.all.append(sec = section)
  171. self.all_no_axon.append(sec = section)
  172. self.basals = h.SectionList()
  173. self.axon = h.SectionList()
  174. self.axon.append(sec = self.basal[16])
  175. for section in self.basal:
  176. self.basals.append(sec = section)
  177. self.basals.remove(sec = self.basal[16])
  178. for section in self.basals:
  179. self.all_no_axon.append(sec = section)
  180. for sec in self.all:
  181. # Set up Ra and cm first:
  182. # the nseg calculation depends on the value of Ra and cm
  183. sec.Ra = global_Ra
  184. sec.cm = 1
  185. # give each compartment segment number
  186. self.geom_nseg()
  187. ###################
  188. # Reset axon length
  189. ###################
  190. def add_axon(self):
  191. """
  192. Set up the SectionLists and temporal axon branch.
  193. """
  194. self.basal[16].L = 200
  195. self.basal[16].nseg = 15
  196. h.distance(0,0.5,sec=self.soma[0])
  197. for seg in self.basal[16].allseg():
  198. dist = h.distance(seg.x, sec=self.basal[16])
  199. if (dist <= 15):
  200. self.basal[16](seg.x).diam = 1.725
  201. elif (dist > 15 and dist<= 30):
  202. self.basal[16](seg.x).diam = 1.119
  203. else:
  204. self.basal[16](seg.x).diam = 0.96
  205. ###################
  206. # Add channel properties
  207. ###################
  208. def add_all(self):
  209. for sec in self.all:
  210. sec.insert('vmax')
  211. sec.insert('pas')
  212. sec.e_pas = pasVm
  213. sec.insert('na')
  214. sec.insert('na_ion')
  215. sec.insert('k_ion')
  216. sec.ena = VNa
  217. h.vshift_na = vshiftna
  218. sec.ek = Vk
  219. sec.insert('kv')
  220. for sec in self.all_no_axon:
  221. sec.insert('kap')
  222. sec.insert('ca')
  223. sec.insert('it') # Properties from CaT.mod
  224. sec.vh1_it = 56
  225. sec.vh2_it = 415
  226. sec.ah_it = 30
  227. sec.v12m_it = 45
  228. sec.v12h_it = 65
  229. sec.am_it = 3
  230. sec.vshift_it = 10
  231. sec.vm1_it = 50
  232. sec.vm2_it = 125
  233. sec.insert('ca_ion')
  234. sec.eca = 140
  235. h.vshift_ca = 10
  236. sec.insert('cad')
  237. h.taur_cad = 100
  238. ###################
  239. # Set up channel properties only in soma
  240. ###################
  241. def addsomachan(self):
  242. for sec in self.soma:
  243. sec.cm = somaCm
  244. sec.g_pas = 1./somaRm
  245. ###################
  246. # Set up channel properties only in apical dendrites
  247. ###################
  248. def addapicalchan(self):
  249. for sec in self.apical:
  250. sec.insert('kad')
  251. ###################
  252. # Set up channel properties only in basal dendrites
  253. ###################
  254. def addbasalchan(self):
  255. for sec in self.basals:
  256. sec.insert('kad')
  257. ###################
  258. # Set up channel properties only in axon
  259. ###################
  260. def addaxonchan(self):
  261. for sec in self.axon:
  262. sec.cm = somaCm
  263. sec.g_pas = 1./somaRm
  264. h.thi1_na = -58
  265. h.thi2_na = -58
  266. sec.insert('kl')
  267. h.distance(0,0.5,sec=self.soma[0])
  268. for seg in sec:
  269. dist = h.distance(seg.x, sec=sec)
  270. if (dist>= ILdist):
  271. seg.gbar_kl = gkl
  272. else:
  273. seg.gbar_kl = 0
  274. #########################################
  275. # Distribution of sodium channel density
  276. #########################################
  277. def gna_control(self):
  278. for sec in self.soma:
  279. sec.gbar_na = somaNa * self.Na_ratio
  280. for sec in self.basals:
  281. h.distance(0, 0.5, sec = self.soma[0])
  282. for seg in sec:
  283. dist = h.distance(seg)
  284. gNalin = basalNa - mNa * dist
  285. if (gNalin > gNamax):
  286. gNalin = gNamax
  287. print ("Setting basal Na to maximum ",gNamax,
  288. " at distance ",dist," in basal dendrite ", sec.name())
  289. elif (gNalin < 0):
  290. gNalin = 0
  291. print ("Setting basal Na to zero at distance ",dist,
  292. " in basal dendrite ",sec.name())
  293. seg.gbar_na = gNalin * self.Na_ratio
  294. # Note: don't add ratio to axon, only modify basal, apical and soma sodium channel conductances
  295. for sec in self.axon:
  296. h.distance(0, 0.5, sec = self.soma[0])
  297. for seg in sec:
  298. dist = h.distance(seg)
  299. if (dist >= 35 and dist <= 50):
  300. seg.gbar_na = axonNa
  301. else:
  302. seg.gbar_na = somaNa
  303. for sec in self.apical:
  304. sec.gbar_na = apicalNa * self.Na_ratio
  305. #########################################
  306. # Distribution of potassium channel density
  307. #########################################
  308. def distKV(self):
  309. for sec in self.soma:
  310. sec.gbar_kv = somaKv
  311. for sec in self.basals:
  312. h.distance(0,0.5,sec=self.soma[0])
  313. for seg in sec:
  314. dist = h.distance(seg.x, sec=sec)
  315. gKVlin = somaKv + mKV * dist
  316. if (gKVlin > gKVmax):
  317. gKVlin = gKVmax
  318. print ("Setting basal GKV to maximum ",gKVmax," at distance ",dist," in basal dendrite",sec.name())
  319. elif (gKVlin < 0):
  320. gKVlin = 0
  321. print ("Setting basal GKV to zero at distance ",dist," in basal dendrite ",sec.name())
  322. seg.gbar_kv = gKVlin
  323. for sec in self.axon:
  324. sec.gbar_kv = axonKv
  325. for sec in self.apical:
  326. sec.gbar_kv = somaKv
  327. #########################################
  328. # Distribution of A-type potassium channel density
  329. #########################################
  330. def distKA(self):
  331. for sec in self.soma:
  332. gkabar_kap = somaKA/1e4 * self.KA_ratio
  333. for sec in self.basals:
  334. h.distance(0,0.5,sec=self.soma[0])
  335. for seg in sec:
  336. dist = h.distance(seg.x, sec=sec)
  337. gkalin = somaKA + mgka*dist
  338. ratiolin = 1 - mgkaratio*dist
  339. if (ratiolin < 0):
  340. ratio = 0
  341. else:
  342. ratio = ratiolin
  343. if (gkalin > gkamax):
  344. gkalin = gkamax
  345. print ("Setting GKA to maximum ",gkamax," in basal dendrite",sec.name())
  346. elif (gkalin < 0):
  347. gkalin = 0
  348. print ("Setting GKA to 0 in basal dendrite",sec.name())
  349. seg.gkabar_kap = gkalin * ratio/1e4 * self.KA_ratio
  350. seg.gkabar_kad = gkalin * (1-ratio)/1e4 * self.KA_ratio
  351. for sec in self.apical:
  352. h.distance(0,0.5,sec=self.soma[0])
  353. for seg in sec:
  354. dist = h.distance(seg.x, sec=sec)
  355. ratiolin = 1 - mgkaratio*dist
  356. if (ratiolin < 0):
  357. ratio = 0
  358. else:
  359. ratio = ratiolin
  360. seg.gkabar_kap = apicalKA*ratio/1e4 * self.KA_ratio
  361. seg.gkabar_kad = apicalKA*(1-ratio)/1e4 * self.KA_ratio
  362. #########################################
  363. # Distribution of Ca channel density
  364. #########################################
  365. def distCa(self):
  366. for sec in self.soma:
  367. sec.gbar_ca = somaCa * self.HVA_ratio
  368. sec.gbar_it = SomaCaT/1e4 * self.LVA_ratio
  369. for sec in self.basals:
  370. h.distance(0,0.5,sec = self.soma[0])
  371. for seg in sec:
  372. dist = h.distance(seg)
  373. if (dist > cadistB):
  374. seg.gbar_ca = dendCa * self.HVA_ratio
  375. seg.gbar_it = dendCaT/1e4 * self.LVA_ratio
  376. else:
  377. seg.gbar_ca = somaCa * self.HVA_ratio
  378. seg.gbar_it = SomaCaT/1e4 * self.LVA_ratio
  379. for sec in self.apical:
  380. h.distance(0,0.5,sec = self.soma[0])
  381. for seg in sec:
  382. dist = h.distance(seg.x, sec=sec)
  383. if (dist > cadistA):
  384. seg.gbar_ca = dendCa * self.HVA_ratio
  385. seg.gbar_it = dendCaT/1e4 * self.LVA_ratio
  386. else:
  387. seg.gbar_ca = somaCa * self.HVA_ratio
  388. seg.gbar_it = SomaCaT/1e4 * self.LVA_ratio
  389. #########################################
  390. # Distribution of spines on dendrites
  391. #########################################
  392. def distspines(self):
  393. for sec in self.basals:
  394. h.distance(0,0.5,sec = self.soma[0])
  395. for seg in sec:
  396. dist = h.distance(seg.x, sec=sec)
  397. if (dist >= spinedist):
  398. seg.cm = dendCm
  399. seg.g_pas = 1./dendRm
  400. else:
  401. seg.cm = somaCm
  402. seg.g_pas = 1./somaRm
  403. for sec in self.apical:
  404. h.distance(0,0.5,sec = self.soma[0])
  405. for seg in sec:
  406. dist = h.distance(seg.x, sec=sec)
  407. if (dist >= spinedist):
  408. seg.cm = dendCm
  409. seg.g_pas = 1./dendRm
  410. else:
  411. seg.cm = somaCm
  412. seg.g_pas = 1./somaRm
  413. #########################################
  414. # Add Ih channels
  415. #########################################
  416. def add_ih(self):
  417. for sec in self.soma:
  418. sec.insert('Ih')
  419. sec.gIhbar_Ih = 0.0001
  420. for sec in self.basals:
  421. sec.insert('Ih')
  422. sec.gIhbar_Ih = 0.0001
  423. for sec in self.apical:
  424. sec.insert('Ih')
  425. h.distance(0,0.5,sec=self.soma[0])
  426. for seg in sec:
  427. dist = h.distance(seg.x, sec=sec)
  428. seg.gIhbar_Ih = 0.0002*(-0.8696 + 2.0870*exp(dist/323))
  429. #########################################
  430. # Add calcium activated potassium channels
  431. #########################################
  432. def add_CaK(self, ratio = 1.0):
  433. for sec in self.apical:
  434. sec.insert('kBK')
  435. sec.gpeak_kBK = kBK_gpeak * self.BK_ratio
  436. sec.caVhmin_kBK = -46.08 + kBK_caVhminShift
  437. for sec in self.basals:
  438. sec.insert('kBK')
  439. sec.gpeak_kBK = kBK_gpeak * self.BK_ratio
  440. sec.caVhmin_kBK = -46.08 + kBK_caVhminShift
  441. for sec in self.soma:
  442. sec.insert('kBK')
  443. sec.gpeak_kBK = kBK_gpeak * self.BK_ratio
  444. sec.caVhmin_kBK = -46.08 + kBK_caVhminShift
  445. #########################################
  446. # Model the experiment with TTX application
  447. #########################################
  448. def TTX(self):
  449. for sec in self.all:
  450. sec.gbar_na = 0
  451. def TTX_bAP(self):
  452. for sec in self.basals:
  453. sec.gbar_na = 0
  454. #########################################
  455. # No calcium
  456. #########################################
  457. def no_ca(self):
  458. for sec in self.soma:
  459. sec.gbar_ca = 0
  460. sec.gbar_it = 0
  461. for sec in self.apical:
  462. sec.gbar_ca = 0
  463. sec.gbar_it = 0
  464. for sec in self.basals:
  465. sec.gbar_ca = 0
  466. sec.gbar_it = 0
  467. #########################################
  468. # 3D geometry of the cell
  469. #########################################
  470. def create_cell(self):
  471. """
  472. 3D morphology of CA229 cell.
  473. The diam and L of each compartment is determined by 3D structure.
  474. Same as hoc 3D morphology: CA229.hoc
  475. """
  476. self.soma = [h.Section(name='soma[%d]' % i) for i in range(4)]
  477. self.apical = [h.Section(name='apical[%d]' % i) for i in range(45)]
  478. self.basal = [h.Section(name='basal[%d]' % i) for i in range(36)]
  479. # Set up the 3d morphology and connection of soma
  480. h.pt3dclear(sec = self.soma[0])
  481. h.pt3dstyle(1, -53.42,3.52,-5.95,13.43, sec = self.soma[0])
  482. h.pt3dadd(-53.42,3.52,-5.96,13.43, sec = self.soma[0])
  483. # Default diameter of 500 um and a length of 1e-9 um is using without setting
  484. # Add this to be able to measure input resistance at location soma[0]
  485. h.pt3dadd(-53.42,3.53,-5.96,13.43, sec = self.soma[0])
  486. self.soma[1].connect(self.soma[0])
  487. h.pt3dclear(sec = self.soma[1])
  488. h.pt3dadd(-53.42,3.52,-5.96,13.43, sec = self.soma[1])
  489. h.pt3dadd(-53.74,0.93,-5.96,15.35, sec = self.soma[1])
  490. h.pt3dadd(-54.06,-1.66,-5.96,11.51, sec = self.soma[1])
  491. self.soma[3].connect(self.soma[0])
  492. h.pt3dclear(sec = self.soma[3])
  493. h.pt3dadd(-53.42,3.52,-5.96,13.43, sec = self.soma[3])
  494. h.pt3dadd(-53.1,6.12,-5.96,11.19, sec = self.soma[3])
  495. h.pt3dadd(-52.78,8.71,-5.96,9.59, sec = self.soma[3])
  496. h.pt3dadd(-52.78,11.62,-5.96,7.36, sec = self.soma[3])
  497. h.pt3dadd(-53.1,14.22,-5.96,5.76, sec = self.soma[3])
  498. self.soma[2].connect(self.soma[1])
  499. h.pt3dclear(sec = self.soma[2])
  500. h.pt3dadd(-54.06,-1.66,-5.96,11.51, sec = self.soma[2])
  501. h.pt3dadd(-54.06,-4.25,-5.96,7.99, sec = self.soma[2])
  502. # Set up the 3d morphology and connection of basal dendrites
  503. self.basal[0].connect(self.soma[1])
  504. h.pt3dclear(sec = self.basal[0])
  505. h.pt3dadd(-54.06,-1.66,-5.96,2.5, sec = self.basal[0])
  506. h.pt3dadd(-46.01,-2.93,-0.02,2.24, sec = self.basal[0])
  507. h.pt3dadd(-40.25,-4.54,-1.6,1.6, sec = self.basal[0])
  508. h.pt3dadd(-36.368,-6.407,-1.016,1.6, sec = self.basal[0])
  509. h.pt3dadd(-33.866,-7.55,0.69,1.6, sec = self.basal[0])
  510. self.basal[1].connect(self.basal[0])
  511. h.pt3dclear(sec = self.basal[1])
  512. h.pt3dadd(-33.866,-7.55,0.69,1.6, sec = self.basal[1])
  513. h.pt3dadd(-29.246,-9.33,-9.55,1.28, sec = self.basal[1])
  514. self.basal[2].connect(self.basal[1])
  515. h.pt3dclear(sec = self.basal[2])
  516. h.pt3dadd(-29.246,-9.33,-9.55,1.28, sec = self.basal[2])
  517. h.pt3dadd(-25.336,-8.93,-9.03,0.96, sec = self.basal[2])
  518. h.pt3dadd(-18.626,-8.93,-10.91,0.96, sec = self.basal[2])
  519. h.pt3dadd(-13.826,-6.99,-10.91,0.96, sec = self.basal[2])
  520. h.pt3dadd(-9.356,-6.02,-8.59,0.96, sec = self.basal[2])
  521. h.pt3dadd(-4.556,-5.04,-8.59,0.96, sec = self.basal[2])
  522. h.pt3dadd(-0.396,-4.07,-10.83,0.96, sec = self.basal[2])
  523. h.pt3dadd(5.044,-1.8,-7.45,0.64, sec = self.basal[2])
  524. self.basal[3].connect(self.basal[2])
  525. h.pt3dclear(sec = self.basal[3])
  526. h.pt3dadd(5.044,-1.8,-7.45,0.64, sec = self.basal[3])
  527. h.pt3dadd(8.234,1.44,-4.49,0.64, sec = self.basal[3])
  528. h.pt3dadd(11.434,3.05,-5.77,0.64, sec = self.basal[3])
  529. h.pt3dadd(14.314,7.59,-3.25,0.64, sec = self.basal[3])
  530. self.basal[4].connect(self.basal[2])
  531. h.pt3dclear(sec = self.basal[4])
  532. h.pt3dadd(5.044,-1.8,-7.45,0.64, sec = self.basal[4])
  533. h.pt3dadd(8.874,-3.1,-7.57,0.64, sec = self.basal[4])
  534. h.pt3dadd(12.394,-4.72,-7.57,0.64, sec = self.basal[4])
  535. h.pt3dadd(16.874,-6.02,-3.27,0.64, sec = self.basal[4])
  536. h.pt3dadd(21.024,-4.72,-3.27,0.64, sec = self.basal[4])
  537. h.pt3dadd(27.104,-5.69,-3.27,0.64, sec = self.basal[4])
  538. h.pt3dadd(34.144,-5.04,-3.27,0.64, sec = self.basal[4])
  539. h.pt3dadd(42.134,-5.37,-5.95,0.64, sec = self.basal[4])
  540. self.basal[5].connect(self.basal[1])
  541. h.pt3dclear(sec = self.basal[5])
  542. h.pt3dadd(-29.246,-9.33,-9.55,1.28, sec = self.basal[5])
  543. h.pt3dadd(-28.926,-14.19,-13.17,1.28, sec = self.basal[5])
  544. self.basal[6].connect(self.basal[5])
  545. h.pt3dclear(sec = self.basal[6])
  546. h.pt3dadd(-28.926,-14.19,-13.17,1.28, sec = self.basal[6])
  547. h.pt3dadd(-25.836,-15.3,-16.87,0.64, sec = self.basal[6])
  548. h.pt3dadd(-26.156,-17.89,-16.87,0.64, sec = self.basal[6])
  549. h.pt3dadd(-24.024,-22.264,-18.55,0.64, sec = self.basal[6])
  550. h.pt3dadd(-20.516,-26.376,-20.924,0.64, sec = self.basal[6])
  551. h.pt3dadd(-19.246,-30.256,-23.784,0.64, sec = self.basal[6])
  552. h.pt3dadd(-19.886,-33.496,-26.964,0.64, sec = self.basal[6])
  553. h.pt3dadd(-17.326,-36.416,-28.544,0.494, sec = self.basal[6])
  554. h.pt3dadd(-15.726,-39.336,-32.184,0.53, sec = self.basal[6])
  555. h.pt3dadd(-15.086,-40.306,-42.104,0.612, sec = self.basal[6])
  556. self.basal[7].connect(self.basal[6])
  557. h.pt3dclear(sec = self.basal[7])
  558. h.pt3dadd(-15.086,-40.306,-42.104,0.612, sec = self.basal[7])
  559. h.pt3dadd(-11.566,-38.036,-42.944,0.64, sec = self.basal[7])
  560. h.pt3dadd(-8.366,-37.716,-42.944,0.64, sec = self.basal[7])
  561. h.pt3dadd(-5.486,-39.006,-46.344,0.64, sec = self.basal[7])
  562. h.pt3dadd(-3.896,-41.596,-46.344,0.64, sec = self.basal[7])
  563. h.pt3dadd(-1.976,-44.196,-46.344,0.64, sec = self.basal[7])
  564. h.pt3dadd(0.264,-46.786,-50.644,0.52, sec = self.basal[7])
  565. h.pt3dadd(2.824,-48.726,-50.684,0.476, sec = self.basal[7])
  566. h.pt3dadd(5.064,-50.026,-55.644,0.5, sec = self.basal[7])
  567. h.pt3dadd(10.814,-52.616,-61.884,0.456, sec = self.basal[7])
  568. h.pt3dadd(14.514,-55.326,-64.804,0.422, sec = self.basal[7])
  569. h.pt3dadd(16.434,-57.266,-64.804,0.304, sec = self.basal[7])
  570. h.pt3dadd(18.994,-60.186,-70.144,0.32, sec = self.basal[7])
  571. self.basal[8].connect(self.basal[6])
  572. h.pt3dclear(sec = self.basal[8])
  573. h.pt3dadd(-15.086,-40.306,-42.104,0.612, sec = self.basal[8])
  574. h.pt3dadd(-14.126,-42.571,-44.114,0.504, sec = self.basal[8])
  575. h.pt3dadd(-12.728,-46.195,-45.327,0.476, sec = self.basal[8])
  576. h.pt3dadd(-11.732,-50.174,-47.162,0.448, sec = self.basal[8])
  577. h.pt3dadd(-10.199,-52.853,-48.131,0.394, sec = self.basal[8])
  578. h.pt3dadd(-5.399,-56.093,-50.231,0.388, sec = self.basal[8])
  579. h.pt3dadd(-4.759,-58.363,-50.331,0.428, sec = self.basal[8])
  580. h.pt3dadd(-2.839,-60.633,-52.211,0.37, sec = self.basal[8])
  581. h.pt3dadd(-1.889,-63.873,-52.211,0.424, sec = self.basal[8])
  582. h.pt3dadd(0.671,-65.813,-52.211,0.406, sec = self.basal[8])
  583. h.pt3dadd(1.311,-71.643,-60.271,0.382, sec = self.basal[8])
  584. h.pt3dadd(3.551,-74.883,-63.351,0.414, sec = self.basal[8])
  585. h.pt3dadd(5.151,-78.123,-67.451,0.296, sec = self.basal[8])
  586. h.pt3dadd(5.151,-81.693,-71.031,0.32, sec = self.basal[8])
  587. self.basal[9].connect(self.basal[5])
  588. h.pt3dclear(sec = self.basal[9])
  589. h.pt3dadd(-28.926,-14.19,-13.17,1.28, sec = self.basal[9])
  590. h.pt3dadd(-30.846,-17.11,-16.15,1.082, sec = self.basal[9])
  591. h.pt3dadd(-32.766,-18.73,-16.15,1.08, sec = self.basal[9])
  592. h.pt3dadd(-32.126,-23.27,-17.47,1.102, sec = self.basal[9])
  593. h.pt3dadd(-33.406,-25.21,-17.47,1.068, sec = self.basal[9])
  594. h.pt3dadd(-35.646,-27.8,-18.05,1.098, sec = self.basal[9])
  595. h.pt3dadd(-39.156,-30.72,-18.77,1.094, sec = self.basal[9])
  596. h.pt3dadd(-40.116,-34.6,-20.11,1.132, sec = self.basal[9])
  597. self.basal[10].connect(self.basal[9])
  598. h.pt3dclear(sec = self.basal[10])
  599. h.pt3dadd(-40.116,-34.6,-20.11,1.132, sec = self.basal[10])
  600. h.pt3dadd(-39.906,-40.24,-24.57,0.96, sec = self.basal[10])
  601. h.pt3dadd(-39.906,-45.75,-24.57,0.96, sec = self.basal[10])
  602. h.pt3dadd(-38.668,-51.661,-25.382,0.96, sec = self.basal[10])
  603. h.pt3dadd(-38.572,-56.527,-25.946,0.96, sec = self.basal[10])
  604. h.pt3dadd(-39.342,-61.021,-26.78,0.96, sec = self.basal[10])
  605. h.pt3dadd(-40.302,-64.911,-26.78,1.008, sec = self.basal[10])
  606. h.pt3dadd(-39.662,-71.391,-28.04,0.96, sec = self.basal[10])
  607. h.pt3dadd(-39.982,-76.571,-29.98,0.64, sec = self.basal[10])
  608. h.pt3dadd(-41.216,-80.587,-31.934,0.64, sec = self.basal[10])
  609. h.pt3dadd(-42.92,-84.501,-32.904,0.64, sec = self.basal[10])
  610. h.pt3dadd(-45.16,-87.741,-30.504,0.64, sec = self.basal[10])
  611. h.pt3dadd(-46.44,-90.651,-31.344,0.64, sec = self.basal[10])
  612. h.pt3dadd(-47.4,-94.541,-31.344,0.64, sec = self.basal[10])
  613. h.pt3dadd(-47.4,-98.431,-32.864,0.64, sec = self.basal[10])
  614. h.pt3dadd(-47.72,-102.641,-34.304,0.64, sec = self.basal[10])
  615. h.pt3dadd(-49,-105.561,-34.304,0.64, sec = self.basal[10])
  616. h.pt3dadd(-48.68,-109.441,-35.684,0.64, sec = self.basal[10])
  617. h.pt3dadd(-47.4,-113.331,-35.684,0.64, sec = self.basal[10])
  618. h.pt3dadd(-46.76,-116.251,-34.264,0.64, sec = self.basal[10])
  619. h.pt3dadd(-46.76,-120.141,-31.004,0.446, sec = self.basal[10])
  620. h.pt3dadd(-46.12,-123.381,-26.584,0.386, sec = self.basal[10])
  621. h.pt3dadd(-44.2,-126.621,-26.584,0.398, sec = self.basal[10])
  622. self.basal[11].connect(self.basal[9])
  623. h.pt3dclear(sec = self.basal[11])
  624. h.pt3dadd(-40.116,-34.6,-20.11,1.132, sec = self.basal[11])
  625. h.pt3dadd(-41.716,-35.41,-23.29,1.13, sec = self.basal[11])
  626. h.pt3dadd(-45.096,-37.479,-24.752,1.124, sec = self.basal[11])
  627. h.pt3dadd(-47.299,-41.094,-25.735,1.036, sec = self.basal[11])
  628. h.pt3dadd(-48.612,-44.234,-27.368,1.092, sec = self.basal[11])
  629. h.pt3dadd(-49.572,-48.454,-30.748,1.086, sec = self.basal[11])
  630. h.pt3dadd(-51.812,-53.634,-30.748,0.99, sec = self.basal[11])
  631. h.pt3dadd(-52.02,-58.504,-31.286,1.008, sec = self.basal[11])
  632. h.pt3dadd(-51.485,-63.294,-31.63,1.058, sec = self.basal[11])
  633. h.pt3dadd(-51.508,-68.69,-33.076,1.012, sec = self.basal[11])
  634. h.pt3dadd(-53.108,-72.26,-35.296,0.958, sec = self.basal[11])
  635. h.pt3dadd(-54.388,-76.47,-37.036,0.774, sec = self.basal[11])
  636. h.pt3dadd(-56.938,-80.36,-39.256,0.772, sec = self.basal[11])
  637. h.pt3dadd(-56.298,-84.89,-40.956,0.798, sec = self.basal[11])
  638. h.pt3dadd(-57.698,-89.24,-45.596,0.738, sec = self.basal[11])
  639. h.pt3dadd(-58.968,-92.8,-52.736,0.64, sec = self.basal[11])
  640. self.basal[12].connect(self.basal[11])
  641. h.pt3dclear(sec = self.basal[12])
  642. h.pt3dadd(-58.968,-92.8,-52.736,0.64, sec = self.basal[12])
  643. h.pt3dadd(-57.698,-97.98,-51.616,0.64, sec = self.basal[12])
  644. self.basal[13].connect(self.basal[11])
  645. h.pt3dclear(sec = self.basal[13])
  646. h.pt3dadd(-58.968,-92.8,-52.736,0.64, sec = self.basal[13])
  647. h.pt3dadd(-62.488,-94.74,-53.496,0.548, sec = self.basal[13])
  648. h.pt3dadd(-66.008,-97.66,-55.516,0.452, sec = self.basal[13])
  649. h.pt3dadd(-68.888,-100.25,-57.636,0.39, sec = self.basal[13])
  650. h.pt3dadd(-72.408,-102.52,-59.716,0.32, sec = self.basal[13])
  651. self.basal[14].connect(self.basal[0])
  652. h.pt3dclear(sec = self.basal[14])
  653. h.pt3dadd(-33.866,-7.55,0.69,1.6, sec = self.basal[14])
  654. h.pt3dadd(-33.454,-9.753,0.736,1.38, sec = self.basal[14])
  655. h.pt3dadd(-32.081,-13.934,0.337,1.228, sec = self.basal[14])
  656. h.pt3dadd(-30.188,-16.751,0.108,1.242, sec = self.basal[14])
  657. h.pt3dadd(-26.988,-17.081,2.608,1.12, sec = self.basal[14])
  658. h.pt3dadd(-26.988,-20.321,3.708,1.124, sec = self.basal[14])
  659. h.pt3dadd(-27.628,-23.231,8.008,0.972, sec = self.basal[14])
  660. h.pt3dadd(-26.668,-26.471,10.388,1.032, sec = self.basal[14])
  661. h.pt3dadd(-24.758,-30.361,14.628,1, sec = self.basal[14])
  662. h.pt3dadd(-22.838,-32.951,14.628,0.962, sec = self.basal[14])
  663. h.pt3dadd(-22.518,-36.191,14.208,1.016, sec = self.basal[14])
  664. h.pt3dadd(-21.238,-38.461,14.208,0.922, sec = self.basal[14])
  665. h.pt3dadd(-20.918,-41.701,14.208,0.912, sec = self.basal[14])
  666. h.pt3dadd(-21.238,-44.291,15.168,0.89, sec = self.basal[14])
  667. h.pt3dadd(-19.638,-47.861,15.168,0.872, sec = self.basal[14])
  668. h.pt3dadd(-17.458,-53.202,15.019,0.82, sec = self.basal[14])
  669. h.pt3dadd(-16.847,-57.954,13.855,0.866, sec = self.basal[14])
  670. h.pt3dadd(-14.927,-62.494,13.775,0.788, sec = self.basal[14])
  671. h.pt3dadd(-13.007,-63.794,12.175,0.678, sec = self.basal[14])
  672. h.pt3dadd(-12.687,-67.354,12.175,0.672, sec = self.basal[14])
  673. h.pt3dadd(-9.817,-69.624,12.175,0.54, sec = self.basal[14])
  674. h.pt3dadd(-8.574,-74.473,11.45,0.7, sec = self.basal[14])
  675. h.pt3dadd(-5.827,-78.113,11.213,0.698, sec = self.basal[14])
  676. h.pt3dadd(-3.08,-81.753,10.977,0.692, sec = self.basal[14])
  677. h.pt3dadd(-1.16,-85.963,10.977,0.66, sec = self.basal[14])
  678. h.pt3dadd(2.68,-89.523,10.977,0.62, sec = self.basal[14])
  679. h.pt3dadd(4.6,-91.793,10.977,0.65, sec = self.basal[14])
  680. h.pt3dadd(4.6,-96.003,10.977,0.592, sec = self.basal[14])
  681. h.pt3dadd(4.6,-100.543,9.397,0.548, sec = self.basal[14])
  682. h.pt3dadd(7.504,-105.61,8.349,0.554, sec = self.basal[14])
  683. h.pt3dadd(12.467,-109.418,8.221,0.526, sec = self.basal[14])
  684. h.pt3dadd(14.387,-112.008,8.221,0.524, sec = self.basal[14])
  685. h.pt3dadd(15.337,-116.548,7.741,0.59, sec = self.basal[14])
  686. h.pt3dadd(16.297,-121.728,7.741,0.578, sec = self.basal[14])
  687. h.pt3dadd(18.537,-125.618,9.161,0.492, sec = self.basal[14])
  688. h.pt3dadd(20.457,-131.128,9.221,0.504, sec = self.basal[14])
  689. h.pt3dadd(20.457,-135.018,7.521,0.412, sec = self.basal[14])
  690. h.pt3dadd(19.497,-136.958,6.101,0.432, sec = self.basal[14])
  691. h.pt3dadd(20.457,-146.678,7.981,0.32, sec = self.basal[14])
  692. h.pt3dadd(20.607,-149.468,9.521,0.32, sec = self.basal[14])
  693. self.basal[15].connect(self.soma[2])
  694. h.pt3dclear(sec = self.basal[15])
  695. h.pt3dadd(-54.06,-4.25,-5.96,2.5, sec = self.basal[15])
  696. h.pt3dadd(-49.95,-7.22,3.6,2.156, sec = self.basal[15])
  697. h.pt3dadd(-48.67,-12.08,3.78,1.47, sec = self.basal[15])
  698. h.pt3dadd(-48.67,-17.27,4.7,1.206, sec = self.basal[15])
  699. h.pt3dadd(-47.39,-19.86,5.6,1.118, sec = self.basal[15])
  700. h.pt3dadd(-47.523,-24.137,7.008,1.088, sec = self.basal[15])
  701. h.pt3dadd(-47.787,-28.401,7.217,1.076, sec = self.basal[15])
  702. h.pt3dadd(-46.397,-32.726,7.605,1.096, sec = self.basal[15])
  703. h.pt3dadd(-46.523,-36.824,8.233,1.11, sec = self.basal[15])
  704. h.pt3dadd(-44.603,-41.034,6.453,1.036, sec = self.basal[15])
  705. h.pt3dadd(-42.043,-46.864,5.833,0.82, sec = self.basal[15])
  706. h.pt3dadd(-40.931,-51.092,1.762,0.72, sec = self.basal[15])
  707. h.pt3dadd(-39.371,-55.006,0.727,0.64, sec = self.basal[15])
  708. h.pt3dadd(-36.979,-57.042,0.736,0.64, sec = self.basal[15])
  709. h.pt3dadd(-34.782,-59.944,0.399,0.64, sec = self.basal[15])
  710. h.pt3dadd(-32.088,-62.488,0.371,0.64, sec = self.basal[15])
  711. h.pt3dadd(-29.848,-65.078,0.371,0.64, sec = self.basal[15])
  712. h.pt3dadd(-28.248,-68.968,-2.169,0.64, sec = self.basal[15])
  713. h.pt3dadd(-25.368,-69.938,-2.169,0.64, sec = self.basal[15])
  714. h.pt3dadd(-22.808,-71.558,-2.969,0.64, sec = self.basal[15])
  715. h.pt3dadd(-22.168,-74.798,-1.929,0.64, sec = self.basal[15])
  716. h.pt3dadd(-19.928,-78.368,-0.229,0.64, sec = self.basal[15])
  717. h.pt3dadd(-17.698,-82.898,-0.229,0.64, sec = self.basal[15])
  718. h.pt3dadd(-17.378,-88.088,-3.449,0.64, sec = self.basal[15])
  719. h.pt3dadd(-17.058,-92.618,-3.449,0.64, sec = self.basal[15])
  720. h.pt3dadd(-16.418,-96.508,0.131,0.64, sec = self.basal[15])
  721. h.pt3dadd(-15.178,-99.754,-0.075,0.64, sec = self.basal[15])
  722. h.pt3dadd(-13.399,-101.604,-0.737,0.64, sec = self.basal[15])
  723. h.pt3dadd(-12.171,-104.963,-1.239,0.64, sec = self.basal[15])
  724. h.pt3dadd(-10.571,-108.853,1.121,0.64, sec = self.basal[15])
  725. h.pt3dadd(-10.891,-113.393,3.021,0.64, sec = self.basal[15])
  726. h.pt3dadd(-11.519,-117.77,4.264,0.64, sec = self.basal[15])
  727. h.pt3dadd(-12.12,-122.248,4.078,0.64, sec = self.basal[15])
  728. h.pt3dadd(-13.423,-127.17,5.023,0.64, sec = self.basal[15])
  729. h.pt3dadd(-13.743,-132.36,7.783,0.64, sec = self.basal[15])
  730. h.pt3dadd(-16.133,-137.05,8.683,0.64, sec = self.basal[15])
  731. h.pt3dadd(-16.105,-139.642,7.714,0.64, sec = self.basal[15])
  732. h.pt3dadd(-15.71,-142.279,7.455,0.64, sec = self.basal[15])
  733. h.pt3dadd(-16.35,-146.809,8.095,0.64, sec = self.basal[15])
  734. h.pt3dadd(-19.23,-149.729,9.435,0.64, sec = self.basal[15])
  735. h.pt3dadd(-19.87,-153.609,10.595,0.64, sec = self.basal[15])
  736. h.pt3dadd(-21.79,-156.849,13.535,0.64, sec = self.basal[15])
  737. h.pt3dadd(-20.83,-160.419,13.535,0.64, sec = self.basal[15])
  738. h.pt3dadd(-21.47,-163.979,14.795,0.492, sec = self.basal[15])
  739. h.pt3dadd(-22.11,-169.169,16.355,0.404, sec = self.basal[15])
  740. h.pt3dadd(-21.79,-174.029,16.375,0.402, sec = self.basal[15])
  741. h.pt3dadd(-23.71,-178.559,14.595,0.404, sec = self.basal[15])
  742. h.pt3dadd(-24.99,-182.129,14.595,0.374, sec = self.basal[15])
  743. h.pt3dadd(-25.95,-186.009,14.595,0.32, sec = self.basal[15])
  744. h.pt3dadd(-27.23,-188.279,14.595,0.32, sec = self.basal[15])
  745. h.pt3dadd(-26.59,-191.519,17.275,0.32, sec = self.basal[15])
  746. h.pt3dadd(-29.61,-196.579,17.275,0.32, sec = self.basal[15])
  747. h.pt3dadd(-33.13,-200.469,19.755,0.32, sec = self.basal[15])
  748. self.basal[16].connect(self.soma[2])
  749. h.pt3dclear(sec = self.basal[16])
  750. h.pt3dadd(-54.06,-4.25,-5.96,2.5, sec = self.basal[16])
  751. h.pt3dadd(-57.1,-6.71,1.34,1.31, sec = self.basal[16])
  752. h.pt3dadd(-57.42,-14.48,1.54,1.226, sec = self.basal[16])
  753. h.pt3dadd(-59.66,-18.37,2.46,0.96, sec = self.basal[16])
  754. h.pt3dadd(-62.22,-20.96,4.94,0.96, sec = self.basal[16])
  755. h.pt3dadd(-63.18,-25.18,7.2,0.96, sec = self.basal[16])
  756. h.pt3dadd(-65.1,-29.06,10.1,0.96, sec = self.basal[16])
  757. self.basal[17].connect(self.soma[2])
  758. h.pt3dclear(sec = self.basal[17])
  759. h.pt3dadd(-54.06,-4.25,-5.96,2.5, sec = self.basal[17])
  760. h.pt3dadd(-58.33,-5.39,-5.2,1.914, sec = self.basal[17])
  761. h.pt3dadd(-60.57,-9.92,-19.84,1.6, sec = self.basal[17])
  762. self.basal[18].connect(self.basal[17])
  763. h.pt3dclear(sec = self.basal[18])
  764. h.pt3dadd(-60.57,-9.92,-19.84,1.6, sec = self.basal[18])
  765. h.pt3dadd(-65.52,-9.13,-22.5,1.088, sec = self.basal[18])
  766. h.pt3dadd(-69.68,-7.51,-24.56,0.96, sec = self.basal[18])
  767. h.pt3dadd(-74.16,-4.6,-25.9,0.96, sec = self.basal[18])
  768. h.pt3dadd(-77.99,-2.33,-26.92,0.96, sec = self.basal[18])
  769. self.basal[19].connect(self.basal[18])
  770. h.pt3dclear(sec = self.basal[19])
  771. h.pt3dadd(-77.99,-2.33,-26.92,0.96, sec = self.basal[19])
  772. h.pt3dadd(-79.73,-0.24,-30.98,0.96, sec = self.basal[19])
  773. h.pt3dadd(-83.098,2.124,-35.508,0.96, sec = self.basal[19])
  774. h.pt3dadd(-85.955,4.956,-40.509,0.96, sec = self.basal[19])
  775. h.pt3dadd(-87.875,8.836,-45.249,0.96, sec = self.basal[19])
  776. h.pt3dadd(-89.795,12.076,-47.129,0.96, sec = self.basal[19])
  777. h.pt3dadd(-90.435,15.646,-48.609,0.96, sec = self.basal[19])
  778. h.pt3dadd(-92.675,16.616,-53.969,0.96, sec = self.basal[19])
  779. h.pt3dadd(-94.275,19.526,-59.469,0.64, sec = self.basal[19])
  780. h.pt3dadd(-95.875,22.126,-60.809,0.64, sec = self.basal[19])
  781. h.pt3dadd(-98.755,24.386,-60.869,0.64, sec = self.basal[19])
  782. h.pt3dadd(-102.265,27.626,-63.749,0.64, sec = self.basal[19])
  783. h.pt3dadd(-104.825,31.196,-66.049,0.64, sec = self.basal[19])
  784. h.pt3dadd(-107.385,33.786,-70.129,0.64, sec = self.basal[19])
  785. self.basal[20].connect(self.basal[18])
  786. h.pt3dclear(sec = self.basal[20])
  787. h.pt3dadd(-77.99,-2.33,-26.92,0.96, sec = self.basal[20])
  788. h.pt3dadd(-82.79,-2.65,-28.06,0.74, sec = self.basal[20])
  789. h.pt3dadd(-87.59,-2.98,-26,0.738, sec = self.basal[20])
  790. h.pt3dadd(-90.763,-4.278,-25.829,0.804, sec = self.basal[20])
  791. h.pt3dadd(-95.4,-5.559,-25.739,0.778, sec = self.basal[20])
  792. h.pt3dadd(-99.767,-7.014,-25.498,0.9, sec = self.basal[20])
  793. h.pt3dadd(-102.79,-7.459,-25.391,0.73, sec = self.basal[20])
  794. h.pt3dadd(-106.31,-6.809,-24.611,0.64, sec = self.basal[20])
  795. h.pt3dadd(-108.55,-7.459,-24.031,0.64, sec = self.basal[20])
  796. h.pt3dadd(-111.11,-8.759,-23.331,0.64, sec = self.basal[20])
  797. h.pt3dadd(-114.048,-12.051,-23.429,0.604, sec = self.basal[20])
  798. h.pt3dadd(-116.649,-15.992,-23.457,0.648, sec = self.basal[20])
  799. h.pt3dadd(-118.676,-18.162,-23.352,0.61, sec = self.basal[20])
  800. h.pt3dadd(-122.506,-19.462,-22.932,0.614, sec = self.basal[20])
  801. h.pt3dadd(-124.93,-20.824,-23.543,0.602, sec = self.basal[20])
  802. h.pt3dadd(-128.255,-22.108,-24.483,0.512, sec = self.basal[20])
  803. h.pt3dadd(-131.712,-24.009,-25.028,0.486, sec = self.basal[20])
  804. h.pt3dadd(-133.632,-25.629,-27.428,0.468, sec = self.basal[20])
  805. h.pt3dadd(-136.832,-28.869,-27.748,0.404, sec = self.basal[20])
  806. h.pt3dadd(-140.672,-28.869,-28.448,0.4, sec = self.basal[20])
  807. h.pt3dadd(-145.782,-29.519,-28.508,0.488, sec = self.basal[20])
  808. h.pt3dadd(-149.622,-30.809,-28.948,0.492, sec = self.basal[20])
  809. h.pt3dadd(-155.382,-31.779,-27.388,0.428, sec = self.basal[20])
  810. h.pt3dadd(-159.852,-32.429,-26.628,0.448, sec = self.basal[20])
  811. h.pt3dadd(-164.652,-31.139,-24.128,0.41, sec = self.basal[20])
  812. h.pt3dadd(-168.492,-29.189,-22.088,0.396, sec = self.basal[20])
  813. h.pt3dadd(-177.122,-26.919,-22.688,0.5, sec = self.basal[20])
  814. h.pt3dadd(-182.102,-26.779,-22.988,0.426, sec = self.basal[20])
  815. h.pt3dadd(-186.262,-27.749,-24.568,0.414, sec = self.basal[20])
  816. h.pt3dadd(-191.702,-28.719,-26.068,0.4, sec = self.basal[20])
  817. h.pt3dadd(-199.052,-30.989,-26.648,0.378, sec = self.basal[20])
  818. h.pt3dadd(-210.562,-32.609,-27.068,0.39, sec = self.basal[20])
  819. self.basal[21].connect(self.basal[17])
  820. h.pt3dclear(sec = self.basal[21])
  821. h.pt3dadd(-60.57,-9.92,-19.84,1.6, sec = self.basal[21])
  822. h.pt3dadd(-60.57,-14.46,-21.62,1.28, sec = self.basal[21])
  823. h.pt3dadd(-59.297,-18.328,-22.197,1.28, sec = self.basal[21])
  824. h.pt3dadd(-58.861,-22.6,-22.725,1.28, sec = self.basal[21])
  825. h.pt3dadd(-59.203,-26.538,-23.53,1.28, sec = self.basal[21])
  826. h.pt3dadd(-59.843,-29.778,-25.81,1.28, sec = self.basal[21])
  827. self.basal[22].connect(self.basal[21])
  828. h.pt3dclear(sec = self.basal[22])
  829. h.pt3dadd(-59.843,-29.778,-25.81,1.28, sec = self.basal[22])
  830. h.pt3dadd(-63.233,-30.638,-25.59,0.96, sec = self.basal[22])
  831. h.pt3dadd(-66.433,-32.578,-26.67,0.774, sec = self.basal[22])
  832. h.pt3dadd(-68.033,-35.818,-27.07,0.822, sec = self.basal[22])
  833. h.pt3dadd(-71.35,-38.118,-27.057,0.818, sec = self.basal[22])
  834. h.pt3dadd(-75.262,-40.341,-27.546,0.816, sec = self.basal[22])
  835. h.pt3dadd(-79.098,-43.335,-27.25,0.808, sec = self.basal[22])
  836. h.pt3dadd(-82.288,-45.605,-27.25,0.782, sec = self.basal[22])
  837. h.pt3dadd(-86.128,-47.875,-28.73,0.806, sec = self.basal[22])
  838. h.pt3dadd(-90.405,-51.038,-28.876,0.724, sec = self.basal[22])
  839. h.pt3dadd(-95.435,-53.99,-29.034,0.64, sec = self.basal[22])
  840. h.pt3dadd(-101.195,-55.28,-31.314,0.64, sec = self.basal[22])
  841. h.pt3dadd(-104.352,-56.462,-32.367,0.64, sec = self.basal[22])
  842. h.pt3dadd(-106.847,-58.815,-33.579,0.584, sec = self.basal[22])
  843. h.pt3dadd(-108.592,-62.898,-34.595,0.632, sec = self.basal[22])
  844. h.pt3dadd(-109.728,-66.517,-36.074,0.704, sec = self.basal[22])
  845. h.pt3dadd(-112.928,-68.457,-38.554,0.728, sec = self.basal[22])
  846. h.pt3dadd(-116.128,-69.437,-38.554,0.682, sec = self.basal[22])
  847. h.pt3dadd(-119.638,-71.377,-41.954,0.67, sec = self.basal[22])
  848. h.pt3dadd(-123.848,-73.662,-41.956,0.604, sec = self.basal[22])
  849. h.pt3dadd(-127.498,-76.496,-41.933,0.606, sec = self.basal[22])
  850. h.pt3dadd(-131.338,-78.116,-41.453,0.546, sec = self.basal[22])
  851. h.pt3dadd(-134.858,-78.766,-41.453,0.478, sec = self.basal[22])
  852. h.pt3dadd(-138.698,-79.086,-41.453,0.48, sec = self.basal[22])
  853. h.pt3dadd(-141.248,-77.146,-39.793,0.552, sec = self.basal[22])
  854. h.pt3dadd(-145.728,-76.496,-39.793,0.478, sec = self.basal[22])
  855. h.pt3dadd(-150.528,-76.496,-39.793,0.5, sec = self.basal[22])
  856. h.pt3dadd(-153.408,-78.766,-40.533,0.552, sec = self.basal[22])
  857. h.pt3dadd(-154.998,-82.326,-44.853,0.478, sec = self.basal[22])
  858. h.pt3dadd(-157.878,-85.246,-44.853,0.52, sec = self.basal[22])
  859. h.pt3dadd(-162.038,-85.246,-48.813,0.486, sec = self.basal[22])
  860. h.pt3dadd(-165.878,-86.216,-48.813,0.506, sec = self.basal[22])
  861. h.pt3dadd(-170.028,-85.896,-50.953,0.506, sec = self.basal[22])
  862. h.pt3dadd(-174.628,-86.036,-52.873,0.434, sec = self.basal[22])
  863. h.pt3dadd(-177.508,-85.716,-55.873,0.382, sec = self.basal[22])
  864. h.pt3dadd(-183.268,-87.016,-58.953,0.426, sec = self.basal[22])
  865. h.pt3dadd(-189.018,-87.986,-58.953,0.342, sec = self.basal[22])
  866. h.pt3dadd(-194.778,-87.986,-58.953,0.408, sec = self.basal[22])
  867. h.pt3dadd(-199.898,-88.306,-56.093,0.352, sec = self.basal[22])
  868. self.basal[23].connect(self.basal[21])
  869. h.pt3dclear(sec = self.basal[23])
  870. h.pt3dadd(-59.843,-29.778,-25.81,1.28, sec = self.basal[23])
  871. h.pt3dadd(-59.523,-31.728,-24.95,1.28, sec = self.basal[23])
  872. self.basal[24].connect(self.basal[23])
  873. h.pt3dclear(sec = self.basal[24])
  874. h.pt3dadd(-59.523,-31.728,-24.95,1.28, sec = self.basal[24])
  875. h.pt3dadd(-60.033,-34.848,-27.77,1.014, sec = self.basal[24])
  876. h.pt3dadd(-61.194,-39.364,-27.36,0.928, sec = self.basal[24])
  877. h.pt3dadd(-61.369,-43.906,-26.715,0.842, sec = self.basal[24])
  878. h.pt3dadd(-60.729,-46.496,-24.115,0.904, sec = self.basal[24])
  879. h.pt3dadd(-60.089,-51.036,-21.235,0.912, sec = self.basal[24])
  880. h.pt3dadd(-59.139,-54.596,-20.835,0.908, sec = self.basal[24])
  881. h.pt3dadd(-58.898,-58.816,-20.302,0.89, sec = self.basal[24])
  882. h.pt3dadd(-61.025,-62.868,-19.689,0.872, sec = self.basal[24])
  883. h.pt3dadd(-61.938,-66.912,-18.401,0.834, sec = self.basal[24])
  884. h.pt3dadd(-61.618,-70.802,-16.441,0.694, sec = self.basal[24])
  885. h.pt3dadd(-61.618,-74.692,-16.441,0.748, sec = self.basal[24])
  886. h.pt3dadd(-63.563,-78.06,-15.268,0.736, sec = self.basal[24])
  887. h.pt3dadd(-66.626,-80.751,-14.195,0.726, sec = self.basal[24])
  888. h.pt3dadd(-68.546,-82.041,-13.355,0.722, sec = self.basal[24])
  889. h.pt3dadd(-69.186,-86.581,-13.355,0.724, sec = self.basal[24])
  890. h.pt3dadd(-71.746,-89.501,-13.035,0.782, sec = self.basal[24])
  891. h.pt3dadd(-72.386,-93.061,-12.835,0.812, sec = self.basal[24])
  892. h.pt3dadd(-73.986,-97.601,-12.995,0.66, sec = self.basal[24])
  893. h.pt3dadd(-76.546,-101.161,-12.995,0.612, sec = self.basal[24])
  894. h.pt3dadd(-77.186,-104.401,-12.995,0.668, sec = self.basal[24])
  895. h.pt3dadd(-78.466,-109.581,-15.175,0.666, sec = self.basal[24])
  896. h.pt3dadd(-77.826,-114.771,-15.175,0.39, sec = self.basal[24])
  897. self.basal[25].connect(self.basal[23])
  898. h.pt3dclear(sec = self.basal[25])
  899. h.pt3dadd(-59.523,-31.728,-24.95,1.28, sec = self.basal[25])
  900. h.pt3dadd(-58.243,-33.018,-27.75,0.964, sec = self.basal[25])
  901. h.pt3dadd(-57.851,-36.548,-27.926,0.814, sec = self.basal[25])
  902. h.pt3dadd(-57.978,-41.481,-28.52,0.814, sec = self.basal[25])
  903. h.pt3dadd(-58.529,-45.965,-29.761,0.812, sec = self.basal[25])
  904. h.pt3dadd(-58.344,-50.639,-30.78,0.812, sec = self.basal[25])
  905. h.pt3dadd(-57.064,-53.559,-31.08,0.724, sec = self.basal[25])
  906. h.pt3dadd(-57.569,-56.735,-32.163,0.716, sec = self.basal[25])
  907. h.pt3dadd(-57.314,-61.817,-33.036,0.706, sec = self.basal[25])
  908. h.pt3dadd(-57.471,-66.283,-34.835,0.688, sec = self.basal[25])
  909. h.pt3dadd(-56.991,-69.038,-35.295,0.738, sec = self.basal[25])
  910. h.pt3dadd(-56.881,-73.86,-35.515,0.764, sec = self.basal[25])
  911. h.pt3dadd(-57.276,-78.837,-35.24,0.788, sec = self.basal[25])
  912. h.pt3dadd(-57.596,-82.717,-35.24,0.762, sec = self.basal[25])
  913. h.pt3dadd(-58.556,-85.317,-36.2,0.778, sec = self.basal[25])
  914. h.pt3dadd(-58.236,-89.847,-36.22,0.744, sec = self.basal[25])
  915. h.pt3dadd(-57.916,-93.087,-37.12,0.788, sec = self.basal[25])
  916. h.pt3dadd(-57.156,-97.827,-37.42,0.782, sec = self.basal[25])
  917. h.pt3dadd(-56.836,-102.037,-38.7,0.686, sec = self.basal[25])
  918. h.pt3dadd(-55.556,-105.927,-40.46,0.726, sec = self.basal[25])
  919. h.pt3dadd(-52.676,-109.487,-40.46,0.784, sec = self.basal[25])
  920. h.pt3dadd(-50.436,-113.057,-42.02,0.61, sec = self.basal[25])
  921. h.pt3dadd(-48.196,-116.297,-43.04,0.544, sec = self.basal[25])
  922. h.pt3dadd(-45.316,-118.887,-44.18,0.44, sec = self.basal[25])
  923. h.pt3dadd(-42.766,-121.157,-40.48,0.506, sec = self.basal[25])
  924. h.pt3dadd(-40.846,-124.397,-40.48,0.46, sec = self.basal[25])
  925. h.pt3dadd(-38.286,-125.367,-40.48,0.478, sec = self.basal[25])
  926. h.pt3dadd(-36.686,-128.927,-37.24,0.5, sec = self.basal[25])
  927. h.pt3dadd(-33.806,-131.517,-37.24,0.41, sec = self.basal[25])
  928. h.pt3dadd(-33.166,-135.407,-37.24,0.476, sec = self.basal[25])
  929. h.pt3dadd(-30.286,-137.997,-36.24,0.32, sec = self.basal[25])
  930. h.pt3dadd(-29.656,-141.887,-36.24,0.32, sec = self.basal[25])
  931. self.basal[26].connect(self.soma[0])
  932. h.pt3dclear(sec = self.basal[26])
  933. h.pt3dadd(-53.42,3.52,-5.96,2.5, sec = self.basal[26])
  934. h.pt3dadd(-60.3,3.99,0.28,1.28, sec = self.basal[26])
  935. h.pt3dadd(-64.028,3.787,1.455,1.28, sec = self.basal[26])
  936. h.pt3dadd(-68.616,2.577,1.405,1.28, sec = self.basal[26])
  937. h.pt3dadd(-72.55,1.133,1.864,1.28, sec = self.basal[26])
  938. h.pt3dadd(-77.03,0.483,3.784,1.28, sec = self.basal[26])
  939. self.basal[27].connect(self.basal[26])
  940. h.pt3dclear(sec = self.basal[27])
  941. h.pt3dadd(-77.03,0.483,3.784,1.28, sec = self.basal[27])
  942. h.pt3dadd(-80.68,2.633,0.564,0.96, sec = self.basal[27])
  943. h.pt3dadd(-84.2,3.613,-0.576,0.96, sec = self.basal[27])
  944. h.pt3dadd(-88.771,4.452,-1.634,0.96, sec = self.basal[27])
  945. h.pt3dadd(-93.902,6.048,-2.616,0.96, sec = self.basal[27])
  946. h.pt3dadd(-96.462,6.688,-4.516,0.96, sec = self.basal[27])
  947. h.pt3dadd(-100.622,5.718,-5.996,0.96, sec = self.basal[27])
  948. h.pt3dadd(-102.852,5.718,-7.876,0.96, sec = self.basal[27])
  949. self.basal[28].connect(self.basal[27])
  950. h.pt3dclear(sec = self.basal[28])
  951. h.pt3dadd(-102.852,5.718,-7.876,0.96, sec = self.basal[28])
  952. h.pt3dadd(-102.852,3.128,-17.756,0.64, sec = self.basal[28])
  953. h.pt3dadd(-101.262,2.478,-21.296,0.64, sec = self.basal[28])
  954. h.pt3dadd(-100.622,-1.082,-24.456,0.64, sec = self.basal[28])
  955. h.pt3dadd(-101.892,-1.732,-27.696,0.64, sec = self.basal[28])
  956. h.pt3dadd(-103.172,-2.702,-35.536,0.64, sec = self.basal[28])
  957. h.pt3dadd(-105.092,-3.032,-41.596,0.64, sec = self.basal[28])
  958. h.pt3dadd(-105.412,-2.052,-46.196,0.64, sec = self.basal[28])
  959. h.pt3dadd(-107.012,-1.412,-47.816,0.64, sec = self.basal[28])
  960. h.pt3dadd(-108.932,-1.412,-50.276,0.64, sec = self.basal[28])
  961. h.pt3dadd(-110.212,0.538,-52.336,0.496, sec = self.basal[28])
  962. h.pt3dadd(-110.212,1.508,-56.156,0.476, sec = self.basal[28])
  963. self.basal[29].connect(self.basal[27])
  964. h.pt3dclear(sec = self.basal[29])
  965. h.pt3dadd(-102.852,5.718,-7.876,0.96, sec = self.basal[29])
  966. h.pt3dadd(-104.452,5.398,-7.876,0.96, sec = self.basal[29])
  967. h.pt3dadd(-108.932,5.718,-9.356,0.804, sec = self.basal[29])
  968. self.basal[30].connect(self.basal[29])
  969. h.pt3dclear(sec = self.basal[30])
  970. h.pt3dadd(-108.932,5.718,-9.356,0.804, sec = self.basal[30])
  971. h.pt3dadd(-113.092,4.428,-12.676,0.64, sec = self.basal[30])
  972. h.pt3dadd(-115.332,3.128,-12.676,0.782, sec = self.basal[30])
  973. h.pt3dadd(-118.842,3.128,-14.996,0.738, sec = self.basal[30])
  974. h.pt3dadd(-121.402,2.158,-17.416,0.73, sec = self.basal[30])
  975. h.pt3dadd(-124.282,1.188,-17.416,0.64, sec = self.basal[30])
  976. self.basal[31].connect(self.basal[30])
  977. h.pt3dclear(sec = self.basal[31])
  978. h.pt3dadd(-124.282,1.188,-17.416,0.64, sec = self.basal[31])
  979. h.pt3dadd(-127.162,0.858,-20.256,0.64, sec = self.basal[31])
  980. h.pt3dadd(-129.082,0.858,-20.256,0.64, sec = self.basal[31])
  981. h.pt3dadd(-131.632,-1.732,-22.016,0.64, sec = self.basal[31])
  982. h.pt3dadd(-134.192,-3.352,-24.736,0.64, sec = self.basal[31])
  983. h.pt3dadd(-138.352,-4.322,-29.736,0.64, sec = self.basal[31])
  984. h.pt3dadd(-140.592,-5.622,-32.256,0.64, sec = self.basal[31])
  985. h.pt3dadd(-143.472,-6.912,-32.256,0.64, sec = self.basal[31])
  986. h.pt3dadd(-146.342,-6.912,-35.356,0.64, sec = self.basal[31])
  987. h.pt3dadd(-149.222,-7.562,-37.116,0.64, sec = self.basal[31])
  988. h.pt3dadd(-152.102,-7.562,-37.936,0.64, sec = self.basal[31])
  989. h.pt3dadd(-154.022,-7.562,-37.916,0.64, sec = self.basal[31])
  990. h.pt3dadd(-157.222,-8.212,-39.196,0.64, sec = self.basal[31])
  991. h.pt3dadd(-159.782,-10.152,-39.636,0.64, sec = self.basal[31])
  992. h.pt3dadd(-162.332,-11.452,-43.116,0.64, sec = self.basal[31])
  993. h.pt3dadd(-165.852,-13.392,-44.816,0.516, sec = self.basal[31])
  994. h.pt3dadd(-168.092,-14.042,-47.096,0.486, sec = self.basal[31])
  995. self.basal[32].connect(self.basal[30])
  996. h.pt3dclear(sec = self.basal[32])
  997. h.pt3dadd(-124.282,1.188,-17.416,0.64, sec = self.basal[32])
  998. h.pt3dadd(-126.522,-2.052,-19.176,0.58, sec = self.basal[32])
  999. h.pt3dadd(-130.042,-4.972,-19.176,0.588, sec = self.basal[32])
  1000. h.pt3dadd(-133.872,-5.942,-17.176,0.622, sec = self.basal[32])
  1001. h.pt3dadd(-137.072,-8.212,-17.176,0.664, sec = self.basal[32])
  1002. h.pt3dadd(-139.312,-9.832,-17.176,0.656, sec = self.basal[32])
  1003. h.pt3dadd(-142.512,-12.422,-17.596,0.618, sec = self.basal[32])
  1004. h.pt3dadd(-146.342,-12.752,-16.076,0.648, sec = self.basal[32])
  1005. h.pt3dadd(-149.862,-13.072,-17.236,0.514, sec = self.basal[32])
  1006. h.pt3dadd(-153.062,-12.752,-18.816,0.612, sec = self.basal[32])
  1007. h.pt3dadd(-155.942,-12.422,-20.536,0.498, sec = self.basal[32])
  1008. h.pt3dadd(-159.142,-11.772,-23.916,0.404, sec = self.basal[32])
  1009. self.basal[33].connect(self.basal[29])
  1010. h.pt3dclear(sec = self.basal[33])
  1011. h.pt3dadd(-108.932,5.718,-9.356,0.804, sec = self.basal[33])
  1012. h.pt3dadd(-114.692,7.338,-3.716,0.72, sec = self.basal[33])
  1013. h.pt3dadd(-119.482,8.638,1.824,0.758, sec = self.basal[33])
  1014. h.pt3dadd(-122.362,9.288,5.544,0.658, sec = self.basal[33])
  1015. h.pt3dadd(-125.882,10.578,7.024,0.676, sec = self.basal[33])
  1016. h.pt3dadd(-131.002,10.908,9.624,0.598, sec = self.basal[33])
  1017. h.pt3dadd(-133.552,13.498,10.304,0.652, sec = self.basal[33])
  1018. h.pt3dadd(-136.752,14.788,11.724,0.546, sec = self.basal[33])
  1019. h.pt3dadd(-138.992,16.088,13.144,0.614, sec = self.basal[33])
  1020. h.pt3dadd(-144.112,18.358,14.244,0.476, sec = self.basal[33])
  1021. self.basal[34].connect(self.basal[26])
  1022. h.pt3dclear(sec = self.basal[34])
  1023. h.pt3dadd(-77.03,0.483,3.784,1.28, sec = self.basal[34])
  1024. h.pt3dadd(-80.23,-0.487,1.264,0.788, sec = self.basal[34])
  1025. h.pt3dadd(-82.47,-0.487,1.084,0.852, sec = self.basal[34])
  1026. h.pt3dadd(-85.35,-2.107,0.664,0.75, sec = self.basal[34])
  1027. h.pt3dadd(-88.084,-4.512,0.566,0.848, sec = self.basal[34])
  1028. h.pt3dadd(-90.408,-7.229,0.826,0.952, sec = self.basal[34])
  1029. h.pt3dadd(-93.59,-9.125,0.336,0.918, sec = self.basal[34])
  1030. h.pt3dadd(-96.47,-9.445,-0.304,0.732, sec = self.basal[34])
  1031. h.pt3dadd(-98.07,-11.395,-1.384,0.852, sec = self.basal[34])
  1032. h.pt3dadd(-99.35,-13.985,-1.924,0.806, sec = self.basal[34])
  1033. h.pt3dadd(-101.59,-16.895,-2.324,0.834, sec = self.basal[34])
  1034. h.pt3dadd(-104.47,-20.135,-3.244,0.872, sec = self.basal[34])
  1035. h.pt3dadd(-106.502,-23.151,-3.947,0.784, sec = self.basal[34])
  1036. h.pt3dadd(-108.055,-26.209,-4.515,0.798, sec = self.basal[34])
  1037. h.pt3dadd(-110.728,-29.518,-5.631,0.798, sec = self.basal[34])
  1038. h.pt3dadd(-113.278,-32.758,-9.111,0.756, sec = self.basal[34])
  1039. h.pt3dadd(-116.798,-35.348,-10.931,0.776, sec = self.basal[34])
  1040. h.pt3dadd(-119.038,-37.288,-14.551,0.786, sec = self.basal[34])
  1041. h.pt3dadd(-121.278,-39.558,-17.851,0.732, sec = self.basal[34])
  1042. h.pt3dadd(-124.798,-42.148,-20.151,0.788, sec = self.basal[34])
  1043. h.pt3dadd(-127.15,-46.524,-19.989,0.748, sec = self.basal[34])
  1044. h.pt3dadd(-130.234,-50.645,-19.025,0.712, sec = self.basal[34])
  1045. h.pt3dadd(-132.082,-54.729,-18.852,0.64, sec = self.basal[34])
  1046. h.pt3dadd(-134.952,-57.639,-18.852,0.64, sec = self.basal[34])
  1047. h.pt3dadd(-137.192,-60.229,-22.812,0.64, sec = self.basal[34])
  1048. h.pt3dadd(-140.072,-62.499,-24.332,0.64, sec = self.basal[34])
  1049. h.pt3dadd(-143.272,-64.449,-23.972,0.64, sec = self.basal[34])
  1050. h.pt3dadd(-145.192,-66.709,-23.972,0.64, sec = self.basal[34])
  1051. h.pt3dadd(-147.752,-69.309,-26.752,0.64, sec = self.basal[34])
  1052. h.pt3dadd(-149.982,-72.219,-25.852,0.64, sec = self.basal[34])
  1053. h.pt3dadd(-150.302,-77.079,-26.312,0.64, sec = self.basal[34])
  1054. h.pt3dadd(-152.222,-79.999,-27.112,0.64, sec = self.basal[34])
  1055. h.pt3dadd(-153.182,-83.889,-27.772,0.64, sec = self.basal[34])
  1056. h.pt3dadd(-156.062,-87.119,-28.132,0.64, sec = self.basal[34])
  1057. h.pt3dadd(-157.342,-91.009,-28.052,0.64, sec = self.basal[34])
  1058. h.pt3dadd(-158.822,-95.029,-26.292,0.64, sec = self.basal[34])
  1059. h.pt3dadd(-160.732,-99.569,-26.272,0.64, sec = self.basal[34])
  1060. h.pt3dadd(-162.012,-102.479,-25.372,0.64, sec = self.basal[34])
  1061. h.pt3dadd(-164.572,-106.049,-24.672,0.32, sec = self.basal[34])
  1062. h.pt3dadd(-167.132,-110.579,-24.672,0.32, sec = self.basal[34])
  1063. h.pt3dadd(-168.732,-116.409,-26.352,0.32, sec = self.basal[34])
  1064. self.basal[35].connect(self.soma[0])
  1065. h.pt3dclear(sec = self.basal[35])
  1066. h.pt3dadd(-53.42,3.52,-5.96,2.5, sec = self.basal[35])
  1067. h.pt3dadd(-60.27,4.33,-11.16,2.346, sec = self.basal[35])
  1068. h.pt3dadd(-63.46,5.3,-18.84,1.606, sec = self.basal[35])
  1069. h.pt3dadd(-65.7,6.92,-21.7,1.498, sec = self.basal[35])
  1070. h.pt3dadd(-68.26,7.57,-25.3,1.642, sec = self.basal[35])
  1071. h.pt3dadd(-69.86,9.19,-27.7,1.58, sec = self.basal[35])
  1072. h.pt3dadd(-71.7,10.878,-31.447,1.452, sec = self.basal[35])
  1073. h.pt3dadd(-73.919,12.85,-34.624,1.014, sec = self.basal[35])
  1074. h.pt3dadd(-75.519,14.47,-35.724,1.004, sec = self.basal[35])
  1075. h.pt3dadd(-76.799,14.79,-38.744,0.968, sec = self.basal[35])
  1076. h.pt3dadd(-76.799,16.41,-41.704,0.832, sec = self.basal[35])
  1077. h.pt3dadd(-77.759,18.68,-44.324,0.862, sec = self.basal[35])
  1078. h.pt3dadd(-77.119,19.65,-46.684,0.832, sec = self.basal[35])
  1079. h.pt3dadd(-78.079,23.21,-47.684,0.946, sec = self.basal[35])
  1080. h.pt3dadd(-79.989,23.86,-49.304,0.854, sec = self.basal[35])
  1081. h.pt3dadd(-80.629,25.16,-50.144,0.878, sec = self.basal[35])
  1082. h.pt3dadd(-81.269,26.78,-52.924,0.776, sec = self.basal[35])
  1083. h.pt3dadd(-82.229,27.75,-56.024,0.642, sec = self.basal[35])
  1084. h.pt3dadd(-83.509,30.67,-57.384,0.738, sec = self.basal[35])
  1085. h.pt3dadd(-86.389,31.96,-59.124,0.738, sec = self.basal[35])
  1086. h.pt3dadd(-87.669,33.26,-63.364,0.638, sec = self.basal[35])
  1087. h.pt3dadd(-88.309,35.53,-63.364,0.69, sec = self.basal[35])
  1088. h.pt3dadd(-89.589,35.85,-67.304,0.686, sec = self.basal[35])
  1089. h.pt3dadd(-90.229,36.82,-69.564,0.598, sec = self.basal[35])
  1090. h.pt3dadd(-90.869,36.17,-72.364,0.766, sec = self.basal[35])
  1091. h.pt3dadd(-90.549,35.53,-75.464,0.53, sec = self.basal[35])
  1092. self.apical[0].connect(self.soma[3])
  1093. h.pt3dclear(sec = self.apical[0])
  1094. h.pt3dadd(-53.1,14.22,-5.96,5.76, sec = self.apical[0])
  1095. h.pt3dadd(-53.42,16.81,-6.9,2.88, sec = self.apical[0])
  1096. h.pt3dadd(-53.23,19.23,-8.22,2.88, sec = self.apical[0])
  1097. h.pt3dadd(-52.27,27.01,-6.94,2.88, sec = self.apical[0])
  1098. h.pt3dadd(-51.95,34.13,-7.32,2.88, sec = self.apical[0])
  1099. h.pt3dadd(-49.71,42.56,-7.84,2.88, sec = self.apical[0])
  1100. h.pt3dadd(-48.11,43.21,-8.96,2.56, sec = self.apical[0])
  1101. self.apical[1].connect(self.apical[0])
  1102. h.pt3dclear(sec = self.apical[1])
  1103. h.pt3dadd(-48.11,43.21,-8.96,2.56, sec = self.apical[1])
  1104. h.pt3dadd(-50.67,45.47,-6.74,1.802, sec = self.apical[1])
  1105. h.pt3dadd(-50.99,48.39,-4.96,1.312, sec = self.apical[1])
  1106. h.pt3dadd(-53.55,49.68,-3.46,1.248, sec = self.apical[1])
  1107. h.pt3dadd(-54.83,51.3,-2.1,1.016, sec = self.apical[1])
  1108. h.pt3dadd(-56.11,51.95,0.58,1.17, sec = self.apical[1])
  1109. h.pt3dadd(-57.39,51.63,0.94,1.09, sec = self.apical[1])
  1110. h.pt3dadd(-58.99,51.95,2.1,0.938, sec = self.apical[1])
  1111. h.pt3dadd(-60.27,51.95,3.86,1.008, sec = self.apical[1])
  1112. h.pt3dadd(-61.55,52.6,5.76,1, sec = self.apical[1])
  1113. h.pt3dadd(-63.14,53.57,6.58,0.988, sec = self.apical[1])
  1114. h.pt3dadd(-65.56,55.34,7.98,0.984, sec = self.apical[1])
  1115. h.pt3dadd(-66.2,55.66,8.68,1.012, sec = self.apical[1])
  1116. h.pt3dadd(-67.48,58.58,8.84,0.966, sec = self.apical[1])
  1117. h.pt3dadd(-70.04,57.93,9.28,0.928, sec = self.apical[1])
  1118. h.pt3dadd(-71,59.55,10.1,0.964, sec = self.apical[1])
  1119. h.pt3dadd(-72.28,60.2,10.88,0.926, sec = self.apical[1])
  1120. h.pt3dadd(-73.56,60.2,12.08,0.83, sec = self.apical[1])
  1121. h.pt3dadd(-75.48,60.52,12.46,1.002, sec = self.apical[1])
  1122. h.pt3dadd(-75.8,62.14,12.92,0.906, sec = self.apical[1])
  1123. h.pt3dadd(-77.4,63.12,13.64,0.976, sec = self.apical[1])
  1124. h.pt3dadd(-79,64.09,13.74,0.858, sec = self.apical[1])
  1125. h.pt3dadd(-80.59,65.71,14.02,0.836, sec = self.apical[1])
  1126. h.pt3dadd(-82.51,65.71,14.32,0.836, sec = self.apical[1])
  1127. h.pt3dadd(-84.11,65.38,15.14,0.854, sec = self.apical[1])
  1128. h.pt3dadd(-84.43,64.74,15.94,0.812, sec = self.apical[1])
  1129. h.pt3dadd(-87.31,64.09,16.88,0.91, sec = self.apical[1])
  1130. h.pt3dadd(-88.27,62.79,17.58,0.892, sec = self.apical[1])
  1131. h.pt3dadd(-89.23,62.14,17.68,0.856, sec = self.apical[1])
  1132. h.pt3dadd(-91.79,62.14,16.4,0.9, sec = self.apical[1])
  1133. h.pt3dadd(-92.75,63.44,16.08,0.828, sec = self.apical[1])
  1134. h.pt3dadd(-94.35,63.12,17.6,0.916, sec = self.apical[1])
  1135. h.pt3dadd(-96.26,63.44,17.98,0.89, sec = self.apical[1])
  1136. h.pt3dadd(-98.18,64.74,20.16,0.918, sec = self.apical[1])
  1137. h.pt3dadd(-101.06,64.41,20.58,0.876, sec = self.apical[1])
  1138. h.pt3dadd(-102.34,65.71,20.96,0.888, sec = self.apical[1])
  1139. h.pt3dadd(-103.94,66.36,21.9,0.904, sec = self.apical[1])
  1140. h.pt3dadd(-106.18,67,23,0.848, sec = self.apical[1])
  1141. h.pt3dadd(-108.1,67,23.06,0.806, sec = self.apical[1])
  1142. h.pt3dadd(-109.7,68.95,23.78,0.682, sec = self.apical[1])
  1143. h.pt3dadd(-111.29,70.24,23.78,0.596, sec = self.apical[1])
  1144. h.pt3dadd(-113.21,71.21,24.38,0.646, sec = self.apical[1])
  1145. h.pt3dadd(-117.05,72.83,23.76,0.688, sec = self.apical[1])
  1146. h.pt3dadd(-121.21,75.75,24.22,0.53, sec = self.apical[1])
  1147. self.apical[2].connect(self.apical[0])
  1148. h.pt3dclear(sec = self.apical[2])
  1149. h.pt3dadd(-48.11,43.21,-8.96,2.56, sec = self.apical[2])
  1150. h.pt3dadd(-47.66,48.21,-11.68,1.92, sec = self.apical[2])
  1151. h.pt3dadd(-46.38,52.75,-13.22,1.92, sec = self.apical[2])
  1152. h.pt3dadd(-45.1,56.96,-15.66,1.92, sec = self.apical[2])
  1153. h.pt3dadd(-44.14,62.14,-17.12,1.92, sec = self.apical[2])
  1154. h.pt3dadd(-42.54,67.33,-18.72,1.92, sec = self.apical[2])
  1155. h.pt3dadd(-39.98,72.19,-17.06,1.92, sec = self.apical[2])
  1156. h.pt3dadd(-38.38,76.72,-16.44,1.92, sec = self.apical[2])
  1157. self.apical[3].connect(self.apical[2])
  1158. h.pt3dclear(sec = self.apical[3])
  1159. h.pt3dadd(-38.38,76.72,-16.44,1.92, sec = self.apical[3])
  1160. h.pt3dadd(-36.63,85.29,-18.76,1.6, sec = self.apical[3])
  1161. h.pt3dadd(-32.8,91.45,-21.02,1.6, sec = self.apical[3])
  1162. h.pt3dadd(-30.24,98.25,-20.72,1.6, sec = self.apical[3])
  1163. h.pt3dadd(-26.08,102.79,-20.76,1.6, sec = self.apical[3])
  1164. h.pt3dadd(-24.16,108.94,-22.28,1.6, sec = self.apical[3])
  1165. h.pt3dadd(-22.24,116.4,-25.64,1.6, sec = self.apical[3])
  1166. h.pt3dadd(-20.81,122.8,-27.14,1.6, sec = self.apical[3])
  1167. self.apical[4].connect(self.apical[3])
  1168. h.pt3dclear(sec = self.apical[4])
  1169. h.pt3dadd(-20.81,122.8,-27.14,1.6, sec = self.apical[4])
  1170. h.pt3dadd(-20.32,125.47,-27.14,1.6, sec = self.apical[4])
  1171. h.pt3dadd(-17.01,132.75,-29.88,1.6, sec = self.apical[4])
  1172. h.pt3dadd(-16.83,133.99,-29.88,1.6, sec = self.apical[4])
  1173. self.apical[5].connect(self.apical[4])
  1174. h.pt3dclear(sec = self.apical[5])
  1175. h.pt3dadd(-16.83,133.99,-29.88,1.6, sec = self.apical[5])
  1176. h.pt3dadd(-16.01,135.76,-29.88,1.298, sec = self.apical[5])
  1177. self.apical[6].connect(self.apical[5])
  1178. h.pt3dclear(sec = self.apical[6])
  1179. h.pt3dadd(-16.01,135.76,-29.88,1.298, sec = self.apical[6])
  1180. h.pt3dadd(-13.81,139.88,-30.16,1.6, sec = self.apical[6])
  1181. h.pt3dadd(-13.17,146.68,-30.3,1.6, sec = self.apical[6])
  1182. h.pt3dadd(-9.65,152.83,-30.58,1.6, sec = self.apical[6])
  1183. h.pt3dadd(-5.18,158.34,-32.16,1.6, sec = self.apical[6])
  1184. h.pt3dadd(-2.94,164.5,-33.28,1.6, sec = self.apical[6])
  1185. h.pt3dadd(1.22,169.36,-34.46,1.6, sec = self.apical[6])
  1186. h.pt3dadd(3.46,172.27,-34.8,1.6, sec = self.apical[6])
  1187. self.apical[7].connect(self.apical[6])
  1188. h.pt3dclear(sec = self.apical[7])
  1189. h.pt3dadd(3.46,172.27,-34.8,1.6, sec = self.apical[7])
  1190. h.pt3dadd(7.81,176,-35.22,1.6, sec = self.apical[7])
  1191. h.pt3dadd(11.33,182.16,-35.24,1.6, sec = self.apical[7])
  1192. h.pt3dadd(14.2,186.05,-35.94,1.6, sec = self.apical[7])
  1193. h.pt3dadd(17.87,190.39,-37.4,1.6, sec = self.apical[7])
  1194. h.pt3dadd(19.79,191.69,-40,1.6, sec = self.apical[7])
  1195. h.pt3dadd(21.39,193.31,-40.1,1.6, sec = self.apical[7])
  1196. self.apical[8].connect(self.apical[7])
  1197. h.pt3dclear(sec = self.apical[8])
  1198. h.pt3dadd(21.39,193.31,-40.1,1.6, sec = self.apical[8])
  1199. h.pt3dadd(22.02,198.53,-41.22,1.6, sec = self.apical[8])
  1200. h.pt3dadd(23.62,204.03,-42.74,1.6, sec = self.apical[8])
  1201. h.pt3dadd(25.54,211.49,-44.76,1.6, sec = self.apical[8])
  1202. h.pt3dadd(29.06,218.29,-46.28,1.6, sec = self.apical[8])
  1203. h.pt3dadd(32.9,223.8,-47.98,1.6, sec = self.apical[8])
  1204. h.pt3dadd(34.81,233.84,-49.14,1.6, sec = self.apical[8])
  1205. h.pt3dadd(37.37,241.29,-49.14,1.6, sec = self.apical[8])
  1206. h.pt3dadd(42.81,249.39,-47.98,1.6, sec = self.apical[8])
  1207. h.pt3dadd(45.69,258.14,-48.56,1.6, sec = self.apical[8])
  1208. h.pt3dadd(47.29,265.91,-47.18,1.6, sec = self.apical[8])
  1209. h.pt3dadd(47.93,270.45,-47.18,1.6, sec = self.apical[8])
  1210. h.pt3dadd(52.08,276.28,-47.18,1.6, sec = self.apical[8])
  1211. h.pt3dadd(51.44,280.49,-47.18,1.6, sec = self.apical[8])
  1212. h.pt3dadd(53.36,288.27,-46.66,1.6, sec = self.apical[8])
  1213. h.pt3dadd(56.24,294.75,-46.66,1.6, sec = self.apical[8])
  1214. h.pt3dadd(57.67,300.75,-46.66,1.6, sec = self.apical[8])
  1215. h.pt3dadd(60.55,304.32,-46.66,1.6, sec = self.apical[8])
  1216. h.pt3dadd(60.55,309.5,-46.66,1.6, sec = self.apical[8])
  1217. h.pt3dadd(61.19,315.65,-48.6,1.6, sec = self.apical[8])
  1218. h.pt3dadd(62.47,320.84,-48.62,1.6, sec = self.apical[8])
  1219. h.pt3dadd(65.03,327.64,-50.46,1.6, sec = self.apical[8])
  1220. h.pt3dadd(66.31,333.47,-51.56,1.6, sec = self.apical[8])
  1221. h.pt3dadd(66.31,339.31,-48.78,1.6, sec = self.apical[8])
  1222. h.pt3dadd(68.55,344.16,-53.58,1.6, sec = self.apical[8])
  1223. self.apical[9].connect(self.apical[8])
  1224. h.pt3dclear(sec = self.apical[9])
  1225. h.pt3dadd(68.55,344.16,-53.58,1.6, sec = self.apical[9])
  1226. h.pt3dadd(71.25,348.21,-48.96,1.6, sec = self.apical[9])
  1227. h.pt3dadd(73.49,352.42,-52.12,1.6, sec = self.apical[9])
  1228. h.pt3dadd(77.65,356.63,-49.48,1.6, sec = self.apical[9])
  1229. h.pt3dadd(78.93,363.43,-46.46,1.6, sec = self.apical[9])
  1230. h.pt3dadd(82.12,370.89,-45.56,1.6, sec = self.apical[9])
  1231. h.pt3dadd(85.64,377.04,-44.4,1.6, sec = self.apical[9])
  1232. h.pt3dadd(88.52,383.85,-42.82,1.6, sec = self.apical[9])
  1233. self.apical[10].connect(self.apical[9])
  1234. h.pt3dclear(sec = self.apical[10])
  1235. h.pt3dadd(88.52,383.85,-42.82,1.6, sec = self.apical[10])
  1236. h.pt3dadd(91.89,385.64,-39.6,1.28, sec = self.apical[10])
  1237. h.pt3dadd(94.45,388.56,-39.28,1.28, sec = self.apical[10])
  1238. h.pt3dadd(98.29,391.47,-39.28,1.28, sec = self.apical[10])
  1239. h.pt3dadd(101.49,393.74,-37.06,1.28, sec = self.apical[10])
  1240. h.pt3dadd(104.68,397.3,-37.06,1.28, sec = self.apical[10])
  1241. self.apical[11].connect(self.apical[10])
  1242. h.pt3dclear(sec = self.apical[11])
  1243. h.pt3dadd(104.68,397.3,-37.06,1.28, sec = self.apical[11])
  1244. h.pt3dadd(107.35,400.34,-41.9,0.96, sec = self.apical[11])
  1245. h.pt3dadd(109.91,404.22,-42.88,0.96, sec = self.apical[11])
  1246. h.pt3dadd(112.47,406.49,-44.42,0.96, sec = self.apical[11])
  1247. h.pt3dadd(114.39,410.06,-46.56,0.96, sec = self.apical[11])
  1248. h.pt3dadd(115.67,413.29,-47.58,0.96, sec = self.apical[11])
  1249. h.pt3dadd(120.46,415.24,-49.38,0.96, sec = self.apical[11])
  1250. h.pt3dadd(122.7,417.51,-50.74,0.96, sec = self.apical[11])
  1251. h.pt3dadd(126.54,417.83,-52.32,0.96, sec = self.apical[11])
  1252. h.pt3dadd(130.06,419.77,-54.26,0.96, sec = self.apical[11])
  1253. h.pt3dadd(131.98,422.37,-55.18,0.96, sec = self.apical[11])
  1254. h.pt3dadd(135.17,423.34,-55.78,0.96, sec = self.apical[11])
  1255. h.pt3dadd(139.01,423.34,-56.82,0.96, sec = self.apical[11])
  1256. h.pt3dadd(143.49,423.66,-58.32,0.96, sec = self.apical[11])
  1257. self.apical[12].connect(self.apical[11])
  1258. h.pt3dclear(sec = self.apical[12])
  1259. h.pt3dadd(143.49,423.66,-58.32,0.96, sec = self.apical[12])
  1260. h.pt3dadd(148.96,422.65,-58.48,0.64, sec = self.apical[12])
  1261. h.pt3dadd(150.24,421.68,-58.48,0.64, sec = self.apical[12])
  1262. h.pt3dadd(152.8,422.97,-57.84,0.64, sec = self.apical[12])
  1263. h.pt3dadd(155.04,419.41,-56.26,0.64, sec = self.apical[12])
  1264. h.pt3dadd(158.24,419.41,-56.26,0.64, sec = self.apical[12])
  1265. h.pt3dadd(160.15,420.38,-56.26,0.64, sec = self.apical[12])
  1266. h.pt3dadd(163.03,420.38,-59.26,0.64, sec = self.apical[12])
  1267. h.pt3dadd(168.47,422.33,-58.88,0.64, sec = self.apical[12])
  1268. h.pt3dadd(173.59,423.3,-57.94,0.64, sec = self.apical[12])
  1269. h.pt3dadd(175.5,425.24,-56.22,0.64, sec = self.apical[12])
  1270. h.pt3dadd(176.78,428.48,-55.58,0.64, sec = self.apical[12])
  1271. h.pt3dadd(178.7,428.16,-52.34,0.64, sec = self.apical[12])
  1272. h.pt3dadd(180.94,428.48,-50.92,0.64, sec = self.apical[12])
  1273. h.pt3dadd(182.86,429.78,-49.48,0.64, sec = self.apical[12])
  1274. h.pt3dadd(184.78,428.81,-46.62,0.64, sec = self.apical[12])
  1275. h.pt3dadd(186.38,428.48,-45.12,0.64, sec = self.apical[12])
  1276. h.pt3dadd(189.25,428.16,-45.12,0.64, sec = self.apical[12])
  1277. h.pt3dadd(191.81,428.81,-44.06,0.64, sec = self.apical[12])
  1278. h.pt3dadd(193.73,428.16,-42.6,0.64, sec = self.apical[12])
  1279. h.pt3dadd(195.97,430.1,-41.44,0.64, sec = self.apical[12])
  1280. h.pt3dadd(197.25,432.37,-41.44,0.64, sec = self.apical[12])
  1281. h.pt3dadd(202.37,433.02,-41.58,0.64, sec = self.apical[12])
  1282. h.pt3dadd(205.24,432.04,-40.52,0.64, sec = self.apical[12])
  1283. h.pt3dadd(207.48,434.31,-40.52,0.64, sec = self.apical[12])
  1284. h.pt3dadd(210.04,434.96,-40.42,0.64, sec = self.apical[12])
  1285. h.pt3dadd(212.92,435.28,-40.42,0.64, sec = self.apical[12])
  1286. h.pt3dadd(214.84,434.64,-40.42,0.64, sec = self.apical[12])
  1287. h.pt3dadd(218.67,436.26,-39.74,0.64, sec = self.apical[12])
  1288. h.pt3dadd(221.23,437.88,-39.74,0.64, sec = self.apical[12])
  1289. h.pt3dadd(224.75,437.88,-38.1,0.64, sec = self.apical[12])
  1290. h.pt3dadd(226.35,439.82,-38.1,0.64, sec = self.apical[12])
  1291. h.pt3dadd(229.87,439.82,-36.48,0.64, sec = self.apical[12])
  1292. h.pt3dadd(232.75,440.79,-36.48,0.64, sec = self.apical[12])
  1293. h.pt3dadd(234.98,444.68,-36.46,0.64, sec = self.apical[12])
  1294. h.pt3dadd(237.86,446.3,-36.44,0.64, sec = self.apical[12])
  1295. h.pt3dadd(240.42,447.27,-37.64,0.64, sec = self.apical[12])
  1296. h.pt3dadd(244.9,447.27,-37.64,0.64, sec = self.apical[12])
  1297. self.apical[13].connect(self.apical[12])
  1298. h.pt3dclear(sec = self.apical[13])
  1299. h.pt3dadd(244.9,447.27,-37.64,0.64, sec = self.apical[13])
  1300. h.pt3dadd(246.5,449.86,-37.8,0.416, sec = self.apical[13])
  1301. h.pt3dadd(247.78,449.54,-37.8,0.398, sec = self.apical[13])
  1302. h.pt3dadd(250.01,452.78,-36.6,0.398, sec = self.apical[13])
  1303. h.pt3dadd(251.93,453.43,-36.6,0.466, sec = self.apical[13])
  1304. h.pt3dadd(254.49,453.75,-35.44,0.438, sec = self.apical[13])
  1305. h.pt3dadd(256.09,455.37,-35.44,0.474, sec = self.apical[13])
  1306. h.pt3dadd(257.69,457.32,-35.44,0.462, sec = self.apical[13])
  1307. h.pt3dadd(260.57,459.58,-35.9,0.42, sec = self.apical[13])
  1308. h.pt3dadd(263.76,460.88,-35.9,0.454, sec = self.apical[13])
  1309. h.pt3dadd(267.6,462.82,-36.98,0.408, sec = self.apical[13])
  1310. h.pt3dadd(270.16,464.12,-36.98,0.392, sec = self.apical[13])
  1311. h.pt3dadd(272.08,466.06,-36.98,0.3, sec = self.apical[13])
  1312. h.pt3dadd(275.28,469.3,-38.32,0.32, sec = self.apical[13])
  1313. h.pt3dadd(279.43,468.65,-38.32,0.32, sec = self.apical[13])
  1314. h.pt3dadd(280.87,471.41,-38.32,0.32, sec = self.apical[13])
  1315. h.pt3dadd(284.07,473.68,-38.34,0.32, sec = self.apical[13])
  1316. self.apical[14].connect(self.apical[12])
  1317. h.pt3dclear(sec = self.apical[14])
  1318. h.pt3dadd(244.9,447.27,-37.64,0.64, sec = self.apical[14])
  1319. h.pt3dadd(245.22,445.65,-36.28,0.64, sec = self.apical[14])
  1320. h.pt3dadd(247.46,443.06,-35.38,0.32, sec = self.apical[14])
  1321. self.apical[15].connect(self.apical[11])
  1322. h.pt3dclear(sec = self.apical[15])
  1323. h.pt3dadd(143.49,423.66,-58.32,0.96, sec = self.apical[15])
  1324. h.pt3dadd(147.01,424.31,-58.18,0.96, sec = self.apical[15])
  1325. h.pt3dadd(148.92,425.28,-66.42,0.96, sec = self.apical[15])
  1326. h.pt3dadd(152.12,426.9,-68.1,0.96, sec = self.apical[15])
  1327. h.pt3dadd(156.6,427.55,-70.46,0.96, sec = self.apical[15])
  1328. h.pt3dadd(159.48,427.23,-70.46,0.64, sec = self.apical[15])
  1329. h.pt3dadd(162.99,429.17,-72.92,0.64, sec = self.apical[15])
  1330. h.pt3dadd(165.75,430.29,-74.74,0.64, sec = self.apical[15])
  1331. h.pt3dadd(170.23,430.94,-76.1,0.64, sec = self.apical[15])
  1332. h.pt3dadd(171.51,433.86,-76.78,0.64, sec = self.apical[15])
  1333. h.pt3dadd(174.07,433.53,-79.04,0.64, sec = self.apical[15])
  1334. h.pt3dadd(177.58,433.21,-79.38,0.64, sec = self.apical[15])
  1335. h.pt3dadd(179.5,435.48,-80.7,0.64, sec = self.apical[15])
  1336. h.pt3dadd(183.02,434.83,-77.78,0.64, sec = self.apical[15])
  1337. h.pt3dadd(186.86,436.12,-79.18,0.64, sec = self.apical[15])
  1338. h.pt3dadd(191.01,435.48,-80.6,0.64, sec = self.apical[15])
  1339. h.pt3dadd(192.29,437.1,-81.22,0.64, sec = self.apical[15])
  1340. h.pt3dadd(199.97,439.36,-81.22,0.64, sec = self.apical[15])
  1341. h.pt3dadd(203.17,439.04,-81.22,0.64, sec = self.apical[15])
  1342. h.pt3dadd(205.09,442.28,-81.22,0.64, sec = self.apical[15])
  1343. h.pt3dadd(209.88,442.93,-83.32,0.64, sec = self.apical[15])
  1344. h.pt3dadd(212.44,445.84,-86.08,0.64, sec = self.apical[15])
  1345. h.pt3dadd(215.64,447.14,-86.08,0.64, sec = self.apical[15])
  1346. h.pt3dadd(220.44,447.79,-86.82,0.64, sec = self.apical[15])
  1347. h.pt3dadd(223.47,449.86,-87.22,0.64, sec = self.apical[15])
  1348. h.pt3dadd(227.31,451.81,-88.58,0.64, sec = self.apical[15])
  1349. h.pt3dadd(233.07,452.13,-92.02,0.64, sec = self.apical[15])
  1350. h.pt3dadd(236.26,454.4,-96.56,0.64, sec = self.apical[15])
  1351. h.pt3dadd(241.7,456.67,-97.96,0.64, sec = self.apical[15])
  1352. h.pt3dadd(244.58,453.75,-99.44,0.64, sec = self.apical[15])
  1353. h.pt3dadd(248.1,454.4,-101.44,0.64, sec = self.apical[15])
  1354. h.pt3dadd(250.65,454.08,-101.72,0.64, sec = self.apical[15])
  1355. h.pt3dadd(253.21,456.02,-102.74,0.64, sec = self.apical[15])
  1356. h.pt3dadd(256.73,457.64,-104.56,0.64, sec = self.apical[15])
  1357. h.pt3dadd(260.25,457.96,-106.3,0.64, sec = self.apical[15])
  1358. self.apical[16].connect(self.apical[15])
  1359. h.pt3dclear(sec = self.apical[16])
  1360. h.pt3dadd(260.25,457.96,-106.3,0.64, sec = self.apical[16])
  1361. h.pt3dadd(263.44,457.96,-105.78,0.32, sec = self.apical[16])
  1362. h.pt3dadd(265.36,456.34,-105.78,0.32, sec = self.apical[16])
  1363. h.pt3dadd(268.88,456.34,-107.48,0.32, sec = self.apical[16])
  1364. h.pt3dadd(270.48,457.96,-107.48,0.32, sec = self.apical[16])
  1365. self.apical[17].connect(self.apical[15])
  1366. h.pt3dclear(sec = self.apical[17])
  1367. h.pt3dadd(260.25,457.96,-106.3,0.64, sec = self.apical[17])
  1368. h.pt3dadd(262.81,460.23,-106.98,0.32, sec = self.apical[17])
  1369. h.pt3dadd(263.76,463.79,-107.16,0.32, sec = self.apical[17])
  1370. self.apical[18].connect(self.apical[10])
  1371. h.pt3dclear(sec = self.apical[18])
  1372. h.pt3dadd(104.68,397.3,-37.06,1.28, sec = self.apical[18])
  1373. h.pt3dadd(105.32,400.22,-38.4,0.64, sec = self.apical[18])
  1374. h.pt3dadd(107.56,401.84,-35.9,0.64, sec = self.apical[18])
  1375. h.pt3dadd(109.16,402.16,-36.12,0.64, sec = self.apical[18])
  1376. h.pt3dadd(110.76,401.19,-34.58,0.64, sec = self.apical[18])
  1377. h.pt3dadd(111.08,402.16,-25.2,0.64, sec = self.apical[18])
  1378. h.pt3dadd(111.72,401.84,-22.76,0.64, sec = self.apical[18])
  1379. h.pt3dadd(111.08,399.25,-19.64,0.64, sec = self.apical[18])
  1380. h.pt3dadd(112.36,398.28,-19.64,0.64, sec = self.apical[18])
  1381. h.pt3dadd(113.64,398.28,-16.34,0.64, sec = self.apical[18])
  1382. h.pt3dadd(115.56,398.28,-13.06,0.64, sec = self.apical[18])
  1383. h.pt3dadd(117.79,397.63,-13.06,0.64, sec = self.apical[18])
  1384. h.pt3dadd(119.39,398.28,-13.06,0.64, sec = self.apical[18])
  1385. h.pt3dadd(123.23,397.95,-11.84,0.64, sec = self.apical[18])
  1386. h.pt3dadd(128.03,398.92,-10.86,0.64, sec = self.apical[18])
  1387. h.pt3dadd(130.91,397.95,-9.38,0.64, sec = self.apical[18])
  1388. h.pt3dadd(133.14,397.3,-8.26,0.64, sec = self.apical[18])
  1389. h.pt3dadd(137.3,396.98,-8.26,0.64, sec = self.apical[18])
  1390. h.pt3dadd(140.82,397.63,-8.9,0.64, sec = self.apical[18])
  1391. h.pt3dadd(144.02,399.57,-8.92,0.64, sec = self.apical[18])
  1392. h.pt3dadd(149.95,402.64,-7.54,0.64, sec = self.apical[18])
  1393. h.pt3dadd(153.15,406.2,-5.06,0.64, sec = self.apical[18])
  1394. h.pt3dadd(158.26,408.47,-3.24,0.64, sec = self.apical[18])
  1395. h.pt3dadd(161.14,410.74,-1.44,0.64, sec = self.apical[18])
  1396. h.pt3dadd(164.34,412.68,0,0.64, sec = self.apical[18])
  1397. h.pt3dadd(166.26,413,0,0.64, sec = self.apical[18])
  1398. h.pt3dadd(170.42,414.62,-2.72,0.64, sec = self.apical[18])
  1399. h.pt3dadd(173.61,416.57,-4.68,0.64, sec = self.apical[18])
  1400. h.pt3dadd(177.45,418.83,-5.66,0.684, sec = self.apical[18])
  1401. h.pt3dadd(180.97,420.78,-6.1,0.68, sec = self.apical[18])
  1402. h.pt3dadd(183.53,423.69,-6.68,0.562, sec = self.apical[18])
  1403. h.pt3dadd(186.73,426.93,-8.42,0.622, sec = self.apical[18])
  1404. h.pt3dadd(188.32,432.12,-10.04,0.61, sec = self.apical[18])
  1405. h.pt3dadd(191.52,434.71,-11.16,0.56, sec = self.apical[18])
  1406. h.pt3dadd(193.44,437.3,-12.04,0.51, sec = self.apical[18])
  1407. h.pt3dadd(195.04,438.92,-13.06,0.494, sec = self.apical[18])
  1408. h.pt3dadd(196.96,441.84,-14.02,0.496, sec = self.apical[18])
  1409. h.pt3dadd(199.84,442.81,-15.36,0.508, sec = self.apical[18])
  1410. h.pt3dadd(201.91,443.99,-15.36,0.504, sec = self.apical[18])
  1411. h.pt3dadd(204.15,448.2,-15.94,0.512, sec = self.apical[18])
  1412. h.pt3dadd(205.75,449.82,-16.46,0.474, sec = self.apical[18])
  1413. h.pt3dadd(208.63,451.12,-16.82,0.444, sec = self.apical[18])
  1414. self.apical[19].connect(self.apical[9])
  1415. h.pt3dclear(sec = self.apical[19])
  1416. h.pt3dadd(88.52,383.85,-42.82,1.6, sec = self.apical[19])
  1417. h.pt3dadd(88.52,390,-42.74,1.28, sec = self.apical[19])
  1418. h.pt3dadd(89.48,395.51,-40.16,1.28, sec = self.apical[19])
  1419. h.pt3dadd(89.16,401.34,-39.28,1.28, sec = self.apical[19])
  1420. h.pt3dadd(87.06,405.41,-37.12,0.96, sec = self.apical[19])
  1421. h.pt3dadd(83.86,409.94,-36.58,0.96, sec = self.apical[19])
  1422. h.pt3dadd(82.9,412.54,-36.58,0.96, sec = self.apical[19])
  1423. h.pt3dadd(81.3,415.78,-35.34,0.96, sec = self.apical[19])
  1424. h.pt3dadd(80.66,419.01,-35.34,0.96, sec = self.apical[19])
  1425. h.pt3dadd(79.06,420.31,-35.34,0.96, sec = self.apical[19])
  1426. h.pt3dadd(77.78,423.23,-35.14,0.96, sec = self.apical[19])
  1427. h.pt3dadd(74.9,424.2,-35.14,0.96, sec = self.apical[19])
  1428. h.pt3dadd(72.34,425.49,-34.46,0.96, sec = self.apical[19])
  1429. h.pt3dadd(69.15,427.44,-33.3,0.96, sec = self.apical[19])
  1430. h.pt3dadd(67.87,429.71,-32.8,0.96, sec = self.apical[19])
  1431. h.pt3dadd(66.27,432.3,-32.8,0.64, sec = self.apical[19])
  1432. h.pt3dadd(65.95,436.83,-33.96,0.64, sec = self.apical[19])
  1433. h.pt3dadd(64.35,441.69,-33.96,0.628, sec = self.apical[19])
  1434. h.pt3dadd(62.75,444.93,-34.88,0.544, sec = self.apical[19])
  1435. h.pt3dadd(61.79,449.47,-34.9,0.62, sec = self.apical[19])
  1436. h.pt3dadd(60.51,453.36,-34.92,0.56, sec = self.apical[19])
  1437. h.pt3dadd(59.55,456.6,-36.32,0.598, sec = self.apical[19])
  1438. h.pt3dadd(57.77,460.61,-36.32,0.566, sec = self.apical[19])
  1439. h.pt3dadd(57.77,464.5,-37.16,0.576, sec = self.apical[19])
  1440. h.pt3dadd(57.14,468.06,-37.16,0.67, sec = self.apical[19])
  1441. h.pt3dadd(59.05,470.98,-37.16,0.594, sec = self.apical[19])
  1442. h.pt3dadd(58.09,474.21,-36.2,0.586, sec = self.apical[19])
  1443. h.pt3dadd(58.41,478.75,-36.2,0.49, sec = self.apical[19])
  1444. self.apical[20].connect(self.apical[8])
  1445. h.pt3dclear(sec = self.apical[20])
  1446. h.pt3dadd(68.55,344.16,-53.58,1.6, sec = self.apical[20])
  1447. h.pt3dadd(72.38,346.43,-56.46,1.28, sec = self.apical[20])
  1448. h.pt3dadd(74.62,351.29,-57.9,1.28, sec = self.apical[20])
  1449. h.pt3dadd(78.63,353.36,-57.9,1.28, sec = self.apical[20])
  1450. h.pt3dadd(81.83,358.87,-60.8,1.28, sec = self.apical[20])
  1451. h.pt3dadd(83.43,363.08,-63,1.28, sec = self.apical[20])
  1452. self.apical[21].connect(self.apical[20])
  1453. h.pt3dclear(sec = self.apical[21])
  1454. h.pt3dadd(83.43,363.08,-63,1.28, sec = self.apical[21])
  1455. h.pt3dadd(83.59,367.11,-59.64,1.28, sec = self.apical[21])
  1456. self.apical[22].connect(self.apical[21])
  1457. h.pt3dclear(sec = self.apical[22])
  1458. h.pt3dadd(83.59,367.11,-59.64,1.28, sec = self.apical[22])
  1459. h.pt3dadd(81.24,370.14,-65.34,0.96, sec = self.apical[22])
  1460. h.pt3dadd(81.24,374.02,-65.34,0.96, sec = self.apical[22])
  1461. h.pt3dadd(79.96,376.62,-65.34,0.96, sec = self.apical[22])
  1462. h.pt3dadd(80.6,380.5,-65.34,0.96, sec = self.apical[22])
  1463. h.pt3dadd(78.68,381.8,-65.34,0.96, sec = self.apical[22])
  1464. h.pt3dadd(78.68,386.66,-63.98,0.96, sec = self.apical[22])
  1465. h.pt3dadd(77.72,389.9,-63.76,0.96, sec = self.apical[22])
  1466. h.pt3dadd(76.44,391.52,-63.62,0.96, sec = self.apical[22])
  1467. h.pt3dadd(77.08,393.46,-63.42,0.96, sec = self.apical[22])
  1468. h.pt3dadd(75.48,397.03,-63.2,0.96, sec = self.apical[22])
  1469. h.pt3dadd(76.76,400.27,-64.32,0.96, sec = self.apical[22])
  1470. h.pt3dadd(75.16,402.86,-67.32,0.96, sec = self.apical[22])
  1471. h.pt3dadd(73.56,407.07,-69.66,0.96, sec = self.apical[22])
  1472. h.pt3dadd(72.28,409.66,-69.68,0.96, sec = self.apical[22])
  1473. h.pt3dadd(72.92,414.2,-73.54,0.96, sec = self.apical[22])
  1474. h.pt3dadd(72.13,417.26,-72.22,0.64, sec = self.apical[22])
  1475. h.pt3dadd(71.17,419.85,-73.74,0.64, sec = self.apical[22])
  1476. h.pt3dadd(72.13,424.06,-74.58,0.64, sec = self.apical[22])
  1477. h.pt3dadd(70.85,426.98,-75.7,0.64, sec = self.apical[22])
  1478. h.pt3dadd(70.21,431.52,-75.86,0.64, sec = self.apical[22])
  1479. h.pt3dadd(71.17,435.4,-77.02,0.64, sec = self.apical[22])
  1480. h.pt3dadd(71.81,437.35,-77.02,0.64, sec = self.apical[22])
  1481. h.pt3dadd(71.49,440.59,-76.18,0.64, sec = self.apical[22])
  1482. h.pt3dadd(70.21,442.21,-76.18,0.64, sec = self.apical[22])
  1483. h.pt3dadd(70.85,446.42,-76.18,0.64, sec = self.apical[22])
  1484. h.pt3dadd(69.26,449.01,-76.18,0.64, sec = self.apical[22])
  1485. h.pt3dadd(69.57,450.95,-76.18,0.64, sec = self.apical[22])
  1486. h.pt3dadd(68.94,452.9,-76.18,0.64, sec = self.apical[22])
  1487. h.pt3dadd(68.94,456.46,-77.78,0.64, sec = self.apical[22])
  1488. h.pt3dadd(71.17,459.7,-75.78,0.64, sec = self.apical[22])
  1489. h.pt3dadd(69.89,461,-75.78,0.64, sec = self.apical[22])
  1490. h.pt3dadd(70.53,464.56,-75.94,0.64, sec = self.apical[22])
  1491. h.pt3dadd(68.94,469.1,-77.6,0.64, sec = self.apical[22])
  1492. h.pt3dadd(69.57,471.36,-76.64,0.64, sec = self.apical[22])
  1493. h.pt3dadd(67.02,475.58,-76.64,0.64, sec = self.apical[22])
  1494. h.pt3dadd(66.7,479.79,-79.16,0.64, sec = self.apical[22])
  1495. self.apical[23].connect(self.apical[21])
  1496. h.pt3dclear(sec = self.apical[23])
  1497. h.pt3dadd(83.59,367.11,-59.64,1.28, sec = self.apical[23])
  1498. h.pt3dadd(86.47,368.08,-61.36,1.28, sec = self.apical[23])
  1499. h.pt3dadd(86.79,371.32,-68.28,0.96, sec = self.apical[23])
  1500. h.pt3dadd(89.35,374.56,-70.64,0.96, sec = self.apical[23])
  1501. h.pt3dadd(90.63,377.8,-72.32,0.96, sec = self.apical[23])
  1502. h.pt3dadd(91.59,380.71,-72.32,0.96, sec = self.apical[23])
  1503. h.pt3dadd(94.15,379.74,-75.24,0.96, sec = self.apical[23])
  1504. h.pt3dadd(95.11,382.98,-77.2,0.96, sec = self.apical[23])
  1505. h.pt3dadd(95.43,384.93,-79.46,0.96, sec = self.apical[23])
  1506. h.pt3dadd(97.66,387.19,-80.8,0.96, sec = self.apical[23])
  1507. h.pt3dadd(97.98,389.79,-80.82,0.96, sec = self.apical[23])
  1508. h.pt3dadd(96.7,391.73,-82.6,0.96, sec = self.apical[23])
  1509. h.pt3dadd(97.02,394.65,-83.8,0.96, sec = self.apical[23])
  1510. h.pt3dadd(98.62,396.91,-85.56,0.96, sec = self.apical[23])
  1511. h.pt3dadd(100.54,398.86,-86.38,0.96, sec = self.apical[23])
  1512. h.pt3dadd(100.22,402.42,-88.56,0.96, sec = self.apical[23])
  1513. h.pt3dadd(101.82,405.66,-90.3,0.96, sec = self.apical[23])
  1514. h.pt3dadd(105.02,407.61,-92,0.96, sec = self.apical[23])
  1515. h.pt3dadd(105.66,410.85,-93.42,0.96, sec = self.apical[23])
  1516. h.pt3dadd(105.34,415.06,-95.12,0.96, sec = self.apical[23])
  1517. h.pt3dadd(106.3,417.32,-98.04,0.96, sec = self.apical[23])
  1518. h.pt3dadd(109.18,420.56,-100.26,0.96, sec = self.apical[23])
  1519. h.pt3dadd(111.21,424.28,-101.6,0.96, sec = self.apical[23])
  1520. h.pt3dadd(112.49,425.58,-107.86,0.96, sec = self.apical[23])
  1521. h.pt3dadd(115.05,426.55,-108.1,0.96, sec = self.apical[23])
  1522. h.pt3dadd(118.89,428.17,-109.04,0.96, sec = self.apical[23])
  1523. h.pt3dadd(122.72,430.12,-109.9,0.96, sec = self.apical[23])
  1524. h.pt3dadd(123.36,431.74,-112.58,0.96, sec = self.apical[23])
  1525. h.pt3dadd(123.36,433.36,-112.58,0.96, sec = self.apical[23])
  1526. self.apical[24].connect(self.apical[23])
  1527. h.pt3dclear(sec = self.apical[24])
  1528. h.pt3dadd(123.36,433.36,-112.58,0.96, sec = self.apical[24])
  1529. h.pt3dadd(123.49,436.76,-112.54,0.96, sec = self.apical[24])
  1530. h.pt3dadd(124.45,441.3,-114.12,0.96, sec = self.apical[24])
  1531. h.pt3dadd(125.41,445.18,-114.12,0.96, sec = self.apical[24])
  1532. h.pt3dadd(124.77,450.37,-116.14,0.96, sec = self.apical[24])
  1533. self.apical[25].connect(self.apical[24])
  1534. h.pt3dclear(sec = self.apical[25])
  1535. h.pt3dadd(124.77,450.37,-116.14,0.96, sec = self.apical[25])
  1536. h.pt3dadd(124.13,453.61,-120.42,0.64, sec = self.apical[25])
  1537. h.pt3dadd(123.17,456.2,-126.76,0.64, sec = self.apical[25])
  1538. h.pt3dadd(120.3,459.76,-126.76,0.64, sec = self.apical[25])
  1539. h.pt3dadd(120.62,464.3,-130.66,0.64, sec = self.apical[25])
  1540. h.pt3dadd(119.98,468.19,-130.66,0.64, sec = self.apical[25])
  1541. h.pt3dadd(119.98,472.07,-132.56,0.64, sec = self.apical[25])
  1542. self.apical[26].connect(self.apical[24])
  1543. h.pt3dclear(sec = self.apical[26])
  1544. h.pt3dadd(124.77,450.37,-116.14,0.96, sec = self.apical[26])
  1545. h.pt3dadd(127.01,452.96,-116.8,0.59, sec = self.apical[26])
  1546. h.pt3dadd(129.57,453.93,-116.8,0.566, sec = self.apical[26])
  1547. h.pt3dadd(129.89,457.49,-115.7,0.556, sec = self.apical[26])
  1548. h.pt3dadd(132.13,461.71,-113.84,0.512, sec = self.apical[26])
  1549. h.pt3dadd(133.73,463.33,-113.84,0.556, sec = self.apical[26])
  1550. h.pt3dadd(135.01,466.89,-112.42,0.532, sec = self.apical[26])
  1551. h.pt3dadd(136.6,469.16,-112.42,0.488, sec = self.apical[26])
  1552. h.pt3dadd(141.08,470.45,-113.32,0.484, sec = self.apical[26])
  1553. h.pt3dadd(142.04,473.69,-114.36,0.556, sec = self.apical[26])
  1554. h.pt3dadd(142.68,478.23,-113.42,0.578, sec = self.apical[26])
  1555. h.pt3dadd(142.36,480.82,-113.42,0.556, sec = self.apical[26])
  1556. self.apical[27].connect(self.apical[23])
  1557. h.pt3dclear(sec = self.apical[27])
  1558. h.pt3dadd(123.36,433.36,-112.58,0.96, sec = self.apical[27])
  1559. h.pt3dadd(126.24,432.71,-114.12,0.96, sec = self.apical[27])
  1560. h.pt3dadd(128.8,431.41,-119.44,0.924, sec = self.apical[27])
  1561. h.pt3dadd(131.36,431.41,-122.22,0.836, sec = self.apical[27])
  1562. h.pt3dadd(133.92,430.44,-122.22,0.888, sec = self.apical[27])
  1563. h.pt3dadd(136.8,432.38,-122.22,0.896, sec = self.apical[27])
  1564. h.pt3dadd(139.03,434,-124.58,0.912, sec = self.apical[27])
  1565. h.pt3dadd(141.59,433.68,-125.36,0.874, sec = self.apical[27])
  1566. h.pt3dadd(144.79,436.92,-127.06,0.942, sec = self.apical[27])
  1567. h.pt3dadd(147.03,438.86,-128.48,0.988, sec = self.apical[27])
  1568. h.pt3dadd(149.91,437.57,-129.5,0.952, sec = self.apical[27])
  1569. h.pt3dadd(152.46,437.57,-131.1,0.86, sec = self.apical[27])
  1570. h.pt3dadd(155.02,438.54,-132.7,0.904, sec = self.apical[27])
  1571. h.pt3dadd(157.9,439.19,-135.54,1.024, sec = self.apical[27])
  1572. h.pt3dadd(160.78,438.86,-137.22,0.904, sec = self.apical[27])
  1573. self.apical[28].connect(self.apical[27])
  1574. h.pt3dclear(sec = self.apical[28])
  1575. h.pt3dadd(160.78,438.86,-137.22,0.904, sec = self.apical[28])
  1576. h.pt3dadd(163.93,440.2,-132.86,0.882, sec = self.apical[28])
  1577. h.pt3dadd(168.73,441.17,-133.2,0.7, sec = self.apical[28])
  1578. h.pt3dadd(172.57,442.79,-133.96,0.602, sec = self.apical[28])
  1579. h.pt3dadd(176.72,445.38,-135.34,0.574, sec = self.apical[28])
  1580. h.pt3dadd(178.96,450.24,-136.86,0.572, sec = self.apical[28])
  1581. h.pt3dadd(182.48,451.22,-138.06,0.538, sec = self.apical[28])
  1582. h.pt3dadd(184.08,453.48,-138.9,0.486, sec = self.apical[28])
  1583. h.pt3dadd(186.96,455.75,-141.74,0.506, sec = self.apical[28])
  1584. h.pt3dadd(187.92,458.02,-142.56,0.422, sec = self.apical[28])
  1585. h.pt3dadd(190.8,459.64,-145.68,0.494, sec = self.apical[28])
  1586. h.pt3dadd(192.71,465.15,-145.7,0.446, sec = self.apical[28])
  1587. h.pt3dadd(195.59,469.36,-144.22,0.524, sec = self.apical[28])
  1588. h.pt3dadd(198.47,473.25,-145.4,0.554, sec = self.apical[28])
  1589. h.pt3dadd(201.67,473.25,-146.88,0.526, sec = self.apical[28])
  1590. h.pt3dadd(204.55,476.81,-146.66,0.456, sec = self.apical[28])
  1591. h.pt3dadd(209.02,480.37,-146.66,0.554, sec = self.apical[28])
  1592. self.apical[29].connect(self.apical[27])
  1593. h.pt3dclear(sec = self.apical[29])
  1594. h.pt3dadd(160.78,438.86,-137.22,0.904, sec = self.apical[29])
  1595. h.pt3dadd(161.74,436.92,-143.52,1.008, sec = self.apical[29])
  1596. h.pt3dadd(163.66,437.89,-144.8,0.844, sec = self.apical[29])
  1597. h.pt3dadd(165.26,438.54,-146.64,0.74, sec = self.apical[29])
  1598. h.pt3dadd(167.31,438.4,-149.76,0.668, sec = self.apical[29])
  1599. h.pt3dadd(168.91,439.37,-149.76,0.678, sec = self.apical[29])
  1600. h.pt3dadd(170.51,437.75,-151.02,0.67, sec = self.apical[29])
  1601. h.pt3dadd(173.71,437.75,-154.66,0.702, sec = self.apical[29])
  1602. h.pt3dadd(177.23,440.99,-157.46,0.748, sec = self.apical[29])
  1603. h.pt3dadd(179.14,442.28,-158.62,0.756, sec = self.apical[29])
  1604. h.pt3dadd(183.3,443.9,-159.3,0.782, sec = self.apical[29])
  1605. h.pt3dadd(187.14,445.52,-160.8,0.638, sec = self.apical[29])
  1606. h.pt3dadd(190.02,446.5,-156.26,0.684, sec = self.apical[29])
  1607. h.pt3dadd(193.85,448.12,-160.22,0.678, sec = self.apical[29])
  1608. h.pt3dadd(198.65,448.12,-163.18,0.732, sec = self.apical[29])
  1609. h.pt3dadd(203.13,448.44,-162.66,0.552, sec = self.apical[29])
  1610. h.pt3dadd(206.65,449.74,-166.04,0.592, sec = self.apical[29])
  1611. h.pt3dadd(210.16,451.03,-171.54,0.632, sec = self.apical[29])
  1612. h.pt3dadd(213.36,451.36,-168.86,0.662, sec = self.apical[29])
  1613. h.pt3dadd(219.12,451.68,-173.52,0.586, sec = self.apical[29])
  1614. h.pt3dadd(222.96,449.74,-176.2,0.566, sec = self.apical[29])
  1615. h.pt3dadd(225.01,448.3,-180.86,0.564, sec = self.apical[29])
  1616. h.pt3dadd(226.61,450.24,-181.74,0.602, sec = self.apical[29])
  1617. h.pt3dadd(230.77,448.95,-185.26,0.438, sec = self.apical[29])
  1618. h.pt3dadd(234.61,447.98,-189.36,0.374, sec = self.apical[29])
  1619. self.apical[30].connect(self.apical[20])
  1620. h.pt3dclear(sec = self.apical[30])
  1621. h.pt3dadd(83.43,363.08,-63,1.28, sec = self.apical[30])
  1622. h.pt3dadd(88.22,364.7,-61,0.904, sec = self.apical[30])
  1623. h.pt3dadd(92.06,366.97,-61.54,0.94, sec = self.apical[30])
  1624. h.pt3dadd(93.66,369.24,-62.22,0.958, sec = self.apical[30])
  1625. h.pt3dadd(96.22,371.83,-63.18,0.878, sec = self.apical[30])
  1626. h.pt3dadd(100.06,372.15,-67.12,0.84, sec = self.apical[30])
  1627. h.pt3dadd(104.53,374.75,-70.74,0.902, sec = self.apical[30])
  1628. h.pt3dadd(108.05,376.04,-73.28,0.812, sec = self.apical[30])
  1629. h.pt3dadd(110.61,378.96,-73.28,0.952, sec = self.apical[30])
  1630. h.pt3dadd(116.05,381.87,-73.28,0.872, sec = self.apical[30])
  1631. h.pt3dadd(119.88,384.14,-74.08,0.886, sec = self.apical[30])
  1632. h.pt3dadd(125.32,386.09,-75.64,0.834, sec = self.apical[30])
  1633. h.pt3dadd(130.12,389.33,-78.5,0.704, sec = self.apical[30])
  1634. h.pt3dadd(134.13,391.79,-78.58,0.724, sec = self.apical[30])
  1635. h.pt3dadd(139.89,393.41,-82.18,0.782, sec = self.apical[30])
  1636. h.pt3dadd(146.6,396.32,-89.9,0.848, sec = self.apical[30])
  1637. h.pt3dadd(151.4,398.27,-92.56,0.858, sec = self.apical[30])
  1638. h.pt3dadd(156.2,400.21,-99.54,0.826, sec = self.apical[30])
  1639. h.pt3dadd(161.31,401.51,-104,0.88, sec = self.apical[30])
  1640. h.pt3dadd(165.47,399.89,-106.56,0.858, sec = self.apical[30])
  1641. h.pt3dadd(168.67,403.13,-107.62,0.89, sec = self.apical[30])
  1642. h.pt3dadd(173.46,401.51,-110.54,0.882, sec = self.apical[30])
  1643. h.pt3dadd(178.26,405.72,-114.12,0.824, sec = self.apical[30])
  1644. h.pt3dadd(181.78,407.66,-118.46,0.924, sec = self.apical[30])
  1645. h.pt3dadd(185.3,411.23,-120.88,0.912, sec = self.apical[30])
  1646. h.pt3dadd(187.86,414.79,-124.58,0.954, sec = self.apical[30])
  1647. h.pt3dadd(193.11,417.84,-125.28,0.832, sec = self.apical[30])
  1648. h.pt3dadd(196.63,418.48,-125.28,0.858, sec = self.apical[30])
  1649. h.pt3dadd(198.87,420.75,-126.66,0.88, sec = self.apical[30])
  1650. self.apical[31].connect(self.apical[30])
  1651. h.pt3dclear(sec = self.apical[31])
  1652. h.pt3dadd(198.87,420.75,-126.66,0.88, sec = self.apical[31])
  1653. h.pt3dadd(198.03,423.17,-124.34,0.926, sec = self.apical[31])
  1654. h.pt3dadd(199.62,426.74,-124.34,0.81, sec = self.apical[31])
  1655. h.pt3dadd(202.82,429.65,-127.7,0.884, sec = self.apical[31])
  1656. h.pt3dadd(204.42,432.24,-128.8,0.968, sec = self.apical[31])
  1657. h.pt3dadd(205.06,435.48,-128.8,0.946, sec = self.apical[31])
  1658. h.pt3dadd(207.94,436.13,-129.96,0.864, sec = self.apical[31])
  1659. h.pt3dadd(207.94,439.37,-129.96,0.888, sec = self.apical[31])
  1660. h.pt3dadd(212.74,440.67,-132.14,0.91, sec = self.apical[31])
  1661. h.pt3dadd(214.01,444.23,-133.72,0.838, sec = self.apical[31])
  1662. h.pt3dadd(214.33,448.44,-130.06,0.938, sec = self.apical[31])
  1663. h.pt3dadd(215.29,452.33,-128.84,0.85, sec = self.apical[31])
  1664. h.pt3dadd(219.13,453.95,-127.3,0.87, sec = self.apical[31])
  1665. h.pt3dadd(219.77,458.16,-128.14,0.808, sec = self.apical[31])
  1666. h.pt3dadd(223.61,459.78,-128.5,0.84, sec = self.apical[31])
  1667. h.pt3dadd(226.17,461.73,-129.82,0.85, sec = self.apical[31])
  1668. h.pt3dadd(229.36,463.67,-128,0.804, sec = self.apical[31])
  1669. h.pt3dadd(229.68,467.88,-128,0.66, sec = self.apical[31])
  1670. h.pt3dadd(233.2,470.47,-128.24,0.726, sec = self.apical[31])
  1671. h.pt3dadd(237.04,475.33,-130.38,0.472, sec = self.apical[31])
  1672. self.apical[32].connect(self.apical[30])
  1673. h.pt3dclear(sec = self.apical[32])
  1674. h.pt3dadd(198.87,420.75,-126.66,0.88, sec = self.apical[32])
  1675. h.pt3dadd(204.62,423.02,-129.44,0.64, sec = self.apical[32])
  1676. h.pt3dadd(210.7,425.61,-130.44,0.64, sec = self.apical[32])
  1677. h.pt3dadd(215.5,425.29,-131.18,0.64, sec = self.apical[32])
  1678. h.pt3dadd(220.93,427.23,-132.26,0.64, sec = self.apical[32])
  1679. h.pt3dadd(225.73,427.56,-134.02,0.64, sec = self.apical[32])
  1680. h.pt3dadd(229.89,425.29,-135.76,0.64, sec = self.apical[32])
  1681. h.pt3dadd(233.72,426.58,-137.1,0.64, sec = self.apical[32])
  1682. h.pt3dadd(237.24,429.18,-134.88,0.64, sec = self.apical[32])
  1683. h.pt3dadd(242.04,430.15,-135.94,0.64, sec = self.apical[32])
  1684. h.pt3dadd(245.87,431.77,-137.24,0.64, sec = self.apical[32])
  1685. h.pt3dadd(250.47,435.48,-138.86,0.64, sec = self.apical[32])
  1686. h.pt3dadd(255.59,435.48,-139.74,0.64, sec = self.apical[32])
  1687. h.pt3dadd(259.1,437.43,-140.58,0.64, sec = self.apical[32])
  1688. h.pt3dadd(262.94,438.72,-141.14,0.64, sec = self.apical[32])
  1689. h.pt3dadd(268.06,440.02,-141.14,0.64, sec = self.apical[32])
  1690. h.pt3dadd(271.58,440.99,-144.06,0.64, sec = self.apical[32])
  1691. h.pt3dadd(276.37,440.34,-145.48,0.64, sec = self.apical[32])
  1692. self.apical[33].connect(self.apical[7])
  1693. h.pt3dclear(sec = self.apical[33])
  1694. h.pt3dadd(21.39,193.31,-40.1,1.6, sec = self.apical[33])
  1695. h.pt3dadd(23.31,191.04,-43.66,1.08, sec = self.apical[33])
  1696. h.pt3dadd(25.87,190.39,-44.46,0.986, sec = self.apical[33])
  1697. h.pt3dadd(29.07,189.74,-44.46,1.102, sec = self.apical[33])
  1698. h.pt3dadd(32.58,188.45,-44.88,0.924, sec = self.apical[33])
  1699. h.pt3dadd(36.42,189.42,-45.34,0.954, sec = self.apical[33])
  1700. h.pt3dadd(39.94,190.39,-45.34,0.982, sec = self.apical[33])
  1701. self.apical[34].connect(self.apical[33])
  1702. h.pt3dclear(sec = self.apical[34])
  1703. h.pt3dadd(39.94,190.39,-45.34,0.982, sec = self.apical[34])
  1704. h.pt3dadd(41.1,193.81,-41.68,0.96, sec = self.apical[34])
  1705. h.pt3dadd(41.73,197.69,-40.1,0.96, sec = self.apical[34])
  1706. h.pt3dadd(44.61,201.91,-39.84,0.96, sec = self.apical[34])
  1707. h.pt3dadd(45.57,207.41,-37.08,0.96, sec = self.apical[34])
  1708. h.pt3dadd(46.53,213.57,-36.72,0.96, sec = self.apical[34])
  1709. h.pt3dadd(48.13,218.11,-36.72,0.96, sec = self.apical[34])
  1710. h.pt3dadd(52.29,222.64,-37.6,0.96, sec = self.apical[34])
  1711. h.pt3dadd(53.89,227.18,-36.74,0.96, sec = self.apical[34])
  1712. h.pt3dadd(57.72,230.09,-36.38,0.96, sec = self.apical[34])
  1713. h.pt3dadd(60.6,231.06,-36.28,0.96, sec = self.apical[34])
  1714. h.pt3dadd(62.52,235.92,-36.22,0.928, sec = self.apical[34])
  1715. h.pt3dadd(65.08,240.14,-35.02,0.896, sec = self.apical[34])
  1716. h.pt3dadd(67.11,244.86,-38.28,1.016, sec = self.apical[34])
  1717. h.pt3dadd(70.31,249.72,-37.26,0.822, sec = self.apical[34])
  1718. h.pt3dadd(73.51,254.9,-37.26,0.772, sec = self.apical[34])
  1719. h.pt3dadd(76.07,259.43,-36.78,0.668, sec = self.apical[34])
  1720. h.pt3dadd(77.99,263.97,-34.26,0.736, sec = self.apical[34])
  1721. h.pt3dadd(81.5,264.94,-33.34,0.618, sec = self.apical[34])
  1722. h.pt3dadd(85.66,265.91,-31.44,0.64, sec = self.apical[34])
  1723. h.pt3dadd(90.14,266.89,-29.46,0.552, sec = self.apical[34])
  1724. self.apical[35].connect(self.apical[33])
  1725. h.pt3dclear(sec = self.apical[35])
  1726. h.pt3dadd(39.94,190.39,-45.34,0.982, sec = self.apical[35])
  1727. h.pt3dadd(42.82,188.77,-44.24,0.912, sec = self.apical[35])
  1728. h.pt3dadd(46.97,187.48,-46.44,0.97, sec = self.apical[35])
  1729. h.pt3dadd(49.21,184.88,-46.72,0.844, sec = self.apical[35])
  1730. h.pt3dadd(52.41,184.56,-47.7,0.906, sec = self.apical[35])
  1731. h.pt3dadd(55.61,182.94,-48.66,0.806, sec = self.apical[35])
  1732. h.pt3dadd(59.13,184.56,-49.94,0.73, sec = self.apical[35])
  1733. h.pt3dadd(61.36,182.94,-51.14,0.83, sec = self.apical[35])
  1734. h.pt3dadd(65.2,181.64,-52.16,0.784, sec = self.apical[35])
  1735. h.pt3dadd(70,180.67,-53.64,0.902, sec = self.apical[35])
  1736. h.pt3dadd(73.2,181.64,-54.8,0.77, sec = self.apical[35])
  1737. h.pt3dadd(75.95,181.17,-55.82,0.856, sec = self.apical[35])
  1738. h.pt3dadd(79.47,179.55,-60.08,0.836, sec = self.apical[35])
  1739. h.pt3dadd(81.39,177.28,-60.6,0.716, sec = self.apical[35])
  1740. h.pt3dadd(82.67,174.37,-61.62,0.71, sec = self.apical[35])
  1741. h.pt3dadd(86.5,174.04,-63.66,0.544, sec = self.apical[35])
  1742. h.pt3dadd(88.74,173.07,-64.94,0.466, sec = self.apical[35])
  1743. self.apical[36].connect(self.apical[6])
  1744. h.pt3dclear(sec = self.apical[36])
  1745. h.pt3dadd(3.46,172.27,-34.8,1.6, sec = self.apical[36])
  1746. h.pt3dadd(1.86,175.84,-37.06,0.96, sec = self.apical[36])
  1747. h.pt3dadd(-0.7,178.75,-37.52,0.96, sec = self.apical[36])
  1748. self.apical[37].connect(self.apical[36])
  1749. h.pt3dclear(sec = self.apical[37])
  1750. h.pt3dadd(-0.7,178.75,-37.52,0.96, sec = self.apical[37])
  1751. h.pt3dadd(0.13,181.84,-36.74,0.96, sec = self.apical[37])
  1752. h.pt3dadd(-1.47,184.43,-36.66,0.64, sec = self.apical[37])
  1753. h.pt3dadd(-3.38,185.4,-36.08,0.64, sec = self.apical[37])
  1754. h.pt3dadd(-3.38,188.32,-36.7,0.64, sec = self.apical[37])
  1755. h.pt3dadd(-4.34,190.26,-37.52,0.64, sec = self.apical[37])
  1756. h.pt3dadd(-5.94,190.91,-38.62,0.64, sec = self.apical[37])
  1757. h.pt3dadd(-6.58,193.82,-38.72,0.64, sec = self.apical[37])
  1758. h.pt3dadd(-8.5,196.09,-38.72,0.64, sec = self.apical[37])
  1759. h.pt3dadd(-9.46,199.01,-39.3,0.64, sec = self.apical[37])
  1760. h.pt3dadd(-10.1,202.89,-40,0.64, sec = self.apical[37])
  1761. h.pt3dadd(-10.74,204.84,-40.5,0.64, sec = self.apical[37])
  1762. h.pt3dadd(-11.7,208.08,-41.04,0.64, sec = self.apical[37])
  1763. h.pt3dadd(-12.66,210.67,-41.4,0.64, sec = self.apical[37])
  1764. h.pt3dadd(-13.62,212.29,-42.26,0.64, sec = self.apical[37])
  1765. h.pt3dadd(-14.58,213.91,-43.42,0.64, sec = self.apical[37])
  1766. h.pt3dadd(-17.14,215.21,-44.86,0.64, sec = self.apical[37])
  1767. h.pt3dadd(-18.09,218.12,-46.2,0.64, sec = self.apical[37])
  1768. h.pt3dadd(-18.09,219.42,-48.84,0.64, sec = self.apical[37])
  1769. h.pt3dadd(-20.33,220.39,-48.84,0.64, sec = self.apical[37])
  1770. h.pt3dadd(-20.33,222.98,-52.5,0.64, sec = self.apical[37])
  1771. h.pt3dadd(-22.89,224.28,-52.5,0.64, sec = self.apical[37])
  1772. self.apical[38].connect(self.apical[36])
  1773. h.pt3dclear(sec = self.apical[38])
  1774. h.pt3dadd(-0.7,178.75,-37.52,0.96, sec = self.apical[38])
  1775. h.pt3dadd(-4.22,180.37,-38.1,0.64, sec = self.apical[38])
  1776. h.pt3dadd(-6.66,181.17,-38.1,0.64, sec = self.apical[38])
  1777. h.pt3dadd(-7.62,183.11,-37.4,0.64, sec = self.apical[38])
  1778. h.pt3dadd(-10.82,183.76,-37.1,0.64, sec = self.apical[38])
  1779. h.pt3dadd(-13.06,183.76,-36.14,0.64, sec = self.apical[38])
  1780. h.pt3dadd(-15.62,187.32,-34.4,0.64, sec = self.apical[38])
  1781. h.pt3dadd(-17.54,191.21,-34.06,0.64, sec = self.apical[38])
  1782. h.pt3dadd(-19.46,195.42,-33.4,0.64, sec = self.apical[38])
  1783. h.pt3dadd(-20.74,198.34,-31.68,0.64, sec = self.apical[38])
  1784. h.pt3dadd(-19.46,200.61,-31.68,0.64, sec = self.apical[38])
  1785. h.pt3dadd(-21.37,202.23,-29.92,0.64, sec = self.apical[38])
  1786. h.pt3dadd(-22.33,203.85,-26.44,0.64, sec = self.apical[38])
  1787. h.pt3dadd(-24.25,205.79,-23.34,0.64, sec = self.apical[38])
  1788. h.pt3dadd(-24.25,207.73,-23.34,0.64, sec = self.apical[38])
  1789. h.pt3dadd(-25.53,212.59,-21.62,0.64, sec = self.apical[38])
  1790. h.pt3dadd(-23.61,214.86,-20.24,0.64, sec = self.apical[38])
  1791. h.pt3dadd(-24.25,217.45,-19.2,0.64, sec = self.apical[38])
  1792. h.pt3dadd(-24.25,220.05,-19.2,0.64, sec = self.apical[38])
  1793. h.pt3dadd(-25.53,221.67,-18.44,0.64, sec = self.apical[38])
  1794. h.pt3dadd(-24.89,225.55,-17.36,0.64, sec = self.apical[38])
  1795. h.pt3dadd(-26.81,228.15,-16.08,0.64, sec = self.apical[38])
  1796. h.pt3dadd(-27.77,230.74,-14.2,0.64, sec = self.apical[38])
  1797. h.pt3dadd(-29.05,232.03,-12.02,0.64, sec = self.apical[38])
  1798. h.pt3dadd(-30.01,231.38,-12.02,0.64, sec = self.apical[38])
  1799. h.pt3dadd(-31.61,230.74,-10.68,0.64, sec = self.apical[38])
  1800. h.pt3dadd(-32.57,232.03,-7.84,0.64, sec = self.apical[38])
  1801. h.pt3dadd(-32.89,234.95,-6.18,0.64, sec = self.apical[38])
  1802. h.pt3dadd(-34.63,236.42,-4.42,0.64, sec = self.apical[38])
  1803. h.pt3dadd(-34.63,238.04,-1.7,0.64, sec = self.apical[38])
  1804. h.pt3dadd(-36.22,239.98,-0.28,0.64, sec = self.apical[38])
  1805. h.pt3dadd(-37.18,242.25,0.36,0.64, sec = self.apical[38])
  1806. h.pt3dadd(-38.46,244.19,2.24,0.64, sec = self.apical[38])
  1807. h.pt3dadd(-38.14,246.78,2.26,0.64, sec = self.apical[38])
  1808. h.pt3dadd(-41.02,247.11,3.84,0.64, sec = self.apical[38])
  1809. h.pt3dadd(-42.3,247.11,7.54,0.64, sec = self.apical[38])
  1810. h.pt3dadd(-43.26,250.35,7.54,0.64, sec = self.apical[38])
  1811. h.pt3dadd(-46.46,250.67,9.92,0.64, sec = self.apical[38])
  1812. h.pt3dadd(-46.78,252.61,12.6,0.64, sec = self.apical[38])
  1813. self.apical[39].connect(self.apical[5])
  1814. h.pt3dclear(sec = self.apical[39])
  1815. h.pt3dadd(-16.01,135.76,-29.88,1.298, sec = self.apical[39])
  1816. h.pt3dadd(-12.81,134.47,-39.18,1.118, sec = self.apical[39])
  1817. h.pt3dadd(-9.3,134.14,-40.2,1.092, sec = self.apical[39])
  1818. h.pt3dadd(-6.74,131.88,-40.84,1.208, sec = self.apical[39])
  1819. h.pt3dadd(-5.14,129.93,-42.48,1.27, sec = self.apical[39])
  1820. h.pt3dadd(-2.9,129.28,-46.68,1.262, sec = self.apical[39])
  1821. h.pt3dadd(-1.3,127.02,-48.52,1.08, sec = self.apical[39])
  1822. h.pt3dadd(-1.62,124.42,-50.62,1.256, sec = self.apical[39])
  1823. h.pt3dadd(0.62,123.13,-54.38,0.96, sec = self.apical[39])
  1824. h.pt3dadd(1.9,124.42,-56.68,0.96, sec = self.apical[39])
  1825. h.pt3dadd(2.86,123.45,-59.26,0.96, sec = self.apical[39])
  1826. h.pt3dadd(4.91,122.32,-60.98,0.96, sec = self.apical[39])
  1827. h.pt3dadd(6.51,120.7,-62.88,1.006, sec = self.apical[39])
  1828. h.pt3dadd(9.07,119.41,-66.06,0.898, sec = self.apical[39])
  1829. h.pt3dadd(11.31,119.41,-70.6,0.672, sec = self.apical[39])
  1830. h.pt3dadd(12.91,115.84,-74.86,0.752, sec = self.apical[39])
  1831. h.pt3dadd(14.19,114.22,-76.82,0.744, sec = self.apical[39])
  1832. h.pt3dadd(17.7,113.58,-76.82,0.614, sec = self.apical[39])
  1833. h.pt3dadd(20.9,116.82,-80.66,0.63, sec = self.apical[39])
  1834. h.pt3dadd(21.22,120.06,-76.5,0.644, sec = self.apical[39])
  1835. h.pt3dadd(25.38,121.03,-75.08,0.67, sec = self.apical[39])
  1836. self.apical[40].connect(self.apical[4])
  1837. h.pt3dclear(sec = self.apical[40])
  1838. h.pt3dadd(-16.83,133.99,-29.88,1.6, sec = self.apical[40])
  1839. h.pt3dadd(-18.11,132.04,-39,1.17, sec = self.apical[40])
  1840. h.pt3dadd(-20.35,130.75,-39.92,1.012, sec = self.apical[40])
  1841. h.pt3dadd(-20.99,129.13,-41.26,0.926, sec = self.apical[40])
  1842. h.pt3dadd(-22.27,127.51,-42.44,0.934, sec = self.apical[40])
  1843. h.pt3dadd(-22.59,125.89,-43.22,0.934, sec = self.apical[40])
  1844. h.pt3dadd(-23.87,123.62,-44.58,0.872, sec = self.apical[40])
  1845. h.pt3dadd(-25.79,123.3,-47.88,0.918, sec = self.apical[40])
  1846. h.pt3dadd(-28.03,122.65,-50.14,0.828, sec = self.apical[40])
  1847. h.pt3dadd(-28.99,121.03,-52.7,0.786, sec = self.apical[40])
  1848. h.pt3dadd(-29.62,118.76,-55.28,0.842, sec = self.apical[40])
  1849. h.pt3dadd(-32.18,118.44,-57.7,0.856, sec = self.apical[40])
  1850. h.pt3dadd(-32.5,113.9,-59.66,0.888, sec = self.apical[40])
  1851. h.pt3dadd(-33.46,110.01,-59.7,0.912, sec = self.apical[40])
  1852. h.pt3dadd(-35.06,109.36,-59.92,0.838, sec = self.apical[40])
  1853. h.pt3dadd(-35.7,110.34,-64.7,0.748, sec = self.apical[40])
  1854. h.pt3dadd(-36.66,108.39,-68,0.888, sec = self.apical[40])
  1855. h.pt3dadd(-37.3,106.12,-68,0.824, sec = self.apical[40])
  1856. h.pt3dadd(-38.26,103.21,-74.76,0.64, sec = self.apical[40])
  1857. self.apical[41].connect(self.apical[3])
  1858. h.pt3dclear(sec = self.apical[41])
  1859. h.pt3dadd(-20.81,122.8,-27.14,1.6, sec = self.apical[41])
  1860. h.pt3dadd(-18.25,122.48,-21.48,0.966, sec = self.apical[41])
  1861. h.pt3dadd(-18.25,125.4,-21.48,0.992, sec = self.apical[41])
  1862. h.pt3dadd(-20.49,127.34,-20.3,0.874, sec = self.apical[41])
  1863. h.pt3dadd(-21.45,128.96,-19.02,0.802, sec = self.apical[41])
  1864. h.pt3dadd(-24.01,130.26,-17.52,0.77, sec = self.apical[41])
  1865. h.pt3dadd(-24.97,131.88,-14.94,0.756, sec = self.apical[41])
  1866. h.pt3dadd(-26.24,135.44,-13.34,0.78, sec = self.apical[41])
  1867. h.pt3dadd(-27.52,137.38,-11.78,0.72, sec = self.apical[41])
  1868. h.pt3dadd(-29.76,139.65,-9.32,0.75, sec = self.apical[41])
  1869. h.pt3dadd(-31.04,140.3,-8.54,0.766, sec = self.apical[41])
  1870. h.pt3dadd(-31.36,143.86,-7.54,0.64, sec = self.apical[41])
  1871. h.pt3dadd(-33.92,145.81,-6.68,0.594, sec = self.apical[41])
  1872. h.pt3dadd(-36.16,146.78,-7.2,0.574, sec = self.apical[41])
  1873. h.pt3dadd(-38.08,151.31,-5.16,0.628, sec = self.apical[41])
  1874. h.pt3dadd(-40,152.29,-4.78,0.566, sec = self.apical[41])
  1875. h.pt3dadd(-40.63,155.53,-4.26,0.572, sec = self.apical[41])
  1876. h.pt3dadd(-43.19,157.15,-3.92,0.522, sec = self.apical[41])
  1877. h.pt3dadd(-45.43,158.44,-1.06,0.484, sec = self.apical[41])
  1878. h.pt3dadd(-47.67,160.06,0.7,0.448, sec = self.apical[41])
  1879. self.apical[42].connect(self.apical[2])
  1880. h.pt3dclear(sec = self.apical[42])
  1881. h.pt3dadd(-38.38,76.72,-16.44,1.92, sec = self.apical[42])
  1882. h.pt3dadd(-41.58,78.99,-19,0.96, sec = self.apical[42])
  1883. h.pt3dadd(-44.46,81.26,-20.62,0.96, sec = self.apical[42])
  1884. h.pt3dadd(-46.38,81.91,-20,0.96, sec = self.apical[42])
  1885. h.pt3dadd(-48.62,85.47,-19.94,0.96, sec = self.apical[42])
  1886. h.pt3dadd(-51.49,87.41,-19.58,0.96, sec = self.apical[42])
  1887. h.pt3dadd(-53.73,88.06,-20.7,0.96, sec = self.apical[42])
  1888. self.apical[43].connect(self.apical[42])
  1889. h.pt3dclear(sec = self.apical[43])
  1890. h.pt3dadd(-53.73,88.06,-20.7,0.96, sec = self.apical[43])
  1891. h.pt3dadd(-56.14,88.86,-21.42,0.64, sec = self.apical[43])
  1892. h.pt3dadd(-58.38,89.18,-21.36,0.64, sec = self.apical[43])
  1893. h.pt3dadd(-60.62,88.86,-23.58,0.64, sec = self.apical[43])
  1894. h.pt3dadd(-63.81,88.86,-24,0.64, sec = self.apical[43])
  1895. h.pt3dadd(-66.05,87.56,-26.24,0.64, sec = self.apical[43])
  1896. h.pt3dadd(-66.69,86.91,-30.9,0.64, sec = self.apical[43])
  1897. h.pt3dadd(-68.61,86.59,-33.2,0.616, sec = self.apical[43])
  1898. h.pt3dadd(-70.85,85.62,-34.32,0.62, sec = self.apical[43])
  1899. h.pt3dadd(-72.45,85.94,-38.1,0.55, sec = self.apical[43])
  1900. h.pt3dadd(-72.45,87.56,-40.12,0.484, sec = self.apical[43])
  1901. h.pt3dadd(-74.69,87.56,-41.78,0.48, sec = self.apical[43])
  1902. h.pt3dadd(-76.29,86.91,-43.12,0.45, sec = self.apical[43])
  1903. h.pt3dadd(-78.53,84.97,-44.54,0.498, sec = self.apical[43])
  1904. h.pt3dadd(-80.44,83.35,-47.78,0.434, sec = self.apical[43])
  1905. self.apical[44].connect(self.apical[42])
  1906. h.pt3dclear(sec = self.apical[44])
  1907. h.pt3dadd(-53.73,88.06,-20.7,0.96, sec = self.apical[44])
  1908. h.pt3dadd(-55.33,91.3,-16.86,0.96, sec = self.apical[44])
  1909. h.pt3dadd(-57.25,92.27,-13.84,0.864, sec = self.apical[44])
  1910. h.pt3dadd(-60.45,93.57,-13.82,0.64, sec = self.apical[44])
  1911. h.pt3dadd(-63.33,95.51,-14.32,0.644, sec = self.apical[44])
  1912. h.pt3dadd(-65.24,97.46,-14.42,0.7, sec = self.apical[44])
  1913. h.pt3dadd(-69.08,98.75,-14.42,0.66, sec = self.apical[44])
  1914. h.pt3dadd(-70.68,101.02,-15.68,0.6, sec = self.apical[44])
  1915. h.pt3dadd(-71.32,102.96,-16.42,0.59, sec = self.apical[44])
  1916. h.pt3dadd(-72.92,104.58,-16.76,0.484, sec = self.apical[44])
  1917. h.pt3dadd(-75.48,105.56,-16.76,0.522, sec = self.apical[44])
  1918. h.pt3dadd(-76.76,108.47,-16.78,0.422, sec = self.apical[44])
  1919. # Set up the geom_nseg

CA229.py at commit 163b82c, under GPL-3.0 · at the source

Overview

Authors: Thomas SJ Burger1, Michael E Rule1, Timothy O'Leary1,2
  1. Department of Engineering, University of Cambridge, Cambridge, United Kingdom
  2. Theoretical Sciences Visiting Program, Okinawa Institute of Science and Technology Graduate University, Onna, Japan
Journal: eLife, volume 12, article RP89629
Dates: published online 27 July 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.7554/elife.89629 · PMID 42504924 · PMCID PMC13405625 · OpenAlex W4387187368
Open access: gold, a free copy (OpenAlex)
Status: code verified
Keywords: None
MeSH: Action Potentials*, Dendrites*, Models, Neurological*, Neurons*, Animals, Time Factors (* major topic)
Topic: Advanced Memory and Neural Computing (Electrical and Electronic Engineering, Engineering), according to OpenAlex
Funding: Engineering and Physical Sciences Research Council (DTP studentship); European Research Council (10.3030/716643, 716643); Isaac Newton Trust and Leverhulme Fellowship (ECF-2020-352)
Citations: not cited yet (Europe PMC); 77 references in the paper

Abstract

Dendritic action potentials exhibit long plateaus of many tens of milliseconds, outliving axonal spikes by an order of magnitude. The computational role of these slow events seems at odds with the need to rapidly integrate and relay information throughout large nervous systems. We propose that the timescale of dendritic potentials allows for reliable integration of asynchronous inputs. We develop a physiologically grounded model in which the extended duration of dendritic spikes equips each dendrite with a resettable memory of incoming signals. This provides a tractable model for capturing dendritic nonlinearities observed in experiments and in more complex, detailed models. Using this model, we show that long-lived, nonlinear dendritic plateau potentials allow neurons to spike reliably when confronted with asynchronous input spikes. We demonstrate this model supports non-trivial computations in a network solving an association/discrimination task using sparse spiking that is subject to timing jitter. This demonstrates a computational role for the specific timecourse of dendritic potentials in situations where decisions occur quickly, reliably, and with a low number of spikes. Our results provide empirically testable hypotheses for the role of dendritic action potentials in cortical function, as well as a potential bio-inspired means of realising neuromorphic spiking computations in analog hardware.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repository

Its files are read in the Code ↔ Paper reader above, with 1 match between paragraphs and lines of code.

olearylab/active_dendrites_robust_spiking

License: GPL-3.0
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 163b82c01dc612c9dc648143c87a8b38a4e917b9, 11 May 2023
Languages: C (70), NEURON (69), Python (10), Julia (9)
Size: 295 files, 158 scripts
Software Heritage: archived
Found in: “Data availability”
Holds: README, license file, environment (DendriteNetwork/Project.toml, DendriteNetwork/experiments/Integrate&Hold/Project.toml), tests
Not found: CITATION.cff, continuous integration, documentation
Tools: NEURON (72 files), Matplotlib (8 files), NumPy (6 files), pandas (4 files), seaborn (4 files), DifferentialEquations.jl (3 files), Plots.jl (3 files), Flux.jl (2 files), Makie (2 files), Distributions.jl (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
160 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 158 scripts, each with its path and the digest of its content;
  • 1 match between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data availability

There is no original data in the manuscript. All code for simulations is available at the GitHub repository: https://github.com/olearylab/active_dendrites_robust_spiking (copy archived at O’Leary and Burger, 2026).

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, pages, dates, 3 authors, 1 keyword, 6 MeSH terms, 3 funders, 73 references.

Cite

This paper

Burger, T. S., Rule, M. E., & O'Leary, T. (2026). Active dendrites enable robust spiking computations despite timing jitter. eLife, 12, RP89629. https://doi.org/10.7554/elife.89629

BibTeX

@article{burger2026active,
author = {Burger, Thomas SJ and Rule, Michael E and O'Leary, Timothy},
title = {{Active dendrites enable robust spiking computations despite timing jitter}},
journal = {eLife},
year = {2026},
month = jul,
volume = {12},
pages = {RP89629},
publisher = {eLife Sciences Publications, Ltd},
issn = {2050-084X},
doi = {10.7554/elife.89629},
url = {https://doi.org/10.7554/elife.89629},
pmid = {42504924},
pmcid = {PMC13405625}
}

RIS

TY - JOUR
AU - Burger, Thomas SJ
AU - Rule, Michael E
AU - O'Leary, Timothy
TI - Active dendrites enable robust spiking computations despite timing jitter
T2 - eLife
J2 - Elife
PY - 2026
DA - 2026/07/27
VL - 12
SP - RP89629
SN - 2050-084X
PB - eLife Sciences Publications, Ltd
DO - 10.7554/elife.89629
UR - https://doi.org/10.7554/elife.89629
LA - en
ER -

CSL-JSON

{
"id": "10.7554/elife.89629",
"type": "article-journal",
"title": "Active dendrites enable robust spiking computations despite timing jitter",
"container-title": "eLife",
"author": [
{
"family": "Burger",
"given": "Thomas SJ"
},
{
"family": "Rule",
"given": "Michael E"
},
{
"family": "O'Leary",
"given": "Timothy"
}
],
"container-title-short": "Elife",
"volume": "12",
"page": "RP89629",
"DOI": "10.7554/elife.89629",
"PMID": "42504924",
"PMCID": "PMC13405625",
"ISSN": "2050-084X",
"publisher": "eLife Sciences Publications, Ltd",
"URL": "https://doi.org/10.7554/elife.89629",
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
27
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.7554/elife.108352 [code]
Analysis of dendritic input currents during place field dynamics.
Journal: eLife
In common: NEURON, pandas, Matplotlib, 1 other tool, 9 references
[2] doi:10.1152/jn.00200.2025 [code]
Flexible integration of natural stimuli by auditory cortical neurons.
Journal: Journal of neurophysiology
In common: seaborn, pandas, Matplotlib, 1 other tool, 9 references
[3] doi:10.1073/pnas.2533168123 [code]
Dendritic morphology and synaptic nonlinearities enhance functional complexity in human cortical neurons.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: NEURON, pandas, Matplotlib, 1 other tool, 8 references
[4] doi:10.1016/j.celrep.2026.117793 [code]
Clustered inputs engage dendritic nonlinearities and calcium signaling to support efficient place-field formation in CA1 pyramidal neurons.
Journal: Cell reports
In common: NEURON, seaborn, pandas, 2 other tools, 7 references
[5] doi:10.1126/sciadv.adz4123 [code]
Highly attenuated dendritic propagation of isolated synaptic potentials in vivo.
Journal: Science advances
In common: 10 references
[6] doi:10.1016/j.isci.2026.117010 [code]
Deep learning-assisted mapping of dendritic spines using sequential 2D two-photon calcium imaging.
Journal: iScience
In common: seaborn, pandas, Matplotlib, 1 other tool, 8 references
[7] doi:10.7554/elife.95562 [code]
Spatially targeted inhibitory rhythms differentially affect neuronal integration.
Journal: eLife
In common: pandas, Matplotlib, NumPy, 8 references
[8] doi:10.1038/s42003-026-10957-8 [code]
Brain defence by the extracellular matrix protein Cochlin.
Journal: Communications biology
In common: Flux.jl, DifferentialEquations.jl, Plots.jl, 5 other tools
[9] doi:10.1038/s41540-026-00749-5 [code]
A novel approach to quantify out-of-distribution uncertainty in Neural and Universal Differential Equations.
Journal: NPJ systems biology and applications
In common: Flux.jl, Makie, DifferentialEquations.jl, 2 other tools
[10] doi:10.1126/sciadv.aec3961 [code]
Linking functional and structural dendritic spine remodeling during fear learning and extinction in vivo.
Journal: Science advances
In common: NEURON, pandas, Matplotlib, 1 other tool, 5 references

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.