connectome_manipulator.connectome_manipulation.manipulation.syn_removal.SynapseRemoval

Connectome manipulation class for removing synapses:

Removes a percentage of randomly selected synapses according to certain cell selection criteria, optionally keeping connections (i.e., at least 1 syn/conn) and rescaling g_syns to keep sum of g_syns per connection constant (unless there is no synapse per connection left). The manipulation can be applied through the apply() method.

connectome_manipulator.connectome_manipulation.manipulation.syn_removal.SynapseRemoval.apply(self, split_ids, sel_src=None, sel_dest=None, amount_pct=100.0, keep_conns=False, rescale_gsyn=False, **kwargs)

Applies a removal of synapses according to certain cell selection criteria.

Parameters:
  • split_ids (list-like) – List of neuron IDs that are part of the current data split; will be automatically provided by the manipulator framework

  • sel_src (str/list-like/dict) – Source (pre-synaptic) neuron selection

  • sel_dest (str/list-like/dict) – Target (post-synaptic) neuron selection

  • amount_pct (float) – Percentage of randomly sampled synapses to be removed

  • keep_conns (bool) – If selected, won’t remove entire connections but will keep (at least) one synapse per connection

  • rescale_gsyn (bool) – If selected, rescales g_syn (synaptic “conductance” property) so that the sum of g_syns per connections before and after the manipulation is kept the same (unless the entire connection has been removed)

  • **kwargs – Additional keyword arguments - Not used

Note

Input/output edges (synapse) tables are accessed through the writer object:

  • Loading input edges: edges_table = self.writer.to_pandas()

  • Writing output edges: self.writer.from_pandas(edges_table_manip)