Software tools for simulation
The Brian simulator is a simulator for biological spiking neural networks. It was originally created by Dan Goodman and Romain Brette in 2007. I became involved around 2014, when we decided to rewrite the simulator (as brian2) around the concept of code generation, which is the basis for many of the related projects listed below. Simulations can now be executed via OpenMP-accelerated C++ code, or on GPUs via CUDA code. I have been leading Brian's development in recent years.
The brian2tools package offers several useful tools to work with the Brian simulator, in particular for visualization and import/export from/to other model description formats. Several Google Summer of Code students worked on features of this package: Snigdha Dagar and Dominik Krzemiński worked on early versions of the "export to NeuroML" functionality, Kapil Kumar worked on the corresponding import functionality, and Vigneswaran C refactored the underlying code base and extend it to support "human-readable model descriptions" as an export format.
The brian2modelfitting package allows users to take a Brian description of a neuron model, and fit it against experimental data using a variety of algorithms. The initial version of this package was written by Aleksandra Teska during a GSoC internship, and Ante Lojic Kapetanovic extended it to also support simulation-based inference via the sbi package.
Brian2GeNN makes Brian's code generation mechanism create code for the GeNN simulator, developed at the University of Sussex by Thomas Nowotny an colleagues. The GeNN simulator will then generate efficient CUDA code to run the simulations on a GPU, potentially leading to order-of-magnitude speed-ups.
Brian2CUDA is the most recent addition to this list. It provides an alternative to Brian's C++ code generation mechanism, and instead generates CUDA code to run simulations on GPUs. It is able to create highly efficient code and supports all features of Brian's C++ standalone mode. Its development has been led by Denis Alevi and Moritz Augustin at the TU Berlin.
Software tools for electrophysiology
In addition to the tools listed above, I have also contributed to tools for electryphysiology developed by other members of the lab, in particular:
- Spyking Circus, a tool for semi-automati spike sorting on large-scale, extra-cellular recordings, developed by Pierre Yger.
- Holypipette, a tool for controlling electrophysiological (patch clamp) recordings, developed by Romain Brette.
Open source contributions
I also maintain a few packages for conda-forge.