Sunday, March 10, 2013
Research Topic: "Python in Neuroscience II"
co-hosted by Frontiers in Neuroinformatics
and Frontiers in Brain Imaging Methods
Andrew P. Davison, CNRS, France
Markus Diesmann, Research Center Juelich, Germany
Marc-Oliver Gewaltig, Ecole Polytechnique Federale de Lausanne, Switzerland
Satrajit S. Ghosh, Massachusetts Institute of Technology, USA
Fernando Perez, University of California at Berkeley, USA
Eilif B. Muller, Blue Brain Project, EPFL, Switzerland
James A. Bednar, The University of Edinburgh, United Kingdom
Bertrand Thirion, Institut National de Recherche en informatique et automatique, France
Yaroslav O. Halchenko, Dartmouth College, USA
Abstract/outline submission deadline: April 7th, 2013.
Invitations for full paper submissions sent by April 21st, 2013.
Invited full paper submission deadline: July 15, 2013.
Research Topic Abstract
Frontiers in Neuroinformatics hosted the research topic “Python in Neuroscience” in 2008-2009, documenting the first wave of mature
tools to propel Python into common use in the field. This widespread
convergence on Python as the systems integration language of choice in
neuroscience has brought with it exciting new possibilities for
cross-fertilization, collaboration, and interdisciplinary interaction.
The Python ecosystem remains vibrant and inventive, and continues to
produce cutting edge tools for neuroscience research. With this second
research topic on “Python in Neuroscience” we seek to showcase the most
exciting developments since 2009 that include, but are not limited to,
the following themes:
- interactive simulation and visualization
- workflows and automation
- brain-machine interfaces
- advances in neuroimaging analysis methods
- sharing, re-use, storage and databasing of models and data
- data analysis libraries and frameworks
- brain atlasing, ontologies, semantic web
- model description and abstraction languages
We invite contributions that promote innovative use of Python for
scientific work from any branch of neuroscience.
This research topic is dedicated to the memory of Prof. Dr. Rolf
Koetter, visionary, colleague and friend.
Researchers and practitioners are invited to submit on or before April
7th, 2013 a max. 1 page abstract/outline of work related to the focus
of the research topic to email@example.com for
consideration for inclusion as an elaborated full article in the
Please include a provisional title, a full author list, and format the
subject of your email as follows: "[python RT] outline - Your Name".
Authors will be notified whether their contribution has been accepted
by April 21st, 2013.
Full Article Information
* Full articles will be solicited based on the abstracts/outlines we
receive by April 7th, 2013.
* The deadline for submission of full articles will be July 15, 2013.
* Manuscripts should be clearly different from user manuals or web
pages. Rather they should focus on the underlying concepts and
innovations in architecture, algorithms, data-structures, workflows,
* The research topic is co-hosted by Frontiers in Neuroinformatics and
Frontiers in Brain Imaging Methods. Authors choose the journal which
is named when citing their article (Front. Neuroinformatics or Front.
Brain Imaging Methods) by submitting the full article to the
respective journal. All research topic articles will be listed in
the research topic page appearing in both journals.
* Article formatting will be as for standard Frontiers "Original
Research", “Methods” or “Review” articles. Guidelines and instructions
for their preparation can be found here.
* Frontiers in Neuroinformatics and Frontiers in Brain Imaging Methods
are open access journals, following a pay-for-publication model.
Research Topic articles enjoy a generous discount, thanks to the
support of the Frontiers Research Foundation. Details of the
publication fees can be found here.
* Further details will be provided to authors of accepted abstracts by
April 21st, 2013.
The following authors have been contacted in the preparation phase of
the research topic and have confirmed they would submit a manuscript.
Article titles and author lists are preliminary.
Henrik Lindén*, Espen Hagen*, Szymon Leski, Eivind S. Norheim, Klas H.
Pettersen, Gaute T. Einevoll (*equal contribution), "LFPy: A tool for
simulation of extracellular potentials with biophysically detailed
VK Jirsa, AR McIntosh, et al., "Integrating neuroinformatics tools in
Andrew P. Davison, Eilif Muller, Jochen M. Eppler and Mikael Djurfeldt,
"Multisimulations in PyNN: Integrating PyNN and MUSIC".
Robert Pröpper and Klaus Obermayer, "Spyke Viewer: a flexible and
extensible electrophysiological data analysis platform".
Michael Hull and David Willshaw, "morphforge: an object-model for
simulating small networks of biologically detailed neurons in python".
Alexandre Abraham, Fabian Pedregosa, Andreas Muller, Jean Kossaifi,
Alexandre Gramfort, Bertrand Thirion, Gaël Varoquaux, “Statistical
learning for Neuroimaging with scikit-learn”.
A. Gramfort, M. Luessi, E. Larson, D. Engemann, D. Strohmeier, C.
Brodbeck, M. Hamalainen, “MNE-Python: MEG and EEG data analysis with
Thomas Vincent, Solveig Badillo, Lotfi Chaari, Christine Bakhous,
Florence Forbes, Philippe Ciuciu, "Flexible multivariate hemodynamics fMRI
data analyses and simulations with PyHRF"
Wiecki, Thomas V. and Sofer, Imri and Frank, Michael J. "HDDM:
Hierarchical Bayesian estimation of the Drift-Diffusion Model in Python”.
M. Djurfeldt, A.P. Davison, J.M. Eppler: "Modeling connectivity: Connection-set Algebra in NEST and PyNN"
Friday, February 22, 2013
We would like to announce the release of version 0.5.0 of Sumatra, a tool for automated tracking of simulations and computational analyses so as to be able to easily replicate them at a later date.
Interfaces to documentation systems
The big addition to Sumatra in this version is a set of tools to include figures and other results generated by Sumatra-tracked computations in documents, with links to full provenance information: i.e. the full details of the code, input data and computational environment used to generate the figure/result.
The following tools are available:
- for reStructuredText/Sphinx: an “smtlink” role and “smtimage” directive.
- for LaTeX, a “sumatra” package, which provides the “\smtincludegraphics” command.
see Reproducible publications: including and linking to provenance information in documents for more details.
Sumatra 0.5 development has mostly been devoted to polishing. There were a bunch of small improvements, with contributions from several new contributors. The Bitbucket pull request workflow seemed to work well for this. The main changes are:
- working directory now captured (as a parameter of LaunchMode);
- data differences are now based on content, not name, i.e. henceforth two files with identical content but different names (e.g. because the name contains a timestamp) will evaluate as being the same;
- improved error messages when a required version control wrapper is not installed;
- dependencies now capture the source from which the version was obtained (e.g. repository url);
- YAML-format parameter files are now supported (thanks to Tristan Webb);
- added "upstream" attribute to the Repository class, which may contain the URL of the repository from which your local repository was cloned;
- added MirroredFileSystemDataStore, which supports the case where files exist both on the local filesystem and on some web server (e.g. DropBox);
- the name/e-mail of the user who launched the computation is now captured (first trying ~/.smtrc, then the version control system);
- there is now a choice of methods for auto-generating labels when they are not supplied by the user: timestamp-based (the default and previously the only option) and uuid-based. Use the "-g" option to smt configure;
- you can also specify the timestamp format to use (thanks to Yoav Ram);
- improved API reference documentation.
A handful of bugs have been fixed.
Download, support and documentation
The easiest way to get the latest version of Sumatra is
$ pip install sumatra
Alternatively, Sumatra 0.5.0 may be downloaded from PyPI or from the INCF Software Center. Support is available from the sumatra-users Google Group. Full documentation is available on pythonhosted.org.
Thursday, January 31, 2013
a Summer School by the G-Node and the Physik-Institut, University of Zurich
Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists actually use them. As a result, instead
of doing their research, they spend far too much time writing
deficient code and reinventing the wheel. In this course we will
present a selection of advanced programming techniques,
incorporating theoretical lectures and practical exercises tailored
to the needs of a programming scientist. New skills will be tested
in a real programming project: we will team up to develop an
entertaining scientific computer game.
We use the Python programming language for the entire course. Python
works as a simple programming language for beginners, but more
importantly, it also works great in scientific simulations and data
analysis. We show how clean language design, ease of extensibility,
and the great wealth of open source libraries for scientific
computing and data visualization are driving Python to become a
standard tool for the programming scientist.
This school is targeted at Master or PhD students and Post-docs from
all areas of science. Competence in Python or in another language
such as Java, C/C++, MATLAB, or Mathematica is absolutely required.
Basic knowledge of Python is assumed. Participants without any prior
experience with Python should work through the proposed introductory
materials before the course.
Date and Location
September 1—6, 2013. Zürich, Switzerland.
Day 0 (Sun Sept 1) — Best Programming Practices
- Best Practices, Development Methodologies and the Zen of Python
- Version control with git
- Object-oriented programming & design patterns
Day 1 (Mon Sept 2) — Software Carpentry
- Test-driven development, unit testing & quality assurance
- Debugging, profiling and benchmarking techniques
- Best practices in data visualization
- Programming in teams
Day 2 (Tue Sept 3) — Scientific Tools for Python
- Advanced NumPy
- The Quest for Speed (intro): Interfacing to C with Cython
- Advanced Python I: idioms, useful built-in data structures, generators
Day 3 (Wed Sept 4) — The Quest for Speed
- Writing parallel applications in Python
- Programming project
Day 4 (Thu Sept 5) — Efficient Memory Management
- When parallelization does not help:
the starving CPUs problem
- Advanced Python II: decorators and context managers
- Programming project
Day 5 (Fri Sept 6) — Practical Software Development
- Programming project
- The Pelita Tournament
Every evening we will have the tutors' consultation hour : Tutors will
answer your questions and give suggestions for your own projects.
You can apply on-line at http://python.g-node.org
Applications must be submitted before 23:59 CEST, May 1, 2013.
Notifications of acceptance will be sent by June 1, 2013.
No fee is charged but participants should take care of travel,
living, and accommodation expenses. Candidates will be selected on
the basis of their profile. Places are limited: acceptance rate is
usually around 20%. Prerequisites: You are supposed to know the
basics of Python to participate in the lectures. You are encouraged
to go through the introductory material available on the website.
- Francesc Alted, Continuum Analytics Inc., USA
- Pietro Berkes, Enthought Inc., UK
- Valentin Haenel, freelance developer and consultant, Berlin, Germany
- Zbigniew Jędrzejewski-Szmek, Krasnow Institute,
George Mason University, USA
- Eilif Muller, Blue Brain Project, École Polytechnique Fédérale de
- Emanuele Olivetti, NeuroInformatics Laboratory, Fondazione Bruno
Kessler and University of Trento, Italy
- Rike-Benjamin Schuppner, Technologit GbR, Germany
- Bartosz Teleńczuk, Unité de Neurosciences Information et Complexité,
- Stéfan van der Walt, Applied Mathematics, Stellenbosch University,
- Bastian Venthur, Berlin Institute of Technology and Bernstein Focus
- Niko Wilbert, TNG Technology Consulting GmbH, Germany
- Tiziano Zito, Institute for Theoretical Biology, Humboldt-Universität
zu Berlin, Germany
Organized by Nicola Chiapolini and colleagues of the Physik-Institut,
University of Zurich, and by Zbigniew Jędrzejewski-Szmek and Tiziano Zito for
the German Neuroinformatics Node of the INCF.
Wednesday, November 28, 2012
Spyke Viewer is based on Neo and supports more than a dozen data formats. It includes functionality for loading, saving, navigating and filtering Neo object hierarchies and performing operations on selected data. Spyke Viewer uses the most recent version of Neo (0.2.1) which was released last week and includes a number of bug fixes and improvements.
An integrated Python console allows for interactive exploration of the data. Various plugins for common neuroscientific plots (e.g. raster plot, PSTH, correlogram) are included. Creating or modifying analysis plugins is a very simple process. Using the integrated editor and command history, useful plugins can be created in minutes. For data formats not supported by Neo, IO extensions can be implemented.
Documentation and installation instructions:
Thursday, October 18, 2012
We would like to announce the release of version 0.4.0 of Sumatra, a tool for automated tracking of simulations and computational analyses so as to be able to easily replicate them at a later date.
The biggest change in Sumatra 0.4 is the redesign of the browser-based interface, launched with smtweb. Thanks to the Google Summer of Code program, Dmitry Samarkanov was able to spend his summer working on improving Sumatra, with the results being a much improved web interface, better support for running Sumatra on Windows, and better support for running Matlab scripts with Sumatra. Many thanks to Google and to the INCF as mentoring organisation. In addition to Dmitry's improvements, handling of input and output data files is much improved, and Sumatra now captures and stores standard output (stdout) and standard error (stderr) streams. More details on all of these, plus a bunch of minor improvements and bug fixes, is given below. Finally, Sumatra no longer supports Python 2.5 - the minimum requirement is Python 2.6.
The Sumatra browser-based interface runs a local webserver on your computer, and allows you to browse the information that Sumatra captures about your analyses, simulations or other computations, including code versions, input and output data files, parameter/configuration files, the operating system and processor architecture.
The interface has been completely redesigned for Sumatra 0.4, and includes dozens of large and small improvements, including:
- a more modern, attractive design
- the ability to select which columns to display in the record list view
- the ability to search all of your records based on date, tags or full-text
- side-by-side comparison of records
- sorting of records based on any column
- selection of multiple records by clicking or dragging for deletion, comparison and tagging
Furthermore, it is now possible to launch computations from the browser interface.
For more information, see Using the web interface.
Data file handling
In earlier versions of Sumatra, the filename (or rather, the file path relative to a user-defined root) was used as the identifier for input and output data files. The problem with this, of course, is that it is possible to overwrite a given file with new data. For this reason, Sumatra 0.4 now calculates and stores the SHA1 hash of the file contents. If the file contents change, the hash will also change, so that Sumatra can alert you if a file is accidentally overwritten, for example.
Sumatra 0.4 also adds a new data store which automatically archives a copy of the output data from your computations in a user-selected location. This data store is accessible through the API as the ArchivingFileSystemDataStore class, or through the smt command-line interface with the "archive" option to the "init" and "configure" commands.
Finally, Sumatra now allows the user the choice of whether to use an absolute or relative path for the data store root directory. Using a relative path makes projects easier to move and easier to access from other locations (e.g. with symbolic links or NFS).
Sumatra can capture certain information for any command-line tool: input and output data, version of the main codebase, operating system and processor architecture, etc. For dependency information, however (i.e. which libraries, modules or packages are imported/included by your main script), a separate plugin is required for each language. Sumatra already has a dependency tracking plugin for Python and for two computational neuroscience simulation environments, NEURON and GENESIS. Sumatra 0.4 adds dependency tracking for Matlab scripts.
Recording of stdout and stderr
Sumatra 0.4 now supports recording and storage of the standard output and standard error streams from your scripts.
Other new features
- added support for JSON-format parameter files;
- added smt export command, which allows the contents of a Sumatra record store to be exported in JSON format;
- more information is now printed by smt list --long;
- the Python dependency finder now supports scripts run with Python 3 (although Sumatra itself still needs Python 2);
- can now specify HttpRecordStore username and password as part of the URL passed to smt init;
- added support for markup using reStructuredText in the project description
- it is no longer required to have a script file, which makes it possible to use Sumatra with your own compiled executables. Further support for compiled languages is planned for the next release.
Download, support and documentation
The easiest way to get the latest version of Sumatra is
$ pip install sumatra
Friday, February 17, 2012
Announcement by Michael Schmuker, Christian Kellner and Thomas Wachtler of a very interesting workshop:
Graphics processing units (GPUs) offer a low-cost approach to parallel high-performance computing. Neuronal simulations can be parallelized efficiently and are particularly well suited for implementation on GPUs. There is also great potential for GPU-based high-throughput analysis of neuronal data. The field is progressing at rapid pace, and has reached a point where it may strongly benefit from some kind of convergence between the different approaches.
To facilitate communication and foster collaboration in the field, the German INCF Node (G-Node) organizes a one-day symposium on neuronal GPU computing with an adjoint two-day developer workshop.
Invited Speakers (preliminary):
- Romain Brette (École Normale Supérieure, Paris)
- Andreas Fidjeland (Imperial College, London)
- Dan Goodman (École Normale Supérieure, Paris)
- Thomas Nowotny (University of Sussex, Brighton-Falmer)
- Pierre Yger (Imperial College, London)
Applications are encouraged for talks at the symposium. Topics may cover one or more of the following:
- GPU-based neuronal simulation: development, applications, user reports
- GPU-based data analysis: software and use-cases
- Reports on GPU-powered neuronal research
- Comparison of GPU-based neuronal applications with other high-throughput technologies (e.g. clusters, neuromorphic hardware)
Participation in the symposium is free, but registration is required.
We encourage applications for participation in the developer workshop. The workshop's aim is to bring together developers of GPU-based applications for neuroscience and to enable exchange of ideas, knowledge, and code. Enthusiastic users of GPU-based tools with programming skills are also warmly invited. The number of participants in the workshop is limited to 20.
Invited symposium speakers will also be present at the developer workshop.
Application and registration:
To apply for a presentation slot at the symposium, send us an abstract (approx. 500 words) of your presentation. A note with your name and affiliation is sufficient if you only want to register for the symposium. To apply for the developer workshop, please send a us a short letter of motivation stating your background, why you want to participate, and what you could contribute to the workshop.
Direct your applications, registrations and any questions to firstname.lastname@example.org .
Deadline for application: 28 Feb 2012
Workshop website: https://portal.g-node.org/gpu-workshop-2012/ Current information about speakers will be posted there.
April 11, 2012 (Symposium)
April 12-13, 2012 (Developer Workshop)
Großhaderner Str. 2
Hope to see you in Munich in April!
Michael Schmuker, Freie Universität Berlin & BCCN Berlin
Christian Kellner and Thomas Wachtler, G-Node, LMU München