]> git.donarmstrong.com Git - mothur.git/blobdiff - filterseqscommand.cpp
paralellized screen.seqs and added mpi code to it. fixed bug with all mpi commands...
[mothur.git] / filterseqscommand.cpp
index b64e2f530ff91af78cc69dea71b9d2f53f3f981b..28e137376c51261498a4d616ae929ba33b1ff3be 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);           
@@ -580,8 +582,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 +600,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);