X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothur.h;h=50344e24bfea85e8b7c4b829b5136e3e63d34fc7;hb=2bb9267aa4b4ecdf8488b06605cc9f3f36fa4332;hp=97a104398fb584d2d8371e0f9bca440d4aea1f8b;hpb=0bcfddf7bc721a334bdae42d86a580019303537d;p=mothur.git diff --git a/mothur.h b/mothur.h index 97a1043..50344e2 100644 --- a/mothur.h +++ b/mothur.h @@ -72,6 +72,8 @@ #include #include #include + #include + #endif using namespace std; @@ -83,6 +85,7 @@ using namespace std; #define isnan(x) ((x) != (x)) #define isinf(x) (fabs(x) == std::numeric_limits::infinity()) + typedef unsigned long ull; struct IntNode { @@ -103,6 +106,19 @@ struct ThreadNode { IntNode* right; }; +struct diffPair { + float prob; + float reverseProb; + + diffPair() { + prob = 0; reverseProb = 0; + } + diffPair(float p, float rp) { + prob = p; + reverseProb = rp; + } +}; + /************************************************************/ struct clusterNode { int numSeq; @@ -125,6 +141,15 @@ struct distlinePair { 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; @@ -138,6 +163,11 @@ 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); @@ -172,7 +202,8 @@ void convert(const string& s, T& x, bool failIfLeftoverChars = true){ throw BadConversion(s); } - +//********************************************************************************************************************** +template int sgn(T val){ return (val > T(0)) - (val < T(0)); } //********************************************************************************************************************** template @@ -239,5 +270,15 @@ string toString(const T&x, int i){ } //********************************************************************************************************************** +template +T fromString(const string& s){ + istringstream stream (s); + T t; + stream >> t; + return t; +} + +//********************************************************************************************************************** + #endif