]> git.donarmstrong.com Git - mothur.git/blobdiff - pintail.cpp
added otu.association command. added calcSpearman, calcKendall and calcPearson functi...
[mothur.git] / pintail.cpp
index c0ea90436628e8a86dbce69f894d8f3a353b7a27..af64c25ce290a808a5edc8295645bc16bf277856 100644 (file)
@@ -170,13 +170,13 @@ int Pintail::doPrep() {
                        string noOutliers, outliers;
                        
                        if ((!filter) && (seqMask == "")) {
-                               noOutliers = templateFileName + "pintail.quan";
+                               noOutliers = m->getRootName(m->getSimpleName(templateFileName)) + "pintail.quan";
                        }else if ((!filter) && (seqMask != "")) { 
-                               noOutliers =templateFileName + "pintail.masked.quan";
+                               noOutliers =m->getRootName(m->getSimpleName(templateFileName)) + "pintail.masked.quan";
                        }else if ((filter) && (seqMask != "")) { 
-                               noOutliers = templateFileName + "pintail.filtered." + m->getSimpleName(m->getRootName(fastafile)) + "masked.quan";
+                               noOutliers = m->getRootName(m->getSimpleName(templateFileName)) + "pintail.filtered." + m->getSimpleName(m->getRootName(fastafile)) + "masked.quan";
                        }else if ((filter) && (seqMask == "")) { 
-                               noOutliers = templateFileName + "pintail.filtered." + m->getSimpleName(m->getRootName(fastafile)) + "quan";
+                               noOutliers = m->getRootName(m->getSimpleName(templateFileName)) + "pintail.filtered." + m->getSimpleName(m->getRootName(fastafile)) + "quan";
                        }
 
                        decalc->removeObviousOutliers(quantilesMembers, templateSeqs.size());
@@ -249,8 +249,9 @@ int Pintail::doPrep() {
        }
 }
 //***************************************************************************************************************
-int Pintail::print(ostream& out, ostream& outAcc) {
+Sequence Pintail::print(ostream& out, ostream& outAcc) {
        try {
+               
                int index = ceil(deviation);
                
                //is your DE value higher than the 95%
@@ -279,7 +280,7 @@ int Pintail::print(ostream& out, ostream& outAcc) {
                for (int m = 0; m < expectedDistance.size(); m++) {  out << expectedDistance[m] << '\t';  }
                out << endl;
                
-               return 0;
+               return *querySeq;
                
        }
        catch(exception& e) {
@@ -289,9 +290,9 @@ int Pintail::print(ostream& out, ostream& outAcc) {
 }
 #ifdef USE_MPI
 //***************************************************************************************************************
-int Pintail::print(MPI_File& out, MPI_File& outAcc) {
+Sequence Pintail::print(MPI_File& out, MPI_File& outAcc) {
        try {
-               bool results = false;
+               
                string outputString = "";
                int index = ceil(deviation);
                
@@ -319,7 +320,7 @@ int Pintail::print(MPI_File& out, MPI_File& outAcc) {
                        MPI_File_write_shared(outAcc, buf, length, MPI_CHAR, &statusAcc);
                        delete buf;
 
-                       results = true;
+                       return *querySeq;
                }
                outputString += "Observed\t";
                
@@ -339,7 +340,7 @@ int Pintail::print(MPI_File& out, MPI_File& outAcc) {
                MPI_File_write_shared(out, buf2, length, MPI_CHAR, &status);
                delete buf2;
                
-               return results;
+               return *querySeq;
        }
        catch(exception& e) {
                m->errorOut(e, "Pintail", "print");
@@ -560,7 +561,11 @@ void Pintail::createProcessesQuan() {
                                out.close();
                                
                                exit(0);
-                       }else { m->mothurOut("unable to spawn the necessary processes."); m->mothurOutEndLine(); exit(0); }
+                       }else { 
+                               m->mothurOut("[ERROR]: unable to spawn the necessary processes."); m->mothurOutEndLine(); 
+                               for (int i = 0; i < processIDS.size(); i++) { kill (processIDS[i], SIGINT); }
+                               exit(0);
+                       }
                }
                
                //parent does its part
@@ -607,7 +612,7 @@ void Pintail::createProcessesQuan() {
                        }
                                        
                        in.close();
-                       remove(s.c_str());
+                       m->mothurRemove(s);
                }
 
 #else