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.
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
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.
… 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?
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!
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?
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.
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.
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.
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.