]> git.donarmstrong.com Git - mothur.git/blobdiff - readblast.cpp
changed added group output to indicator command. a few changes to work with the guy
[mothur.git] / readblast.cpp
index 66f1db23d633eb83b3706bd15f6deb48e8c7cb5b..5f2441515378031891c78d2fbb809c816e885cec 100644 (file)
@@ -54,7 +54,8 @@ int ReadBlast::read(NameAssignment* nameMap) {
                
                //create objects needed for read
                if (!hclusterWanted) {
-                       matrix = new SparseMatrix();
+                       matrix = new SparseDistanceMatrix();
+            matrix->resize(nseqs);
                }else{
                        overlapFile = m->getRootName(blastfile) + "overlap.dist";
                        distFile = m->getRootName(blastfile) + "hclusterDists.dist";
@@ -66,7 +67,7 @@ int ReadBlast::read(NameAssignment* nameMap) {
                if (m->control_pressed) { 
                        fileHandle.close();
                        if (!hclusterWanted) {  delete matrix; }
-                       else { outOverlap.close(); remove(overlapFile.c_str()); outDist.close(); remove(distFile.c_str());  }
+                       else { outOverlap.close(); m->mothurRemove(overlapFile); outDist.close(); m->mothurRemove(distFile);  }
                        return 0;
                }
                
@@ -117,7 +118,7 @@ int ReadBlast::read(NameAssignment* nameMap) {
                        if (m->control_pressed) { 
                                fileHandle.close();
                                if (!hclusterWanted) {  delete matrix; }
-                               else { outOverlap.close(); remove(overlapFile.c_str()); outDist.close(); remove(distFile.c_str());  }
+                               else { outOverlap.close(); m->mothurRemove(overlapFile); outDist.close(); m->mothurRemove(distFile);  }
                                delete reading;
                                return 0;
                        }
@@ -185,8 +186,13 @@ int ReadBlast::read(NameAssignment* nameMap) {
                                                        //is this distance below cutoff
                                                        if (distance < cutoff) {
                                                                if (!hclusterWanted) {
-                                                                       PCell value(itA->second, it->first, distance);
-                                                                       matrix->addCell(value);
+                                    if (itA->second < it->first) {
+                                        PDistCell value(it->first, distance);
+                                        matrix->addCell(itA->second, value);
+                                    }else {
+                                        PDistCell value(itA->second, distance);
+                                        matrix->addCell(it->first, value);
+                                    }
                                                                }else{
                                                                        outDist << itA->first << '\t' << nameMap->get(it->first) << '\t' << distance << endl;
                                                                }
@@ -252,8 +258,13 @@ int ReadBlast::read(NameAssignment* nameMap) {
                                //is this distance below cutoff
                                if (distance < cutoff) {
                                        if (!hclusterWanted) {
-                                               PCell value(itA->second, it->first, distance);
-                                               matrix->addCell(value);
+                                               if (itA->second < it->first) {
+                            PDistCell value(it->first, distance);
+                            matrix->addCell(itA->second, value);
+                        }else {
+                            PDistCell value(itA->second, distance);
+                            matrix->addCell(it->first, value);
+                        }
                                        }else{
                                                outDist << itA->first << '\t' << nameMap->get(it->first) << '\t' << distance << endl;
                                        }
@@ -271,7 +282,7 @@ int ReadBlast::read(NameAssignment* nameMap) {
                if (m->control_pressed) { 
                                fileHandle.close();
                                if (!hclusterWanted) {  delete matrix; }
-                               else { outOverlap.close(); remove(overlapFile.c_str()); outDist.close(); remove(distFile.c_str());  }
+                               else { outOverlap.close(); m->mothurRemove(overlapFile); outDist.close(); m->mothurRemove(distFile);  }
                                delete reading;
                                return 0;
                }
@@ -286,7 +297,7 @@ int ReadBlast::read(NameAssignment* nameMap) {
                if (m->control_pressed) { 
                                fileHandle.close();
                                if (!hclusterWanted) {  delete matrix; }
-                               else {  remove(overlapFile.c_str());  remove(distFile.c_str());  }
+                               else {  m->mothurRemove(overlapFile);  m->mothurRemove(distFile);  }
                                delete reading;
                                return 0;
                }