GSoC 2023 Project Idea 9.1 Multiscale brain circuit modeling using NetPyNE: model conversion and machine learning analysis (175/350 h)

NetPyNE is a high-level Python interface to NEURON that facilitates multiscale modeling of brain neural circuits. NEURON is the leading simulator in the domain of detailed neuron and neuronal networks, with over 30 years of funding, >600 models and >2100 citations. However, building and simulating data-driven large-scale networks in NEURON is technically challenging, requiring users to implement custom code for many of the modeling workflow tasks. Lack of standardization makes it difficult to understand, reproduce and reuse existing models and simulation results. NetPyNE addresses these issues. The core of NetPyNE consists of a standardized JSON-like declarative language that allows the user to define the model across scales: cell morphology and biophysics (including RxD), connectivity, inputs and stimulation, and simulation parameters. The NetPyNE API can then be used to automatically generate the corresponding NEURON network, run parallel simulations, optimize and explore network parameters, and visualize and analyze the results through a wide range of built-in functions.

This work will involve converting one or more published NEURON models (e.g. from ModelDB) into NetPyNE format and validating of simulation output. Additionally, the simulation results will be analyzed using state-of-the art machine learning methods (e.g. dimensionality reduction), which are being incorporated into NetPyNE. The converted NetPyNE models and analysis will be made freely available to the community through the Open Source Brain repository and ModelDB for reuse, modification and extension.

Aims:

  • Select a NEURON model to convert and analyze (e.g. from ModelDB).
  • Convert network structure and cell/synaptic properties to NetPyNE.
  • Validate simulation output against the original model results.
  • Apply machine learning methods to analyze simulation data.
  • Make models available on the Open Source Brain repository and/or ModelDB, along with documentation and references.

Skill level: TBD

Required skills: Python; open source software development. Other useful skills: background in computational/theoretical neuroscience and/or modeling experience; experience with NEURON/NMODL/hoc.

Time commitment: Flexible (175/350 h)

Lead mentor: Valery Bragin, Eugenio Urdapilleta, James Chen, Salvador Dura-Bernal

Project website: TBD

Backup mentors: TBD

Tech keywords: Python, open source, NEURON, NetPyNE

1 Like

Hello @arnab1896!

I am a second year undergrad computer engineering student in Universidade Tecnológica Federal do Paraná,
wanting to start working on open source projects and pretty interested in how
the brain works, in general. After seeing INCF on gsoc, and how it is related
with the neuroscience and research areas, I stayed pretty excited!

I am willing to take the challenge to help the project, to obtain more
knowledge about the brain, and, off course, to learn more about the open
source environment and culture.

Currently, I have some experience with Python.

Please, where can I start working on this idea?

Thanks, already!

Best,
Fábio.

First of all, nice to hear from you and thanks for your interest.

Apologies for the delay. The mentors will be in touch with more details such as resources and code bases/issues to look through and you can then ask them more questions based on your ideas

1 Like

Hello!

It’s very nice to meet you! The other mentors are more experienced with these aims, but I can provide some reference links.

The main documentation for netpyne is here, the code repository is here, and we have a forum.

— Continued.

2 Likes

… NetPyNE comes with some parameter optimization tools built-in which are demonstrated in the examples – (check repository within development/examples/). Open Source Brain can be found here. The main documentation for NEURON is here. There are quite many existing NEURON models on modeldb but the full list is very large so maybe a directed search would be better. For instance, if someone was curious about seizures, then this model might be an interesting one to simulate and then port. However, it is better to port a model for something that is of specific interest to what you wish to learn about.

Is there anything you are particularly interested in?

Thanks,

James Chen

2 Likes

Hello! Sorry for the late response.

Thank you for the references!

I am interested especially in memory consolidation, reinforcement learning, and memory forgetting.

I will look through the links you made available.

1 Like

Hello,

In terms of these topics, there are some models / publications that the lab has worked on that might be a good fit.

  1. “Encoding and retrieval in a model of the hippocampal CA1 microcircuit” Vassilis Cutsuridis, Stuart Cobb, Bruce P. Graham - https://onlinelibrary.wiley.com/doi/10.1002/hipo.20661

  2. Dura-Bernal S, Neymotin SA, Kerr CC, Sivagnanam S, Majumdar A, Francis JT, Lytton WW (2017) Evolutionary algorithm optimization of biological learning parameters in a biomimetic neuroprosthesis. IBM Journal of Research and Development (Comp. Neuro. special issue), 61:2/3. [PDF]

  3. Anwar H, Caby S, Dura-Bernal S, D’Onofrio D, Hasegan D, Deible M, Grunblatt S, Chadderdon GL, Kerr CC, Lakatos P, Lytton WW, Hazan H, Neymotin SA (2022) Training a spiking neuronal network model of visual-motor cortex to play a virtual racket-ball game using reinforcement learning. PLoS ONE (In Press) [PDF]

But: There’s also quite a lot of other possibilities for projects, so this list isn’t meant to be limiting!

1 Like

Hi @J_C
I am a second year undergrad Computer Science Student in Manipal Institute of Technology, India.
After looking through the project description and going through some of the links you mentioned before, I am quite interested in working on this project alongside you guys.
I am comfortable with Python and have worked with implementing neural networks and some other machine learning projects before.
My main question was what are some things I could explore prior to the proposal phase which could give me more of an insight into the specifics of the project and what might be expected of me?
Thanks,
Pulkit Madan

Thanks again for the links :slightly_smiling_face:. I have not found those models when I was searching, except for the second one.

I am getting the hang with NEURON for now.

Hello @arnab1896 and @J_C,

I am a third year Psychology student with a focus on Neuroscience at the University of Padua, Italy.
I will start my Neuroscience Master at Vrije Universiteit Amsterdam in September 2023.

I have some experience with Python, especially with the MNE library; I am currently working on a thesis project on online EEG data, looking at power spectral density differences between delta, theta and low-gamma frequencies during a listening task.

I am mainly interested in cortical oscillations (and their pharmacology-induced modulations) in neuropathology, specifically schizophrenia.
I have looked at related NEURON models ( such as this one looking at ketamine’s effects on theta-modulated gamma oscillations) and found them very insightful.

I was wondering whether I can get some guidance on this specific project, before I move on to the proposal phase.

Thank you very much for your attention!

Hello →

Currently, my impression (might have to wait to hear back from the senior mentors) is that how we reach project aims can be flexible based on interests. I’m not currently aware that we have very specific deliverables documented in full anywhere (or I missed where that pointer was).

If you are specifically interested in applied machine learning to computational neuroscience, we would probably tailor a project to focus on machine learning applied to parameter tuning/fitting.

My understanding of that specific subaim is this:
Different optimization tools have been developed for NetPyNE here and here but have not been heavily evaluated for robustness or efficiency in parameter tuning/fitting. Applying an existing optimization tool to a biological model would be one component of the project. These tools include PSO vs. EA or some of the more recently developed hyperparameter optimization toolkits (e.g. hyperopt / optuna ).

If this sounds interesting, we could come up with more concrete deliverables that focus on this topic (picking a model to develop/use in NetPyNE that is more interesting for aim 4 and does not require as much time to reach aims 1 through 3). However, the other mentors probably have input into other analysis projects that involve applied ML.

I think there is someone in the lab working on something very similar–I will talk to him later this week and get back to you.

1 Like

Also, in terms of exploring NetPyNE , NEURON and other computational neuroscience topics, osbrain has various tutorials. It might be worth it to peruse submissions from this user

1 Like

Thanks a lot, I appreciate it!

Hello, thanks for your interest. The topics you mention are a perfect fit for this project. We are actually working on looking at simulating EEG in our new auditory cortex model (https://www.biorxiv.org/content/10.1101/2022.02.03.479036v2) to reproduce some experimental data from Schizophrenia patients.

Also, the ketamine theta-gamma oscillations model you mention, was recently converted to NetPyNE and is ready to be used: netpyne/examples/CA3model_3pops at development · suny-downstate-medical-center/netpyne · GitHub

It would be great to work with you on the GSoC. Let us know if you have any other questions.

Thanks,
Salva

Hello @Salvador_Dura-Bernal , thank you very much for your answer.

I would love to write my proposal on the EEG simulation of your auditory cortex model in schizophrenia patients.
Would it maybe be possible to set up an online meeting to discuss deliverables and the specifics of my proposal?

Mainly, I would like to ask for a general description of the data collected on SCZ patients (or any link to the study) and what aspects of the simulated EEG you are looking to investigate/what our goals on NetPyNE are.
I am also looking for the specific topics to familiarize myself with for this project, before starting the actual work. For now, I am following the NetPyNE tutorial available on YouTube, any suggestion on what to otherwise focus on is highly appreciated.

On a side note, I couldn’t find the NEURON model for your auditory cortex model on modeldb; do you maybe have a link to it?

Thank you again for your help.
Irene

@irene22

1 Like

Hi @fabio-bays @styxx @irene22
If your are interested to proceed with this project, please make sure to submit your proposal onto GSoC. The deadline is 4th April, but GSoC organizers strongly recommend to submit as soon as possible (preferably by 2nd or 3rd April). Thank you, and have a good luck!

Best,
Valery

Hello @vbragin, thank you for your heads up! I was planning to submit a proposal which is why my last comment mentioned an online meeting to discuss deliverables and specifics of the proposal. However I never received a response, so I thought the project may have been picked up by someone else. I remain interested in proceeding with this project if discussing specifics is still an option. Thank you!

Best,
Irene

Hi @irene22 ,

Sorry for the missed response and the delay! I’ll be online over the weekend but I believe that a meeting can be arranged on Monday if you are available. Not familiar with the intricacies of the SCZ project, but I believe the reproduction would be of the phenomena of diminished ASSR power and phase locking to gamma range stimulation.

In the meantime I can be contacted through my Downstate email, which is james.chen@downstate.edu. I can then CC’ you to some of the other members of the lab or our message channel.

Thanks,

James