]> git.donarmstrong.com Git - mothur.git/blobdiff - mothur.h
modified makefile and sensspeccommand files
[mothur.git] / mothur.h
index f101d1f808fdb22d0fac7795dcc6388be6dacaf2..0a73f1cf65ae4c0f24bb04d556ef4aa124f29326 100644 (file)
--- a/mothur.h
+++ b/mothur.h
@@ -54,6 +54,8 @@
 
 #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
        #include <sys/wait.h>
+       #include <sys/time.h>
+       #include <sys/resource.h>
        #include <unistd.h>
        
        #ifdef USE_READLINE
@@ -64,6 +66,9 @@
 #else
        #include <conio.h> //allows unbuffered screen capture from stdin
        #include <direct.h> //get cwd
+       #include <windows.h>
+       #include <psapi.h>
+
 #endif
 
 using namespace std;
@@ -254,6 +259,13 @@ inline float roundDist(float dist, int precision){
        
        return int(dist * precision + 0.5)/float(precision);
        
+}
+/***********************************************************************/
+
+inline float ceilDist(float dist, int precision){
+       
+       return int(ceil(dist * precision))/float(precision);
+       
 }
 
 /***********************************************************************/
@@ -487,7 +499,7 @@ inline string getFullPathName(string fileName){
                        }       
                #else
                        if (path.find("~") != -1) { //go to home directory
-                               string homeDir = getenv ("HOME");
+                               string homeDir = getenv ("HOMEPATH");
                                newFileName = homeDir + fileName.substr(fileName.find("~")+1);
                                return newFileName;
                        }else { //find path
@@ -570,7 +582,7 @@ inline int openInputFile(string fileName, ifstream& fileHandle){
        else {
                //check for blank file
                gobble(fileHandle);
-               if (fileHandle.eof()) { cout << completeFileName << " is blank. Please correct." << endl;  return 1;  }
+               if (fileHandle.eof()) { cout << completeFileName << " is blank. Please correct." << endl;   }
                
                return 0;
        }
@@ -625,6 +637,19 @@ inline int getNumSeqs(ifstream& file){
        return numSeqs;
 
 }
+/***********************************************************************/
+inline void getNumSeqs(ifstream& file, int& numSeqs){
+       
+       string input;
+       numSeqs = 0;
+       while(!file.eof()){
+               input = getline(file);
+               if (input.length() != 0) {
+                       if(input[0] == '>'){ numSeqs++; }
+               }
+       }
+}
+
 /***********************************************************************/
 
 inline bool inVector(string member, vector<string> group){
@@ -808,7 +833,13 @@ inline bool anyLabelsToProcess(string label, set<string>& userLabels, string err
                
                //unique is the smallest line
                if (label == "unique") {  return false;  }
-               else { convert(label, labelFloat); }
+               else { 
+                       if (convertTestFloat(label, labelFloat)) {
+                               convert(label, labelFloat); 
+                       }else { //cant convert 
+                               return false;
+                       }
+               }
                
                //go through users set and make them floats
                for(it = userLabels.begin(); it != userLabels.end(); ++it) {