Physical Processes and Model Variables
The NDF File Format and Procedural Model Descriptions
The Model-container References and Notation
Projections and Connections
The Neurospaces Description Format or NDF file format is a declarative ASCII text file format indicated by the .ndf file name extension. It has been developed to integrate and extend the previous GENESIS .p and .g declarative file formats. NDF files are purely declarative in nature such that they may be stored in a model database. In a NDF file, a model exists as a hierarchy of tokens, each representing a biological component. Each component is a physical process and can have parameters and shared variables.
A NDF file contains four sections. These sections are not necessarily filled, but they must be present in the given order. A NDF file has the following general form which we describe in more detail below.
//-*- NEUROSPACES -*-
// default location for file comments
FILE <namespace> "<directorypath>/<filename.ndf>"
. . . <other files may be imported as required>
ALIAS <namespace>::/<source label> <target label> END ALIAS
. . . <other aliases may be defined as required>
CELL <morphology name>
. . . <morphological details>
The header, which runs from lines 1–6 in the previous example, must always be present and must always start with the interpreter sequence giving the system specific absolute path to the NMC executable:
This is followed by two declarations on separate lines.
//-*- NEUROSPACES -*-
The first (optional) declaration (line 2) flags an appropriate major mode and keyword highlighting for Emacs and XEmacs editors1 , the second (line 6) identifies the type of file, here a NDF file.
This section (lines 8–11) uses the FILE keyword to declare dependencies on other NDF files, e.g.
FILE <namespace> "<path>/<fname>.ndf"
To simplify model development, GENESIS allows construction of NDF files that define different components of a model. These files may be thought of as library files. To expedite model development, all NDF files can be shared by being imported into other NDF files.
These are models (lines 13–16) that are private to the NDF file that contains them. They may depend on imported public models of other files or be hard coded.
These models (lines 18–24) are visible to the NDF files into which they are imported. Typically, for example, a neuron morphology would be located here. Public models may depend on private models or be hard coded.
One important feature of a NDF file is that it can contain either a single model or a library of models that represent different levels of neuronal morphology and/or electrophysiological function. This supports the modular construction of a model as a NDF file can depend on other NDF files, i.e. the models declared in a NDF file can be “private” to that file, or “public” and available to other NDF files.
As an example, if a first file is dependent on a second file, only the public files of the second file can be reused to build more complicated models in the first file. This mechanism prevents the use of certain (private) components, while allowing reuse of other (public) components.
For more information about the syntax used to define models, take a look at the document describing the Shell Tokens.