typedef unsigned long ull;
+typedef unsigned short intDist;
struct IntNode {
int lvalue;
reverseProb = rp;
}
};
-
+/***********************************************************************/
+struct PDistCell{
+ ull index;
+ float dist;
+ PDistCell() : index(0), dist(0) {};
+ PDistCell(ull c, float d) : index(c), dist(d) {}
+};
/************************************************************/
struct clusterNode {
int numSeq;
struct seqDist {
int seq1;
int seq2;
- float dist;
+ double dist;
seqDist() {}
- seqDist(int s1, int s2, float d) : seq1(s1), seq2(s2), dist(d) {}
+ seqDist(int s1, int s2, double d) : seq1(s1), seq2(s2), dist(d) {}
~seqDist() {}
};
/************************************************************/
spearmanRank(string n, float s) : name(n), score(s) {}
};
+//***********************************************************************
+inline bool compareIndexes(PDistCell left, PDistCell right){
+ return (left.index > right.index);
+}
//********************************************************************************************************************
-//sorts highest to lowest
inline bool compareSpearman(spearmanRank left, spearmanRank right){
- return (left.score > right.score);
+ 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);
+ if (left.numIdentical > right.numIdentical) {
+ return true;
+ }else if (left.numIdentical == right.numIdentical) {
+ if (left.seq > right.seq) { return true; }
+ else { return false; }
+ }
+ return false;
}
+
/************************************************************/
//sorts lowest to highest
inline bool compareDistLinePairs(distlinePair left, distlinePair right){