Slice Tools
  • Home
  • SourceForge Page


  • libSlice
  • Home
  • Modules
  • Files
  • Examples
  • Additional Information


  • SourceForge.net Logo
     

    utility.c

    Go to the documentation of this file.
    00001 // $Id: utility.c,v 1.1 2005/07/29 02:55:17 mschatz Exp $
    00002 
    00007 #include <ctype.h>
    00008 #include "Slice.h"
    00009 #include "version.h"
    00010 #include "string.h" // for strncpy
    00011 
    00013 
    00017 char libSlice_getCompliment(char base)
    00018 {
    00019   char retval = base;
    00020   int islow = islower(base);
    00021 
    00022   switch (toupper(base))
    00023   {
    00024     case 'A': retval = 'T'; break;
    00025     case 'T': retval = 'A'; break;
    00026     case 'C': retval = 'G'; break;
    00027     case 'G': retval = 'C'; break;
    00028 
    00029     case 'M': retval = 'K'; break;
    00030     case 'R': retval = 'Y'; break;
    00031     case 'W': retval = 'W'; break;
    00032     case 'S': retval = 'S'; break;
    00033     case 'Y': retval = 'R'; break;
    00034     case 'K': retval = 'M'; break;
    00035 
    00036     case 'V': retval = 'B'; break;
    00037     case 'H': retval = 'D'; break;
    00038     case 'D': retval = 'H'; break;
    00039     case 'B': retval = 'V'; break;
    00040 
    00041     case 'N': retval = 'N'; break;
    00042   };
    00043 
    00044   if (islow)
    00045   {
    00046     retval = tolower(retval);
    00047   }
    00048 
    00049   return retval;
    00050 }
    00051 
    00052 #include <stdio.h>
    00053 
    00055 
    00060 const char * libSlice_getVersion()
    00061 {
    00062   static char buffer[256];
    00063   memset(buffer, 0, sizeof(buffer));
    00064 
    00065   strcpy(buffer, gVersionStr);
    00066   strcat(buffer, " (Build: ");
    00067   strcat(buffer, gRevisionStr+11);
    00068   buffer[strlen(buffer)-2] = ')';
    00069   buffer[strlen(buffer)-1] = 0;
    00070 
    00071   return buffer;
    00072 }