GSoC 2020 project idea 22: Unit tests for brains

Unit tests are ubiquitous in software development (Google alone has 4.7 million running all the time!), but surprisingly sparse in science. The SciUnit ( framework was developed to help researchers create unit tests for scientific models. SciUnit tests ask how well a scientific model does what it claims to do, by testing its predictions against specific experimental results. Performance on these tests is thus one measure of whether the model is a good (or at least useful) description of reality. SciUnit is being used in large projects in neuroscience, including in the Human Brain Project and OpenWorm, as well as in individual labs.

Aims: These unit tests can be used not only to assess developed models, but also to guide model development, including the tuning of model parameters to reproduce experimental data. Several challenges arise in multi-objective optimization of models against data, including parallelization, visualization, and reproducibility. We aim to solve some of these challenges in the optimization of models of neurons and neural circuits. In particular, we want to refine and deploy reproducible optimization workflows for models against diverse sets of neurophysiology data, and then share and compare these optimized models for subsequent use in larger research questions.

Mentor: Rick Gerkin (

Institution: ICON Lab, Arizona State University, USA

Knowledge: Python, Git, Jupyter, Numpy

1 Like

I am Shekhar, a sophomore at IIIT Delhi pursuing B.Tech in Computer Science and Biosciences program. I am interested in this project and would like to contribute to it. @rgerkin I am looking for a good starting point so that I can improve my understanding of this project.

The best entry point is currently at (or This will tell you about the project goals. If you click on the links under core technologies it will help you understand the different components. For example, describes the SciUnit python package, and gives links to the GitHub repository and to some basic tutorials that you can run (if you don’t have your own Python enviroment you can use the “Binder” link on the Github page).

The neuroscience-specific components are downstream of SciUnit, for example NeuronUnit (also described and with similar links at Currently NeuronUnit is focused on testing single neuron models but we are looking to expand into network models, in concert with the developers of NetworkUnit (which is also based on SciUnit).

You can also learn more about what my lab is interested in generally at

1 Like

I will surely look into the resources and get started.

I’m definitely interested. I’m an incoming PhD student at the University of Toronto this Fall in Medical Sciences. I’ll be performing computational neuroscience research under John Griffiths as part of the Collaborative Program in Neuroscience (CPIN).

My GitHub is here
and my personal website is here

This is Sanjiban Sengupta, sophomore in Computer Engineering from IIIT Bhubaneswar, India, would like to contribute to INCF for GSoC’20, I have practical and working knowledge of C, C++, Python and Java, for web, I am familiar with HTML, CSS, JS, Bootstrap and frameworks such as ReactJS and NodeJS, also i am acquainted with concepts of ML and AI, Linux Kernel and know the technicalities to apply these to solve modern real life problems.

On going through the project proposals, I found the project Unit tests for brains interesting to work upon and contribute and thus will be thankful for your kind guidance.

Thus I request the mentors to kindly guide me for the beginning processes.