This directory contains source code for two new libraries that need to be added to your GENESIS executable in order to use the network leech model. These are meant to be added to an already-compiled version of GENESIS, so you will _not_ need to recompile your GENESIS program; you'll just be creating a new GENESIS program from your already-compiled version. * If you use a common machine, such as a Sun or a Linux machine, check to make sure we haven't placed a pre-compiled version on our ftp site. It might save you some time to get a pre-compiled version. To add the libraries, do the following: 1) copy Makefile.usermake from the GENESIS/Scripts/newlib directory this directory and name it Makefile. 2) Follow the directions in newly copied Makefile, such as setting the machine type, setting your compiler, and giving the new executable a name. 3) Also within Makefile, set the following: USERDIR = newlib1 newlib2 USEROBJ = newlib1/newconnlib.o newlib2/leechlib.o USERLIB = newconnlib leech 4) Edit the line "GENESIS = /usr/local/genesis" in both Makefile and newlib1/Makefile so it points to your GENESIS installation directory. 5) Make sure you have done a "make install" in the GENESIS/src directory. (It is possible to use GENESIS without doing this, but this Makefile assumes that you have put a copy of each library in GENESIS/lib.) 6) If you use any libraries that are not in the standard GENESIS distribution (such as spikelib; look for GENESIS/lib/spikelib to see if you have it), add them to the "GENESIS" and "LIBLIST" variables in the Makefile. 7) Type "make". This directory contains an example Makefile file for Linux. It includes the spike library and uses GNU development tools. (cc maps to gcc on our system.) Questions? Email andrew@biology.emory.edu or vanhoosr@biology.emory.edu. P.S. In order for the leech model neurons to oscillate properly, the state variables must be set to appropriate intial values. This may be done with the genesis restore command which saves the necessary state variables of a simulation in a binary format. Unfortunately a binary file created on one machine may not work on another. To avoid this problem, we restore the values of the state variables using a series of setfield commands. If you press the INIT button in the simulations this will cause this series of setfield commands to be executed. There are a few state variables in the Synchan object that are readonly in the standard genesis distribution. Trying to set the fields of these variables will lead to error messages. To avoid these errors copy the file newconn.g found in this directory to the /genesis/src/newconn directory. This will overwrite the existing newconn. Alternatively, simply edit the newconn.g file to make Ik, Gk, X, and Y readwrite. Genesis will have to be recomplied in order for these changes to take effect. Another way to work around this problem is to inject a current pulse into one of the cells (e.g. -.1 nA for 5 sec) to help the cells begin to oscillate and then use the binary save option to save a new set of initial state variables.