GENESIS: Documentation

Related Documentation:

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

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.

Overview of a NDF File

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.

    #!/usr/local/bin/neurospacesparse  
    //-*- NEUROSPACES -*-  
 
    // default location for file comments  
 
    NEUROSPACES NDF  
 
    IMPORT  
        FILE <namespace> "<directorypath>/<filename.ndf>"  
         . . . <other files may be imported as required>  
    END IMPORT  
 
    PRIVATE_MODELS  
        ALIAS <namespace>::/<source label> <target label> END ALIAS  
            . . . <other aliases may be defined as required>  
    END PRIVATE_MODELS  
 
    PUBLIC_MODELS  
        CELL <morphology name>  
            SEGMENT_GROUP segments  
                . . . <morphological details>  
            END SEGMENT_GROUP  
        END CELL  
    END PUBLIC_MODELS

Header Section

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:

    #!/usr/local/bin/neurospacesparse

This is followed by two declarations on separate lines.

    //-*- NEUROSPACES -*-  
 
    NEUROSPACES NDF  
    

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.

Import Section

This section (lines 8–11) uses the FILE keyword to declare dependencies on other NDF files, e.g.

    IMPORT  
        FILE <namespace> "<path>/<fname>.ndf"  
    END IMPORT

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.

Private Model Section

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.

Public Model Section

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.

Summary

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.