Modelling Paper Lindietal

Hello, I am having some issues modelling this paper (Lindi, https://doi.org/10.1101/2023.03.07.531640) in Brian2
The paper has the following equations:
(see equations 4, 5, 6 on image eqs_4_5_6.png)

Where j denotes the j-th neuron in population beta (post synaptic spike population) and i denotes the i-th neuron in population alpha (pre synaptic spike population). In the paper there are 5 populations and there 8 possible synapses connections between populations.
populations: “D2”, “STN”, “Arky”, “Proto”, “FSI”
synapses: Proto-D2, STN-Proto, Proto-STN, Proto-Proto, Arky-Proto, D2-FSI, FSI-Proto, D2-Arky

I am having some issues modelling the delta function (for the synaptic spikes) from different Neurongroups in Brian2.

Hi. Do you really need to model the delta function? It only tells you that when there is a presynaptic spike (with a delay \Delta), I_{rj} will be incremented. So you can do this as usual in Brian with on_pre declaration and connection delays.

Thanks for your reply,

You do not necessary need a delta function just an instant increment at a certain timestip. Like the way you said
I implemented a solution like that. However than there is an issue because for each subgroup from neurons from group alpha (e.g. Proto) to neurons from group beta (e.g. FSI) you need a different tau_r_j^(beta_alpha) for each subgroup. Which is with which I am struggling.

I see. Why don’t you use multiple postsynaptic currents (each could have a different \tau_{rj}^{\beta\alpha}) and sum them on the postsynaptic neuron? I pasted an example from the documentation below. They have a nice explanation of what summed variables are and how to use them.

neurons = NeuronGroup(1, model='''dv/dt=(gtot-v)/(10*ms) : 1
                                  gtot = gtot1 + gtot2: 1
                                  gtot1 : 1
                                  gtot2 : 1''')
S1 = Synapses(neuron_input, neurons,
              model='''dg/dt=-a1*g+b1*x*(1-g) : 1
                       gtot1_post = g : 1  (summed)
                       dx/dt=-c1*x : 1
                       w : 1 # synaptic weight
                    ''', on_pre='x+=w')
S2 = Synapses(neuron_input, neurons,
              model='''dg/dt=-a2*g+b2*x*(1-g) : 1
                       gtot2_post = g : 1  (summed)
                       dx/dt=-c2*x : 1
                       w : 1 # synaptic weight
                    ''', on_pre='x+=w')
1 Like