GENESIS, now referred to as GENESIS 3.0 (G3), has recently been reconfigured to adhere to the software design requirements specified by the Computational Biology Initiative (CBI) software architecture . This highly modular approach to the development of simulator software leads to independent stand-alone components that integrate on a just-in-time basis to form a federated software platform. Different modules contribute functionality to the workflow of model development, model exploration and analysis, model simulation, and (ultimately) data analysis and model publication. Here we introduce the G3 workflow and through it present examples of how we use G3 to define and examine single neuron models, run simulations, and extract results using modern and backwardly compatible interfaces.
The GENESIS workflow
The G3 simulation platform has been designed around a workflow that includes four basic steps. (1) Create/import, explore, and save model. Simple models can be created directly within a G3 shell by entering commands. More complex models can be imported into G3 from either GENESIS model libraries or from other model libraries. The Neurospaces Studio can then be used to explore and check the model. (2) Define simulation constants, inputs, and outputs: For example, the Project Browser can be used to configure the simulation update time step or the model parameter values specific to a given simulation, the stimulus parameters for a given simulation run or 'experiment', and/or variables to be stored for subsequent analysis. (3) Check, reset, run simulation, and save model state: Flush output to raw result storage for subsequent data analysis. The simulation state can be saved at any simulation time step to allow it to be imported into a subsequent GENESIS session for further development and exploration. (4) Check simulation output: Check the validity of simulation output and determine whether it exists in the correct locations.
GENESIS user interfaces
To facilitate the G3 workflow we have developed several different user interfaces that include a Python enabled shell, a Script Language Interface that provides backward compatibility with previous versions of GENESIS, and two native G3 components, the Neurospaces Studio and Project Browser. As the various components of G3 are independent and stand alone modules, they can also be called directly from the command line in a terminal window, or the G3 console window provided with the Windows version.
One novel feature of the G3 architecture is, for example, the separation of stimulus protocols from a given model cell. This allows both to be combined dynamically at run time for a particular simulation and simplifies the generation of batch files for multiple simulations. The isolation of a cell model from a given simulation configuration also enables convenient exploration and quantification of properties of the biological model. For example, no special functions or scripting are required to quantify properties of a model cell such as total or partial volumes or surface areas, the number of dendritic branches or branch points per dendritic tip, or the average somatopetal to dendritic tip distance. With G3, the model container can be queried directly by simple commands and command line options.
We will use: (1) an ongoing study that compares the dendritic morphology of Purkinje neurons within and between species and (2) a recently completed study of the information transfer by a cerebellar Purkinje neuron, to demonstrate the power of these and other novel features of a CBI enabled G3.
BMC Neurosci 2008, 9:P88. BioMed Central Full Text