The soma compartment that was simulated in the
tutorial1.g script
corresponds to the "generic neural
compartment" diagram but without the variable ionic conductances
G_{k} that we will add later. As it is a single isolated
compartment, we didn't make use of the axial resistance R_{a}. The
diagram reveals that the current I_{inject} flows through
R_{m} to create a potential difference that is in series with
E_{m}. The simulation results show that initially, V_{m}
will equal E_{m}, and the steady state will be reached after a time
given roughly by the time constant for charging the membrane capacitance,
R_{m}C_{m}. With the values used, the time constant was
20.

A lot of the simplicity of the script stems from the fact that the numbers
used in the simulation worked well with the default values of the graph
axis scales and the default integration step size used by GENESIS to
integrate the equation for the compartment V_{m}. In order to make
a realistic soma compartment that we can then link to dendrite compartments
and populate with ion channels, we will need to pick appropriate values for
the passive cell parameters R_{m}, R_{a}, C_{m},
and the membrane resting potential E_{m}.

So far, we haven't said much about the units used to express the
quantities R_{m}, R_{a}, C_{m}, V_{m}, etc.
that appear in the neural compartment
diagram and the differential equation
for V_{m}.

Physicists and engineers like to use SI (MKS) units of ohms, farads, volts, and meters for describing resistance, capacitance, voltage, and length. Neurophysiologists are more likely to prefer kilohms, microfarads, millivolts, and either centimeters or micrometers. One can use any consistent set of units with GENESIS, but it is most common to use SI units.

The problem with using any of these units for resistance and capacitance is
that R_{m}, C_{m}, and R_{a} will depend on the
dimensions of the section of dendrite that is represented by the neural
compartment. In order to specify parameters that are independent of the cell
dimensions, *specific units* are used. For a cylindrical compartment, the
membrane resistance is inversely proportional to the area of the cylinder, so
we define a *specific membrane resistance* R_{M}, which has
units of *ohms·m²*. The membrane capacitance is proportional
to the area, so it is expressed in terms of a *specific membrane
capacitance* C_{M}, with units of *farads*/*m²*.
Compartments are connected to each other through their axial resistances
R_{a}. The axial resistance of a cylindrical compartment is
proportional to its length and inversely proportional to its cross-sectional
area. Therefore, we define the *specific axial resistance* R_{A}
to have units of *ohms·m*.

For a piece of dendrite or a compartment of length *l* and diameter
*d* we then have

Note the membrane time constant R_{m}·C_{m}
is also equal to R_{M}·C_{M}, so that it
is independent of the dimensions of the membrane.

WARNING: Many treatments of the passive properties of neural tissue use
the symbols R_{m}, R_{a}, and C_{m}
for the specific resistances and capacitance,
instead of this notation with R_{M}, R_{A}, and C_{M}.
Also, many textbooks and journal papers define the resistance and capacitance
in terms of that for a unit length of cable having a specified diameter, where

* R _{m} = r_{m}/l, C_{m} =
c_{m}l, R_{a} = r_{a}l*.

Although this notation is convenient and widely used, it obscures the fact
that r_{m} and r_{a} depend on the dendrite diameter. In your
reading, you should be aware of the units that are being used.

You can read more about passive properties of dendrites in the Digression on Cable Theory from the Introduction to Computational Neuroscience lectures.

Our goal is to build a cylindrical soma compartment that has the same
physiological properties as those of the squid giant axon studied by
Hodgkin and Huxley, and simulated in the GENESIS "squid" tutorial in
*genesis/Scripts/squid*. So, we will use these values (in SI units)
for the compartment parameters. However, we will make our soma smaller,
with both the length and diameter equal to 30 micrometers.

We will also need to choose an appropriate time step for the numerical
solution of the equation for V_{m}. With the values of
R_{} and C*M* that we will use (R_{M} = 0.33333 and
C_{M} = 0.01), the membrane time constant will be 0.003333 seconds.
We would then expect our integration time step to be a small fraction of
this. In practice, it turns out that 50 microseconds (0.00005 sec) will be
a good value.

You can (and should, at some point) read the section in the GENESIS Reference Manual on Clocks for further suggestions on choosing a time step. The documentation for the commands setclock and useclock gives the details of setting the time step.

Chapter 13 of the BoG leads the reader
through the process of developing the script *tutorial2.g*. If you like,
you can run this this script from the *genesis/Scripts/tutorials*
directory. You should now examine tutorial2.g.

There are several features of the GENESIS script language that are introduced here:

- The use of a C-style multiline comment, extending from the second
through fourth line.
- Declaration of variables to be used. In this script only floating
point variables (float) are used, but "int" and "str" are also allowed.
The declaration and use of variables is explained in the
GENESIS Reference Manual
section on Variables.
- The line "
`setclock 0 {dt}`" sets the global simulation clock (clock 0) to the specified time step,`dt`. Note the use of curly brackets around the variable name`dt`. Usually, the value of a variable or an expression must be evaluated by enclosing it in curly brackets in order to distinguish between the value represented by the character string (0.00005) and the actual string of characters "`dt`". This is particularly true when the expression is to be evaluated as an argument of a GENESIS command or script language function. - The use of function declarations for
*makecompartment*and*make_Vmgraph*, and their use in the "Main Script" section. GENESIS script language functions are described in the GENESIS Reference Manual section on Functions. - The use of a backslash to continue a line in the long
*setfield*command in the*makecompartment*function. - Setting the graph scales, and the use of "^" to denote the element last
referenced (in this example,
*/data/voltage*). - The use of the "-time" option for the step command with the RUN button, to give the amount of time to run the simulation, rather than the number of steps. (See the documentation for step.)

Next: Building a cell the easy way Previous: A Basic Tutorial on GENESIS Up: Table of Contents