Previous Next Table of Contents

1. Introduction

This is the reference manual for GENESIS version 2.2. As there will be continuing updates and additions to the manual, please be sure that you have the most recent version. Information about the latest version of GENESIS and its documentation may be found on the GENESIS WWW site or the GENESIS anonymous ftp site.

The help files in the on-line version (in the genesis/Docs directory) may be viewed with the GENESIS command ``help topic | more'', where ``topic'' is the name of a file with the extension ``.doc''. As they are ASCII files, they may also be printed. In order to view the documentation in these help files in the order in which it is presented in the printed manual, type ``help CONTENTS | more'', or print out the file ``CONTENTS.doc''.

Beginning with GENESIS 2.0.2, we have also incorporated these files into a hypertext documentation system, which may be viewed with a web browser, such as Netscape. The HTML hypertext documentation for GENESIS is in a separate directory, genesis/Hyperdoc. The main file is ``Manual.html'', and there is a README file giving further information.

Some of the new features in GENESIS 2 are not yet documented here. You may find a brief summary of these and the significant differences from previous versions of GENESIS under Changes. If there is no documentation for a particular GENESIS command, give the name of the command followed by ``-usage'' from within GENESIS. Likewise, you may obtain a brief description of a GENESIS object by typing ``showobject'' followed by the name of the object.

The GENESIS Reference Manual is primarily a summary of the syntax used by the GENESIS Script Language Interpreter, the commands which it recognizes, and of the main GENESIS ``objects'' which are available for constructing simulations. However, it will not tell you very much about the use of GENESIS for the construction of neural simulations. For a ``Users guide'' to GENESIS, we recommend ``The Book of GENESIS'', by James M. Bower and David Beeman (published by TELOS/Springer-Verlag).

Part II of this book provides a detailed tutorial guide to the process of constructing neural simulations with GENESIS. These tutorials progress from the construction of simple cell models to detailed cell and network models with a sophisticated XODUS interface. For further information, see The Book of GENESIS.

1.1 Getting Started with GENESIS

The GENESIS/XODUS documentation (Revelations) is contained within the genesis/Doc and genesis/man directories. The former contains the main GENESIS documentation, and the latter contains UNIX man pages for external utilities (such as convert), which are used with GENESIS. The README file in the Doc directory explains the use of the on-line help facility and the printing of the GENESIS Reference Manual.

The genesis/Scripts directory has a README file which describes the the database of simulations and its library of channels and other simulation components (Numbers).

In addition to containing the C source code for GENESIS, the genesis/src directory contains a README file and a commented Makefile. These files (Leviticus) give detailed instructions for the compilation and installation of GENESIS. They also suggest ways to avoid common mistakes when installing GENESIS. (For example, an incorrect pathname to a system library is an abomination to the compiler.) We still haven't thought of a good excuse to call something Deuteronomy, but are working on it.

After installing GENESIS, start the simulator with the command ``genesis''. (In some cases, you may wish to use one of the command options described in the documentation for genesis.) After experimenting with the on-line help, your first step should be to try out one of the demonstrations or tutorials in the Scripts directory, following the directions in its README file. You may create your own simulations by modifying these simulation scripts.

1.2 Credits and Copyright Notice

The GENESIS Reference Manual and other documentation were written by Dave Beeman, Upi Bhalla, Dave Bilitch, Jim Bower, Kevin Cunningham, Erik De Schutter, John Uhley, and Matt Wilson, with contributions from Dieter Jaeger, Venkat Jagadish, Maurice Lee, Reinoud Maex, Mark Nelson, Alex Protopapas, Mike Vanier, and many others.

GENESIS and XODUS are the result of the work of many users and developers. The principal contributors are:

GENESIS development:
Upinder S. Bhalla (bhalla@ncbs.res.in)
David H. Bilitch (dhb@bbb.caltech.edu)
Erik De Schutter (erik@bbf.uia.ac.be)
Mike Hucka (mhucka@bbb.caltech.edu)
Venkat Jagadish (venkat@bbb.caltech.edu)
Mark E. Nelson (nelson@vernal.npa.uiuc.edu)
John D. Uhley
Mike Vanier (mvanier@bbb.caltech.edu)
Matthew A. Wilson
under the direction of:
James M. Bower (jbower@bbb.caltech.edu)
XODUS graphical interface:
Upinder S. Bhalla (bhalla@ncbs.res.in)
Venkat Jagadish (venkat@bbb.caltech.edu)
Jason Leigh (jleigh@eecs.uic.edu)
Maneesh Sahani
Parallel library development:
Upinder S. Bhalla (bhalla@ncbs.res.in)
Erik De Schutter (erik@bbf.uia.ac.be)
Nigel Goddard (Nigel.Goddard@ed.ac.uk)
Greg Hood (ghood@psc.edu)
Development work for Intel i860-based Parallel Machines:
Michael D. Speight
X11R4 upgrade modifications:
Randall D. Smith (randy@ai.mit.edu)
X11R5 and X11R6 upgrade modifications:
Rich Murphey (rich@freebsd.org)
Diana K. Smetters (dks@ai.mit.edu)
Libraries:
Upinder S. Bhalla (bhalla@ncbs.res.in)
Erik De Schutter (erik@bbf.uia.ac.be)
Dieter Jaeger (djaeger@emory.edu)
Venkat Jagadish (venkat@bbb.caltech.edu)
Mark E. Nelson (nelson@vernal.npa.uiuc.edu)
Adam Strassberg
Matt Wilson
Numerical methods enhancements:
Upinder S. Bhalla (bhalla@ncbs.res.in)
Erik De Schutter (erik@bbf.uia.ac.be)
Bruce P. Graham (bruce@cns.ed.ac.uk)
Synapse and Parameter Search Library development:
Mike Vanier (mvanier@bbb.caltech.edu)
Script Demos and Tutorials:
Dave Beeman (dbeeman@dogstar.colorado.edu)
Upinder S. Bhalla (bhalla@ncbs.res.in)
Sharon Crook (crook@nervana.montana.edu)
Mark E. Nelson (nelson@vernal.npa.uiuc.edu)
Alex Protopapas (alexp@bbb.caltech.edu)
Mike Vanier (mvanier@bbb.caltech.edu)
Matt Wilson

Copyright Notice

Copyright 1988 - 2001 by the California Institute of Technology

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the California Institute of Technology not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The California Institute of Technology makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

Some components are copyright by the originating institution and are used with the permission of the authors. The conditions of these copyrights (none of which restrict the free distribution of GENESIS) appear with these modules.

1.3 Reporting Bugs

Most software has bugs, and GENESIS is no exception. If you believe you have found a bug, please follow the procedure outlined below. Doing so will vastly increase the speed with which the bug gets fixed.

  1. Simplify the simulation with the bug to the simplest possible simulation that still contains the bug. Doing so very often shows that the bug is simply a script error that can be fixed by the user. If not, send the simplified simulation along with a complete description of the bug and any other pertinent information to genesis@bbb.caltech.edu. It is much easier to debug a simple simulation than a large one with lots of irrelevant detail. Thus, even though you may be tempted to send us your entire 1,000,000-cell hippocampal network simulation which includes thirty different cell types and is self-aware, if you do we will probably never get around to fixing the bug. If you can do this and also run genesis using a debugger like gdb, then that's even better; however, if you're that advanced you probably don't need our help :-)
  2. Be courteous. Telling us to ``fix this bug or else!'' will not produce nearly as quick results as a polite request. Neither will ``fix this bug right now; I'm using genesis for an assignment which is due in a week'' (yes, this has happened!). Most of the GENESIS team does not get paid for their work; we do this as a service to the community. We have deadlines just like you do. However, it is not impolite to remind us of the bug if we haven't done anything after a reasonable amount of time (say a couple of weeks/months) or if we don't respond to your email quickly.
  3. If you experience any trouble compiling GENESIS, or encounter segmentation violations (core dumps) when running GENESIS, please visit the Bug-fixes directory on the GENESIS ftp site, before reporting problems. The README and compiling.problems files describe recent bug fixes for GENESIS and give suggestions for dealing with commonly encountered compilation problems.


Previous Next Table of Contents