Ring attractor model

Hey everyone,

I’ve just started using brian, and I’m loving it so far, thanks for developing this great software (and documenting it so well).

I’m trying to implement a network of two populations which behaves as a ring attractor as done in this and this paper.

I have implemented a network with two populations and synapses connecting them etc, but currently I have simple LIF neurons, instead of “conductance-based synaptic transmission” ones they have.

dv/dt = (ta(t, i) - v) / tau

is the equation I’m currently using (ta is a TimedArray of inputs), but in the papers they have;

\begin{aligned} C_{m} \dot{V}_{i}(t) &=-I_{i}^{L}(t)-I_{i}^{\mathrm{Ext}}(t)-I_{i}^{\mathrm{I}}(t)-I_{i}^{\mathrm{E}}(t) \\ I_{i}^{P} &=g_{P} s_{i}^{P}\left(V_{i}(t), t\right)\left(V_{i}(t)-V_{P}\right) \end{aligned}

with P \in \{L, Ext, E, I \} and L=leaky, Ext=external inputs population, E/I=excitatory/inhibitory, g^P are gating variables, s^P are synaptic scale variables and V_P are reverse potentials.

I could implement this myself, but I was hoping someone had similar models that I could use as a starting point to save time.
Also, if anyone has an example of a ring attractor network implemented in brian2 that would be awesome and I’d love to have a look at it.


Hi Federico. I replied on gitter before reading your post here, but I think the second paper is the one that is used as an exercise in the Neuronal Dynamics book by Gerstner et al.: 12. Spatial Working Memory (Compte et. al.) — Neuronaldynamics Exercises 0.3.7.dev0+gb16ea71.d20210104 documentation The actual Brian code is a bit buried in code specific to their teaching package neurodynex that they wrap around it, but it still looks fairly useable on its own: neurodynex3/wm_model.py at master · apester/neurodynex3 · GitHub A simplified version of this code would be a welcomed contribution to our docs :slight_smile: !

That’s great, super useful. Thank you very much, I will dig into it and will get back if I get a minimal working example.