Connectivity sets¶
The ConnectivitySet represents the
ensemble of all connections established in your network.
It is constructed from the bsb.storage.Storage and can be used to retrieve
information about pre- and post-cell types, as well as the connections between them.
Retrieving a ConnectivitySet¶
It is possible to list all the ConnectivitySet stored in your scaffold, here,
loaded from the network file "my_network.hdf5":
from bsb import from_storage
scaffold = from_storage("my_network.hdf5")
cs_list = scaffold.get_connectivity_sets()
for cs in cs_list:
print (f"ConnectivitySet {cs.tag} has {len(cs)} connections")
Alternatively, is possible to load the set by its name:
cs = scaffold.get_connectivity_set("my_CS")
The cell type information is accessible through the attributes pre_type and post_type:
# Get the pre-/post-synaptic cell types
ct_pre = cs.pre_type
ct_pos = cs.pos_type
# Get the name of the pre-/post-synaptic cell types
print(f"My pre-type is {cs.pre_type_name}")
print(f"My post-type is {cs.post_type_name}")
Connections¶
A list of all the cell pairs for every ConnectivitySet can be loaded with the
method bsb.storage.interfaces.ConnectivitySet.load_connections().
for (src_locs, dest_locs) in cs.load_connections():
print(f"Cell id: {src_locs[0]} connects to cell {dest_locs[0]}")
Here, src_locs and dest_locs contains for each pair:
the cell id
the cell morphology branch id
the cell morphology branch point id
Note
If the pre-/post-synaptic neuron does not have a morphology then
their branch and point id in the connection is -1