Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate hnn-core for running simulations #231

Open
18 of 22 tasks
blakecaldwell opened this issue Sep 15, 2020 · 7 comments · Fixed by #232
Open
18 of 22 tasks

Integrate hnn-core for running simulations #231

blakecaldwell opened this issue Sep 15, 2020 · 7 comments · Fixed by #232

Comments

@blakecaldwell
Copy link
Member

blakecaldwell commented Sep 15, 2020

We have been internally discussing this WIP for a few months; time to put it up on github.

The hnn-core project is a more flexible way to run NEURON (Python) simulations than was originally coded in run.py. It allows users to create, modify, and read native Python objects representing the parameters, network construction, simulation settings, and simulation results. There has been significant effort put into documentation, testing, and best-practices as part of hnn-core.

Our plan is to remove certain sections of code in HNN and migrate them to hnn-core. This will begin with the code reading the parameter files, running the simulation, and saving spiking and dipole data. Then HNN will import the hnn_core module to read parameter files, running the simulation, saving dipoles, and saving spiking data. Lastly, code in HNN that has been replaced by code in hnn_core as part of this first step needs to be removed.

Code changes part of this integration will not change the GUI functionality. Ideally, the transition will be transparent.

Work remaining:

Things pushed to another PR:

@blakecaldwell
Copy link
Member Author

A large part of this is done in #232, but I will need some help to complete this. I do not plan on working on this after the end of the month. @jasmainak @rythorpe @ntolley feel free to take issues on this list. I will finish up #112 as indicated.

@jasmainak
Copy link
Collaborator

I am going to be somewhat busy until the mid of next month ... trying to resist touching code, but happy to review PRs!

@blakecaldwell
Copy link
Member Author

@jasmainak @stephanie-r-jones I have done as much as possible for this in PR #232. The items on the checklist relate to functionality missing from hnn-core. Once they are added, minor changes will be needed in #232 to complete integration.

Two aspects may take significant time and probably should begin ASAP:

  • Somatic current/voltage recording in hnn-core (hnn-core #181)
  • Making make sure that the hnn-core simulations are giving the same or comparable results to old HNN simulations. Significant progress has already been made in checking dipole results in hnn-core. Multiple trials need to be validated (hnn-core #113) Checking the other forms of model output can also be done in hnn-core.

@blakecaldwell
Copy link
Member Author

blakecaldwell commented Nov 20, 2020

@rythorpe what do you think about result comparisons between hnn-core and HNN? Do the model results need to be checked for consistency?

@blakecaldwell
Copy link
Member Author

Thanks for the work on somatic voltages @ntolley! I'll integrate that into #232 and check off some of my todo's there.

It looks like jonescompneurolab/hnn-core#183 is almost ready. Thanks @kohl-carmen!

Certifying hnn-core results as the new standard for HNN might be the most time-consuming task remaining. I defer to @rythorpe for a strategy for that.

@rythorpe
Copy link
Contributor

@rythorpe what do you think about result comparisons between hnn-core and HNN? Do the model results need to be checked for consistency?

Comparing the seeding behavior between hnn-gui and hnn-core is turning out to be a bit more complicated than I expected. As I mentioned here, the discrepancy is hard for me to diagnose particularly when it comes to adding rhythmic inputs. I'll try to give an update this weekend.

@blakecaldwell
Copy link
Member Author

blakecaldwell commented Mar 21, 2021

While #232 is merged, this issue can remain open. Besides testing and fixing any new bugs, there is one issue in hnn-core that seriously affects the stability of parallel simulations. So a resolution to jonescompneurolab/hnn-core#285 is another prerequisite to making this a release

@blakecaldwell blakecaldwell reopened this Mar 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants