makes NEURON read the session file for a CellBuilder that contains the specification of the model. You will use this CellBuilder to adjust the model parameters.from neuron import h, gui # load the ballstk cellbuilder h.load_file("ballstk.ses") # eventually becomes a custom GUI h.load_file("rig.ses")
Note: Make sure the CellBuilder's Continuous Create button is checked. Otherwise the sections of the ball and stick model will not exist.
How many segments were created?
for sec in h.allsec(): print('%s nseg = %d' % (sec, sec.nseg))
for seg in dend: print('%g %g' % (seg.x, seg.x * dend.L))
If these locations aren't particularly "esthetic,"
you can assign nseg a new (larger) value manually
(odd multiples of 5 are nice).
You could do this with a Python statement like
dend.nseg=25
but this would be a potential cause of confusion,
so you should specify nseg through the CellBuilder instead.
Remember, you are using the CellBuilder with Continuous Create on. This means that, if you change the model specification in the CellBuilder, or even just toggle Continuous Create off and on, any changes to cell properties that you made outside of the CellBuilder (e.g. by executing Python calls at the >>> prompt) could be overridden.
Set up a graphical interface that lets you apply an AlphaSynapse to the model (time constant 1.0 ms, peak conductance 0.005 umho) while observing Vm at the middle of the soma.
2. TEST THE MODEL
Put the synapse at the proximal end of the dendrite, turn on Keep Lines in the voltage graph, and run a simulation. Then reduce the peak synaptic conductance to 0 and run another. Use View = plot to get a better look at somatic Vm.
What's wrong with these responses?
(hint: increase Tstop to 50 ms and run another simulation)
Change dendritic e_pas to -65 mV (use the CellBuilder's Biophysics page!)
and try another run.
Does this help? Why?
3. INITIAL EXPLORATION OF THE MODEL
Place the synapse at several different positions along the dendrite. Find and plot the peak amplitude of the somatic EPSP vs. synaptic location.
You will need a procedure that moves the synapse to a specified location.
I have provided putsyn.py,
which contains a function (putsyn()
)
that takes a single numeric argument
in the range
putsyn()
does these things:
putsyn()
must determine the actual location of the synapse
(uses .get_segment().x). This is assigned to a global variable called h.synloc
.
h.run()
(equivalent to clicking the Init & Run button).
from putsyn import putsyn
),
and then invoke putsyn()
with a couple of different arguments to see what happens.
Use the voltage axis graph's crosshairs to find the peak amplitude of the epsp at the soma.
You might also want to append the statement from putsyn import putsyn
to the end of init.py for future use.
4. SWITCHING TO PRODUCTION MODE
In principle, you could type putsyn() many times, with different numerical arguments, measure the epsp peaks manually, write down the synaptic location and the corresponding peak depolarization, and then plot the results by hand, but that would be a poor use of your time. It's much better to learn how to automate repetitive tasks.
Here's an outline of one approach to automating this particular modeling experiment:
Use a text editor to create a function called
- For each node along dend
- move the synapse to that node
run a simulation
determine the most depolarized somatic Vm produced by a synapse at that location
save this value and the synaptic location in a pair of vectors
- Plot the vector of peak values vs. the vector of synaptic locations
profile
that implements this approach.
Put it in a file called myprofile.py, and then use the command from myprofile import profile
You already have putsyn()
,
which takes care of the second and third items in this outline.
It may be helpful to know about :
the Vector class in general
Vector record()
Vector max()
Vector append()
Vector plot()
the Graph class
Here is a skeleton of one possible implementation of such a function.
5. THINGS TO TRY
1. Compute the actual EPSP amplitudes by subtracting the -65 mV baseline from the soma responses and plot the results.
2. Plot peak EPSP amplitude as a function of anatomical distance along dend in microns.
2. What would happen if the somatic HH currents were blocked? Use the CellBuilder to reduce gnabar_hh and gkbar_hh to 0. Make sure to change el_hh to -65 mV before running a new series of simulations (why or why not? and what if you don't?).
Compare these results with what you saw when HH currents were not blocked. Do spike currents in the soma enhance all EPSPs, or does the nature of the effect depend on synaptic location?