@@ -165,7 +165,10 @@ def __init__(self, verbose=False):
165165 self .verbose = verbose
166166 self .doc = None
167167 self .filename = None
168- self .nml_to_moose = {} # NeuroML object to MOOSE object
168+ self .nml_cells_to_moose = {} # NeuroML object to MOOSE object
169+ self .nml_segs_to_moose = {} # NeuroML object to MOOSE object
170+ self .nml_chans_to_moose = {} # NeuroML object to MOOSE object
171+ self .nml_conc_to_moose = {} # NeuroML object to MOOSE object
169172 self .moose_to_nml = {} # Moose object to NeuroML object
170173 self .proto_cells = {} # map id to prototype cell in moose
171174 self .proto_chans = {} # map id to prototype channels in moose
@@ -252,7 +255,7 @@ def createCellPrototype(self, cell, symmetric=True):
252255 """To be completed - create the morphology, channels in prototype"""
253256 nrn = moose .Neuron ('%s/%s' % (self .lib .path , cell .id ))
254257 self .proto_cells [cell .id ] = nrn
255- self .nml_to_moose [cell ] = nrn
258+ self .nml_cells_to_moose [cell . id ] = nrn
256259 self .moose_to_nml [nrn ] = cell
257260 self .createMorphology (cell , nrn , symmetric = symmetric )
258261 self .importBiophysics (cell , nrn )
@@ -297,7 +300,7 @@ def createMorphology(self, nmlcell, moosecell, symmetric=True):
297300 except AttributeError :
298301 parent = None
299302 self .moose_to_nml [comp ] = segment
300- self .nml_to_moose [segment ] = comp
303+ self .nml_segs_to_moose [segment . id ] = comp
301304 p0 = segment .proximal
302305 if p0 is None :
303306 if parent :
@@ -356,15 +359,15 @@ def importCapacitances(self, nmlcell, moosecell, specificCapacitances):
356359 for specific_cm in specificCapacitances :
357360 cm = SI (specific_cm .value )
358361 for seg in sg_to_segments [specific_cm .segment_groups ]:
359- comp = self .nml_to_moose [seg ]
362+ comp = self .nml_segs_to_moose [seg . id ]
360363 comp .Cm = sarea (comp ) * cm
361364
362365 def importInitMembPotential (self , nmlcell , moosecell , membraneProperties ):
363366 sg_to_segments = self ._cell_to_sg [nmlcell ]
364367 for imp in membraneProperties .init_memb_potentials :
365368 initv = SI (imp .value )
366369 for seg in sg_to_segments [imp .segment_groups ]:
367- comp = self .nml_to_moose [seg ]
370+ comp = self .nml_segs_to_moose [seg . id ]
368371 comp .initVm = initv
369372
370373 def importIntracellularProperties (self , nmlcell , moosecell , properties ):
@@ -379,7 +382,7 @@ def importSpecies(self, nmlcell, properties):
379382 continue
380383 segments = getSegments (nmlcell , species , sg_to_segments )
381384 for seg in segments :
382- comp = self .nml_to_moose [seg ]
385+ comp = self .nml_segs_to_moose [seg . id ]
383386 self .copySpecies (species , comp )
384387
385388 def copySpecies (self , species , compartment ):
@@ -405,7 +408,7 @@ def importAxialResistance(self, nmlcell, intracellularProperties):
405408 for r in intracellularProperties .resistivities :
406409 segments = getSegments (nmlcell , r , sg_to_segments )
407410 for seg in segments :
408- comp = self .nml_to_moose [seg ]
411+ comp = self .nml_segs_to_moose [seg . id ]
409412 setRa (comp , SI (r .value ))
410413
411414 def isPassiveChan (self ,chan ):
@@ -461,14 +464,14 @@ def importChannelsToCell(self, nmlcell, moosecell, membrane_properties):
461464
462465 if self .isPassiveChan (ionChannel ):
463466 for seg in segments :
464- comp = self .nml_to_moose [seg ]
465- setRm (self . nml_to_moose [ seg ] , condDensity )
466- setEk (self . nml_to_moose [ seg ] , erev )
467+ comp = self .nml_segs_to_moose [seg . id ]
468+ setRm (comp , condDensity )
469+ setEk (comp , erev )
467470 else :
468471 for seg in segments :
469- self .copyChannel (chdens , self .nml_to_moose [seg ], condDensity , erev )
470- '''moose.le(self.nml_to_moose [seg])
471- moose.showfield(self.nml_to_moose [seg], field="*", showtype=True)'''
472+ self .copyChannel (chdens , self .nml_segs_to_moose [seg . id ], condDensity , erev )
473+ '''moose.le(self.nml_segs_to_moose [seg.id ])
474+ moose.showfield(self.nml_segs_to_moose [seg.id ], field="*", showtype=True)'''
472475
473476 def copyChannel (self , chdens , comp , condDensity , erev ):
474477 """Copy moose prototype for `chdens` condutcance density to `comp`
@@ -633,7 +636,7 @@ def importIonChannels(self, doc, vmin=-150e-3, vmax=100e-3, vdivs=5000):
633636 mchan = self .createHHChannel (chan )
634637
635638 self .id_to_ionChannel [chan .id ] = chan
636- self .nml_to_moose [chan ] = mchan
639+ self .nml_chans_to_moose [chan . id ] = mchan
637640 self .proto_chans [chan .id ] = mchan
638641 if self .verbose :
639642 print (self .filename , 'Created ion channel' , mchan .path , 'for' , chan .type , chan .id )
@@ -658,7 +661,7 @@ def createDecayingPoolConcentrationModel(self, concModel):
658661 ca .thick = SI (concModel .shellThickness )
659662 ca .B = 5.2e-6 # B = 5.2e-6/(Ad) where A is the area of the shell and d is thickness - must divide by shell volume when copying
660663 self .proto_pools [concModel .id ] = ca
661- self .nml_to_moose [concModel .id ] = ca
664+ self .nml_concs_to_moose [concModel .id ] = ca
662665 self .moose_to_nml [ca ] = concModel
663666 logger .debug ('Created moose element: %s for nml conc %s' % (ca .path , concModel .id ))
664667
0 commit comments