]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.cpp
1.23.0
[mothur.git] / pairwiseseqscommand.cpp
index 1aa133f38c379fd40c495d2c2a844de292c17f51..114f545aa26eb326f078b6ab7e1b18e024ecdcb5 100644 (file)
@@ -99,6 +99,7 @@ PairwiseSeqsCommand::PairwiseSeqsCommand(string option)  {
        
                //allow user to run help
                if(option == "help") { help(); abort = true; calledHelp = true; }
+               else if(option == "citation") { citation(); abort = true; calledHelp = true;}
                
                else {
                        vector<string> myArray = setParameters();
@@ -197,6 +198,8 @@ PairwiseSeqsCommand::PairwiseSeqsCommand(string option)  {
                                                        //erase from file list
                                                        fastaFileNames.erase(fastaFileNames.begin()+i);
                                                        i--;
+                                               }else {
+                                                       m->setFastaFile(fastaFileNames[i]);
                                                }
                                        }
                                }
@@ -209,23 +212,23 @@ PairwiseSeqsCommand::PairwiseSeqsCommand(string option)  {
                        // ...at some point should added some additional type checking...
                        string temp;
                        temp = validParameter.validFile(parameters, "match", false);            if (temp == "not found"){       temp = "1.0";                   }
-                       convert(temp, match);  
+                       m->mothurConvert(temp, match);  
                        
                        temp = validParameter.validFile(parameters, "mismatch", false);         if (temp == "not found"){       temp = "-1.0";                  }
-                       convert(temp, misMatch);  
+                       m->mothurConvert(temp, misMatch);  
                        
                        temp = validParameter.validFile(parameters, "gapopen", false);          if (temp == "not found"){       temp = "-2.0";                  }
-                       convert(temp, gapOpen);  
+                       m->mothurConvert(temp, gapOpen);  
                        
                        temp = validParameter.validFile(parameters, "gapextend", false);        if (temp == "not found"){       temp = "-1.0";                  }
-                       convert(temp, gapExtend); 
+                       m->mothurConvert(temp, gapExtend); 
                        
                        temp = validParameter.validFile(parameters, "processors", false);       if (temp == "not found"){       temp = m->getProcessors();      }
                        m->setProcessors(temp);
-                       convert(temp, processors);
+                       m->mothurConvert(temp, processors);
                        
                        temp = validParameter.validFile(parameters, "cutoff", false);           if(temp == "not found"){        temp = "1.0"; }
-                       convert(temp, cutoff); 
+                       m->mothurConvert(temp, cutoff); 
                        
                        temp = validParameter.validFile(parameters, "countends", false);        if(temp == "not found"){        temp = "T";     }
                        countends = m->isTrue(temp); 
@@ -309,14 +312,14 @@ int PairwiseSeqsCommand::execute(){
                                
                        if (output == "lt") { //does the user want lower triangle phylip formatted file 
                                outputFile = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s])) + "phylip.dist";
-                               remove(outputFile.c_str()); outputTypes["phylip"].push_back(outputFile);
+                               m->mothurRemove(outputFile); outputTypes["phylip"].push_back(outputFile);
                        }else if (output == "column") { //user wants column format
                                outputFile = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s])) + "dist";
                                outputTypes["column"].push_back(outputFile);
-                               remove(outputFile.c_str());
+                               m->mothurRemove(outputFile);
                        }else { //assume square
                                outputFile = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s])) + "square.dist";
-                               remove(outputFile.c_str());
+                               m->mothurRemove(outputFile);
                                outputTypes["phylip"].push_back(outputFile);
                        }
                        
@@ -354,11 +357,11 @@ int PairwiseSeqsCommand::execute(){
                                        
                                        driverMPI(start, end, outMPI, cutoff); 
                                        
-                                       if (m->control_pressed) { outputTypes.clear(); MPI_File_close(&outMPI);  remove(outputFile.c_str()); delete distCalculator;  return 0; }
+                                       if (m->control_pressed) { outputTypes.clear(); MPI_File_close(&outMPI);  m->mothurRemove(outputFile); delete distCalculator;  return 0; }
                                
                                        //wait on chidren
                                        for(int i = 1; i < processors; i++) { 
-                                               if (m->control_pressed) { outputTypes.clear();  MPI_File_close(&outMPI);   remove(outputFile.c_str()); delete distCalculator;  return 0; }
+                                               if (m->control_pressed) { outputTypes.clear();  MPI_File_close(&outMPI);   m->mothurRemove(outputFile); delete distCalculator;  return 0; }
                                                
                                                char buf[5];
                                                MPI_Recv(buf, 5, MPI_CHAR, i, tag, MPI_COMM_WORLD, &status); 
@@ -367,7 +370,7 @@ int PairwiseSeqsCommand::execute(){
                                        //do your part
                                        driverMPI(start, end, outMPI, cutoff); 
                                        
-                                       if (m->control_pressed) { outputTypes.clear();  MPI_File_close(&outMPI);  remove(outputFile.c_str()); delete distCalculator;  return 0; }
+                                       if (m->control_pressed) { outputTypes.clear();  MPI_File_close(&outMPI);  m->mothurRemove(outputFile); delete distCalculator;  return 0; }
                                
                                        char buf[5];
                                        strcpy(buf, "done"); 
@@ -382,12 +385,12 @@ int PairwiseSeqsCommand::execute(){
                                
                                        //do your part
                                        string outputMyPart;
-                                       unsigned long int mySize;
+                                       unsigned long long mySize;
                                        
                                        if (output != "square"){ driverMPI(start, end, outputFile, mySize); }
                                        else { driverMPI(start, end, outputFile, mySize, output); }
                
-                                       if (m->control_pressed) {  outputTypes.clear();   remove(outputFile.c_str()); delete distCalculator;  return 0; }
+                                       if (m->control_pressed) {  outputTypes.clear();   m->mothurRemove(outputFile); delete distCalculator;  return 0; }
                                        
                                        int amode=MPI_MODE_APPEND|MPI_MODE_WRONLY|MPI_MODE_CREATE; //
                                        MPI_File outMPI;
@@ -400,9 +403,9 @@ int PairwiseSeqsCommand::execute(){
 
                                        //wait on chidren
                                        for(int b = 1; b < processors; b++) { 
-                                               unsigned long int fileSize;
+                                               unsigned long long fileSize;
                                                
-                                               if (m->control_pressed) { outputTypes.clear();  MPI_File_close(&outMPI);  remove(outputFile.c_str());  delete distCalculator;  return 0; }
+                                               if (m->control_pressed) { outputTypes.clear();  MPI_File_close(&outMPI);  m->mothurRemove(outputFile);  delete distCalculator;  return 0; }
                                                
                                                MPI_Recv(&fileSize, 1, MPI_LONG, b, tag, MPI_COMM_WORLD, &status); 
                                                
@@ -428,7 +431,7 @@ int PairwiseSeqsCommand::execute(){
                                        MPI_File_close(&outMPI);
                                }else { //you are a child process
                                        //do your part
-                                       unsigned long int size;
+                                       unsigned long long size;
                                        if (output != "square"){ driverMPI(start, end, (outputFile + toString(pid) + ".temp"), size); }
                                        else { driverMPI(start, end, (outputFile + toString(pid) + ".temp"), size, output); }
                                        
@@ -469,7 +472,7 @@ int PairwiseSeqsCommand::execute(){
                #endif
                
        #endif
-                       if (m->control_pressed) { outputTypes.clear();  delete distCalculator; remove(outputFile.c_str()); return 0; }
+                       if (m->control_pressed) { outputTypes.clear();  delete distCalculator; m->mothurRemove(outputFile); return 0; }
                        
                        #ifdef USE_MPI
                                MPI_Comm_rank(MPI_COMM_WORLD, &pid); 
@@ -497,7 +500,7 @@ int PairwiseSeqsCommand::execute(){
                        
                        m->mothurOut("It took " + toString(time(NULL) - startTime) + " to calculate the distances for " + toString(numSeqs) + " sequences."); m->mothurOutEndLine();
                        
-                       if (m->control_pressed) { outputTypes.clear();  delete distCalculator; remove(outputFile.c_str()); return 0; }
+                       if (m->control_pressed) { outputTypes.clear();  delete distCalculator; m->mothurRemove(outputFile); return 0; }
                }
                        
                delete distCalculator;
@@ -568,7 +571,7 @@ void PairwiseSeqsCommand::createProcesses(string filename) {
                //append and remove temp files
                for (int i=0;i<processIDS.size();i++) { 
                        m->appendFiles((filename + toString(processIDS[i]) + ".temp"), filename);
-                       remove((filename + toString(processIDS[i]) + ".temp").c_str());
+                       m->mothurRemove((filename + toString(processIDS[i]) + ".temp"));
                }
 #endif
        }
@@ -779,7 +782,7 @@ int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, MPI_File& outMPI,
 }
 /**************************************************************************************************/
 /////// need to fix to work with calcs and sequencedb
-int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsigned long int& size){
+int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsigned long long& size){
        try {
                MPI_Status status;
                
@@ -855,7 +858,7 @@ int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsi
 }
 /**************************************************************************************************/
 /////// need to fix to work with calcs and sequencedb
-int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsigned long int& size, string square){
+int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsigned long long& size, string square){
        try {
                MPI_Status status;