Add a tripartite connection rule for neuron-astrocyte connectivity#2955
Add a tripartite connection rule for neuron-astrocyte connectivity#2955heplesser merged 98 commits intonest:masterfrom
Conversation
- move the code that determines the starting astrocyte in the deterministic case to a separate function - update some comments
…irwise_bernoulli_astro.py - add a test for max_astro_per_target - improve comments
- add astrocyte_small_network.py and astrocyte_brunel.py to example list - add a subsection for astrocyte in the documentation "Connection Rules"
…nel.py Co-Authored-By: Jugoslava Acimovic <jugoslava.acimovic@tuni.fi> Co-Authored-By: Tiina Manninen <tiina.manninen@tuni.fi> Co-Authored-By: Jonas Stapmanns <j.stapmanns@fz-juelich.de> Co-Authored-By: Sacha van Albada <s.van.albada@fz-juelich.de>
|
This PR introduces a new concept, tripartite connectivity between neurons and astrocytes. The user interface included in the PR is specific to astrocytes. I propose a more generic API for tripartite connections and would like to discuss details here. The connection ruleIn tripartite connections, we have
Exactly how these are connected is up to the specific connection rule. The first connection rule propose here, works as follows:
The pool from 3.i has the following properties:
I suggest to call this rule API proposalI suggest here two variants. One maintains the single Synapse specificationsFor tripartite connections, we need synapse specifications for
This is easily achieved by allowing a dictionary of connection specifications, which in turn can contain anything that is legal as a Extending
|
heplesser
left a comment
There was a problem hiding this comment.
@HanjiaJiang This looks very good. I just have two suggestions for the documentation, especially the figure.
heplesser
left a comment
There was a problem hiding this comment.
@HanjiaJiang Thanks a lot, approved!
|
@jhnnsnk Ping :). |
jessica-mitchell
left a comment
There was a problem hiding this comment.
@HanjiaJiang Looks good, I found a couple of very minor typos, but I approve. Thanks for all your work. As for the image I think it's fine using the image directive. The figure directive is useful for referencing, but I don't think it's necessary.
Co-authored-by: jessica-mitchell <mitchell20j@gmail.com>
|
Thanks a lot. I have merged Jessica's corrections. I will wait and see if Johanna has any suggestions/corrections. :) |
Co-authored-by: Johanna Senk <jhnnsnk@users.noreply.github.com>
Co-authored-by: Johanna Senk <jhnnsnk@users.noreply.github.com>
|
@jhnnsnk Could you re-review? |
jhnnsnk
left a comment
There was a problem hiding this comment.
Thanks a lot @HanjiaJiang for having addressed all my comments. Looks very good! 👍
|
Thank you guys! Finally concluded this PR :). |
We implemented a new connection rule, currently named "pairwise_bernoulli_astro", for the creation of tripartite connectivity in neuron-astrocyte networks. This rule is adapted from the "symmetric_pairwise_bernoulli" rule.
The conn_spec parameter "p" determines connection probability between neurons as in the "symmetric_pairwise_bernoulli" rule. Three new conn_spec parameters are added: "p_syn_astro" determines the probability of each created neuron-neuron connection to be paired with an astrocyte, "max_astro_per_target" determines the maximal number of astrocytes each target neuron can be connected with, and "astro_pool_by_index" determines whether the astrocytes are paired with neurons randomly or by index.
The new syn_spec parameters "weight_pre2post", "weight_pre2astro", "weight_astro2post", "delay_pre2post", "delay_pre2astro", and "delay_astro2post" determine the weights and delays in the tripartite connectivity.
The naming and design in this new rule are still open to discussion and changes. We will continue to improve the code during the review process.