Optimizing a Model
Physical System
Two patch electrodes were attached to a pyramidal cell in layer 5 of
the neocortex.
One electrode was attached to the soma,
and the other was attached to a dendrite in the apical tree.
The resting potential of the cell was -70 mV,
and its I-V relationship was linear from -90 to -50 mV.
This figure shows the response of the cell to injected
current pulses (0.1 nA x 5 ms).
Two experimental protocols were used.
Protocol 1 (left): somatic current injection.
Protocol 2 (right): dendritic current injection.
Each trace is the average of four recordings.
At the end of the experiment, the cell was fixed and stained,
and detailed anatomical measurements were made.
Experimental evidence (Stuart and Spruston, 1998) suggests that
membrane conductance in the apical dendrites
of pyramidal neurons
increases with distance from the soma
in a way that can be described by the sigmoidal function
g = A0 + A/(1 + exp(k*(d - p)))
where
p is the distance from the soma,
A0 is the conductance at the soma,
A0 + A is the maximum conductance as p becomes very large,
d is the distance at which g is halfway between A0 and A0 + A,
and k governs the maximum slope of the sigmoid.
We will use the same k as Stuart and Spruston did (k = 1/(50 um),
but the other biophysical parameters
(not just A0, A, d, but also
Ra, cm, and membrane conductance in the apical dendrites
and elsewhere) are to be estimated from the experimental data.
The exercise
The task is to adjust the biophysical parameters of a model cell
so that its response to injected current matches the experimental data.
In this exercise you will learn how to use the Multiple Run Fitter (MRF),
NEURON's GUI tool for automating optimization.
Here's an outline of the steps that are involved in accomplishing this task.
- Create a specification of the model cell based on its anatomy
and an intial guess at its biophysical properties,
including the spatial distribution of ion channels.
- Set up a "virtual experimental rig" to use with this cell
for the purpose of recreating the experimental protocols.
- Create and configure an MRF that will simulate the protocols and adjust
the model parameters to minimize the differences between the simulation
and experimental results.
- Use the MRF.
Time is short and we need to focus on the MRF itself,
so instead of building everything from scratch,
we'll start with some preconfigured building blocks.
These are:
- cell.hoc
- A model specification that combines cellular anatomy
with a "reasonable first guess" at its biophysical properties
(what channels are present and how they are distributed in space).
A first draft was created with the CellBuilder
(very handy for setting up the g_pas gradient in the apical dendrites!)
and exported to a hoc file.
The hoc file was revised so that we can use its built-in
procedures for assigning values to Ra, cm, g_pas, A0, A, and d.
In the original version of cell.hoc, these parameters
were assigned fixed numerical values that were buried inside
procedures, and some of them were "local" variables
that would be inaccessible to the MRF.
The revision involved adding "surrogate parameters" called
Ra_, cm_, g_pas_, A0_, A_, and d_ that the MRF can access.
Here's how
the cell model was set up,
and a description of the specific changes to cell.hoc
(for leisure reading after you have finished the rest of this exercise).
- rig.ses
- Creates a "virtual experimental rig" for replicating protocols 1 and 2:
a RunControl, a voltage axis graph,
and a pair of PointProcessManagers configured as IClamps.
IClamp[0] is attached to soma(0.5),
and IClamp[1] to dendrite_1[9](0.5).
- init_opt.hoc
- Does the following:
- Loads nrngui.hoc, cell.hoc, and rig.ses. This creates the model cell and
the virtual experimental rig.
- Defines starting values for the parameters that the MRF will adjust.
- Defines set_biophys(), which
uses procs in cell.hoc and the surrogate variables (Ra_ etc.--see
description of cell.hoc above)
to assign the model's biophysical parameters.
- Uses an
FInitializeHandler
to ensure that set_biophys() is called before each simulation run.
Enough words already--let's get going!
Go to course/optimize and use NEURON to run init_opt.hoc
Check the parameters of the two IClamps.
See what happens when you run simulations
with both IClamps delivering 0.1 nA,
and after changing either IClamp's amp to 0.
This is an outline of how to proceed from here.
- Configure a MultipleRunFitter to do a "run fitness" optimization.
- Load experimental data into the Run Fitness Generator.
- Tell the MRF what parameters to adjust.
- Perform the optimization.
Reference
Stuart, G. and Spruston, N. Determinants of voltage attenuation in neocortical
pyramidal neuron dendrites. J. Neurosci. 18:3501-3510, 1998.
NEURON hands-on course
Copyright © 1998-2012 by N.T. Carnevale and M.L. Hines,
all rights reserved.