Wednesday, November 28, 2012

Spyke Viewer 0.2.0 released

We are pleased to announce the first public release of Spyke Viewer: A multi-platform, open source GUI application for navigating, analyzing and visualizing electrophysiological datasets (obtained from experiments or simulations). It is designed to be user friendly, flexible and easily extensible.

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:
    http://spyke-viewer.readthedocs.org

License:
    Modified BSD

Thursday, October 18, 2012

Sumatra 0.4 released

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.

Overview

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.

Web interface

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

Matlab support

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

Alternatively, Sumatra 0.4.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 PyPI.

Friday, February 17, 2012

G-Node Workshop on Neuronal GPU Computing

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.

Symposium

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.

Developer workshop

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.

Contact:

Direct your applications, registrations and any questions to gpu-computing@g-node.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.

Dates:

April 11, 2012 (Symposium)
April 12-13, 2012 (Developer Workshop)

Venue:

LMU Biocenter
Großhaderner Str. 2
82152 Planegg-Martinsried

Hope to see you in Munich in April!

The organizers

Michael Schmuker, Freie Universität Berlin & BCCN Berlin
Christian Kellner and Thomas Wachtler, G-Node, LMU München

Friday, February 10, 2012

Neo, a base library for handling electrophysiology data in Python

We are proud to announce the 0.2.0 release of Neo, a Python library for working with electrophysiology data, whether from biological experiments or from simulations.

A considerable problem in neurophysiology is the huge number of different, largely proprietary, data formats, which hinders data sharing and can make it difficult for researchers to use the best analysis methods, if the analysis software they wish to use does not support the data formats provided by their data acquisition system.

For cross-platform analysis, the field of neurophysiology is dominated by Matlab, but there is also a small but growing use of Python, perhaps boosted by the success Python has had in the neighbouring field of computational neuroscience. Certainly Python has a major cost advantage compared to Matlab, especially for larger-scale analyses on cluster computers, and as a popular, general purpose programming language makes it easy to tie data analysis into larger workflows including web- and database-access, modelling and simulation, and visualisation.

Neo arose from the realisation by a number of different groups developing Python software for the analysis and databasing of neurophysiology data that we were each independently reimplementing much of the same functionality. Although there is much scope for merging our analysis and visualization code, we decided that the best place to start was to develop standard data structures for electrophysiology, building on NumPy arrays, and to develop input-output modules to allow us to read from a large number of different electrophysiology data formats (and to write to a somewhat smaller subset, including HDF5).

This decision, to exclude data analysis and visualisation from the scope of Neo and to focus only on data representation and IO, makes Neo fairly lightweight as a dependency for other projects, requiring only NumPy and the Quantities package. The software packages OpenElectrophy, NeuroTools, Helmholtz, and PyNN, together with the database tools developed by the German Neuroinformatics Node, are all now in the process of moving to Neo as the basis of their data structures and for their IO layers. We would like to encourage the developers of other Python packages that work with electrophysiology data to consider adopting Neo, which will give you access to a large number of data formats and increase the interoperability of the tools in this domain. If you have Python support for a data format that is not currently available in Neo, we'd also like to talk to you!

Documentation:
http://packages.python.org/neo/
Licence:
Modified BSD
Download:
from PyPI or from the INCF Software Center

Friday, January 27, 2012

BrainScaleS/FACETS CodeJam #5 registration now open

Registration is now open for the 5th BrainScaleS/FACETS CodeJam workshop, which will take place March 14th-16th, 2011 in Edinburgh.

The goal of the CodeJam workshops is to catalyze open-source, collaborative software development in computational and systems neuroscience and neuroinformatics (especially, but not exclusively, using Python), by bringing together researchers, students and engineers to share ideas, present their work, and write code together. The general format of the workshops is to dedicate the mornings to invited and contributed talks, leaving the afternoons free for discussions and code sprints.

For the 5th BrainScaleS/FACETS CodeJam, the main theme of the meeting will be convergence in computational neuroscience software: recent developments to promote interoperability of modelling, simulation and data analysis tools and future efforts to develop common tools and libraries. We are planning sessions on:

  • Neuronal network modelling
  • Code generation for neuron and synapse models
  • Multicompartmental neuron modelling in Python
  • Data analysis tools for computational and systems neuroscience
  • Best practices for running an open-source software project

More details on the program and invited speakers will follow soon.

We invite contributions on any topic related to software in neuroscience, but especially on topics related to the main theme and planned sessions. If you have ideas for organising code sprints, whether a feature that you would like to see added to an existing tool or an idea for new software, please also let us know.

The meeting is being organised by Andrew Davison, Mike Hull, Abigail Morrison, Eilif Muller, Miha Pelko and Laurent Perrinet.

Registration & Further Information

The registration deadline is 19th February 2012, and is limited to 50 participants.

Please consult the meeting website at http://neuralensemble.org/meetings/CodeJam5 for registration and further information.