Mapping function onto neuronal morphology (Stiefel and Sejnowski 2007)

 Download zip file 
Help downloading and running models
"... We used an optimization procedure to find neuronal morphological structures for two computational tasks: First, neuronal morphologies were selected for linearly summing excitatory synaptic potentials (EPSPs); second, structures were selected that distinguished the temporal order of EPSPs. The solutions resembled the morphology of real neurons. In particular the neurons optimized for linear summation electrotonically separated their synapses, as found in avian nucleus laminaris neurons, and neurons optimized for spike-order detection had primary dendrites of significantly different diameter, as found in the basal and apical dendrites of cortical pyramidal neurons. ..."
1 . Stiefel KM, Sejnowski TJ (2007) Mapping function onto neuronal morphology. J Neurophysiol 98:513-26 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s):
Gap Junctions:
Simulation Environment: NEURON;
Model Concept(s): Influence of Dendritic Geometry; Methods; Unsupervised Learning;
Implementer(s): Stiefel, Klaus [stiefel at];
This is the readme for the model code for the paper

Artificial evolution of neurons optimized for specific computations.
Klaus M. Stiefel and Terrence J. Sejnowski
Journal of Neurophysiology

This model code was contributed to ModelDB by Klaus Stiefel..

How to run the demonstration files:

1. If you have not already done so, install NEURON. 

Windows, Linux and OS10 versions of this program can be downloaded
free of charge from

2. Run GA.hoc to start a run of the genetic algorithm. During each
generation, the morphologies of the first 16 neurons of the population
and their somatic membrane potentials are plotted. The parameters of
the genetic algorithm (population size, mutation rates …) can be
modified in the first block of GA.hoc. The extent of the synapse-space
can be modified in template.hoc.

3. The simulation will save a text-file “Generation#.txt” after
completion of each generation.  To load the best performing neuron of
a generation, run LOAD_WINNER.hoc, specify the generation and press
the “Load” button.

4. The code runs the optimization for linear summation. If you would
like to change it to spike-order detection, to change GA.hoc in lines
98, 99 and lines 83, 84 so that "ordertest.hoc" is loaded and
executed, and

	 LOAD_WINNER.hoc in lines 31, 32 and 55, 56.

6/8/2007 version update: a short run test was added to auto-launch options

Loading data, please wait...