suny-downstate-medical-center / netpyne

A Python package to facilitate the development, parallel simulation, optimization and analysis of multiscale biological neuronal networks in NEURON.
http://www.netpyne.org
MIT License
145 stars 136 forks source link

Unable to load simulation output .pkl file #783

Closed smcelroy97 closed 5 months ago

smcelroy97 commented 11 months ago

am attempting to load a .pkl file from a recent simulation, I am using the current version of netpyne from the development branch

I run sim = netpyne.sim.load(filename)

and get the following error:

Start time:  2023-10-30 15:53:25.737152
Loading file /ddn/smcelroy97/A1model_sm/data/ASSR_test/scott_A1_test_0_0_data.pkl ... 
  Done; file loading time = 124.88 s
Loading simConfig...
Loading netParams...
Loading net...
Unable to create Python structure: 'tags'
  Added NEURON objects to 0 cells
  Done; re-instantiate net time = 0.01 s
Loading simData...
Warning: could not find VecStim point process mechanism required for population IC

Creating network of 44 cell populations on 1 hosts...
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[3], line 1
----> 1 sim = netpyne.sim.load('/ddn/smcelroy97/A1model_sm/data/ASSR_test/scott_A1_test_0_0_data.pkl')

File ~/netpyne/netpyne/sim/wrappers.py:444, in load(filename, simConfig, output, instantiate, instantiateCells, instantiateConns, instantiateStims, instantiateRxD, createNEURONObj)
    442 pops = sim.net.createPops()  # instantiate network populations
    443 if instantiateCells:
--> 444     cells = sim.net.createCells()  # instantiate network cells based on defined populations
    445 if instantiateConns:
    446     conns = sim.net.connectCells()  # create connections between cells based on params

File ~/netpyne/netpyne/network/network.py:99, in Network.createCells(self)
     96 self._setDiversityRanges()  # update fractions for rules
     98 for ipop in list(self.pops.values()):  # For each pop instantiate the network cells (objects of class 'Cell')
---> 99     newCells = ipop.createCells()  # create cells for this pop using Pop method
    100     self.cells.extend(newCells)  # add to list of cells
    101     sim.pc.barrier()

File ~/netpyne/netpyne/network/pop.py:86, in Pop.createCells(self)
     84 # create cells based on fixed number of cells
     85 elif 'numCells' in self.tags:
---> 86     cells = self.createCellsFixedNum()
     88 # create cells based on density (optional ynorm-dep)
     89 elif 'density' in self.tags:

File ~/netpyne/netpyne/network/pop.py:194, in Pop.createCellsFixedNum(self)
    189         else:
    190             cellTags['params']['rates'] = [
    191                 self.tags['dynamicRates']['rates'],
    192                 self.tags['dynamicRates']['times'],
    193             ]  # 1D list (same for all)
--> 194 cells.append(self.cellModelClass(gid, cellTags))  # instantiate Cell object
    196 if sim.cfg.verbose:
    197     print(
    198         (
    199             'Cell %d/%d (gid=%d) of pop %s, on node %d, '
    200             % (i, sim.net.params.scale * self.tags['numCells'] - 1, gid, self.tags['pop'], sim.rank)
    201         )
    202     )

File ~/netpyne/netpyne/cell/compartCell.py:59, in CompartCell.__init__(self, gid, tags, create, associateGid)
     56 self.secLists = Dict()  # dict of sectionLists
     58 if create:
---> 59     self.create()  # create cell
     60 if associateGid:
     61     self.associateGid()

File ~/netpyne/netpyne/cell/compartCell.py:116, in CompartCell.create(self, createNEURONObj)
    114     self.createPyStruct(prop)
    115 if createNEURONObj:
--> 116     self.createNEURONObj(
    117         prop, propLabel
    118     )

File ~/netpyne/netpyne/cell/compartCell.py:352, in CompartCell.createNEURONObj(self, prop, propLabel)
    349 sec = self.secs[sectName]  # pointer to section
    351 if 'geom' in sectParams:
--> 352     self._setGeometryParams(sectName, sectParams, cellType, cellVars)
    354 # add distributed mechanisms
    355 if 'mechs' in sectParams:

File ~/netpyne/netpyne/cell/compartCell.py:399, in CompartCell._setGeometryParams(self, sectName, sectParams, cellType, cellVars)
    397 for geomParamName, geomParamValue in sectParams['geom'].items():
    398     if not type(geomParamValue) in [list, dict]:  # skip any list or dic params
--> 399         func, vars = CellParams.stringFuncAndVarsForGeom(cellType, sectName, geomParamName)
    400         if func:
    401             geomParamValue = self.__evaluateCellParamsStringFunc(func, vars, sec, cellVars=cellVars)

File ~/netpyne/netpyne/specs/netParams.py:187, in CellParams.stringFuncAndVarsForGeom(cellType, section, param)
    183 @staticmethod
    184 def stringFuncAndVarsForGeom(cellType, section, param):
    185     from .. import sim
--> 187     funcs = sim.net.params._cellParamStringFuncs
    188     return funcs.get(cellType, {}).get(section, {}).get('geom', {}).get(param, (None, []))

AttributeError: 'NetParams' object has no attribute '_cellParamStringFuncs'
salvadord commented 5 months ago

@smcelroy97 is this still an issue?

smcelroy97 commented 5 months ago

Sorry just saw this, no all good now!

On Wed, May 1, 2024 at 3:56 PM Salvador Dura-Bernal < @.***> wrote:

@smcelroy97 https://github.com/smcelroy97 is this still an issue?

— Reply to this email directly, view it on GitHub https://github.com/suny-downstate-medical-center/netpyne/issues/783#issuecomment-2089018916, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARAXWKTZ3SSGEKXENK3PZLLZAFCFRAVCNFSM6AAAAAA6WTKDSGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBZGAYTQOJRGY . You are receiving this because you were mentioned.Message ID: @.***>