]> git.donarmstrong.com Git - mothur.git/blobdiff - mothur.h
line and label no longer persist between commands. Added phylip formated output...
[mothur.git] / mothur.h
index 07bb971347d974066ab5449614172c5e68d4c2a6..9c9e23cf5a7a09279af66848fe1b1e3d972d8055 100644 (file)
--- a/mothur.h
+++ b/mothur.h
@@ -40,6 +40,15 @@ using namespace std;
 #include <cmath>
 #include <math.h>
 #include <algorithm>
+#include <ctime>
+
+#ifdef _WIN32
+       #define exp(x) (exp((double) x))
+       #define sqrt(x) (sqrt((double) x))
+       #define log10(x) (log10((double) x))
+       #define log2(x) (log10(x)/log10(2))
+#endif
+
 
 typedef unsigned long long ull;
 
@@ -139,6 +148,13 @@ inline void gobble(istream& f){
        f.putback(d);
        
 }
+/***********************************************************************/
+
+inline bool isTrue(string f){
+       
+       if ((f == "TRUE") || (f == "T") || (f == "true") || (f == "t")) {       return true;    }
+       else {  return false;  }
+}
 
 /***********************************************************************/
 
@@ -249,7 +265,7 @@ inline string getPathName(string longName){
  
        string rootPathName = longName;
        
-       if(longName.find_last_of("/") != longName.npos){
+       if(longName.find_last_of('/') != longName.npos){
                int pos = longName.find_last_of('/')+1;
                rootPathName = longName.substr(0, pos);
        }
@@ -259,6 +275,20 @@ inline string getPathName(string longName){
 
 /***********************************************************************/
 
+inline string getExtension(string longName){
+       
+       string extension = longName;
+       
+       if(longName.find_last_of('.') != longName.npos){
+               int pos = longName.find_last_of('.');
+               extension = longName.substr(pos, longName.length());
+       }
+       
+       return extension;
+}
+
+/***********************************************************************/
+
 inline int openInputFile(string fileName, ifstream& fileHandle){
 
        fileHandle.open(fileName.c_str());
@@ -302,6 +332,16 @@ inline int openOutputFileAppend(string fileName, ofstream& fileHandle){
 }
 
 
+/***********************************************************************/
+
+inline int getNumSeqs(ifstream& file){
+       
+       int numSeqs = count(istreambuf_iterator<char>(file),istreambuf_iterator<char>(), '>');
+       file.seekg(0);
+       return numSeqs;
+
+}
+
 /***********************************************************************/
 
 //This function parses the estimator options and puts them in a vector