1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
.. _specifying_parameterized_variation_of_biophysical_properties:
Specifying parameterized variation of biophysical properties
============================================================
A large body of experimental data indicates that neuronal membrane properties can be nonuniform. For example, in some cell classes there is evidence that channel densities vary with location in a systematic manner. With the CellBuilder it is possible to specify that channel densities and other biophysical properties are functions of position.
For this tutorial, we return to our stylized model
.. image::
fig/cellp.gif
:align: center
but now we want ``gnabar_hh``, ``gkbar_hh``, and ``gl_hh`` in the apical dendrites to decrease linearly with distance from the origin of the apical tree.
**Geometry**
.. list-table::
:header-rows: 1
* - **Section**
- **L (um)**
- **diam (um)**
- **Biophysics**
* - soma
-
20
- 20
-
hh
* - ap[0]
-
400
- 2
-
hh*
* - ap[1]
-
300
- 1
-
hh*
* - ap[2]
-
500
- 1
-
hh*
* - bas
-
200
- 3
-
pas
* - axon
-
800
- 1
-
hh
* ``gnabar_hh``, ``gkbar_hh``, and ``gl_hh`` vary with distance from the origin of the apical tree
1.
All have "full" density at origin of apical tree.
2.
Density falls to 0% at the most distant termination.
To ensure that resting potential is -5 mV throughout the cell, e_pas in the basilar dendrite is -65 mV.
Other parameters: cm = 1 uf/cm^2, Ra = 160 ohm cm.
Before we start, let's restate the problem in mathematical terms.
Consider sodium conductance. For every point in the apical tree, we want the sodium conductance density at that point to depend on the fractional, or normalized, distance from the origin of the apical tree to that point. So we want gnabar_hh to vary with p, the normalized distance into the apical tree, according to this formula
gnabar_hh = 0.12 * (1-p) where p = L0x / Lmax
.. image::
fig/paths1.gif
:align: center
We also want gkbar_hh and gl_hh to be governed by similar formulas.
This is a special case of a more general task: the problem of how to specify that a parameter *param* is some function f of p
param = f(p)
where *p* is one of the following distance metrics:
- path length (along the centroid of sections) from a reference point
- radial distance in space from a reference point
- distance from a plane, e.g. depth from the cortical surface, or distance above or below a cortical layer
If we were trying to do this by writing our own hoc code, we might come up with something like this:
.. code::
c++
forsec subset for (x,0) { rangevar_suffix(x) = f(p(x)) }
where p is a function that returns one of the three distance metrics mentioned above
The CellBuilder's uses something called the SubsetDomainIterator class. to help us achieve the same effect very easily, and usually without having to write any code.
Let's see how this works.
:ref:`set_up_a_subsetdomainiterator`
by specifying the subset over which it will iterate, and the distance metric it will use
:ref:`specify_the_model_parameters_to_be_varied`
:ref:`specify_and_verify_the_functions_that_govern_the_parameters`
:ref:`use_the_model_specification`
.. toctree::
:hidden:
set_up_a_subsetdomainiterator.rst
specify_the_model_parameters_varied.rst
specify_and_verify_the_functions.rst
use_the_model_specification.rst
|