pyramidal spine-neck EPSPs
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
While I’m making sure I’m using accurate algorithms for current in the spine_neck, I thought I might play around with creating an electric field from an electrode adjacent to the neck.
So I added electrode point processor. I had to locate it on a segment so I chose the dendrite to get oriented. I fired off a 15ms Vclamp pulse and sure enough it showed up on my voltage and passive current graphs, even caused an action potential at the soma. The spine_head and spine_neck followed the electrode stimulus.
https://drive.google.com/file/d/1V1QCFv ... sp=sharing
So I added electrode point processor. I had to locate it on a segment so I chose the dendrite to get oriented. I fired off a 15ms Vclamp pulse and sure enough it showed up on my voltage and passive current graphs, even caused an action potential at the soma. The spine_head and spine_neck followed the electrode stimulus.
https://drive.google.com/file/d/1V1QCFv ... sp=sharing
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
Only two graphs show the time course of any current: right upper quadrant, which shows the ionic current through the neck's "pas" channels, and left lower quadrant, which shows capacitive current through the neck's membrane capacitance. There is no graph that shows current entering the spine head through synaptic ion channels, but it would be easy to add one.
Yep. "pas" is a "density mechanism" in NEURON's parlance because pas channels are assumed to be distributed over the surface of a neurite (rather than being clustered into a small region, e.g. ligand-gated ion channels at a synaptic connection). Therefore, the abundance of its channels is described in density units (S/cm2) and the current that it generates is reported in density units (mA/cm2).Results: passive current (Graph 2) does not return to baseline between synaptic activations (trough = 0.00012 mA/cm2, confirm units)
Nope. Remember that the convention for transmembrane current flow issuggesting that positive ion influx is continuing during this overlap of synaptic EPSPs
positive means an efflux of positive charge
negative means an influx of positive charge
Think about the HH model, specifically the plots of ina and ik vs. time during a spike. ina is always plotted below the t axis because it is < 0 (na flowing into the axon), and ik is plotted above the t axis because it is > 0 (k ions flowing out).
In the model cell you're using, each synaptic activation produces an influx of positive charge through (ligand-gated) synaptic channels because
syn.i = syn.g * (v - syn.e)
where
v is local membrane potential (-65 mV or so)
syn.e is the synaptic reversal potential (0 mV)
so v - syn.e is <= 0 and so is syn.i. As noted above, none of the graphs shows syn.i but it would be easy to create one, and it would show that syn.i is always <= 0.
What about i_pas?
i_pas = g_pas * (v - e_pas)
where
v is local membrane potential
e_pas is pas's reversal potential (-65 mV or so)
If v ever rises above e_pas, then i_pas will be > 0, and that's what the graphs show.
But it is easy, as long as there is some mechanism that generates a calcium current.I tried adding a neck.ica or neck.i_ca to a Graph, but of course it really shouldn't be that easy, anyway.
Where was that?Cachan.mod looks promising and loadable (I found it just by using Search in Quick links
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
Sorry, that's not something that can be used for extracellular stimulation. Exactly what did you do to "add" an "electrode point processor"?davidhubbardmd wrote: ↑Sat Jan 14, 2023 11:02 am While I’m making sure I’m using accurate algorithms for current in the spine_neck, I thought I might play around with creating an electric field from an electrode adjacent to the neck.
So I added electrode point processor.
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
Thank you Ted,
To add the electrode, I used the Neuron GUI menu > Tools > Point Processes > Managers > Electrode, but as you said it didn’t give me what I wanted. I want to simulate an electric field centered near, about 50um, from the spine_neck.
Regarding the cachan.mod, I used Quick Links > Search > calcium channel and found your post “Re: modlunit Conversion Factor”, posted on Nov. 10, 2022. But as you said I don’t want to add more ca++. I want to monitor the calcium concentration in the spine_neck during synaptic activations at the spine_head.
To add the electrode, I used the Neuron GUI menu > Tools > Point Processes > Managers > Electrode, but as you said it didn’t give me what I wanted. I want to simulate an electric field centered near, about 50um, from the spine_neck.
Regarding the cachan.mod, I used Quick Links > Search > calcium channel and found your post “Re: modlunit Conversion Factor”, posted on Nov. 10, 2022. But as you said I don’t want to add more ca++. I want to monitor the calcium concentration in the spine_neck during synaptic activations at the spine_head.
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
If you want to add the calcium current described by the code in cachan.mod to your model, put a copy of cachan.mod in the same directory as your hoc and ses files and then compile it (at nrn.readthedocs.io click on the item
Guides
in the left column, and in the page that pops up search for
How do I compile mod files?
).
Next use NEURON to execute your model code
nrngui initwhatever.hoc
then go to the Biophysics page of the CellBuilder,
make sure the "Specify Strategy" box is checked (by clicking on it if you have to),
and you will be able to insert cachan into whatever sections you like
(in the middle panel select the section into which you want to insert it,
then in the right hand panel click in the checkbox next to cachan
).
But it will turn out that the geometry of the spine itself will have absolutely no effect on how the rest of the cell responds to extracellular stimulation, for two reasons. 1. Fields created by reasonable stimulus currents will first affect neurites that are much longer than 1 or even 10 um. 2. The electrical properties of brain tissue are such that extracellular gradients steep enough to affect structures as short as a few um cannot be achieved by applying current to a stimulating electrode as far as 50 um away without damaging the electrode and surrounding brain tissue.
Guides
in the left column, and in the page that pops up search for
How do I compile mod files?
).
Next use NEURON to execute your model code
nrngui initwhatever.hoc
then go to the Biophysics page of the CellBuilder,
make sure the "Specify Strategy" box is checked (by clicking on it if you have to),
and you will be able to insert cachan into whatever sections you like
(in the middle panel select the section into which you want to insert it,
then in the right hand panel click in the checkbox next to cachan
).
That's a lot more complicated. You'll need to provide specific details about the electrode configuration and the time course of the stimululs current. You will also have to provide specific details about the geometry of the cell that is being stimulated.I want to simulate an electric field centered near, about 50um, from the spine_neck
But it will turn out that the geometry of the spine itself will have absolutely no effect on how the rest of the cell responds to extracellular stimulation, for two reasons. 1. Fields created by reasonable stimulus currents will first affect neurites that are much longer than 1 or even 10 um. 2. The electrical properties of brain tissue are such that extracellular gradients steep enough to affect structures as short as a few um cannot be achieved by applying current to a stimulating electrode as far as 50 um away without damaging the electrode and surrounding brain tissue.
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
Thank you Ted,
I want to measure the ca++ concentration in the spine_neck during synaptic transmissions from the spine_head.
And, I want to manipulate the inflow of ca++ into the spine_neck using electric fields, possibly with a sequence of two-three pulses of 10-20 milliseconds each.
I want to measure the ca++ concentration in the spine_neck during synaptic transmissions from the spine_head.
And, I want to manipulate the inflow of ca++ into the spine_neck using electric fields, possibly with a sequence of two-three pulses of 10-20 milliseconds each.
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
Then you need an "ion accumulation mechanism" for calcium. The simplest mechanisms consider only transmembrane flux through ion channels, might include buffering (most intracellular Ca is bound to endogenous buffers) and/or transport mechanisms such as pumps or Na/Ca exchange, and ignore longitudinal diffusion (because longitudinal calcium concentration gradients are very shallow, so longitudinal flux is very small) and uptake or release from organelles (mitochondria, smooth endoplasmic reticulum). Many NEURON models in ModelDB involve calcium accumulation mechanisms; see modeldb.science.measure the ca++ concentration in the spine_neck during synaptic transmissions from the spine_head
Manipulate in what way? by inducing local changes of membrane potential that in turn affect voltage-dependent channel gating?I want to manipulate the inflow of ca++ into the spine_neck using electric fields
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
I tried to login into ModelDB and it requires a pw.
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
ModelDB login is used only by ModelDB admins, and a small number of people who want to perform administrative tasks on their own particular model entries (most model authors leave those tasks to ModelDB's admins). Login is not needed to browse ModelDB's contents, search for models (by author, keyword, metadata, text etc.), or to download model source code.
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
In modeldb.science I found several calcium models written for NEURON including "Spine neck plasticity controls postsynaptic calcium signals" (Grunditz et al. 2008). I copied my current desktop folder as initlengthcalcium and downloaded several mod files directly into it. I openned Windows Terminal and at the c> typed cd then nrnivmodl and it worked. I used the GUI and the Biophysics menu to insert my first test, cadiffus.mod into the neck. I added a Graph for calcium current and ran it.
https://docs.google.com/document/d/1hXt ... sp=sharing
My Graph for calcium current shows a steady current for the 50ms of stimulation. Should diffusion be in the spine head as well? Can I assume that the ExpSyn activation includes AMPA and NMDA receptor? Are the voltage-gated ca++ channels only in the postsynaptic density or also in the neck?
https://docs.google.com/document/d/1hXt ... sp=sharing
My Graph for calcium current shows a steady current for the 50ms of stimulation. Should diffusion be in the spine head as well? Can I assume that the ExpSyn activation includes AMPA and NMDA receptor? Are the voltage-gated ca++ channels only in the postsynaptic density or also in the neck?
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
Excellent.In modeldb.science I found several calcium models written for NEURON
Code: Select all
"Spine neck plasticity controls postsynaptic calcium signals" (Grunditz et al. 2008)
It's great when things work the way they should.at the c> typed cd then nrnivmodl and it worked
Very good.I used the GUI and the Biophysics menu to insert my first test, cadiffus.mod into the neck. I added a Graph for calcium current and ran it.
Time for a small digression about cadiffus.mod
In an NMODL definition of a mechanism, the NEURON block contains some important declarations, like what ionic concentrations, concentrations, and equilibrium potentials are used by the mechanism. In cadiffus.mod this statement
USEION ca READ cai, ica WRITE cai
means that the cadiffus mechanism will get these values from NEURON's main computational engine:
cai which is intracellular calcium concentration
ica which is net transmembrane calcium current
and that it will calculate a new value for cai and return that to NEURON's main computational engine.
The cadiffus mechanism implements both radial and longitudinal diffusion; note all the statements that involve calcium exchange between adjacent "annuli," and the LONGITUDINAL_DIFFUSION statement in the KINETIC block.
I see a graph that plots the time course of two variables: neck.cai(0.5) and something else called "i". neck.cai(0.5) is the intracellular calcium concentration of the compartment that contains the middle of the neck section. From the graph the value of neck.cai(0.5) is not apparent--is it very close to 0, so that it lies on top of the x axis? or is it very close to 4, but hidden by the thick blue line, which plots the time course of i? The way to be sure is to plot neck.cai(0.5) by itself i.e. in its own graph.My Graph for calcium current shows a steady current for the 50ms of stimulation.
And what does i signify? It's not calcium current; that would be called neck.ica(0.5). My guess is that i was a user-defined hoc variable that was used as an index of some sort, e.g. in a loop that does some task several times.
You could do that by inserting cadiffus into the spine head, but it isn't going to have a significant effect on simulation results.Should diffusion be in the spine head as well?
ExpSyn generates a NONSPECIFIC_CURRENT which, as you might guess, is not attributed to any particular ion. Grunditz et al. used synaptic mechanisms defined by ampa.mod, and nmda.mod, both of which generate NONSPECIFIC_CURRENTs. For some reason they also use a mechanism called canmda.mod to account for calcium current generated by activation of NMDA receptors. I'm not sure why they thought it was necessary to do that; maybe they explain why in their paper.Can I assume that the ExpSyn activation includes AMPA and NMDA receptor?
I'm not sure what the latest experimental findings have shown, but would assume that they are present everywhere except in the postsynaptic density. In your models there won't be any, anywhere, unless you insert some somewhere.Are the voltage-gated ca++ channels only in the postsynaptic density or also in the neck?
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
I made graphs for the intracellular calcium concentration in the spine neck ( neck.cai(0.5) and the spine head (kopf.cai(0.5).
https://docs.google.com/document/d/1GMU ... sp=sharing
As Ted predicted, it was zero.
But I had not expected zero calcium concentration. I expected calcium diffusion into the spine neck from the NMDA receptor channels and local voltage-gated Na+ and Ca++ channels in the synapse in the spine head. I expected that the Ca++ concentration would increase with the first synaptic transmission and plateau after a few. I added an AMPA and an NMDA synapse to the spine head but my Ca++ current in the neck was still zero. I did not find a voltage-gated calcium channel in modeldb.science
https://docs.google.com/document/d/1GMU ... sp=sharing
As Ted predicted, it was zero.
But I had not expected zero calcium concentration. I expected calcium diffusion into the spine neck from the NMDA receptor channels and local voltage-gated Na+ and Ca++ channels in the synapse in the spine head. I expected that the Ca++ concentration would increase with the first synaptic transmission and plateau after a few. I added an AMPA and an NMDA synapse to the spine head but my Ca++ current in the neck was still zero. I did not find a voltage-gated calcium channel in modeldb.science
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
If a section has no mechanism that calculates and WRITEs the value of some ionic current current ix, transmembrane flux of that ion will not be represented in that section. If a section has no mechanism that calculates and WRITEs the intracellular concentration of some ion x, then transmembrane flux of that ion will not affect its intracellular concentration; the same is true if there is no mechanism that calculates and WRITEs the extracellular concentration of x. And that section's intracellular (or extracellular) concentration of x will not be affected by longitudinal diffusion from adjacent sections.I expected calcium diffusion into the spine neck from the NMDA receptor channels and local voltage-gated Na+ and Ca++ channels in the synapse in the spine head.
and that's as it should be, because the neck had no mechanism that WRITEs calcium current.I added an AMPA and an NMDA synapse to the spine head but my Ca++ current in the neck was still zero
-
- Posts: 45
- Joined: Mon Nov 07, 2022 11:44 am
- Location: San Diego, California
Re: pyramidal spine-neck EPSPs
I recognized WRITE as a Neuron command that I had seen in NEURON Example 9.5 “Calcium-activated, voltage-gated current”, p. 229, and Listing 9.8 “Calcium ion accumulation with radial and longitudinal diffusion”, p. 247. I Notepad’d
USEION ca READ cai WRITE cai
into my hoc file, opened my Windows Terminal, changed the directory, typed nrnivmodel and it worked.
https://docs.google.com/document/d/1Whn ... sp=sharing
But still no calcium concentration in my spine_neck. Adding a ca_ion Distributed Mech didn't help. Adding USEION ca READ cao WRITE cao at the oc> prompt didn't either. Admittedly I didn’t insert a complete Neuron block from SUFFIX to BREAKPOINT but it was not obvious to me which line item I was missing.
USEION ca READ cai WRITE cai
into my hoc file, opened my Windows Terminal, changed the directory, typed nrnivmodel and it worked.
https://docs.google.com/document/d/1Whn ... sp=sharing
But still no calcium concentration in my spine_neck. Adding a ca_ion Distributed Mech didn't help. Adding USEION ca READ cao WRITE cao at the oc> prompt didn't either. Admittedly I didn’t insert a complete Neuron block from SUFFIX to BREAKPOINT but it was not obvious to me which line item I was missing.
-
- Site Admin
- Posts: 6354
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: pyramidal spine-neck EPSPs
USEION statements are not part of hoc syntax. They are a feature of NMODL, the programming language that is used for purposes that include adding ion channels and ion accumulation mechanisms to NEURON's library of mechanisms. Trying to execute
USEION ca READ cao WRITE cao
or inserting such a line in a hoc file will do nothing useful; instead, it will make NEURON generate a syntax error message.
Instead, you'll have to put a couple of mod files (one for the calcium channel, the other for the calcium accumulation mechanism) into the directory where your model cell's hoc code is located, then run
nrnivmodl
or
mknrndll
in that directory to compile them. The next time you launch NEURON from the command line in that directory, or use NEURON to execute a hoc file in that directory, the calcium channel and calcium accumulation mechanisms will be available for your model to use.
But you will have to use "insert" statements to add those mechanisms to the sections of interest--specifically the spine neck and/or head. And you will need to make sure that the mechanisms have appropriate parameters. It would probably be useful to base your assumptions on prior work by others. Here I suggest a paper that I just recently found week before last while updating the list of papers that report research that involved NEURON: Tazerart et al. 2022 (PMID 35194785). In particular, see the the "Modelling" part of their methods section. You'll also want to read their experimental results, especially for their measurements or estimates of spine neck and head diameter.
Tazerart et al. didn't make their own models' source code available, but at least they tell where they got the NMODL code for their HVA channel: it's the ca.mod file at modeldb.yale.edu/135787. If modeldb.yale.edu isn't working properly (thank you Yale!), go to modeldb.science/135787 instead (modeldb.science has the same content as the Yale site, but isn't subject to the Yale network's problems).
For their calcium accumulation mechanism, they cite this:
Destexhe A, Babloyantz A, Sejnowski TJ. (1993). Ionic mechanisms for intrinsic slow oscillations in thalamic relay neurons. Biophys J 65:1538-52. PMID 8274647. doi: 10.1016/S0006-3495(93)81190-1
The source code for that model isn't in ModelDB, but fortunately the file capump.mod in modeldb.yale.edu/3670 (modeldb.science/3670) is an NMODL implementation of the calcium accumulation mechanism described in Destexhe et al. 1993. I see that ModelDB entry 135787 has a file with the same name, but the authors of that model entry changed several of the parameters so don't use that one.
Finally, I should point out that capump.mod assumes that intracellular ca accumulates in a 1 um thick shell just inside the cell membrane--which is fine as long as you're dealing with a neurite that is at least 2 um in diameter. But for smaller diameters, the volume of distribution for calcium (or any other ion) can only be as thick as the radius. So for spine necks and heads with diameters < 2 um, the value of the depth parameter must be changed to diam/2. This should be done with a hoc or python statement in the model setup code right after the statement that inserts the cad mechanism (cad is the name of the calcium accumulation mechanism). It should not be done by revising the NMODL code.
USEION ca READ cao WRITE cao
or inserting such a line in a hoc file will do nothing useful; instead, it will make NEURON generate a syntax error message.
Instead, you'll have to put a couple of mod files (one for the calcium channel, the other for the calcium accumulation mechanism) into the directory where your model cell's hoc code is located, then run
nrnivmodl
or
mknrndll
in that directory to compile them. The next time you launch NEURON from the command line in that directory, or use NEURON to execute a hoc file in that directory, the calcium channel and calcium accumulation mechanisms will be available for your model to use.
But you will have to use "insert" statements to add those mechanisms to the sections of interest--specifically the spine neck and/or head. And you will need to make sure that the mechanisms have appropriate parameters. It would probably be useful to base your assumptions on prior work by others. Here I suggest a paper that I just recently found week before last while updating the list of papers that report research that involved NEURON: Tazerart et al. 2022 (PMID 35194785). In particular, see the the "Modelling" part of their methods section. You'll also want to read their experimental results, especially for their measurements or estimates of spine neck and head diameter.
Tazerart et al. didn't make their own models' source code available, but at least they tell where they got the NMODL code for their HVA channel: it's the ca.mod file at modeldb.yale.edu/135787. If modeldb.yale.edu isn't working properly (thank you Yale!), go to modeldb.science/135787 instead (modeldb.science has the same content as the Yale site, but isn't subject to the Yale network's problems).
For their calcium accumulation mechanism, they cite this:
Destexhe A, Babloyantz A, Sejnowski TJ. (1993). Ionic mechanisms for intrinsic slow oscillations in thalamic relay neurons. Biophys J 65:1538-52. PMID 8274647. doi: 10.1016/S0006-3495(93)81190-1
The source code for that model isn't in ModelDB, but fortunately the file capump.mod in modeldb.yale.edu/3670 (modeldb.science/3670) is an NMODL implementation of the calcium accumulation mechanism described in Destexhe et al. 1993. I see that ModelDB entry 135787 has a file with the same name, but the authors of that model entry changed several of the parameters so don't use that one.
Finally, I should point out that capump.mod assumes that intracellular ca accumulates in a 1 um thick shell just inside the cell membrane--which is fine as long as you're dealing with a neurite that is at least 2 um in diameter. But for smaller diameters, the volume of distribution for calcium (or any other ion) can only be as thick as the radius. So for spine necks and heads with diameters < 2 um, the value of the depth parameter must be changed to diam/2. This should be done with a hoc or python statement in the model setup code right after the statement that inserts the cad mechanism (cad is the name of the calcium accumulation mechanism). It should not be done by revising the NMODL code.