X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothur.h;h=53074eb1e146f28af23a87e6888d57bfaa5184fa;hb=d945488119ad368b180537f36ed40298ff170f39;hp=bfe0692cf035a8c96a933da2ce70ced46ca98429;hpb=260ae19c36cb11a53ddc5a75b5e507f8dd8b31d6;p=mothur.git diff --git a/mothur.h b/mothur.h index bfe0692..53074eb 100644 --- a/mothur.h +++ b/mothur.h @@ -36,6 +36,7 @@ #include #include #include +#include //math #include @@ -56,6 +57,8 @@ #include #include #include + #include + #include #include #ifdef USE_READLINE @@ -68,7 +71,7 @@ #include //get cwd #include #include - + #include #endif using namespace std; @@ -116,6 +119,48 @@ struct seqDist { seqDist(int s1, int s2, float d) : seq1(s1), seq2(s2), dist(d) {} ~seqDist() {} }; +/************************************************************/ +struct distlinePair { + int start; + int end; + +}; +/************************************************************/ +struct seqPriorityNode { + int numIdentical; + string seq; + string name; + seqPriorityNode() {} + seqPriorityNode(int n, string s, string nm) : numIdentical(n), seq(s), name(nm) {} + ~seqPriorityNode() {} +}; +/***************************************************************/ +struct spearmanRank { + string name; + float score; + + spearmanRank(string n, float s) : name(n), score(s) {} +}; +//******************************************************************************************************************** +//sorts highest to lowest +inline bool compareSpearman(spearmanRank left, spearmanRank right){ + return (left.score > right.score); +} +//******************************************************************************************************************** +//sorts highest to lowest +inline bool compareSeqPriorityNodes(seqPriorityNode left, seqPriorityNode right){ + return (left.numIdentical > right.numIdentical); +} +//******************************************************************************************************************** +//sorts lowest to highest +inline bool compareSpearmanReverse(spearmanRank left, spearmanRank right){ + return (left.score < right.score); +} +/************************************************************/ +//sorts lowest to highest +inline bool compareDistLinePairs(distlinePair left, distlinePair right){ + return (left.end < right.end); +} //******************************************************************************************************************** //sorts lowest to highest inline bool compareSequenceDistance(seqDist left, seqDist right){ @@ -208,5 +253,15 @@ string toString(const T&x, int i){ } //********************************************************************************************************************** +template +T fromString(const string& s){ + istringstream stream (s); + T t; + stream >> t; + return t; +} + +//********************************************************************************************************************** + #endif