Friday, December 20, 2013

[Comp-neuro] Fully reproducible cortical modelling

We are pleased to announce the availability of a comprehensive new
example of modelling topographic maps in the visual cortex, suitable
as a ready-to-run starting point for future research. This example
consists of:

1. A new J. Neuroscience paper (Stevens et al. 2013a) describing
the GCAL model and showing that is is stable, robust, and adaptive,
developing orientation maps like those observed in ferret V1.

2. A new open-source Python software package, Lancet, for launching
simulations and collating the results into publishable figures.

3. A new Frontiers in Neuroinformatics paper (Stevens et al. 2013b)
describing a lightweight and practical workflow for doing
reproducible research using Lancet and IPython.

4. An IPython notebook showing the precise steps necessary to
reproduce the 842 simulation runs required to reproduce the
complete set of figures and text of Stevens et al. (2013a),
using the Topographica simulator (

5. A family of Python packages that were once part of Topographica but
are now usable by a broader audience. These packages include
'param' for specifying parameters declaratively, 'imagen' for
defining 0D, 1D, and 2D distributions (such as visual stimuli), and
'featuremapper' for analyzing the activity of neural populations
(e.g. to estimate receptive fields, feature maps, or tuning curves).

The resulting recipe for building mechanistic models of cortical map
development should be an excellent way for new researchers
to start doing work in this area.

Jean-Luc R. Stevens, Judith S. Law, Jan Antolik,
Philipp Rudiger, Chris Ball, and James A. Bednar

Computational Systems Neuroscience Group
The University of Edinburgh


1. STEVENS et. al. 2013a: GCAL model

Our recent paper:

Jean-Luc R. Stevens, Judith S. Law, Jan Antolik, and James
A. Bednar. Mechanisms for stable, robust, and adaptive
development of orientation maps in the primary visual cortex.
Journal of Neuroscience, 33:15747-15766, 2013.

shows how the GCAL model was designed to replace previous models of V1
development that were unstable and not robust. The model in this
paper accurately reproduces the process of orientation map development
in ferrets, as illustrated in this animation comparing GCAL, a simpler
model, and chronic optical imaging data from ferrets:


Lancet is a lightweight Python package that offers a set of flexible
components to allow researchers to declare their intentions succinctly
and reproducibly. Lancet makes it easy to specify a parameter space,
run jobs, and collate the output from an external simulator or
analysis tool. The approach is fully general, to allow the researcher
to switch between different software tools and platforms as necessary.
Lancet can be obtained from:

3. STEVENS et. al. 2013b: LANCET/IPYTHON workflow

Jean-Luc R. Stevens, Marco I. Elver, and James A. Bednar.
An Automated and Reproducible Workflow for Running and Analyzing
Neural Simulations Using Lancet and IPython Notebook.
Frontiers in Neuroinformatics, in press, 2013.

Lancet is designed to integrate well into an exploratory workflow
within the Notebook environment offered by the IPython project. In an
IPython notebook, you can generate data, carry out analyses, and plot
the results interactively, with a complete record of all the code used.
Together with Lancet, it becomes practical to automate every step
needed to generate a publication within IPython Notebook, concisely
and reproducibly. This new paper describes the reproducible workflow
and shows how to use it in your own projects.

4. NOTEBOOKS for Stevens et al. 2013a

As an extended example of how to use Lancet with IPython to do
reproducible research, the complete recipe for reproducing Stevens et
al. 2013a is available in models/stevens.jn13 of Topographica's GitHub
repository. The first of two notebooks defines the model, alternating
between code specification, a textual description of the key model
properties with figures, and interactive visualization of the model's
initial weights and training stimuli. The second notebook can be run
to quickly generate the last three published figures (at half
resolution) but can also launch all 842, high-quality simulations
needed to reproduce all the published figures in the paper. Static
copies of these notebooks, along with instructions for downloading
runnable versions, can be viewed here:


The Topographica simulator has been refactored into several fully
independent Python projects available on GitHub (
These projects are intended to be useful to a wide audience of both
computational and experimental neuroscientists:

param: The parameters offered by param allow scientific Python
programs to be written declaratively, with type and range checking,
optional documentation strings, dynamically generated values,
default values and many other features.

imagen: Imagen offers a set of 0D,1D and 2D pattern
distributions. These patterns may be procedurally generated or
loaded from files. They can be used to generate simple scalar
values, such as values drawn from a specific random distribution,
or for generating complex, resolution-independent composite image
pattern distributions typically used as visual stimuli (e.g. Gabor
and Gaussian patches or masked sinusoidal gratings).

featuremapper: Featuremapper allows the response properties of a
neural population to be measured from any simulator or experimental
setup that can give estimates of the neural activity values in
response to an input pattern. Featuremapper may be used to measure
preference and selectivity maps for various stimulus features (e.g
orientation and direction of visual stimuli, or frequency for
auditory stimuli), to compute tuning curves for these features, or
to measure receptive fields, regardless of the underlying
implementation of the model or experimental setup.


title = "Mechanisms for Stable, Robust, and Adaptive
Development of Orientation Maps in the Primary
Visual Cortex",
author = "Jean-Luc R. Stevens and Judith S. Law and
J\'{a}n Antol\'{i}k and James A. Bednar",
year = 2013,
journal = "Journal of Neuroscience",
volume = "33",
pages = "15747-15766",
url = "",
urlalt = "",
abstract = "Development of orientation maps in ferret and cat
primary visual cortex (V1) has been shown to be stable, in that
the earliest measurable maps are similar in form to the eventual
adult map, robust, in that similar maps develop in both dark
rearing and in a variety of normal visual environments, and yet
adaptive, in that the final map pattern reflects the statistics
of the specific visual environment. How can these three
properties be reconciled? Using mechanistic models of the
development of neural connectivity in V1, we show for the first
time that realistic stable, robust, and adaptive map development
can be achieved by including two low-level mechanisms originally
motivated from single-neuron results. Specifically, contrast
gain control in the retinal ganglion cells and the lateral
geniculate nucleus reduces variation in the presynaptic drive
due to differences in input patterns, while homeostatic
plasticity of V1 neuron excitability reduces the postsynaptic
variability in firing rates. Together these two mechanisms,
thought to be applicable across sensory systems in general, lead
to biological maps that develop stably and robustly, yet adapt
to the visual environment. The modeling results suggest that
topographic map stability is a natural outcome of low-level
processes of adaptation and normalization. The resulting model
is more realistic, simpler, far more robust, and is thus a good
starting point for future studies of cortical map development.",

author = "Jean-Luc R. Stevens and Marco I. Elver and James
A. Bednar",
title = "An Automated and Reproducible Workflow for Running
and Analyzing Neural Simulations Using {Lancet} and
{IPython} {Notebook}",
journal = "Frontiers in Neuroinformatics",
year = 2013,
note = "In press",
url = "",
abstract = "Lancet is a new, simulator-independent Python
utility for succinctly specifying, launching, and
collating results from large batches of interrelated
computationally demanding program runs. This paper
demonstrates how to combine Lancet with IPython
Notebook to provide a flexible, lightweight, and
agile workflow for fully reproducible scientific
research. This informal and pragmatic approach uses
IPython Notebook to capture the steps in a
scientific computation as it is gradually automated
and made ready for publication, without mandating
the use of any separate application that can
constrain scientific exploration and innovation.
The resulting notebook concisely records each step
involved in even very complex computational
processes that led to a particular figure or
numerical result, allowing the complete chain of
events to be replicated automatically.
Lancet was originally designed to help solve
problems in computational neuroscience, such as
analyzing the sensitivity of a complex simulation to
various parameters, or collecting the results from
multiple runs with different random starting points.
However, because it is never possible to know in
advance what tools might be required in future
tasks, Lancet has been designed to be completely
general, supporting any type of program as long as
it can be launched as a process and can return
output in the form of files. For instance, Lancet is
also heavily used by one of the authors in a
separate research group for launching batches of
microprocessor simulations. This general design
will allow Lancet to continue supporting a given
research project even as the underlying approaches
and tools change.",

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Comp-neuro mailing list

No comments:

Post a Comment