COM -- Cat OculoMotor Program

Overview

The COM (Cat OculoMotor) program is used to run experiments during which a cat performs behavioral tasks while neuronal response data can be monitored and stored as well. The program is designed to present the cat with a variety of visual and auditory stimuli, which are based on input parameters specified by the user. The program monitors the animal's responses, and according to criteria specified by the user, will reward the animal by dispensing food or water, whenever certain conditions are satisfied. The program also has the capacity to electronically stimulate the animal's neuronal cells directly. A variety of data from each task is stored in a computer data file.

Defining the Tasks -- Setting up a Run of COM

Once it gets started, the Com program operates by executing a series of what are called "trials" or behavioral tasks. Each trial is one of 7 possible task types. These task types are: 1 = Fixation, 2 = Saccade, 3 = Delayed Saccade, 4 = Sensory Probe, 5 = Precedence Effect without Stimulus2 Spotting, 6 = Precedence Effect with Stimulus2 Spotting, 7 = Saccade with Electrical Stimulation, and 8 = Sensory Probe 2. 9 = Sensory Probe with Precedence Effect. 10 = Fixation Precedence Effect. Within each task type there are many parameters that are specified by the user, and which can be varied in such a way that many different trials of any given task type may be executed during a given run. It is also possible to execute more than one instance of a trial having one given set of parameters.

The user accomplishes this by setting up one or many "parameter sets" or "subtasks". Each parameter set is a list of parameters, such as duration of stimulus, intensity of visual stimulus, waveform for auditory stimulus, etc. Each such list is stored in a separate file, known as a parameter file. One of the parameters in the list is called "tasktyp", and possible values for it are the numbers 1 through 7. If set to 2, for example, it indicates that this list of parameters defines trials of task type 2, or saccade trials. Another parameter in the list is called "paramset", and its value is a unique integer code that distinguishes it from all other parameter sets. So, while no two parameter sets can have the same value for "paramset", many parameter sets can have the same value for "tasktyp".

Parameter sets are designed so that certain special parameters within them can be given not just one value, but a series of values, each of which is "weighted" with respect to the other values. For example, the parameter led2sel is specified as a series of values, each of which refers to one of the possible led2/speaker2 targets. Along with this, the parameter led2wts must be specified with a series of just as many values, each of which refers to a weight to be associated with the corresponding led2sel value. So, if led2sel is specified with 3 values, say 2, 8, and 11, and led2wts is specified with the 3 values 4, 4, and 9, then the program will execute 4 trials each with the led2/speaker2 targets 2 and 8, but 9 trials with the led2/speaker2 target 11.

The notion of "weighting" different types of trials is also related to the fact that the COM program executes the various trials in a random order. In the above example, there are 3 different kinds of trials to be performed, in which the led2/speaker2 target is either 2, 8, or 11. And since the "weights" are defined as 4, 4, and 9, respectively, then the program will execute a total of 17 (4+4+9) trials for this parameter set. These 17 trials will be done in a random order.

The user can specify many parameter sets, each with its own special parameters that can be varied and weighted. For each parameter set, the COM program computes a random order for the trials to be performed. Then it takes all trials from all parameter sets, arranges them in a random order, and executes them one after the other. Unless the user interrupts this process, the program continues until all trials have been performed. It will then repeat the same series of trials indefinately until the user stops the program.

There are also certain parameters, such as stimulus location (ledposxz) and spontaneous recording time (spontim) which retain the same values for all trials that are executed. These "fixed" parameters are all specified in one special file called the "fixed parameter file".

Note that all of the parameters are defined in a general Glossary of Parameters.

Before running the COM program, the user must specify all of the necessary parameters. This is done by setting up the following files. Note that the macro file and the fixed parameter file are always required to run the COM program, and that at least one of the different task parameter files (i.e., fixation, saccade, etc.) is required.

In addition to the parameter files, the user must also set up a data file. This is the file into which all the data will be stored. The name of this file must end with the letters ".dat" . To create such a file, see the setup program.

Running the COM Program

After the macro and parameter files have all been set up, the user starts the COM program by typing

r p:com

The program then prompts the user for the name of the data file to be used. The user is then prompted for the the name of the dataset ID to be used when storing the data. This must be a unique name, specific to the current run of the COM program. All data collected during this run will be stored and identified through this dataset ID. It can be up to 12 characters long. The program then asks the user to specify the macro file, which contains the names of the parameter files to be used. (See above description of these files.)

The COM program will then begin, executing one trial at a time, in the random order that has been determined. (See above description of defining the tasks.) As each trial is being done, the program displays some of the parameters used in that trial, and their current values. This information will look something like this:

tasktyp=2 paramset=212
led1=7 led2=4
*** atten = 20.0 ***

While the program is running, the user can type one of several available commands. The program will complete the current trial (so as not to disturb the timing of the trial), and will then process the command that has been typed. The available commands are:
AP Abort Program. The program ends, WITHOUT saving the data in the data file. Since it potentially discards much information, the user is prompted to confirm the command with 'Y' or 'y'. If neither of these is typed, the program continues to run.
TP Terminate Program. The program ends, saving the data collected so far in the data file specified when the COM program started.
HP Hold Program. The program pauses, and waits for the user to type either "RP" or one of the other available commands.
RP Resume Program. The program continues where it left off when the command "HP" was typed.
SP Stimulate Electrically. The program executes the electrical stimulation option, which is described in a separate document.
NP Re-read Parameter Files. The program re-reads the parameter files that are specified in the macro file used for this run. This allows the user to change certain parameters in the parameter files during a run of the COM program, (from a separate terminal), and give the "NP" command to read in the new set of parameters and continue the current run with these new parameter values. Note that only CERTAIN parameters are allowed to be changed. They are: attset, azwndl1, elwndl1, azwndl2, elwndl2, led1wts, and spkbwts.
PP Dump Partial Data Set to File. The program stores the UET (spike time) data collected so far into a separate data file. The name of this file is similar to the name of the data file for the current run of COM. That is, if the current data file is called "mydata.dat", then the UET data file is called "mydata.tmp". The "PP" command can be issued repeatedly during a run, and each time it creates an updated data file, containing data collected so far. The user can access the new data file from separate programs, in order to plot results that have been obtained so far.

Task Types
The Fixation Task Type
The Saccade Task Type
The Delayed Saccade Task Type
The Sensory Probe Task Type
The Precedence Effect Task Type
The Precedence Effect with Stimulus2 Spotting Task Type
The Saccade with Electrical Stimulation Task Type
The Sensory Probe 2 Task Type
The Sensory Probe with Precedence Effect Task Type
The Fixation Precedence Effect Task Type
Glossary of Parameters
"Fixed" Parameter Set (Example)
Fixation Parameter Set (Example)
Saccade Parameter Set (Example)
Sensory Probe 2 Parameter Set (Example)
Sensory Probe with Precedence Effect Parameter Set (Example)
Fixation Precedence Effect Parameter Set (Example)
Macro File (Example)
Commands


If you have questions or comments about this documentation, please send email to jane@neurophys.wisc.edu
This page last modified on : October 30, 1996