pymaid.cn_table_from_connectors

pymaid.cn_table_from_connectors(x, remote_instance=None)[source]

Generate connectivity table from neurons’ connectors.

This function creates the connectivity table from scratch using just the neurons’ connectors. This function is able to deal with non-unique skeleton IDs (most other functions won’t). Use it e.g. when you split neurons into multiple fragments. The order of the input CatmaidNeuronList is preserved!

Parameters
Returns

DataFrame in which each row represents a neuron and the number of synapses with the query neurons:

  neuron_name  skeleton_id   relation    total  skid1  skid2 ...
0   name1         skid1      upstream    n_syn  n_syn  ...
1   name2         skid2     downstream   n_syn  n_syn  ..
2   name3         skid3      usptream    n_syn  n_syn  .
... ...

relation can be 'upstream' (incoming), 'downstream' (outgoing), 'attachment' or 'gapjunction' (gap junction).

Return type

pandas.DataFrame

See also

get_partners()

If you are working with “intact” neurons. Much faster!

filter_connectivity()

Use this function if you have only a single fragment per neuron (e.g. just the axon). Also way faster.

Examples

>>> # Fetch some neurons
>>> x = pymaid.get_neuron('annotation:PD2a1/b1')
>>> # Split into axon / dendrites
>>> x.reroot(x.soma)
>>> split = pymaid.split_axon_dendrite(x)
>>> # Regenerate cn_table
>>> cn_table = pymaid.cn_table_from_connectors(split)
>>> # Skeleton IDs are non-unique but column order = input order:
>>> # in this example the first occurrence is axon, the second dendrites
>>> cn_table.head()