GSoC 2021 project idea 12.1: Open source, cross simulator, large scale cortical models in NeuroML and PyNN

An increasing number of studies are using large scale network models incorporating realistic connectivity to understand information processing in cortical structures. High performance computational resources are becoming more widely available to computational neuroscientists for this type of modelling and general purpose, well tested simulation environments such as NEURON and NEST are widely used. New, well annotated experimental data and detailed compartmental models are becoming available from the large scale brain initiatives. However, the majority of neuronal models which have been published over the past number of years are only available in simulator specific formats, illustrating a subset of features associated with the original studies.

This work will involve converting a number of published large scale network models into open, simulator independent formats such as NeuroML and PyNN and testing them across multiple simulator implementations. They will be made freely available to the community through the Open Source Brain repository ( for reuse, modification and extension.

Skills required: Python; XML; open source development; a background in computational/theoretical neuroscience and/or large scale modelling experience.


  1. Select a number of large scale cortical network models for the conversion & testing process (e.g. from ModelDB).

  2. Convert network structure and cell/synaptic properties to NeuroML and/or PyNN. Where appropriate use the simulator independent specification in LEMS to specify cell/synapse dynamics & to allow mapping to simulators. Implementing extensions to PyNN, NeuroML or other tools may be required.

  3. Make models available on the Open Source Brain repository, along with documentation and references.

Mentors: Padraig Gleeson @pgleeson (lead), Ankur Sinha @sanjayankur31

1 Like

Hi, Mohit here. I am a sophomore in Mathematics at IIT Kanpur in India. I would like to know more about the project and to work on it.

Previously I have been working with the Svoboda Lab on models of learning and plasticity. Specifically, I was initially interested in backpropagation like bio-plausible learning algorithms like Target Prop, Feedback Alignment, etc. Recently I have worked a lot on models that are more or less Hebbian in nature and work towards the dynamics of such systems.

I have experience in neuroscience through coursework(Neurobiology, Computational Cognitive Science) as well as through lab-related work. Let me know how I should approach this project and what all is required of off me.

My GitHub: m2kulkarni (Mohit Kulkarni) · GitHub

Tagging Mentors: @pgleeson and @sanjayankur31

1 Like

Hi Mohit,
Thanks for your interest. I’ll add more info shortly after INCF gets accepted as an official organisation, but it will be similar advice to last year, see here: GSoC 2020 project idea 10: Open source, cross simulator, large scale cortical models - #4 by pgleeson.


Advice for OSB GSoC 2021 applicants

Background reading

Read the Open Source Brain paper as well as the LEMS/NeuroML2 paper (have a look too at the libNeuroML, NeuroML v1 and PyNN papers).

Browse the OSB website, including help pages.

Have a good look at the outcomes of previous years’ OSB GSoC projects:

Joglekar et al. 2018

Mejias et al. 2016

del Molino et al. 2017


CA1 network

Thalamocortical column

Migliore et al. 2014, Olfactory Bulb 3D

Izhikevich model

Pinsky Rinzel CA3 model

Pospischil et al. 2008

Suggested activities prior to application

Sign up to GitHub if you’re not already there.

Create an OSB user account & link your GitHub account to it.

Have a look at some of the OSB projects (either on or those mentioned above), and try cloning the model and installing associated simulators locally.

Make a minor pull request to an existing OSB project on GitHub that you find interesting (e.g. small update to README/documentation).

Assemble a list of cortical models from ModelDB or from the literature to include with your application, which you think would be of benefit to the community if they were converted to NeuroML/PyNN.

If you find a project there particularly relevant, feel free to set up a personal GitHub repository for it and start adding code/documentation there.

Please share the draft of your application early to allow feedback before the application deadline!

Essential information to include in your application:

  1. The list of potential models to convert as discussed above
  2. Details on the course currently being followed and a link to the course webpage.
  3. What are your time commitments during the coding period? Please be specific about this, work/exam commitments etc. Are you planning any vacations this summer? How many classes are you taking this summer?
  4. How many hours per week will you be able to spend on this project?
  5. If you have any evidence of your coding abilities (e.g. contributions to open-source projects) and/or background in neuroscience, please let us know about it. Send links to specific public repositories showing commits by you.
  6. Details of any previous experience in computational modelling.


I am also interested in this project. I followed @pgleeson’s advice and tried to dig up some models that I think would be valuable to have implemented in an open source library. My criteria for choosing models were based on my (very limited) understanding of what the most pressing/interesting questions in the field are, namely:

  1. Is there something spike networks can do that rate networks can’t, or can but only at some cost in terms of efficiency or biological plausibility?
  2. Learning rules must be local because that’s how brains work.
  3. Backpropagation is surprisingly effective in artificial neural networks. Therefore, there’s value in investigating whether biological neural networks can approximate it.

I have some experience with 1 (I trained a LIF network using FORCE for my BSc thesis), but almost none with 2 & 3 outside of artificial neural nets.

In light of these criteria, I found the models in these two papers particularly interesting:

  1. In ‘Learning to represent signals spike by spike’ a spike network is trained using a local learning rule. The trained network reproduces biological dynamics (highly variable spike timing, efficiency) and succeeds at reconstructing an analog input signal.

  2. An Approximation of the Error Backpropagation Algorithm in a Predictive Coding Network with Local Hebbian Synaptic Plasticity’ is pretty self-explanatory - the authors do what they claim in the title.

I would really appreciate any pointers on where to go from here. Thanks in advance :slight_smile:

Hi @jay,
Thanks for your interest. That all looks good, and those are potentially quite interesting models to try to get expressed in NeuroML. One thing to bear in mind though that this should be more of an open source/coding project rather than a research project where new approaches need to be investigated/questions explored (that’s certainly good to do, but not as part of GSoC where there should be a defined end goal).
An ideal model to convert would be something published, well described, quite complex, but which can be expressed in NeuroML, and would benefit from being in a standardised format. Those might well fit the bill, but do bear this in mind.

The student application period closes next Tues, so anyone interested in applying for this project should create a draft proposal on the GSoC website ASAP, where specific feedback can be provided.

Please don’t leave applications until the last minute!