Skip to content

Latest commit

 

History

History
20 lines (17 loc) · 5.97 KB

File metadata and controls

20 lines (17 loc) · 5.97 KB

Manipulations overview

Manipulation operations that can be applied to a connectome. The circuit neurons (nodes) are always unchanged!

File Description Example
/null_manipulation.py Null manipulation
This is just a dummy manipulation function performing no manipulation at all. This function is intended as a control condition to run the manipulation pipeline without actually manipulating the connectome.
/conn_extraction.py Connection extraction
Extracts the connectome of a given cell target (i.e., a named group of neurons, a.k.a. node set), keeping only connections among these target cells. Cell targets intrinsic to a circuit or provided through an external SONATA node sets file containing lists of GIDs (.json) are supported. If no cell target is specified, an empty connectome file is returned. The nodes (cell) table is always kept unchanged.
Connection extraction
/conn_removal.py Connection removal
Removes a certain percentage of randomly selected connections (i.e., all synapses belonging to a connection) between selected groups of neurons (layers, m-types, ...), optionally removing only connections within a certain range of #synapses/connection and/or within a connection mask (sparse adjacency matrix).
Connection removal
/conn_rewiring.py Connection rewiring
Wiring or rewiring of connections between pairs of neurons based on a given connection probability model (which canoptionally be scaled by a global probability scaling factor to fine-tune the resulting number of connections). Existing connections can be preserved, or reused in new connections (as in (a)). Otherwise, existing synapses (and connections) may be deleted (as in (c)) or new ones created by either reusing existing positions (as in (b)), randomly generating new positions on the post-synaptic dendrites, or loading exising positions externally. Physiological synapse properties can be sampled from existing synapses or drawn from model distributions. Numbers of synapses per connection can be sampled from existing connections, drawn from model distributions, or provided by a synaptome matrix.
Optionally: Preserving indegrees, only adding connections, only deleting connections.
Connection rewiring
Algorithm: For each post-synaptic target neuron...

Model-based connection rewiring
Synapse position generation modes:
reuse ... Sample from all existing synapse positions on post-synaptic dendrite (i.e., from blue & grey synapses in original)
reuse_strict ... Sample from existing synapse positions, restricted to incoming source selection (i.e., only from blue synapses in original)
random ... Random placement of synapses on post-synaptic dendrite
external (not shown) ... Loading external synapse positions (without consistency check!!)
Synapse position modes
/conn_wiring.py Connectome wiring
Special case of connectome rewiring, which wires an empty connectome from scratch, or simply adds connections to an existing connectome, based on given connection probability models for each pathway.

ℹ️ This is a highly optimized operation for wiring huge connectomes by pathways (i.e., for each pair of pre-/post-synaptic hemisphere/region/m-type). However, only specific properties like source/target node, afferent synapse positions, synapse type (INH: 0, EXC: 100), and delay (optional) will be generated. For general purpose wiring, please use the "Connectome rewiring" operation!
Connectome wiring
/syn_removal.py Synapse removal
Removes a certain percentage of synapses between selected groups of neurons (layers, m-types, ...), resulting in (a) reduced #synapses/connection or (b) removed connections (i.e., all synapses of a connection removed).
Synapse removal
Optionally:
Keeping connections (i.e., at least 1 synapse/connection kept).
Synapse removal, keeping connections
Optionally:
Re-scaling conductances G* of remaining synapses to keep sum of conductances per connection constant (unless whole connection is removed).
Synapse removal, re-scaling conductances
/syn_subsampling.py Synapse subsampling
Random subsampling of synapses, keeping a certain percentage of randomly selected synapses. This is a special case of "Synapse removal", which is more efficient but does not have any selection options supported.
/syn_prop_alteration.py Synapse property alteration
Alters values of certain synapse properties (e.g., conductance, delay, ...) of a certain percentage of synapses between selected groups of neurons (layers, m-types, ...) by setting them to a new absolute value, relative scaling, offsetting, randomizing, ...
It can also be used to (carefully!) manipulate synapse locations on the dendrite.
Example: Afferent section pos/ID set to 0 (= soma)
Synapse property alteration

Copyright (c) 2024 Blue Brain Project/EPFL