Closed llandsmeer closed 2 years ago
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?
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
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?
One-side of the detailed gap junction model from the paper:
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:
@llandsmeer Do you have any feedback on whether the suggestion worked?
Hey @llandsmeer
there was a long silence, any update?
@llandsmeer this seems stale since ~6mon, closing. Please reopen if needed.
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.
This might actually be solved by PR #1682 but I don't see how yet