]> git.donarmstrong.com Git - mothur.git/blobdiff - mothur.h
sens.spec changes
[mothur.git] / mothur.h
index 5d12977383c4d2eb0457cc88190f078a98a5755e..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;
@@ -577,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;
        }
@@ -632,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){
@@ -815,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) {