COMA
Cat Oculomotor Data Analysis
 
Table of Contents
  1. Introduction
  2. Usage
  3. Analysis Options
  4. Conversion to Degrees
  5. MPF Glossary
  6. Data Schema
  7. References
  8. Publications
  9. Acknowledgements
  10. Download
 
Ravi Kochhar
Department of Physiology
University of Wisconsin
Madison, Wi. 53706
 
Technical Report no. 20
April 2000
Rev. 1.06, Dec. 22, 2004
 
Back to Computing Page

Back to Top

(1) Introduction

COMA is a program for analyzing Cat Oculomotor data collected in the Physiology lab. Data are collected from cats trained to perform specific tasks in response to a variety of auditory and visual stimuli. The cat's eye movement is recorded, as well as single unit discharges from electrodes implanted in the brain of the awake cat. (see ref. no. 1).

COM data are stored in a format compatible with our lab data file structure (see ref. no. 2).

The program COMA, described in this report, can be used to perform a variety of analyses on COM data. The program is currently available for VAX/VMS and AXP/VMS systems, and a partial version is available for Microsoft Windows (see below).

Back to Top

(2) Usage

The program is started (on VMS systems) by typing:


       $ COMA

It starts by presenting the user with the main menu:

       Program for analysis of C.O.M data
       Select one of :
         0   Exit
         1   Plot raw data
         2   Mark Onset times interactively (requires X-windows)
         3   List Table of params for each trial
         4   List Data Set Headers
         5   Plot raw data (old graphics)
         6   Compute statistics from summary file
         7   Compute statistics from spike times
         8   Output Summary Table(s) for many files
         9   Transfer raw data to STATPK file
The user can select one of the choices to proceed with the appropriate analysis.

Back to Top

(4) Conversion to Degrees

Part of COM data consists of the cat's eye position recorded in real time in the form of digitized analog traces. This is achieved by means of two or more "eye coils", which convert direction to voltage, which in turn is sampled by an A/D (analog-to-digital) converter during data collection. One coil records the "X-position" and the other records the "Y-position". A calibration procedure is done before the experiment to determine "coil calibration coefficients" which are later used by COMA to convert the X- and Y-positions (in volts) to Azimuth and Elevation (in degrees).

The coil calibration coefficients are stored along with each data set (see the data schema below). The data format allows any number of coil coefficients to be stored, but at present there are only two possibilties: 2 or 4 coefficients per coil. Two coefficients are stored where the eye movements are relatively small (about 30 degs max in any direction) and the calibration can be approximated by a straight line. Four coefficients are stored for larger eye movements. The equations used to convert volts to degrees is different in the two cases, and are as follows:

  1. Two Coil Coefficients:

    In this case the following model is used:

    where Pv is the eye position in volts, and Pd is the eye position in degrees, and "a" and "b" are the two coil calibration coefficients.

    This means that COMA uses the following equation to extract the position in degrees from the stored positions in volts:

  2. Four Coil Coefficients:

    In this case the following model is used:

    where Pv is the eye position in volts, and Pd is the eye position in degrees, and "a","b","c" and "d" are the four coil calibration coefficients.

    This means that COMA uses the following equation to extract the position in degrees from the stored positions in volts:

Back to Top

(6) MPF Glossary

The MPF (Marked Points File) is created by the COMA Marking Program (option 2) and contains information about all the points that have been marked. There is one record (or row) for each marked "trial". The MPF itself is an ascii text file, and typically there are several different MPF's for each experiment.

The following information is stored for each marked trial (in this order). Note that all of these parameters may not be contain useful values since there is more than one marking paradigm. Missing values are marked with -999.00

  1 FileName     : Data File Name where raw data stored
  2 DSID         : Data set ID for raw data
  3 Date         : Date on which points were marked (YYMMDD)
  4 Suc/Fl       : Success/Fail flag for trial (1=success, 2=fail)
  5 Trial        : Trial (sequence) number in raw data
  6 SubTsk       : Sub-task number (aka param-list #)
  7 NumSac       : Number of saccades marked
  8 L1           : First LED #
  9 L2           : Target LED #
 10 PxL1         : X-position of first LED (degs)
 11 PyL1         : Y-position of first LED (degs)
 12 PxL2         : X-position of target LED (degs)
 13 PyL2         : Y-position of target LED (degs)
 14 OnTHc1Y      : ON Time (msecs) for Horizontal movement, Saccade-1 (eye)
 15 OnPHHc1Y     : Horiz. Position (degs) at Onset of Horiz. Move, Saccade-1 (eye)
 16 OnPVHc1Y     : Vert. Position (degs) at Onset of Horiz. Move, Saccade-1 (eye)
 17 OfTHc1Y      : OFF Time (msecs) for Horiz. movement, Saccade-1 (eye)
 18 OfPHHc1Y     : Horiz. Position (degs) at Offset of Horiz. Move, Saccade-1(eye)
 19 OfPVHc1Y     : Vert. Position (degs) at Offset of Horiz. move, saccade-1 (eye)
 20 PkTHc1Y      : Time at Peak Vel. (msecs), Horiz. move, scacade-1 (eye)
 21 PkPHHc1Y     : Horiz. Pos. (degs) at Peak Vel of Horiz. move, Saccade-1 (eye)
 22 PkSHHc1Y     : Peak Horiz. Speed (degs/sec), Horiz. move, saccade-1 (eye)
 23 OnTVc1Y      : ON Time (msecs) for Vertical Movement, saccade-1 (eye)
 24 OnPHVc1Y     : Horiz. Pos. (degs) at Onset time of Vert. move, saccade-1 (eye)
 25 OnPVVc1Y     : Vert. Pos. (degs) at Onset time of Vert. move, saccade-1 (eye)
 26 OfTVc1Y      : Off Time (msecs) for Vert. movement, saccade-1 (eye)
 27 OfPHVc1Y     : Horiz. Position (degs) at offset of Vert. move, saccade-1 (eye)
 28 OfPVVc1Y     : Vert. Position (degs) at offset of Vert. move, saccade-1 (eye)
 29 PkTVc1Y      : Time at Peak Vel. (msecs), Vert. move, scacade-1 (eye)
 30 PkPVVc1Y     : Vert. Pos. (degs) at Peak Vel of Vert. move, Saccade-1 (eye)
 31 PkSVVc1Y     : Peak Vert. Speed (degs/sec), Vert. move, saccade-1 (eye)
 32 OnTHc2Y      : ON Time (msecs) for Horizontal movement, Saccade-2 (eye)
 33 OnPHHc2Y     : Horiz. Position (degs) at Onset of Horiz. Move, Saccade-2 (eye)
 34 OnPVHc2Y     : Vert. Position (degs) at Onset of Horiz. Move, Saccade-2 (eye)
 35 OfTHc2Y      : OFF Time (msecs) for Horiz. movement, Saccade-2 (eye)
 36 OfPHHc2Y     : Horiz. Position (degs) at Offset of Horiz. Move, Saccade-2(eye)
 37 OfPVHc2Y     : Vert. Position (degs) at Offset of Horiz. move, saccade-2 (eye)
 38 PkTHc2Y      : Time at Peak Vel. (msecs), Horiz. move, scacade-2 (eye)
 39 PkPHHc2Y     : Horiz. Pos. (degs) at Peak Vel of Horiz. move, Saccade-2 (eye)
 40 PkSHHc2Y     : Peak Horiz. Speed (degs/sec), Horiz. move, saccade-2 (eye)
 41 OnTVc2Y      : ON Time (msecs) for Vertical Movement, saccade-2 (eye)
 42 OnPHVc2Y     : Horiz. Pos. (degs) at Onset time of Vert. move, saccade-2 (eye)
 43 OnPVVc2Y     : Vert. Pos. (degs) at Onset time of Vert. move, saccade-2 (eye)
 44 OfTVc2Y      : Off Time (msecs) for Vert. movement, saccade-2 (eye)
 45 OfPHVc2Y     : Horiz. Position (degs) at offset of Vert. move, saccade-2 (eye)
 46 OfPVVc2Y     : Vert. Position (degs) at offset of Vert. move, saccade-2 (eye)
 47 PkTVc2Y      : Time at Peak Vel. (msecs), Vert. move, scacade-2 (eye)
 48 PkPVVc2Y     : Vert. Pos. (degs) at Peak Vel of Vert. move, Saccade-2 (eye)
 49 PkSVVc2Y     : Peak Vert. Speed (degs/sec), Vert. move, saccade-2 (eye)
 50 Method       : Paradigm used for marking (1,2 etc.)
 51 A1THc1Y      : Time at 1st Peak Acc. (msecs), Horiz. move, scacade-1 (eye)
 52 A1PHHc1Y     : Horiz. Pos. (degs) at 1st Peak Acc of Horiz. move, Saccade-1 (eye)
 53 A1SHHc1Y     : Hor. Speed (degs/sec) at 1st Peak Acc., Horiz. move, saccade-1 (eye)
 54 A1AHHc1Y     : 1st Peak Horiz. Acc. (degs/sec), Horiz. move, saccade-1 (eye)
 55 A2THc1Y      : Time at 2nd Peak Acc. (msecs), Horiz. move, scacade-1 (eye)
 56 A2PHHc1Y     : Horiz. Pos. (degs) at 2nd Peak Acc of Horiz. move, Saccade-1 (eye)
 57 A2SHHc1Y     : Hor. Speed (degs/sec) at 2nd Peak Acc., Horiz. move, saccade-1 (eye)
 58 A2AHHc1Y     : 2nd Peak Horiz. Acc. (degs/sec), Horiz. move, saccade-1 (eye)
 59 A1TVc1Y      : Time at 1st Peak Acc. (msecs), Vert. move, scacade-1 (eye)
 60 A1PVVc1Y     : Vert. Pos. (degs) at 1st Peak Acc of Vert. move, Saccade-1 (eye)
 61 A1SVVc1Y     : Vert. Speed (degs/sec) at 1st Peak Acc., Vert. move, saccade-1 (eye)
 62 A1AVVc1Y     : 1st Peak Vert. Acc. (degs/sec), Vert. move, saccade-1 (eye)
 63 A2TVc1Y      : Time at 2nd Peak Acc. (msecs), Vert. move, scacade-1 (eye)
 64 A2VHVc1Y     : Vert. Pos. (degs) at 2nd Peak Acc of Vert. move, Saccade-1 (eye)
 65 A2SVVc1Y     : Vert. Speed (degs/sec) at 2nd Peak Acc., Vert. move, saccade-1 (eye)
 66 A2AvVc1Y     : 2nd Peak Vert. Acc. (degs/sec), Vert. move, saccade-1 (eye)
 67 A1THc2Y      : Time at 1st Peak Acc. (msecs), Horiz. move, scacade-2 (eye)
 68 A1PHHc2Y     : Horiz. Pos. (degs) at 1st Peak Acc of Horiz. move, Saccade-2 (eye)
 69 A1SHHc2Y     : Hor. Speed (degs/sec) at 1st Peak Acc., Horiz. move, saccade-2 (eye)
 70 A1AHHc2Y     : 1st Peak Horiz. Acc. (degs/sec), Horiz. move, saccade-2 (eye)
 71 A2THc2Y      : Time at 2nd Peak Acc. (msecs), Horiz. move, scacade-2 (eye)
 72 A2PHHc2Y     : Horiz. Pos. (degs) at 2nd Peak Acc of Horiz. move, Saccade-2 (eye)
 73 A2SHHc2Y     : Hor. Speed (degs/sec) at 2nd Peak Acc., Horiz. move, saccade-2 (eye)
 74 A2AHHc2Y     : 2nd Peak Horiz. Acc. (degs/sec), Horiz. move, saccade-2 (eye)
 75 A1TVc2Y      : Time at 1st Peak Acc. (msecs), Vert. move, scacade-2 (eye)
 76 A1PVVc2Y     : Vert. Pos. (degs) at 1st Peak Acc of Vert. move, Saccade-2 (eye)
 77 A1SVVc2Y     : Vert. Speed (degs/sec) at 1st Peak Acc., Vert. move, saccade-2 (eye)
 78 A1AVVc2Y     : 1st Peak Vert. Acc. (degs/sec), Vert. move, saccade-2 (eye)
 79 A2TVc2Y      : Time at 2nd Peak Acc. (msecs), Vert. move, scacade-2 (eye)
 80 A2PVVc2Y     : Vert. Pos. (degs) at 2nd Peak Acc of Vert. move, Saccade-2 (eye)
 81 A2SVVc2Y     : Vert. Speed (degs/sec) at 2nd Peak Acc., Vert. move, saccade-2 (eye)
 82 A2AVVc2Y     : 2nd Peak Vert. Acc. (degs/sec), Vert. move, saccade-2 (eye)
 83 EPzoffX      : Ear Position Offset for X-position baseleine to align to zero
 84 EPzoffY      : Ear Position Offset for Y-position baseleine to align to zero
 85 TimSDlo      : Start time for baseline Std. Dev. determination (millisecs)
 86 TimSDhi      : End time for baseline Std. Dev. determination (millisecs)
 87 SynShft      : Time by which UET syncs. are shifted (millisecs)
 88 WhatMark     : What was marked (1=Eye, 2=Ear, 4=Head, 5=EYE-HEAD, 6=EAR-HEAD)
 89 ADchan       : A/D channels used for Horiz&Vert (0=0&1, 2=2&3, 4=4&5, 6=6&7)
 90 ADchan2      : A/D channels used for 2nd coil-set (0=0&1, 2=2&3, 4=4&5, 6=6&7)
 91 ColCofax     : First Coil Coeff. (A for X)
 92 ColCofbx     : Second Coil Coeff. (B for X)
 93 ColCofay     : Third Coil Coeff. (A for Y)
 94 ColCofby     : Fourth Coil Coeff. (B for Y)
 95 ColCf2ax     : First Coil Coeff. (A for X) for Head (if doing EYE-HEAD e.g.)
 96 ColCf2bx     : Second Coil Coeff. (B for X) for Head (if doing EYE-HEAD e.g.)
 97 ColCf2ay     : Third Coil Coeff. (A for Y) for Head (if doing EYE-HEAD e.g.)
 98 ColCf2by     : Fourth Coil Coeff. (B for Y) for Head (if doing EYE-HEAD e.g.)

Back to Top

(7) Data Schema

The following data schema describes the internal format of each COM data set currently being stored.

  /* This is the source for schema SCH018 (VMS/RSX systems) */
  /* Created : 7/25/1995  (RK) */
  /* Last modified : 10/15/1996  (RK) */
  /* Rev. Level : 1.002 */
  /* Schema for data collected with the program COM (Cat OculoMotor) */
  /* Yin-Populin expts. Room 290 */
  01  SCHNAM TYPE STRING LENGTH 8
  01  RECLNT                        /* in blocks */
  01  ANID TYPE STRING LENGTH 12
  01  DSID TYPE STRING LENGTH 12
  01  DATE TYPE STRING LENGTH 8
  01  TIME                          /* in 10ths of seconds since midnight */
  01  EXTYP TYPE STRING LENGTH 4
  /* The above completes the mandatory header */
  01  UDATA                         /* =0 No UET data, =1 Yes UET data */
  01  ADATA                         /* =0 No A/D data, =1 Yes A/D data */
  01  CMDATA                        /* =0 No CM data,  =1 Yes CM data  */
  01  SP1CH                         /* Spikes UET channel number */
  01  STRTCH                        /* Start sync. UET channel number */
  01  TERMCH                        /* Terminate UET channel number */
  01  INWCH                         /* Enter Window UET channel number */
  01  REWCH                         /* Reward start UET channel number */
  01  ENDCH                         /* End Trial UET channel number */
  01  TBASE TYPE REAL               /* UET times base in seconds */
  01  STFORM                        /* Status table format code */
  01  NUMPT                         /* No. of pointers in STATUS table */
  01  LSTAT                         /* Location of Status table */
  01  NSEQ                          /* No. of sequences in Status table */
  01  RNSEED                        /* Seed used for random number generator */
  01  TGRACL1 TYPE REAL             /* Grace time for LED-1 ? (secs) */
  01  TSPOTL1 TYPE REAL             /* Time to spot LED-1 ? (secs) */
  01  TGRACL2 TYPE REAL             /* Grace time for LED-2 ? (secs) */
  01  TSPOTL2 TYPE REAL             /* Time to spot LED-2 ? (secs) */
  01  SPONTIM TYPE REAL             /* Spontaneous time ? (secs) */
  01  ISDREW TYPE REAL              /* Inter-seq delay after reward (secs) */
  01  ISDNOREW TYPE REAL            /* Inter-seq delay after no-reward (secs) */
  01  ATTLOW TYPE REAL              /* Attenuator low value (dB) */
  01  ATTHIGH TYPE REAL             /* Attenuator High value (dB) */
  01  ATTINC TYPE REAL              /* Attn. Step size (dB) */
  01  LAPEND                        /* Location of "appended data" table */
  01  SCAPEND TYPE STRING LENGTH 8  /* Schema name for appended data */
  01  FXPAR TYPE RG
      02  LFXPAR                     /* Length of FXPAR RG (words) */
      02  NFXPAR                     /* Number of fixed variables */
      02  FXPARV TYPE RG OCCURS NFXPAR TIMES
          03  FXVNAM TYPE STRING 8   /* Fixed Variable name */
          03  FXVTYP TYPE I*2        /* Fixed Var type 1=int,2=fp,3=char */
          03  FXVLEN TYPE I*2        /* Length in 32-bit words */
          03  FXVVAL LENGTH SUBTVLEN /* Fixed variable value */
  01  COMENT TYPE STRING LENGTH 60  /* Subjective comment */
  01  NSUBTASK                      /* No. of sub-tasks in this data set */
  01  SUBTPAR TYPE RG OCCURS NSUBTASK TIMES
      02  LSUBTPAR                   /* Length of SUBTPAR RG (words) */
      02  NSUBTPAR                   /* Number of sub-task parameters */
      02  SUBTPARV TYPE RG OCCURS NSUBTPAR TIMES
          03  SUBTVNAM TYPE STRING 8 /* Sub-Task Variable name */
          03  SUBTVTYP TYPE I*2      /* Sub-Task Var type 1=int,2=fp,3=char */
          03  SUBTVLEN TYPE I*2      /* Length in 32-bit words */
          03  SUBTVVAL LENGTH SUBTVLEN  /* Sub-Task variable value */
  01  AVOLC TYPE REAL               /* Voltage conversion factor */
  01  AVCC                          /* Voltage Conversion Code */
  01  ANBITS                        /* No. of bits per sample 16/32 */
  01  NACH                          /* No. of A/D channels */
  01  ADCH TYPE RG OCCURS NACH TIMES
      02  ACHAN                     /* A/D Channel number */
      02  SRATE TYPE REAL           /* Sampling rate (samples/sec) */
      02  ASAMPT TYPE REAL          /* Analog sampling time in secs */
      02  NSAMP                     /* Number of A/D samples */
  01  COILCODE                      /* Coil calib. code (1,2,3 etc.) */
  01  NCOILCOF                      /* Number of coil calib coefficients */
  01  NCOIL                         /* Number of coils */
  01  COILINF TYPE RG OCCURS NCOIL TIMES
      02  COILPOS TYPE STRING 8     /* Coil position (e.g. LEFTEAR,RITEAR) */
      02  ADCHX                     /* A/D channel number for X-position */
      02  ADCHY                     /* A/D channel number for Y-position */
      02  COILCOF TYPE RG OCCURS NCOILCOF TIMES
          03  COFX TYPE REAL        /* Coefficient for X-direction */
          03  COFY TYPE REAL        /* Coefficient for Y-direction */
  01  AVOLCCM TYPE REAL             /* Voltage conversion factor for CM */
  01  AVCCCM                        /* Voltage conversion code for CM */
  01  ANBITSCM                      /* Bits/sample for CM (16 or 32) */
  01  ACHANCM                       /* Channel number for CM */
  01  NUMCM                         /* Number of CM recordings per trial */
  01  NUMLED                        /* Total number of LEDs */
  01  LEDPOS TYPE RG OCCURS NUMLED TIMES
      02  LEDPAZIM TYPE REAL        /* LED azimuth position (-180 to +180) */
      02  LEDPELEV TYPE REAL        /* LED elevation pos. (-90 to +90) */
  01  NUMSPK                        /* Total number of Speakers */
  01  SPKPOS TYPE RG OCCURS NUMSPK TIMES
      02  SPKPAZIM TYPE REAL        /* Speaker azimuth pos. (-180 to +180) */
      02  SPKPELEV TYPE REAL        /* Speaker elevation pos. (-90 to +90) */
  01  LDUMMY
  01  DUMMY LENGTH LDUMMY
  01  DATA TYPE RG OCCURS NSEQ TIMES
      02  TSDATA TYPE VECTOR INTEGER                  /* spike time data */
      02  ANDATA TYPE VECTOR I*2 OCCURS NACH TIMES    /* sampled analog data */
      02  CMDATA TYPE VECTOR I*2 OCCURS NUMCM TIMES   /* sampled CM data */
      02  NDERV                                       /* no. of derived vars */
      02  DERV TYPE RG OCCURS NDERV TIMES
          03 DERVNAM TYPE STRING 8                    /* name of derived var */
          03 DERVTYP TYPE I*2                         /* variable type */
          03 DERVLEN TYPE I*2                         /* length in 32 bit wrds */
          03 DERVAL LENGTH DERVLEN                    /* val of derived var */
  01  STATTB TYPE RG                                  /* Type-3 Status Table */
      02  NVSTAT                                      /* No. vars in tab entry */
      02  STVARS TYPE RG OCCURS NVSTAT TIMES
          03 STVNAM TYPE STRING 8                    /* name of table var */
          03 STVTYP TYPE I*2                         /* variable type */
          03 STVLEN TYPE I*2                         /* length in 32 bit wrds */
          03 STVAL LENGTH STVLEN                     /* val of Stat Tab. var. */
      02  ADDRPT OCCURS NUMPT TIMES                   /* ADDRESS POINTERS */
  00

Back to Top

(8) References

  1. COM - Cat Oculomotor Data Collection by Jane Sekulski, Dept. of Physiology.

  2. DAFLIB - Data File Structure by R. Kochhar, Tech. Report no. 12, Dept. of Physiology.

Back to Top

(9) Publications

The following are selected publications using COMA for data analysis.

  1. Populin, L.C., Yin, T.C.T. (1998) Behavior studies of sound localization in the cat. J. Neuroscience 18: 2147-2160 [ Abstract]  [ Full Text]

  2. Populin, L.C., Yin, T.C.T. (1998) Pinna movements of the cat during sound localization. J. Neuroscience 18: 4233-4243 [ Abstract]  [ Full Text]

  3. Populin, L.C., Yin, T.C.T. (1999) Kinematics of eye movements of cats to broadband auditory targets. J. Neurophysiology 82: 955-962 [ Abstract]  [ Full Text]

Back to Top

(10) Acknowledgements

Most of the features of this program were designed by Dr. Luis Populin.

Support provided in part by a grant from NIH.

Back to Top

(11) Download

The Windows version of COMA may be downloaded from:

http://www.neurophys.wisc.edu/ftp/pub/audstuff/windows/coma/

If you have questions or suggestions about this document, please send them by e-mail to kochhar@physiology.wisc.edu.

Return to Documentation Page
Return to Computing Page
Back to The Basement
This page last modified on : Dec. 22, 2004