News (old posts, page 3)

New Brian paper: Equation-oriented specification of neural models for simulations

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.

Abstract below:

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.

Brian tutorial at CNS 2013

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.

New book on IPython

Cyrille Rossant, one of the developers of Brian, has written a new book “Learning IPython for Interactive Computing and Data Visualization“. Recently, IPython has really become an excellent tool for scientific computation, growing far beyond its roots as an enhanced interactive shell for Python. It now supports the IPython notebook (which lets you mix text, mathematics, code and results, like in Mathematica notebooks), and a parallel computing engine to use multiple cores or machines. Unfortunately, the online documentation is not as easy to follow as it could be, which is where Cyrille’s book comes in handy.

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.

About the new website

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!

The Brian Twister

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)
For example, this short script simulates a synfire chain (Diesmann et al., 1999):

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):

Good luck!

New paper on Brian Hears

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.

New paper on Playdoh

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.

Brian users might find the package (available here) and the paper (preprint) interesting.