Configuration file#
The configuration file defines the files describing the network, its input as well as run-time parameters. For convenience it is grouped into the following categories:
Manifest#
Includes custom path variables that may be used to build full paths to files. The special variable “${configdir}” in the “$BASE_DIR” stands for the directory where the configuration file is located. Users may specify any valid directory for “$BASE_DIR” as well.
"manifest": { "$BASE_DIR": "${configdir}", "$OUTPUT_DIR": "$BASE_DIR/output", "$INPUT_DIR": "$BASE_DIR/../../NWB_files", "$NETWORK_DIR": "$BASE_DIR/network", "$COMPONENT_DIR":"$BASE_DIR/../components" },
Run#
Includes run-time parameters
"run": { "tstop":3000.0, # run time (ms) "dt": 0.1, # time step (ms) "dL": 20, # length of compartments (i.e., segments) (um) "overwrite_output_dir": true, # if True: will overwrite the output directory; if False: will issue an error that directory exists "spike_threshold": -15, # will record a spike when membrane voltage (mV) is exceeded "nsteps_block":5000, # will write to disk data after this many steps "save_cell_vars": ["v", "cai"], # save somatic variables in the list "calc_ecp": true # calculate ExtraCellular Potential (ECP): True or False },
Conditions#
Includes information about the initial conditions:
"conditions": { "celsius": 34.0, # temperature (C) "v_init": -80 # initial membrane voltage (mV) },
Node_id selections#
Defines selections of cells. For example, this way can specify the cells (node_ids) for which variables will be saved
"node_id_selections": { "save_cell_vars": [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] },
Input#
Defines spike_trains for the external inputs
"input": [ { "type": "external_spikes", "format": "nwb", "file": "$INPUT_DIR/lgn_spikes.nwb", "source_nodes": "LGN", "trial": "trial_0" }, ... ]
Output#
Defines file names for the output
"output": { "log_file": "$OUTPUT_DIR/log.txt", # log file "spikes_ascii_file": "$OUTPUT_DIR/spikes.txt", # file for spikes in ascii format "spikes_hdf5_file": "$OUTPUT_DIR/spikes.h5", # file for spikes in HDF5 format "cell_vars_dir": "$OUTPUT_DIR/cellvars", # folder to save variables from individual cells "ecp_file": "$OUTPUT_DIR/ecp.h5", # file to save extracellular potential "output_dir": "$OUTPUT_DIR" # output directory },
Components#
The “components” grouping includes paths to directories containing building blocks of a network model
"components": { "morphologies_dir": "$COMPONENT_DIR/biophysical/morphology", # morphologies "synaptic_models_dir": "$COMPONENT_DIR/synaptic_models", # synaptic models "mechanisms_dir": "$COMPONENT_DIR/mechanisms", # NEURON mechanisms "biophysical_neuron_models_dir":"$COMPONENT_DIR/biophysical/electrophysiology", # parameters of biophysical models "point_neuron_models_dir": "$COMPONENT_DIR/intfire", # parameters of point neuron models "templates_dir": "$COMPONENT_DIR/hoc_templates" # NEURON HOC templates },
Recording Extracellular Electrode#
Includes parameters defining extracellular electrodes
"recXelectrode": { "positions": "$COMPONENT_DIR/recXelectrodes/linear_electrode.csv" },
Networks#
Includes files defining nodes and edges:
"networks": {
"nodes": [
{
"name": "V1",
"nodes_file": "$NETWORK_DIR/v1_nodes.h5",
"node_types_file": "$NETWORK_DIR/v1_node_types.csv"
},
...
],
"edges": [
{
"target": "V1",
"source": "V1",
"edges_file": "$NETWORK_DIR/v1_v1_edges.h5",
"edge_types_file": "$NETWORK_DIR/v1_v1_edge_types.csv"
},
...
]
}