Skip to main content

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

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 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 have started to feature Python as an important part of their curriculum.

References

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

  2. Hines M, Davison AP, Muller E: NEURON and Python. Front Neuroinform. 2009, 3: 1-10.3389/neuro.11.001.2009.

    Article  PubMed Central  PubMed  Google Scholar 

  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.

    PubMed Central  PubMed  Google Scholar 

  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. 10.1007/s12021-007-0004-5.

    Article  PubMed Central  PubMed  Google Scholar 

  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-10.3389/neuro.11.011.2008.

    Article  PubMed Central  PubMed  Google Scholar 

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eilif Muller.

Rights and permissions

Open Access This article is published under license to BioMed Central Ltd. This is an Open Access article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Muller, E., Davison, A.P. Caring for the environment: the blooming "Python in Neuroscience" ecosystem. BMC Neurosci 10 (Suppl 1), S5 (2009). https://doi.org/10.1186/1471-2202-10-S1-S5

Download citation

  • Published:

  • DOI: https://doi.org/10.1186/1471-2202-10-S1-S5

Keywords