AllenInstitute / AllenInstitute/bmtk

Allow BMTK to load spike input times with higher temporal resolution than dt

Open
#75 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
335
Forks
102
Avg merge
1d 5h
Merged PRs (30d)
6

Description

e.g. if this value for dt:
https://github.com/AllenInstitute/sonata/blob/ad1d46a97029749aea835f9f016bfa1ccba1f258/examples/300_pointneurons/simulation_config.json#L10

is changed to a more realistic 0.01 ms, the following error occurs:

...
2019-04-29 19:27:47,332 [INFO] Setting up output directory
2019-04-29 19:27:47,332 [INFO] Building cells.
2019-04-29 19:27:47,343 [INFO] Building recurrent connections
2019-04-29 19:27:47,468 [INFO] Build virtual cell stimulations for external_spike_trains
Traceback (most recent call last):
  File "run_pointnet.py", line 18, in <module>
    main('config.json')
  File "run_pointnet.py", line 11, in main
    sim = pointnet.PointSimulator.from_config(configure, graph)
  File "/home/padraig/anaconda2/lib/python2.7/site-packages/bmtk-0.0.7-py2.7.egg/bmtk/simulator/pointnet/pointsimulator.py", line 230, in from_config
    graph.add_spike_trains(spikes, node_set)
  File "/home/padraig/anaconda2/lib/python2.7/site-packages/bmtk-0.0.7-py2.7.egg/bmtk/simulator/pointnet/pointnetwork.py", line 155, in add_spike_trains
    nest.SetStatus([nest_id], {'spike_times': np.array(spike_trains.get_spikes(node_id))})
  File "/home/padraig/opt/nest/lib/python2.7/site-packages/nest/lib/hl_api_helper.py", line 230, in stack_checker_func
    return f(*args, **kwargs)
  File "/home/padraig/opt/nest/lib/python2.7/site-packages/nest/lib/hl_api_info.py", line 199, in SetStatus
    sr('Transpose { arrayload pop SetStatus } forall')
  File "/home/padraig/opt/nest/lib/python2.7/site-packages/nest/__init__.py", line 117, in catching_sli_run
    raise _kernel.NESTError(encode(errorstring))
pynestkernel.NESTError: BadProperty in SetStatus_id: Setting status of a 'spike_generator' with GID 301: spike_generator: Time point 0.384322 is not representable in current resolution.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with the example simulation_config.json using dt=0.01 ms, then inspect bmtk/simulator/pointnet/pointsimulator.py and pointnetwork.py around add_spike_trains and the NEST SetStatus call. Done means spike input times with finer temporal resolution load without the reported representability error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.