On July 26th 2014, we'll have a tutorial on "Modelling of spiking neural networks with Brian" at the CNS conference in Québec City. It will feature introductory sessions in the morning (no prior Brian knowledge necessary) and more advanced topics in the afternoon. Follow this link to find the preliminary schedule.
We have just had a new paper Equation-oriented specification of neural models for simulations published in the Python in Neuroscience II special edition of Frontiers in Neuroinformatics. In this paper we describe the new approach to neural model specification we're taking in Brian 2.
Simulating biological neuronal networks is a core method of research in computational neuroscience. A full specification of such a network model includes a description of the dynamics and state changes of neurons and synapses, as well as the synaptic connectivity patterns and the initial values of all parameters. A standard approach in neuronal modeling software is to build network models based on a library of pre-defined components and mechanisms; if a model component does not yet exist, it has to be defined in a special-purpose or general low-level language and potentially be compiled and linked with the simulator. Here we propose an alternative approach that allows flexible definition of models by writing textual descriptions based on mathematical notation. We demonstrate that this approach allows the definition of a wide range of models with minimal syntax. Furthermore, such explicit model descriptions allow the generation of executable code for various target languages and devices, since the description is not tied to an implementation. Finally, this approach also has advantages for readability and reproducibility, because the model description is fully explicit, and because it can be automatically parsed and transformed into formatted descriptions. The presented approach has been implemented in the Brian2 simulator.
On July 13th 2013, we'll have a tutorial on "Advanced modelling of spiking neural networks with Brian" at the CNS conference in Paris, covering various topics around the available Brian toolboxes, the ongoing Brian development and general handy tricks to cope with complex simulations. The tutorial will also feature an open questions sessions in the end where attendants can ask for help with individual problems they have in their current Brian project. Follow this link to find the schedule and material.
He covers everything from installation to advanced topics like high performance computing and customizing IPython, using clear, worked examples with publicly available datasets. In addition to IPython, he also briefly covers using important scientific computing Python packages such as NumPy, SciPy, Cython and Pandas.
And of course, for the next major release of Brian we're working on incorporating lots of support for the IPython workflow.
If you haven't yet tried IPython or if you've only just started using it, I'd highly recommend Cyrille's book (reasonably priced at around $15 for the ebook version). There's even plenty of stuff in there for more experiened users too.
The Brian website looks weird! It's not going to last! We have been hacked by some trojan (not the software, just the website) and we had to remove everything. The content is back, but all the settings have gone. It will take a little while to put everything back to the original configuration, please be patient!
Update: it's back to normal!
We are organizing a competition, the "Brian twister": write an example script for the Brian simulator and win a Brian mug! A winning entry:
- is short and self-consistent
- is easy to read
- does something cool (e.g. something related to a paper)
The goal of this competition is to extend the set of examples provided to Brian users. It is also an opportunity for you to advertise your papers. The examples will be included in the next Brian release.
Please send me your file with a short explanation before the end of this year (31 December 2011): firstname.lastname@example.org
We are doing an anonymous survey to improve the Brian simulator (http://briansimulator.org). If you are a Brian user, please consider taking 5 minutes to answer these questions:
No question is mandatory. Your feedback will be extremely helpful for us! It is also the opportunity for you to tell us what improvements you would like to see in Brian.
Thanks for you time
The following paper on Brian Hears was just accepted for publication:
Fontaine B, Goodman DFM, Benichoux V, Brette R (2011). Brian Hears: online auditory processing using vectorisation over channels. Frontiers in Neuroinformatics (in press) [preprint]
Abstract The human cochlea includes about 3000 inner hair cells which filter sounds at frequencies between 20 Hz and 20 kHz. This massively parallel frequency analysis is reflected in models of auditory processing, which are often based on banks of filters. However, existing implementations do not exploit this parallelism. Here we propose algorithms to simulate these models by vectorising computation over frequency channels, which are implemented in "Brian Hears", a library for the spiking neural network simulator package "Brian". This approach allows us to use high-level programming languages such as Python, because with vectorised operations, the computational cost of interpretation represents a small fraction of the total cost. This makes it possible to define and simulate complex models in a simple way, while all previous implementations were model-specific. In addition, we show that these algorithms can be naturally parallelised using graphics processing units, yielding substantial speed improvements. We demonstrate these algorithms with several state-of-the-art cochlear models, and show that they compare favorably with existing, less flexible, implementations.
The following paper has just been accepted for publication:
Rossant C, Fontaine B, Goodman DFM (2011). Playdoh: a lightweight Python package for distributed computing and optimisation. Journal of Computational Science (in press)
Abstract Parallel computing is now an essential paradigm for high performance scientific computing. Most existing hardware and software solutions are expensive or difficult to use. We developed Playdoh, a Python library for distributing computations across the free computing units available in a small network of multicore computers. Playdoh supports independent and loosely coupled parallel problems such as global optimisations, Monte Carlo simulations and numerical integration of partial differential equations. It is designed to be lightweight and easy to use and should be of interest to scientists wanting to turn their lab computers into a small cluster at no cost.
In a recent survey, Brian was voted the second most popular of 18 neural simulators, just after Neuron.