Thursday, February 4, 2010

3rd INCF Congress of Neuroinformatics

The 3rd INCF Congress of Neuroinformatics will take place in Kobe, Japan, from 30th August - 1st September 2010.

I'm particularly looking forward to the keynotes from Upi Bhalla ("Multiscale models of the synapse: a self-modifying memory machine") and Colin Ingram ("Working in the clouds: creating an e-science collaborative environment for neurophysiology"), and to the workshop on model description languages.

Abstract submission (for posters and demos) is open until 21st April. Hopefully I'll be able to present our Django-based framework for neuroscience databases.

Sunday, January 10, 2010

NE.O welcomes The Brian Simulator

We here at Neural Ensemble are proud to offer Trac/Subversion hosting to yet another excellent open-source Neuroscience project, The Brian Simulator:

"Brian is a simulator for spiking neural networks available on almost all platforms. The motivation for this project is that a simulator should not only save the time of processors, but also the time of scientists.

Brian is easy to learn and use, highly flexible and easily extensible. The Brian package itself and simulations using it are all written in the Python programming language."

The new trac page for Brian can be found here. Please join us in welcoming The Brian Simulator to our community, and making their stay with us a pleasant and fruitful one.

Tuesday, November 3, 2009

Slides from FACETS CodeJam #3

The slides from most of the talks at the 3rd FACETS CodeJam workshop are now online.

The CodeJam workshops are focused on collaborative software development in neuroscience, particularly computational neuroscience, with mornings devoted to talks on recent developments and useful tools, and afternoons to code sprints.

This year we had the pleasure of listening to talks on speeding up Python using Cython, from Stefan Behnel, parallel processing on GPUs using PyOpenCL, from Andreas Klöckner, parallel processing with mpi4py from Eilif Muller, together with sessions on neuroscience data analysis using NeuroTools, OpenElectrophy and FIND, on reproducible research in computational neuroscience, on simulator technologies including NEST, NEURON, PCSIM, PyNN and MUSIC, and on neuromorphic hardware.

Notes on the code sprints will be posted later. Comments and some discussion of the talks can be found on FriendFeed.

Thursday, September 3, 2009

FACETS CodeJam #3 Registration deadline approaching

If you haven't yet registered for the 3rd Annual FACETS CodeJam, please visit
http://neuralensemble.org/codejam3 for more information on the meeting, and instructions for registering.

In short, The 3rd FACETS CodeJam will be held Oct 7-9, 2009 in Freiburg, Germany.
The FACETS CodeJam workshop is a FACETS sponsored meeting which is open to the public, and has established itself as a productive forum where various developers in the field of Neuroscience can get together, exchange ideas, plan future directions, and write code, with a hint of Python. It is the meeting where neuralensemble.org got started, and promises to be alot of fun again this year! Looking forward to meeting you there!

Wednesday, September 2, 2009

CodeNode - interactive online programming notebook

Just came across this today (via). CodeNode is a tool that lets you program interactively in your browser using Python or Sage, with an interface something like a Mathematica notebook. You can organize your code into multiple notebooks and folders.

I don't really see this as a replacement for an IDE, but it might be a very nice tool for collaborative code writing (e.g. during code sprints), for working when travelling and away from your main development machine, and for literate programming.

The nearest equivalent I can think of is Bespin, although I think that's just an online code editor, it doesn't let you run the code.

It might be nice to run a CodeNode instance at NeuralEnsemble, although it would probably be best on a separate server: I imagine you could quickly bring a server to its knees if you have many users at once, or large data sets. What do you think?


Tuesday, August 11, 2009

NE.O Job Listings

A "Jobs" tab has just been added to the neuralensemble.org navigation side-panel, listing jobs which may be of interest to the community. Kicking it off are two excellent opportunities for budding researchers in Europe or the US, with application deadlines soon! This is a listing for third-party job adverts, so please feel free to submit to admin@neuralensemble.org.

Tuesday, June 9, 2009

PyNN 0.5.0 released

PyNN 0.5.0 is available for download from NeuralEnsemble.org, the INCF Software Center or PyPI.

Changes

There have been rather few changes to the API in this version, which has focused rather on improving the simulator interfaces and on an internal code-reorganization which aims to make PyNN easier to test, maintain and extend.

Principal API changes:
  • Removed the 'string' connection methods from the Projection constructor.
  • The method argument now must be a Connector object, not a string.
  • Can now record synaptic conductances.
  • Can now access weights and delays of individual connections one-at-a-time within a Projection through Connection objects.
  • Added an interface for injecting arbitrary time-varying currents into cells.
  • Added get_v() and get_gsyn() methods to the Population class, enabling membrane potential and synaptic conductances to be read directly into memory,rather than saved to file.
    
Improvements to simulator back-ends:
  • Implemented an interface for the Brian simulator.
  • Re-implementated the interface to NEURON, to use the new functionality in v7.0.
  • Removed support for version 1 of NEST. The module for NEST v2 is now simply called pyNN.nest.
  • The PCSIM implementation is now more complete, and more compatible with the other back-ends.
  • Behind-the-scenes refactoring to implement the API in terms of a small number of low-level, simulator-specific operations. This reduces redundancy between simulator modules, and makes it easier to extend PyNN, since if new functionality uses the low-level operations, it only needs to be written once, not once for each simulator.
What is PyNN?

PyNN (pronounced 'pine' ) is a simulator-independent language for building neuronal network models. 

In other words, you can write the code for a model once, using the PyNN API and the Python programming language, and then run it without modification on any simulator that PyNN supports (currently NEURONNESTPCSIM and Brian).

The API has two parts, a low-level, procedural API (functions create()connect()set()record()record_v()), and a high-level, object-oriented API (classes Population and Projection, which have methods like set()record()setWeights(), etc.) 

The low-level API is good for small networks, and perhaps gives more flexibility. The high-level API is good for hiding the details and the book-keeping, allowing you to concentrate on the overall structure of your model.

The other thing that is required to write a model once and run it on multiple simulators is standard cell and synapse models. PyNN translates standard cell-model names and parameter names into simulator-specific names, e.g. standard model IF_curr_alpha is iaf_neuron in NEST and StandardIF in NEURON, while SpikeSourcePoisson is a poisson_generator in NEST and a NetStim in NEURON.

Even if you don't wish to run simulations on multiple simulators, you may benefit from writing your simulation code using PyNN's powerful, high-level interface. In this case, you can use any neuron or synapse model supported by your simulator, and are not restricted to the standard models.

PyNN is a work in progress, but is already being used for several large-scale simulation projects.

The code is released under the CeCILL licence.

For full details, see the users' guide and the API reference.