]> git.donarmstrong.com Git - mothur.git/blobdiff - readcluster.cpp
working on chimera change to add trim feature, fixed bug in print of distance file...
[mothur.git] / readcluster.cpp
index c8a8bc7b5074bf91ea46e2c30f2364a509d2c5ff..205581c72ab26bd767a0a4c47fdfcb3d73e124d5 100644 (file)
 
 /***********************************************************************/
 
-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;i<matrixNames.size();i++){
@@ -187,9 +190,9 @@ int ReadCluster::convertPhylip2Column(NameAssignment* nameMap){
                ifstream in2;
                ofstream out2;
                
-               string outputFile = getRootName(distFile) + "column.dist";
-               openInputFile(tempFile, in2);
-               openOutputFile(outputFile, out2);
+               string outputFile = m->getRootName(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;