hnn-core
hnn-core copied to clipboard
refine net.connectivity and pick_connection
A few recommendations/discussion items were raised in #369 that need to be address:
- [ ] Should
pick_connection()
be a standalone function (current) or a method ofNetwork
class? Alternatively, we could turn what is a currently a list of_Connectivity
objects into its own class and assignpick_connectivity()
as one of its methods. In either case, the docstring needs to be updated accordingly. - [ ] Rename
pick_connection()
topick_connections()
- [ ] Big picture question: how should we be structuring network connectivity +
pick_connection()
so that 1) they can accommodate other network types whose underlying assumptions deviate from the current hnn model without blowing up in size and 2) we don't fall into the trap of creating a network building tool.
Instead of creating a new issue, I think this fits here. @jasmainak raised in #416 that when probability
< 1.0, the random seed is the only thing ensuring agreement between connections that should target the same gids (i.e. a drive with both AMPA and NMDA receptors). The critical thing to understand is that while adding a drive allows for NMDA and AMPA receptors to be defined simultaneously, these are currently stored as separate elements in net.connectivity
.
One option is to have the elements of net.connectivity
be lists by default such that multiple receptor classes can be defined while explicitly sharing the same cell-cell connectivity pattern (net.connectivity['gid_pairs']
)