:orphan: 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" }, ... ] }