]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.cpp
finished added bygroup processing of chimeras in chimera.slayer and chimera.uchime...
[mothur.git] / pairwiseseqscommand.cpp
index 1aa133f38c379fd40c495d2c2a844de292c17f51..2245ac9a80a1ccd94b7f13273fb80f4ab6f004b7 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]);
                                                }
                                        }
                                }
@@ -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;