Email updates

Keep up to date with the latest news and content from BMC Neuroscience and BioMed Central.

This article is part of the supplement: Eighteenth Annual Computational Neuroscience Meeting: CNS*2009

Open Access Oral presentation

Caring for the environment: the blooming "Python in Neuroscience" ecosystem

Eilif Muller1* and Andrew P Davison2

Author Affiliations

1 Laboratory for Computational Neuroscience, Ecole Polytechnique Fédérale de Lausanne, Switzerland

2 Unité de Neurosciences Intégratives et Computationnelles, CNRS, Gif-sur-Yvette, France

For all author emails, please log on.

BMC Neuroscience 2009, 10(Suppl 1):S5  doi:10.1186/1471-2202-10-S1-S5


The electronic version of this article is the complete one and can be found online at: http://www.biomedcentral.com/1471-2202/10/S1/S5


Published:29 September 2009

© 2009 Muller and Davison; licensee BioMed Central Ltd.

Oral presentation

Recent years have seen a bloom in adoption of the Python environment in Neuroscience [1]. Widely used simulators, such as NEURON and NEST, have recently deprecated legacy programming interfaces in favor of modern yet mature Python equivalents [2,3] as complex work-flows flourish in the modern, expressive and intuitive Python language with its thriving ecosystem of both Neuroscience specific and general-purpose modules.

This shift to a standard general-purpose interpretive language, widely used outside of Neuroscience, has engulfed the simulator development community relatively rapidly and without central coordination. A plausible explanation is that the field was in critical need of the solutions Python offers. Python allows simulation developers to outsource interpreter development to the computer science community, while unifying simulation with analysis work-flows traditionally performed in MATLAB. Python has powerful parallel computing features without restrictive licensing costs and opens new possibilities to implement the on-going interoperability needs of the field [4]. Specifically, it has made PyNN possible, a shared API between NEURON, NEST, PCSIM and Brian with support for MOOSE/Genesis 3 and NeuroML export in development [5].

PyNN facilitates the development of conceptually satisfying and productivity boosting higher level modeling concepts in a simulator-agnostic way while still allowing simulator-specific optimization, with an elegant side effect: The software investments required for making use of exotic neuron solvers such as the FACETS VLSI neuromorphic hardware http://www.facets-project.org webcite are minimized, as all state-of-the-art work-flow infrastructure is available once basic API compliance is implemented. Porting existing models implemented using the PyNN API to such platforms becomes trivial and verification is straightforward in comparison to results obtained using NEURON or NEST.

For students, Python is an attractive alternative to the traditionally domain-specific languages of the field, as competence thereof represents a widely recognized practical and employable skill. As such, long running courses like the Advanced Course in Computational Neuroscience http://www.neuroinf.org/courses/EUCOURSE/F09 webcite have started to feature Python as an important part of their curriculum.

Acknowledgments

This work was supported in part by the Swiss NSF and by the EU under the grant IST-2005-15879 (FACETS).

References

  1. Koetter R, Bednar J, Davison AP, Diesmann M, Gewaltig M-O, Hines M, Muller E, (Eds): Python in Neuroscience. [http://www.frontiersin.org/neuroinformatics/specialtopics/8] webcite

    Front Neuroinform 2009. OpenURL

  2. Hines M, Davison AP, Muller E: NEURON and Python.

    Front Neuroinform 2009, 3:1. Publisher Full Text OpenURL

  3. Eppler JM, Helias M, Muller E, Diesmann M, Gewaltig M-O: PyNEST: a convenient interface to the NEST simulator.

    Front Neuroinform 2009, 2:12. OpenURL

  4. Cannon R, Gewaltig M, Gleeson P, Bhalla U, Cornelis H, Hines M, Howell F, Muller E, Stiles J, Wils S, De Schutter E: Interoperability of neuroscience modeling software: current status and future directions.

    Neuroinformatics 2007, 5:127-138. PubMed Abstract | Publisher Full Text | PubMed Central Full Text OpenURL

  5. Davison AP, Brüderle D, Eppler J, Kremkow J, Muller E, Pecevski D, Perrinet L, Yger P: PyNN: a common interface for neuronal network simulators.

    Front Neuroinform 2008, 2:11. Publisher Full Text OpenURL