::                                                             
              :  :                    #######                              
             :    :                   ########          ##              ###
             :    :                   ##    ##          ##               ##
            :      :     -|-     .    ##    ##          ##               ##
           _:      :_      .          #######    #####  #####    #####   ##
          :          :    + .\|/.     ########       ## ######  ##   ##  ##
          :          :     . -*- .    ##     ##  ###### ##   ## #######  ##
         :            :     '/|\`     ##     ## ##   ## ##   ## ##       ##
         :            :    / .   +    ######### ##   ## ######  ##   ##  ##
        :              :  /        .  ########   #### # #####    #####   ###
        :              : /                           
        :              :/                            
       [_][_][_][_][_][_]                  THE GENESIS USER'S GROUP
       [_][_][_][_][_][_]          
       [_][_][_][_][_][_]                        NEWSLETTER #3
     [][][][][][][][][][][]     
     [][][][][][][][][][][]                       July 14, 1992
     [][][][][][][][][][][]                     

Although progress continues on the planned major rewrite of the GENESIS/XODUS code, enough incremental improvements have been added to the version being used at Caltech to warrant a new release of GENESIS and its associated files. In particular, there has been a significant improvement in the speed of simulations, when using the hsolve object. Thanks to Kevin Cunningham, the documentation available with the GENESIS "help" command has been greatly expanded. User-contributed code to port GENESIS to the SGI and HP machines has been incorporated into the new version. Details of these and other enhancements are given below, so that you may decide whether or not you wish to upgrade to GENESIS version 1.4.

BABEL News Mailing List

In order to make the BABEL newsgroup more easily accessible, it is now being implemented as an email mailing list, rather than being accessed through a news reader program. Notices of new additions to BABEL, items of general interest to neural modelers, and postings from other BABEL members will be sent to this list.

We are hoping that the BABEL mailing list will become a forum for the discussion of issues related to computational neurobiology and biologically realistic neural modeling in general, in addition to topics directly related to the use of GENESIS. It is appropriate to post short abstracts of forthcoming papers, conference announcements, discussion of various modeling approaches, "is anyone working on ...?" queries, and other information which may be of interest to the members of BABEL. However, other mailing lists are more appropriate for topics related to purely connectionist modeling. Of course, questions and hints concerning the construction of GENESIS simulations will continue to be welcome.

In order to post an article to the BABEL newsgroup, simply mail it to "babelnews@babel.cns.caltech.edu". It will then be sent out to the BABEL newsgroup membership list. If at any time you feel inundated by mailings from the newsgroup, you may send a request to "babelnews-request@babel.cns.caltech.edu" and we will take your name off the newsgroup mailing list. Unless you request to be taken off our membership list also, you will continue to receive our occasional newsletters and announcements of new GENESIS versions.

New Additions to BABEL

The directory "/usr/genesis/babel" contains a number of new additions. As before, there is a "README" file in this directory and each of its subdirectories to explain the directory contents. Some of the notable additions are:
  1. The "newdocs" directory contains several new pieces of documentation.
  2. The directory, "newsims", contains some new simulations which are intended for use in teaching concepts in neuroscience. Although these simulations are still under development, we feel that they are at a stage where they will be useful to others. We invite your suggestions for features to be added and for exercises to be used by students. The latest addition to this collection, "traub91", is a "user-friendly" GENESIS recreation of the 1991 hippocampal pyramidal cell model of Traub, et. al. The tutorial serves as an introduction to the 'Neurokit' simulation environment and explores some of the properties of this model.
  3. The "tutorials" directory contains new and revised tutorials which guide the user through the process of constructing GENESIS simulations. The latest addition is "neuro_tut", a guide to the use of neurokit for constructing one's own cell models.
  4. The "examples" directory contains a number of short example scripts which illustrate various features and "tricks" with GENESIS. As these examples are refined, the more significant ones will be included in the GENESIS distribution "Scripts/examples" directory. As always, we welcome contributions from members of BABEL.
  5. 'Rallpack' Benchmarks - A forthcoming paper in TINS by Upinder S. Bhalla, David H. Bilitch, and James M. Bower describes a proposed set of benchmarks for neural simulators. This set of scripts and supporting documentation, named 'Rallpack', is now in the babel/rallpack directory, with the rallpack.tar.Z file in the babel/archives directory. The present set of three benchmarks consists of a simple linear cable (compartmental) model, a branched cable model, and a multicompartment axon with Hodgkin-Huxley (squid) conductances. Future planned benchmark models include a single neuron with multiple compartments each containing multiple classes of conductance, and a multineuron network. Each of these benchmarks evaluates three aspects of the performance of a simulator, namely speed, numerical accuracy, and memory usage.

Forthcoming Developments

Parallel GENESIS (version 1.5)

The next release of GENESIS (late summer 1992) will have essentially the same functionlity as version 1.4, but will contain a library of objects for interprocessor communication. Although used at Caltech with the Intel Touchstone Delta, this should facilitate the porting of GENESIS to other parallel machines. It will also be possible to simulate a parallel machine with a network of unix workstations. More details of the proposed parallel library are given in the file "/usr/genesis/babel/newdocs/parallel.doc".

GENESIS 2.0

A major rewrite and reorganization of the GENESIS/XODUS code is underway, and will likely be finished by the end of the year. The rewrite of the XODUS portion will eliminate dependencies on any particular widget set, making it possible to compile it on any version of X11 and its widgets, including R5 and Openwindows, Motif, etc. The parser used with the SLI will be greatly improved. It is likely that there will be a change in the implementation of axonal connections and synapses, making their usage more consistent with that of other GENESIS objects. In general, the naming of GENESIS routines and their usage will be made much more self-consistent, while maintaining as much backwards compatibility as possible.

Hebbian synapses

Mike Vanier's improved set of Hebbian synapses is being tested at Caltech and will be made available through BABEL when developement is complete. They will also incorporated into the next version of GENESIS. Some of the features include:

GENESIS Version 1.4

The directory "/usr/genesis" now contains version 1.4 of GENESIS, which is completely backwards compatible with version 1.3. You may obtain the complete distribution of the new GENESIS by using ftp to download the file "genesis1.4.tar.Z" from the directory "/usr/genesis/babel/archives". The "README" file in this directory provides instructions. Instructions for compiling and installing GENESIS are found in "/usr/genesis/src/README". The new features which are available in version 1.4 are:
  1. Improvements to the Hines solver (hsolve object)

    The new version of the hines solver is potentially 50% faster than the one in GENESIS 1.3. It can also handle more objects and message types, but the settings have become more complex. Hsolve now does much more than implementing the Hines method for the implicit solution of (passive) dendritic trees; it is a set of routines that maximize speed in various ways. Details can be found in the file /usr/genesis/Doc/hsolve.doc.

  2. Improved on-line help

    The Doc directory now includes documentation files for almost all of the GENESIS objects and routines (commands), as well as files describing other topics. After further revision, these will become the basis for the next version of the GENESIS manual. (The version 1.3 manual continues to be available in Doc/tex.)

  3. The pore library

    Adam Strassberg has contributed a library of objects which simulate a population of ion channel proteins (pores) embedded in a patch of membrane over an isopotential region. Each individual pore undergoes standard Markov kinetics. At present, there are two objects, "Napores" and "Kpores", which are documented in Doc/Napores.doc and Doc/Kpores.doc. The Scripts/examples/pore directory and its subdirectories contain demonstration scripts which compare the results of this model with the standard deterministic continous Hodgkin-Huxley model.

  4. Other new objects

    The "channelC3" is similar to the channelC2 synaptically activated channel, but includes a frequency field to provide for the frequency of endogenous firing.

        Two related objects, "peristim" and "interspike", have been added to
        the "device" library.  Peristim is used to generate a peristimulus
        histogram (PST); interspike to produce a interspike interval
        histogram (ISI).  Both make an internal array (called table) upon
        reset that contains num_bins entries from which the histogram values
        can be read.  These objects can collect data on-line during a
        simulation, but do not produce much useful info during the
        simulation (the output field of interspike can be used to look at
        the most recent interspike interval).  The idea is to read and
        output the table values when the simulation is done.  Then, a script
        may be used to read disk_out or asc_file files and construct PST and
        ISI from the file.

5) Specification of fonts in dialogs

        The xdialog object has been modified by adding a field for the
        specification of the font which will be used for the text appearing
        in the dialog box.  This is illustrated in the demonstration script
        found in Scripts/examples/dialog_font.  Existing scripts will
        continue to use the default font.

6) Changes to XODUS widgets

        A number of minor bugs in the xcell and xdraw widgets which affect
        the operarion of Neurokit have been fixed.  In addition, widgets
        which are displayed within a draw widget now work properly on
        monochrome displays.  A "formtitleBackground" field has been added
        so that you can set it in .Xdefaults, to get rid of the "beautiful"
        green.  (See the sample genesis/.Xdefaults file, for examples of
        ways to change XODUS widget colors.)

7) New version of Scripts/neurokit

        The name of the main program has been changed from "NEURON" to
        "Neurokit", although the old name may still be used.  The README
        file used for the built-in help has been improved and updated.  A
        number of minor bugs and undesireable "features" have been fixed.
        The "defaults.g" and "userprefs.g" files make use of some new user
        variables:

        str user_help = "../neurokit/README"  // specify the help file used

        float user_cx = 0.0     // for centering of cell within the draw widget
        float user_cy = 0.0
        float user_cz = 0.2e-3

        Several of the channel setup functions defined in defaults.g have
        been speeded up with the use of the new compiled GENESIS functions
        setup_alpha, setup_tau, setup_gate, tweak_alpha, and tweak_tau.
        See the Scripts/neurokit/defaults.g file for examples of their use.

        The neurokit/prototypes library includes now traub91chan.g, which
        implements the 1991 Traub CA3 model channels.  This file is
        extensively commented and provides a guide for the implementation of
        Ca concentration dependent channels with tabchannels and tabgates.

8) SGI and HP compatibility fixes

        Code provided by BABEL members David Senseman and Bill Broadley has
        been incorporated into the GENESIS source so that it will now
        run on the SGI with IRIX 4.01, and on the HP 700 series.  Details
        are given in src/README and src/Makefile.  These changes should make
        it easier for others to port GENESIS to the IBM RS6000 and other
        machines.

9) Parameter search tools

        Upi Bhalla has added the new GENESIS routines curvematch, newmatch,
        nmin, splinmin, parmin, scale_parms, and shapematch for use in
        automatic searches of large parameter spaces.  As these tools are
        continually evolving, a preliminary set of demonstration scripts has
        been placed on BABEL in the babel/examples/mintest directory.  The
        final version will be part of the next GENESIS distribution in
        Scripts/examples.

10) "VERSION" function

        When writing scripts which depend on the newest version of GENESIS,
        you may now include the test

                if (VERSION < 1.4)
                        echo "You must be running version 1.4 or later."
                        quit
                end

        in order to determine the version of GENESIS which is being used.
        (Of course, the variable won't be defined for earlier versions!)

Additional questions / comments

If you have additional questions, comments, or suggestions with respect to BABEL please address them to:
        Prof. David Beeman
        Dept. of Electrical and Computer Engineering
        Campus Box 425
        University of Colorado
        Boulder, CO 80309

        dbeeman@boulder.colorado.edu   (303) 492-2852

Reports of bugs or other problems with GENESIS may be sent to:

genesis-bugs@cns.caltech.edu

Correspondence concerning BABEL registration should be sent to:

        BABEL
        Computational Neural Systems Program
        Caltech, 216-76
        Pasadena, CA 91125

        babel@babel.cns.caltech.edu

Dave Beeman
Chief editor
BABEL newsletter

GENESIS and BABEL are supported by funds provided by the National Science Foundation.