The joy of teaching a computational neuroscience tutorial without having to compile NEURON
By Matteo Cantarelli
George E. P. Box, a British academic statistician, fellow of the Royal Society, is known for his seminal contributions in the areas of quality control, time-series analysis and design of experiments. It is to Box that we owe one of the most popular quotes that pop up during half of the computational neuroscience talks and presentations. Usually offered as a precautionary apology dressed as a pearl of wisdom, "All models are wrong, but some are useful" has a bittersweet taste for those modellers who are secretly hoping, one day, to come up with a model which is useful and yet correct, something they will never admit to. When students encounter the concept for the first time they feel pervaded by a glimpse of hope as they realise that nobody has figured the brain out, leave alone an exact computational model capable of predicting at the scale of the organ the entirety of the reactions that take place inside it, from the molecular level all the way up through synaptic, cellular and network activity. Their hopes and dreams are however crushed when they realise an important detail is not captured by the famous quote: "All models are wrong, but some are useful" - and to use them you need to manage to compile NEURON first.
Primarily developed by Michael Hines - he started in the 1980s in the lab of John W. Moore at Duke before moving to Yale - the NEURON simulator is a cornerstone of computational neuroscience. The algorithm underlying much of NEURON's computational efficiency in dealing with models of cells with complex branched architecture was authored by Hines and published in 1984 with the title "Efficient computation of branched nerve equations".
With three different platforms - Linux, Windows and MacOS - to support and an ever evolving number of updates and versions to maintain (wait until iOS and MacOS will merge or until Windows 15 will reinvent itself) keeping the installation of NEURON streamlined over the years has been a job in and of itself and countless precious research hours have been devoted by the incredibly supportive contributors and prospective users to this end. As a result of this, thanks to the hard work of the maintainers, the installation process has improved a lot in recent times and compiling from scratch is less and less necessary. The situation however is always particularly daunting during tutorials when twenty to thirty graduate students are required at once - often without any computer science background - to get the world famous simulator installed so that they can inject their first virtual current in their first virtual soma. While modern tools like containers can mitigate the pain to a point - ever had to install Docker inside a Virtual Box to get it to work on a Windows machine? - we haven't yet escaped the traditional paradigm of having to install a complex toolchain on our system before attempting to do some science. Or have we?
It was just above 32°C (~90°F for the ones who were taught to count in Fahrenheit) at the Universitat de Barcelona when Salvador Dura-Bernal started the afternoon session on a tutorial called “Building biophysically detailed neuronal models: from molecules to networks” on the first day of the OCNS conference.
The first "CNS Meeting" - everyone drops the O which stands for Organisation - was organised by Jim Bower and John Miller in San Francisco in 1992. In the early 1990s, the CNS meeting received about 100 submissions per year. By 1997 the number was over 200, and in 2009 it included more than 650 submissions. The meeting is a yearly religious meet-up for all computational neuroscientists and aspiring students in the field who come from all over the world to learn and to share their recent findings. The rest of it is drinks at the banquet, drinks at the poster sessions and awkward dance moves at the CNS party that only academics can execute with such enviable innocence.
The first part of the tutorial in the morning was spearheaded by Robert McDougal with a Jupyter notebook powered Python NEURON installation to get through the basics, followed by a crash course on the philosophy of modelling by William Lytton. William, known as Bill, recently became a celebrity in the field after surviving a great white shark attack off the coast of Cape Cod. After punching the shark in the gills - he learnt about the strategy in a life-saving documentary - he managed to swim back to shore driven by the adrenaline released by the encounter. Prof. Lytton, with an unaffected sense of humour as he recounts the story over dinner, told us how his kids brought him a teddy bear while he was recovering at the Tufts Medical Centre in Boston, leaving him wondering whether they would have brought him a shark plush had he been attacked by a bear.
The afternoon session focused on using NetPyNE, a Python package built on top of NEURON to make it easy to create rule based large scale models. Originally from the Canary Islands, Salvador is a researcher at the State University of New York and has developed NetPyNE motivated by the requirements to build a computational model of the motor cortex. After introducing the audience to the main concepts underlying the tool - cell rules, populations and connectivity rules, inputs and outputs - Salvador instructed the group of twenty to open their browser and navigate to the NetPyNE website to start using it. Visiting the URL resulted in a web application being loaded in the browser and within 30 seconds everyone had the software - which uses NEURON under the hoods to crunch the numbers - available on their screen. The tutorial sailed smoothly for about three hours and let everyone present in the room create and simulate models of increasing complexity, peaking with a multi-scale exercise in which changing the molecular concentration of IP3 resulted in different firing rates at the network level.
The web interface of NetPyNE, developed in collaboration with MetaCell, lets the users create biophysically detailed network models and simulate them without ever leaving their browser and without ever pasting installation errors into Google. Relying on a Kubernetes deployment capable of auto-scaling by spawning a new pod - and a new Python kernel - for every user, NetPyNE is also particularly robust as a crash of any of the kernels does not affect the other users. The tool is still under development with many features to be added in the near future but its appeal and potential are clearly tangible. In a similar fashion, Open Source Brain, an online repository with a focus towards collaborative development and standardisation, lets its users visualise and simulate computational models from the web browser. The models in this case are defined using NeuroML, a standard in the field capable of representing networks, cells and channel dynamics independently from their execution environment. The default option to run the simulations is once again NEURON, available either through the Neuroscience Gateway based in San Diego or from the Open Source Brain remote servers. From the online portal, developed at the laboratory of Prof. Angus Silver at University College London and funded by the Wellcome Trust, students can today access guided tutorials to learn the foundations of conductance based models via a graphical user interface.
While it’s still early days for these online resources they show us that there is indeed hope at the end of the tunnel. For one day graduate students and researchers will be able to focus on the science and forget about the joy of local compilation and scouring the Internet to find the answer to the riddle guarding the registration page of the NEURON forum. The answer, by the way, is voltage clamp.