X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=readcluster.cpp;h=205581c72ab26bd767a0a4c47fdfcb3d73e124d5;hb=a537fefa3bd2c2eba7d532249375b6a11b295e25;hp=c8a8bc7b5074bf91ea46e2c30f2364a509d2c5ff;hpb=e189982e0a9b7352ad57cc38ccee675f128be22e;p=mothur.git diff --git a/readcluster.cpp b/readcluster.cpp index c8a8bc7..205581c 100644 --- a/readcluster.cpp +++ b/readcluster.cpp @@ -11,12 +11,14 @@ /***********************************************************************/ -ReadCluster::ReadCluster(string distfile, float c, string o){ +ReadCluster::ReadCluster(string distfile, float c, string o, bool s){ globaldata = GlobalData::getInstance(); m = MothurOut::getInstance(); distFile = distfile; cutoff = c; outputDir = o; + sortWanted = s; + list = NULL; } /***********************************************************************/ @@ -29,7 +31,8 @@ int ReadCluster::read(NameAssignment* nameMap){ if (m->control_pressed) { return 0; } - OutPutFile = sortFile(distFile, outputDir); + if (sortWanted) { OutPutFile = m->sortFile(distFile, outputDir); } + else { OutPutFile = distFile; } //for use by clusters splitMatrix to convert a phylip matrix to column return 0; @@ -51,8 +54,8 @@ int ReadCluster::convertPhylip2Column(NameAssignment* nameMap){ ofstream out; string tempFile = distFile + ".column.temp"; - openInputFile(distFile, in); - openOutputFile(tempFile, out); + m->openInputFile(distFile, in); m->gobble(in); + m->openOutputFile(tempFile, out); float distance; int square, nseqs; @@ -174,7 +177,7 @@ int ReadCluster::convertPhylip2Column(NameAssignment* nameMap){ list->setLabel("0"); in.close(); out.close(); - + if(nameMap == NULL){ nameMap = new NameAssignment(); for(int i=0;igetRootName(distFile) + "column.dist"; + m->openInputFile(tempFile, in2); + m->openOutputFile(outputFile, out2); int first, second; float dist; @@ -199,14 +202,14 @@ int ReadCluster::convertPhylip2Column(NameAssignment* nameMap){ in2 >> first >> second >> dist; out2 << rowToName[first] << '\t' << rowToName[second] << '\t' << dist << endl; - gobble(in2); + m->gobble(in2); } in2.close(); out2.close(); remove(tempFile.c_str()); distFile = outputFile; - + if (m->control_pressed) { remove(outputFile.c_str()); } return 0;