GENESIS contains several software Components useful for neural simulations using models based on experimental data:
Each software component can have implementations in several programming languages: For example, there are Java and C based implementations of the Model Container.
Each software component has several resources: For example, source code, documentation, additional tools, etc. The script neurospaces_tools_propagate is used to propagate updates to source code of shared tools from source to target packages.
Each software component can have experimental features that are not part of an official distribution: We call this a branch of the source code (it is irrelevant if such a branch is present in a version control system or not).
The source code of a software component is normally put in the directory:
$HOME/neurospaces_project/<package-name>/source/ <programming language>/snapshots/<branch name>/
Each branch of development can have its own TODO.txt in the Emacs major mode to keep track of items that wait implementation and are directly related to the functionality offered by that software component.
$HOME/neurospaces_project/<package-name>/source/ <programming language>/snapshots/<branch name>/TODO.txt
Other resources are put in other directories: For example, documents that are not part of the distribution can be put under:
Archived patches are located in:
$HOME/neurospaces_project/<package-name>/source/ <programming language>/patches/
Create a directory ~/neurospaces_project in your home directory.
Create the directory ~/neurospaces_project/MTN to contain all monotone repositories accessible to the DeveloperPackage.
Every software component has its own subdirectory: For example, the Model Container directory (~/neurospaces_project/model-container):
The DeveloperPackage has built in support to automate the actions required for a developer installation. It also has many more tools for GENESIS software development. For more information, see the DeveloperPackage.
Configuration is located in the /etc/neurospaces/ directory.
Every software component or tool has its own subdirectory. For example, the morphology2ndf convertor, part of the Model Container, has its default configuration in /etc/neurospaces/morphology2ndf. Configuration files are specified in the YAML format, because scripting languages like Perl and Python have built in support to process YAML, and because YAML is more readable than XML.
Configuration is normally processed as follows:
The merging algorithm is defined in the Data-Utilities package, available from CPAN.
The goal of the configuration files in /etc/neurospaces/ is to provide G-3 with different interface profiles. Examples of such interface profiles are, in increasing order of complexity: