Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Receive spikes on electrical gap junctions #1709

Closed
llandsmeer opened this issue Oct 9, 2021 · 8 comments
Closed

Receive spikes on electrical gap junctions #1709

llandsmeer opened this issue Oct 9, 2021 · 8 comments

Comments

@llandsmeer
Copy link
Contributor

Describe the feature you need
The ability to receive spikes on a gap junction connection to temporarily change (increase or decrease) the gap junction connection weight.

Explain what it is supposed to enable
Spiking cells that regulate electrical coupling between other cells

Additional context
This is needed to implement the glomerular gap junction models as in De Gruijl, Jornt R., et al. "Modulation of electrotonic coupling in the inferior olive by inhibitory and excitatory inputs: integration in the glomerulus." Neuron 81.6 (2014): 1215-1217., where GABA or NMDA release at the glomerulus induces changes is coupling coeficient.

GABA and NMDA release modulates IO coupling

This might actually be solved by PR #1682 but I don't see how yet

@noraabiakar
Copy link
Contributor

Can you give a bit more detail about what is required for this feature? #1682 implements mechanism gap junctions but they don't have the ability to receive spikes. This sounds like a combination of a synapse and a gap junction mechanism, is this the case?

@llandsmeer
Copy link
Contributor Author

I'm not exactly sure about how this will look in Arbor, but the idea is that some spiking cell (or in our case @max9901' implementaition of the AdEx fake point neuron) can send spikes to the gap juction. This can be a simple NET_RECEIVE, but maybe the simplest solution in arbor is something different. I have never written a synapse before but probably its indeed a combination of gap junction and synapse

@thorstenhater
Copy link
Contributor

Hi,

I have some thoughts on this. The bio-physical process seems similar to a localised variant of signaling ions that mediate
long-term plasiticity which were requested in #1651 and are in progress. Regardless of the actual bio-physical details
the implementation we could use in Arbor is quite similar indeed: A quantity accessible from all mechanisms on the same
CV and decays in time (either implicitly managed by Arbor or explicitly by write access via the ABI), is sourced by point processes, and optionally diffuses along the morphology.

@llandsmeer would that be sufficient and maybe even address future plans?

@llandsmeer
Copy link
Contributor Author

One-side of the detailed gap junction model from the paper:

image

@noraabiakar
Copy link
Contributor

I think that this can be modeled in Arbor using currently existing features:
We can create a custom cell morphology with one segment for the dendrite, and one segment for the neck of each gap-junction we want to model:

       _____ neck of gj_0
      | 
      |_____ neck of gj_1
|_____|    
 dend |_____ .....
      | 
      |_____ neck of gj_n

So, to model a cell with 10 gap junctions, we would create a cable-cell of 11 segments: 1 for the dendrite and 1 for each of the gap-jucntion CVs. We can use the cv_policy_every_segment discretization policy to guarantee that each segment has its own CV. (We can have different shapes for the morphology, here I modeled each gap junction as its own branch, but perhaps it is better to think of the cell as one long branch split into n CVs, one for each gap junction)

Then we can have a separate synapse mechanism and gap junction mechanism that communicate via ion channels: On each of the gap junction sites/CVs, add a synapse mechanism that writes the concentration of some ion (let's say the internal concentration of ca called cai) when spikes are received on that synapse. On the same site/CV of each of the synapses, add a gap-junction mechanism that reads cai and changes the conductance of the gap-junction according to some function of cai. Each of the synapses can be connected to the same pre-synaptic site or different ones depending on the use-case.

The concentrations of the ions are local to the CV they are on, and they do not change unless a mechanism explicitly changes them on that CV, so the gap-junction conductances can be modulated separately.

NMODL examples:

@noraabiakar
Copy link
Contributor

@llandsmeer Do you have any feedback on whether the suggestion worked?

@thorstenhater
Copy link
Contributor

Hey @llandsmeer

there was a long silence, any update?

@thorstenhater
Copy link
Contributor

@llandsmeer this seems stale since ~6mon, closing. Please reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants