}
}
/***********************************************************************/
-bool HCluster::update(int row, int col, float distance){
+double HCluster::update(int row, int col, float distance){
try {
bool cluster = false;
smallRow = row;
}
}
- return cluster;
+ return cutoff;
//printInfo();
}
catch(exception& e) {
}
}
//**********************************************************************************************************************
-//don't need cutoff since processFile removes all distance above cutoff and changes names to indexes
vector<seqDist> HCluster::getSeqsAN(){
try {
int firstName, secondName;
smallRowColValues[0][mergedMin[count].seq1] = mergedMin[count].dist;
}else { //if no, write to temp file
//outputString += toString(mergedMin[count].seq1) + '\t' + toString(mergedMin[count].seq2) + '\t' + toString(mergedMin[count].dist) + '\n';
- out << mergedMin[count].seq1 << '\t' << mergedMin[count].seq2 << '\t' << mergedMin[count].dist << endl;
+ //if (mergedMin[count].dist < cutoff) {
+ out << mergedMin[count].seq1 << '\t' << mergedMin[count].seq2 << '\t' << mergedMin[count].dist << endl;
+ //}
}
count++;
}else{ break; }
}else { //if no, write to temp file
//outputString += toString(first) + '\t' + toString(second) + '\t' + toString(dist) + '\n';
- out << first << '\t' << second << '\t' << dist << endl;
+ //if (dist < cutoff) {
+ out << first << '\t' << second << '\t' << dist << endl;
+ //}
}
}
smallRowColValues[0][mergedMin[count].seq1] = mergedMin[count].dist;
}else { //if no, write to temp file
- out << mergedMin[count].seq1 << '\t' << mergedMin[count].seq2 << '\t' << mergedMin[count].dist << endl;
+ //if (mergedMin[count].dist < cutoff) {
+ out << mergedMin[count].seq1 << '\t' << mergedMin[count].seq2 << '\t' << mergedMin[count].dist << endl;
+ //}
}
count++;
}
seqDist temp(clusterArray[smallRow].parent, itMerge->first, average);
mergedMin.push_back(temp);
+ }else {
+ //can't find value so update cutoff
+ if (cutoff > itMerge->second) { cutoff = itMerge->second; }
}
}
-
+
+ //update cutoff
+ for(itMerge = smallRowColValues[1].begin(); itMerge != smallRowColValues[1].end(); itMerge++) {
+ if (cutoff > itMerge->second) { cutoff = itMerge->second; }
+ }
+
//sort merged values
sort(mergedMin.begin(), mergedMin.end(), compareSequenceDistance);