#include "progress.hpp"
/***********************************************************************/
-ClusterClassic::ClusterClassic(float c, string f) : method(f), smallDist(1e6), nseqs(0) {
+ClusterClassic::ClusterClassic(float c, string f, bool s) : method(f), smallDist(1e6), nseqs(0), sim(s) {
try {
mapWanted = false; //set to true by mgcluster to speed up overlap merge
cutoff = c;
aboveCutoff = cutoff + 10000.0;
m = MothurOut::getInstance();
- globaldata = GlobalData::getInstance();
}
catch(exception& e) {
m->errorOut(e, "ClusterClassic", "ClusterClassic");
fileHandle >> distance;
if (distance == -1) { distance = 1000000; }
- else if (globaldata->sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
+ else if (sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
//if(distance < cutoff){
dMatrix[i][j] = distance;
if (m->control_pressed) { delete reading; fileHandle.close(); return 0; }
if (distance == -1) { distance = 1000000; }
- else if (globaldata->sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
+ else if (sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
//if(distance < cutoff){
if (distance < smallDist) { smallDist = distance; }
if (m->control_pressed) { fileHandle.close(); delete reading; return 0; }
if (distance == -1) { distance = 1000000; }
- else if (globaldata->sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
+ else if (sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
if(j < i){
if (distance < smallDist) { smallDist = distance; }
if (m->control_pressed) { fileHandle.close(); delete reading; return 0; }
if (distance == -1) { distance = 1000000; }
- else if (globaldata->sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
+ else if (sim) { distance = 1.0 - distance; } //user has entered a sim matrix that we need to convert.
if(j < i){
if (distance < smallDist) { smallDist = distance; }
rabund = new RAbundVector(list->getRAbundVector());
fileHandle.close();
+
+ return 0;
}
catch(exception& e) {
m->errorOut(e, "ClusterClassic", "readPhylipFile");
rabund->set(smallRow, rabund->get(smallRow)+rabund->get(smallCol));
rabund->set(smallCol, 0);
- for (int i = smallCol+1; i < rabund->size(); i++) {
+ /*for (int i = smallCol+1; i < rabund->size(); i++) {
rabund->set((i-1), rabund->get(i));
}
- rabund->resize((rabund->size()-1));
+ rabund->resize((rabund->size()-1));*/
rabund->setLabel(toString(smallDist));
// cout << '\t' << rabund->get(smallRow) << '\t' << rabund->get(smallCol) << endl;
list->set(smallRow, list->get(smallRow)+','+list->get(smallCol));
list->set(smallCol, "");
- for (int i = smallCol+1; i < list->size(); i++) {
+ /*for (int i = smallCol+1; i < list->size(); i++) {
list->set((i-1), list->get(i));
}
- list->resize((list->size()-1));
+ list->resize((list->size()-1));*/
list->setLabel(toString(smallDist));
// cout << '\t' << list->get(smallRow) << '\t' << list->get(smallCol) << endl;
clusterNames();
//resize each row
- for(int i=0;i<nseqs;i++){
+ /*for(int i=0;i<nseqs;i++){
for(int j=c+1;j<dMatrix[i].size();j++){
dMatrix[i][j-1]=dMatrix[i][j];
}
}
nseqs--;
- dMatrix.pop_back();
+ dMatrix.pop_back();*/
}
catch(exception& e) {