Cells#

The basic unit of abstraction in an Arbor model is a cell. A cell represents the smallest model that can be simulated. Cells interact with each other via spike exchange and gap junctions.

Identifiers used to refer to cells and objects like synapses on cells.#

Identifier

Type

Description

gid#

integral

The unique global identifier of a cell.

tag#

string

The label of a group of items in a cell-local collection. For example the synapses “syns_0” on a cell.

selection_policy#

enum

The policy for selecting a single item out of a group identified by its label.

local_label#

tuple (tag, selection_policy)

The local identification of an cell-local item from a cell-local collection on an unspecified cell.

global_label#

tuple (gid, local_lable)

The global identification of a cell-local item from a cell-local collection on the cell identified by gid.

Cell interactions via connections and gap junctions occur between source, target and gap junction site locations on a cell. Connections are formed from sources to targets. Gap junctions are formed between two gap junction sites. An example of a source on a cable cell is a threshold detector; an example of a target on a cable cell is a synapse.

Sources, targets and gap junction sites are placed on sets of one or more locations on a cell. The number of locations in each set (and hence the number of sources/targets/gap junctions), depends on the cell description. For example, a user may choose to place a synapse at the end of every branch of a cell: the number of synapses in this case depends on the underlying morphology.

A set of one or more items of the same type (source/target/gap junction) are grouped under a label which can be when used when forming connections in a network. However, connections are one-to-one, so a selection_policy is needed to select an item of the group, for both ends of a connection or gap junction.

The combination of tag and selection_policy forms a local_label. When the global identifier of the cell gid is added, a global_label is formed, capable of globally identifying a source, target or gap junction site in the network. These global_labels are used to form connections and gap junctions in the recipe.

The gid of a cell is also used to determine its cell kind and description in the recipe.

Cell kind#

The 4 types of cell supported by Arbor#

Cell Kind

Description

Cable cell

Cell with morphology and user configurable dynamics.

LIF cell

Leaky integrate-and-fire neuron.

Spiking cell

Proxy cell that generates spikes.

Benchmark cell

Proxy cell used for benchmarking (developer use only).

  1. Cable Cells

    Cable cells are morphologically-detailed cells. They can be coupled to other cells via the following mechanisms:

    1. Spike exchange over a connection with fixed latency. Cable cells can receive spikes from any kind of cell, and can be a source of spikes to cells that have target sites (i.e. cable and lif cells).

    2. Direct electrical coupling between two cable cells via gap junctions.

  1. LIF Cells

    LIF cells are single-compartment leaky integrate and fire neurons. They are typically used to simulate point-neuron networks.

    LIF cells can only interact with other cells via spike exchange over a connection where they can receive spikes from any kind of cell, and can be a source of spikes to cells that have target sites (i.e. cable and lif cells).

  1. Spiking Cells

    Spiking cells act as spike sources from user-specified values inserted via a schedule description. They are typically used as stimuli in a network of more complex cells.

    Spiking Cells can only interact with other cells via spike exchange over a connection where they be a source of spikes to cells that have target sites (i.e. cable and lif cells), but they can not receive spikes.

  1. Benchmark Cells

    Benchmark cells are proxy cells used for benchmarking, and used by developers to benchmark the spike exchange and event delivery infrastructure.

Cell description#

The description of a cell is referred to in the recipe, and elsewhere in the docs. It details everything needed to build a cell. The degree of detail differs according to the cell kind.

  1. Cable Cells

    See Cable cells.

  2. LIF Cells

    See LIF cells.

  3. Spiking cells

    See Spike source cells.

  4. Benchmark Cells

    See Benchmark cells.

API#