Delete unneeded directory
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / general / Utility.cpp
diff --git a/website/archive/binaries/mac/src/clustalw/src/general/Utility.cpp b/website/archive/binaries/mac/src/clustalw/src/general/Utility.cpp
deleted file mode 100644 (file)
index 619d62a..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-/**
- * Author: Mark Larkin
- * 
- * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
- *
- * @author Mark Larkin, Conway Institute, UCD. mark.larkin@ucd.ie
- *
- * Changes:
- *
- *  2007-12-03, Andreas Wilm (UCD): replaced gets with fgets, and
- *  got rid of some compiler warning 
- *
- */
-#ifdef HAVE_CONFIG_H
-    #include "config.h"
-#endif
-#include <iostream> 
-#include <algorithm> 
-#include "Utility.h"
-#include "general/userparams.h"
-
-namespace clustalw
-{
-
-/**   constructor
- */
-Utility::Utility()
-{
-    quiet=false;
-}
-
-    
-/**
- * Removes trailing blanks from a string
- */
-void Utility::rTrim(string *str)
-{
-    string::reverse_iterator rit = str->rbegin();
-     
-     while(rit != str->rend() && isspace(*rit))
-     {
-         str->erase((++rit).base());
-     }
-}
-
-/**
- * Removes trailing blanks from a string
- * @param str String to remove trailing blanks from.
- * @return Pointer to the processed string
- */
-char * Utility::rTrim(char *str)
-{
-    register int p;
-
-    p = strlen(str) - 1;
-
-    while (isspace(str[p]))
-    {
-        p--;
-    }
-
-    str[p + 1] = EOS;
-
-    return str;
-}
-
-/**
- * Replace blanks in a string with underscores. Also replaces , ; : ( or ) with _.
- * @param str String to process.
- * @return Pointer to the processed string 
- */
-char * Utility::blankToUnderscore(char *str)
-{
-    int i, p;
-
-    p = strlen(str) - 1;
-
-    for (i = 0; i <= p; i++)
-        if ((str[i] == ' ') || (str[i] == ';') || (str[i] == ',') || (str[i] ==
-            '(') || (str[i] == ')') || (str[i] == ':'))
-        {
-            str[i] = '_';
-        }
-
-    return str;
-}
-
-/**
- * Replace blanks in a string with underscores. Also replaces , ; : ( or ) with _.
- * @param str String to process.
- * @return Pointer to the processed string 
- */
-string Utility::blankToUnderscore(string str)
-{
-    int i, p;
-
-    p = str.size() - 1;
-
-    for (i = 0; i <= p; i++)
-        if ((str[i] == ' ') || (str[i] == ';') || (str[i] == ',') || (str[i] ==
-            '(') || (str[i] == ')') || (str[i] == ':'))
-        {
-            str[i] = '_';
-        }
-
-    return str;
-}
-
-/**
- * 
- * @param instr 
- * @return 
- */
-char Utility::getChoice(string instr)
-{
-    cout << instr << ": ";
-    cout.flush();
-    char choice;
-    cin.get(choice);
-    // We only want one character, so we ignore the rest.
-    if(choice != '\n')
-    {
-        cin.ignore(150, '\n');
-    }
-    cin.clear();
-    if(isalpha(choice) || isNumeric(choice))
-    {
-        return choice;
-    }
-    else if(choice == '\n')
-    {
-        return '\n';
-    }
-    else
-    {
-        return ' ';
-    }
-}
-
-bool Utility::isNumeric(char ch)
-{
-    if(ch >= '0' && ch <= '9')
-    {
-        return true;
-    }
-    return false;
-}
-
-
-/**
- * 
- * @param instr 
- * @param outstr 
- */
-void Utility::getStr(string instr, string& outstr)
-{
-    cout << instr << ": ";
-    cout.flush();    
-    string temp;
-    getline(cin, temp, '\n');
-    outstr = temp;
-    cin.clear();
-}
-
-/**
- * 
- * @param instr 
- * @param minx 
- * @param maxx 
- * @param def 
- * @return 
- */
-double Utility::getReal(const char *instr, double minx, double maxx, double def)
-{
-    int status;
-    float ret;
-    char line[MAXLINE];
-
-    while (true)
-    {
-        fprintf(stdout, "%s (%.1f-%.1f)   [%.1f]: ", instr, minx, maxx, def);
-        //gets(line);
-        fgets(line, MAXLINE, stdin);
-        status = sscanf(line, "%f", &ret);
-        if (status == EOF)
-        {
-            return def;
-        }
-        if (ret > maxx)
-        {
-            fprintf(stderr, "ERROR: Max. value=%.1f\n\n", maxx);
-            continue;
-        }
-        if (ret < minx)
-        {
-            fprintf(stderr, "ERROR: Min. value=%.1f\n\n", minx);
-            continue;
-        }
-        break;
-    }
-    return (double)ret;
-}
-
-/**
- * 
- * @param instr 
- * @param minx 
- * @param maxx 
- * @param def 
- * @return 
- */
-int Utility::getInt(const char *instr, int minx, int maxx, int def)
-{
-    int ret, status;
-    char line[MAXLINE];
-
-    while (true)
-    {
-        fprintf(stdout, "%s (%d..%d)    [%d]: ", instr, minx, maxx, def);
-        //gets(line);
-        fgets(line, MAXLINE, stdin);
-        status = sscanf(line, "%d", &ret);
-        if (status == EOF)
-        {
-            return def;
-        }
-        if (ret > maxx)
-        {
-            fprintf(stderr, "ERROR: Max. value=%d\n\n", maxx);
-            continue;
-        }
-        if (ret < minx)
-        {
-            fprintf(stderr, "ERROR: Min. value=%d\n\n", minx);
-            continue;
-        }
-        break;
-    }
-    return ret;
-}
-
-/**
- * 
- * @param line 
- * @param code 
- * @return 
- */
-bool Utility::lineType(char *line, const char *code)
-{
-   // AW: introduced sanity check
-   int n;
-   if (strlen(line)<strlen(code))
-     n=strlen(line);
-   else
-     n=strlen(code);
-   
-   return (strncmp(line, code, strlen(code)) == 0);
-}
-
-/**
- * 
- * @param line 
- * @return 
- */
-bool Utility::blankLine(char *line)
-{
-    int i;
-
-    for (i = 0; line[i] != '\n' && line[i] != EOS; i++)
-    {
-        if (isdigit(line[i]) || isspace(line[i]) || (line[i] == '*') ||
-            (line[i] == ':') || (line[i] == '.'))
-            ;
-        else
-        {
-            return false;
-        }
-    }
-    return true;
-}
-
-/**
- * 
- * @param str 
- * @param path 
- */
-void Utility::getPath(string str, string *path)
-{
-    int i;
-    string _temp;
-    _temp = str;
-    
-    for (i = _temp.length() - 1; i >  - 1; --i)
-    {
-        if (str[i] == DIRDELIM)
-        {
-            i =  - 1;
-            break;
-        }
-        if (str[i] == '.')
-        {
-            break;
-        }    
-    }
-    
-    if (i < 0)
-    {
-        _temp += ".";
-    }
-    else
-    {
-        _temp = _temp.substr(0, i + 1);
-    }
-    *path = _temp;   
-}
-
-/**
- * 
- * @param title 
- * @param prompt 
- * @return
- *
- *
- */
-char Utility::promptForYesNo(char *title, const char *prompt)
-{
-    cout << "\n" << title << "\n";
-    string promptMessage = string(prompt) + "(y/n) ? [y]";
-    
-    string answer;
-    getStr(promptMessage, answer);
-    
-    if(!answer.empty())
-    {
-        if ((answer[0] != 'n') && (answer[0] != 'N'))
-        {
-            return ('y');
-        }
-    }
-    return ('n');
-}
-
-/**
- * 
- * @param title 
- * @param prompt 
- * @return
- *
- */
-char Utility::promptForYesNo(const char *title, const char *prompt)
-{
-    cout << "\n" << title << "\n";
-    string promptMessage = string(prompt) + "(y/n) ? [y]";
-    
-    string answer;
-    getStr(promptMessage, answer);
-    
-    if(!answer.empty())
-    {
-        if ((answer[0] != 'n') && (answer[0] != 'N'))
-        {
-            return ('y');
-        }
-    }
-    return ('n');
-}
-
-/**
- * 
- * @param msg 
- */
-void Utility::error( char *msg,...)
-{
-    va_list ap;
-
-    va_start(ap, msg);
-    fprintf(stderr, "\n\nERROR: ");
-    vfprintf(stderr, msg, ap);
-    fprintf(stderr, "\n\n");
-    va_end(ap);
-}
-
-/**
- * 
- * @param msg 
- */
-void Utility::warning( char *msg,...)
-{
-    va_list ap;
-
-    va_start(ap, msg);
-    fprintf(stderr, "\n\nWARNING: ");
-    vfprintf(stderr, msg, ap);
-    fprintf(stderr, "\n\n");
-    va_end(ap);
-}
-
-/**
- * 
- * @param msg 
- */
-void Utility::error( const char *msg,...)
-{
-    va_list ap;
-
-    va_start(ap, msg);
-    fprintf(stderr, "\n\nERROR: ");
-    vfprintf(stderr, msg, ap);
-    fprintf(stderr, "\n\n");
-    va_end(ap);
-}
-
-/**
- * 
- * @param msg 
- */
-void Utility::warning( const char *msg,...)
-{
-    va_list ap;
-
-    va_start(ap, msg);
-    fprintf(stderr, "\n\nWARNING: ");
-    vfprintf(stderr, msg, ap);
-    fprintf(stderr, "\n\n");
-    va_end(ap);
-}
-
-/**
- * 
- * @param msg 
- */
-void Utility::info( char *msg,...)
-{
-    va_list ap;
-    va_start(ap, msg);
-
-    if(! quiet)
-    {
-        fprintf(stdout, "\n");
-        vfprintf(stdout, msg, ap);
-        va_end(ap);
-    }
-}
-
-/**
- * 
- * @param msg 
- */
-void Utility::info(const char *msg,...)
-{
-    va_list ap;
-    if(! quiet)
-    {
-        va_start(ap, msg);
-        fprintf(stdout, "\n");
-        vfprintf(stdout, msg, ap);
-        va_end(ap);
-    }
-}
-
-
-    
-/**
- * 
- */
-void Utility::myname( char *myname)
-{
-    strcpy(myname, "clustalw\0");
-}
-
-
-    
-/**
- * Change:
- * Mark 25-1-2007. I made this change to get around the problem of having to keep track
- * of output indexes in the alignment stage. This function returns the next unique id.
- */
-unsigned long Utility::getUniqueSequenceIdentifier()
-{
-    static unsigned long nextSequenceIdentifier = MinIdentifier;
-    return nextSequenceIdentifier++;
-}
-
-void Utility::setInfoLabelPtr(QLabel* ptrToLabelObj)
-{
-    // Dont do anything. This is here to allow the function to be added to QTUtility.
-    // Polymorphism wont work with different functions in the classes.
-}
-
-
-double Utility::average(std::vector<double>& v)
-{
-    double tmp = 0.0;
-    std::vector<double>::iterator i;
-
-    if (v.size() == 0)
-        return 0.0;
-
-    for (i=v.begin(); i != v.end(); i++)
-        tmp += *i;
-    return (tmp / v.size());
-}
-
-double Utility::stdDev(std::vector<double>& v)
-{
-    std::vector<double>::iterator i;
-    double tmp = 0.0;
-    double avg = average(v);
-
-    if (v.size() == 0)
-        return 0.0;
-    
-    for(i=v.begin(); i != v.end(); ++i)
-        tmp += (*i - avg) * (*i - avg);
-    return sqrt(tmp / v.size());
-}
-
-double Utility::median(std::vector<double> v)
-{
-    // From Moo & Koenig, "Accelerated C++:
-    typedef vector<double>::size_type vec_sz;
-    vec_sz size = v.size();
-    
-    if (v.size() == 0)
-        return 0.0;
-    
-    std::sort(v.begin(), v.end());
-    vec_sz mid = size/2;
-    return size % 2 == 0 ? (v[mid] + v[mid-1]) / 2 : v[mid];
-}
-
-}
-