File formats

Format

Content

Writer / reader

Spec

Project JSON (+ .npz sidecar)

geometry, fields, schedule, genome, plan, plugins, neuron model

neurogenesis.project.Project

Project Format (Schema Version 1.0.0)

Network JSON

neurons and synapses of an SNNNetwork

net.save_json, SNNNetwork.load_json

readable; for small and medium networks

NGB1

binary network: int32 indices, float64 positions, optional extension columns

neurogenesis.bridge.ngb

Bridge protocol, version 1.0 (section 6)

Module JSON (neurogenesis-module/1)

plan, genome, interface, validation, provenance

Module.save, Module.load

Tutorial 8 — Modules: share and compose circuits

Genome JSON

genome with "src->dst" projection keys

neurogenesis.genome.to_json, from_json

Core concepts

CSR arrays

row_ptr, col_idx, weights, delays

net.to_csr()

kernels

SONATA

nodes / edges HDF5, type tables, circuit config, for BMTK, NEST, NEURON, libsonata

neurogenesis.interop (export_network(net, "sonata", dir), import_network)

Running grown networks in other simulators

SWC

neuron morphologies (skeletons)

neurogenesis.arbors.read_swc, write_swc; connectome skeletons with simplification: neurogenesis.data.skeletons

Stage, geometry and field reference (arbors)

Exchanging networks

from neurogenesis.spiking.network import SNNNetwork
net = SNNNetwork.load_json("network.json")
row_ptr, col_idx, weights, delays = net.to_csr()          # NumPy arrays (presynaptic rows)

The CSR arrays can be loaded into SciPy (scipy.sparse.csr_matrix((weights, col_idx, row_ptr))), NetworkX or any graph library.

PLACEHOLDER

Further formats (roadmap phase J): NIR, PyNN scripts, NeuroML 2 / LEMS (Gleeson et al. 2010), gene-expression atlas grids as fields, NWB / neo recordings as fitting targets.