Skip to content

SONATA for Arbor

noraabiakar edited this page Feb 14, 2019 · 5 revisions

This page simplifies and summarizes the SONATA Developer guide. It lists the necessary elements to build a complete description of a simulation network.

Morphologies

Morphologies are described using SWC format using the following structure:

Column Interpretaion
1 ID (Sample Number)
2 Type
3 X Position (um)
4 Y Position (um)
5 Z Position (um)
6 Radius (um)
7 Parent ID (Parent Sample Number)

Types are mapped as follows: 1 - soma 2 - axon 3 - basal dendrite 4 - apical dendrite.
IDs must start at 1 and be contiguous
Other rules are listed in the Developer's Guide.

Ion channels and synapse models

For NEURON, nmod files are used. Potentially the same can be specified for Arbor.

Biophysical neuron channel distribution and composition

Represents the parameterization and distribution of ion channels and passive properties of neurons**.
Supported file formats:

  1. XML file using a NeuroML "biophysicalProperties" and “concentrationModel”. (example).
  2. JSON file using Allen Cell Types Data Base schema (example).
  3. HOC template (example).

**AFAICT, the main point of this file is to set the parameters specified in the nmod files.

Network

Networks are represented as nodes and edges.

Nodes

2 files are needed: A CSV file that describes node types and an HDF5 file that lists all nodes and their type and properties.

1. CSV file: node types

Has to contain at least the following columns:

  • node_type_id: unique node type id per node population (refer to developer guide for more info on node populations)
  • pop_name: to identify the node population

Other columns that must either be included in the CSV file, or per node in the HDF5 file

  • model_type: one of biophysical, virtual, single_compartment, and point_neuron
  • model_template: AFAICT refers to the Ion channels and synapse models file discussed above.
  • dynamics_params: AFAICT refers to the Biophysical neuron channel distribution and composition file discussed above.
  • morphology: refers to the morphology file discussed above.

Other defined columns that don't need to be added can be found in the Developer Guide. Extra undefined columns can be added for convenience.

2. HDF5 file: full list of nodes

Structured as follows:

nodes  
|_______ population0
|                  |_________ node_group_id
|                  |_________ node_group_index  
|                  |_________ node_id
|                  |_________ node_type_id
|                  |_________ 0
|                  |          |_________ dynamics_params
|                  |          |_________ morphology
|                  |          |_________ etc
|                  |_________ 1
|                  |          |_________ model_template
|                  |_________ 2
|                  |          |_________ ...
|                  |_________ ...
|                  |_________ ...
|                  |_________ _last group id_
|                             |_________ ...
|______ population1  
|                  |_________ ...
|______ population2  
|                  |_________ ...
|______ etc.  
  • node_group_id : Assigns each node to a specific group of nodes
  • node_group_index : Indicates the index within a node_group that contains all the attributes for a particular node under consideration.
  • node_id : Assigns a key to uniquely identify and lookup a node within a population. It is primarily used to specify the source and target of an edge (connection)
  • node_type_id : refers to node_type_id from the CSV file previously discussed.