]> git.donarmstrong.com Git - mothur.git/blobdiff - filterseqscommand.cpp
changed groupfile in classify.seqs to reflect multiple fasta files
[mothur.git] / filterseqscommand.cpp
index b64e2f530ff91af78cc69dea71b9d2f53f3f981b..41c321933754ebb0a86dc279985a31711b31f629 100644 (file)
@@ -287,8 +287,9 @@ int FilterSeqsCommand::filterSequences() {
                                        
                                        //figure out how many sequences you have to do
                                        numSeqsPerProcessor = num / processors;
-                                       if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
                                        int startIndex =  pid * numSeqsPerProcessor;
+                                       if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
+                                       
                                
                                        //do your part
                                        driverMPIRun(startIndex, numSeqsPerProcessor, inMPI, outMPI, MPIPos);
@@ -309,8 +310,9 @@ int FilterSeqsCommand::filterSequences() {
                                        
                                        //figure out how many sequences you have to align
                                        numSeqsPerProcessor = num / processors;
-                                       if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
                                        int startIndex =  pid * numSeqsPerProcessor;
+                                       if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
+                                       
                                        
                                        //align your part
                                        driverMPIRun(startIndex, numSeqsPerProcessor, inMPI, outMPI, MPIPos);           
@@ -337,6 +339,8 @@ int FilterSeqsCommand::filterSequences() {
                                        
                                        lines.push_back(new linePair(0, numFastaSeqs));
                                        
+                                       numSeqs += numFastaSeqs;
+                                       
                                        driverRunFilter(filter, filteredFasta, fastafileNames[s], lines[0]);
                                }else{
                                        setLines(fastafileNames[s]);
@@ -360,6 +364,8 @@ int FilterSeqsCommand::filterSequences() {
                                        
                                lines.push_back(new linePair(0, numFastaSeqs));
                                
+                               numSeqs += numFastaSeqs;
+                               
                                driverRunFilter(filter, filteredFasta, fastafileNames[s], lines[0]);
 
                                if (m->control_pressed) {  return 1; }
@@ -580,8 +586,9 @@ string FilterSeqsCommand::createFilter() {
                                                                
                                                //figure out how many sequences you have to do
                                                numSeqsPerProcessor = num / processors;
-                                               if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
                                                int startIndex =  pid * numSeqsPerProcessor;
+                                               if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
+                                               
                                
                                                //do your part
                                                MPICreateFilter(startIndex, numSeqsPerProcessor, F, inMPI, MPIPos);
@@ -597,8 +604,9 @@ string FilterSeqsCommand::createFilter() {
                                        
                                        //figure out how many sequences you have to align
                                        numSeqsPerProcessor = num / processors;
-                                       if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
                                        int startIndex =  pid * numSeqsPerProcessor;
+                                       if(pid == (processors - 1)){    numSeqsPerProcessor = num - pid * numSeqsPerProcessor;  }
+                                       
                                        
                                        //do your part
                                        MPICreateFilter(startIndex, numSeqsPerProcessor, F, inMPI,  MPIPos);