]> git.donarmstrong.com Git - mothur.git/blobdiff - aligncommand.h
working on pam
[mothur.git] / aligncommand.h
index 7eeaa1eb7e7bc3e2dc28d144d646b2190eb34983..4e1b8d39f81dc067c60575d1938a21fd1de8dee0 100644 (file)
@@ -34,7 +34,9 @@ public:
        vector<string> setParameters();
        string getCommandName()                 { return "align.seqs";                  }
        string getCommandCategory()             { return "Sequence Processing"; }
+       
        string getHelpString(); 
+    string getOutputPattern(string);   
        string getCitation() { return "DeSantis TZ, Jr., Hugenholtz P, Keller K, Brodie EL, Larsen N, Piceno YM, Phan R, Andersen GL (2006). NAST: a multiple sequence alignment server for comparative analysis of 16S rRNA genes. Nucleic Acids Res 34: W394-9.\nSchloss PD (2009). A high-throughput DNA sequence aligner for microbial ecology studies. PLoS ONE 4: e8230.\nSchloss PD (2010). The effects of alignment quality, distance calculation method, sequence filtering, and region on the analysis of 16S rRNA gene-based studies. PLoS Comput Biol 6: e1000844.\nhttp://www.mothur.org/wiki/Align.seqs http://www.mothur.org/wiki/Align.seqs"; }
        string getDescription()         { return "align sequences"; }
        
@@ -55,7 +57,6 @@ private:
        
        int driver(linePair*, string, string, string, string);
        int createProcesses(string, string, string, string);
-       void appendAlignFiles(string, string); 
        void appendReportFiles(string, string);
        
        #ifdef USE_MPI
@@ -143,8 +144,6 @@ static DWORD WINAPI MyAlignThreadFunction(LPVOID lpParam){
                        inFASTA.seekg(pDataArray->start-1); pDataArray->m->gobble(inFASTA); 
                }
                
-               pDataArray->count = pDataArray->end;
-               
                AlignmentDB* templateDB = new AlignmentDB(pDataArray->templateFileName, pDataArray->search, pDataArray->kmerSize, pDataArray->gapOpen, pDataArray->gapExtend, pDataArray->match, pDataArray->misMatch, pDataArray->threadID);
                
                //moved this into driver to avoid deep copies in windows paralellized version
@@ -160,7 +159,7 @@ static DWORD WINAPI MyAlignThreadFunction(LPVOID lpParam){
                        alignment = new NeedlemanOverlap(pDataArray->gapOpen, pDataArray->match, pDataArray->misMatch, longestBase);
                }
                
-               int count = 0;
+               pDataArray->count = 0;
                for(int i = 0; i < pDataArray->end; i++){ //end is the number of sequences to process
                        
                        if (pDataArray->m->control_pressed) {  break; }
@@ -241,16 +240,16 @@ static DWORD WINAPI MyAlignThreadFunction(LPVOID lpParam){
                                delete nast;
                                if (needToDeleteCopy) {   delete copy;   }
                                
-                               count++;
+                               pDataArray->count++;
                        }
                        delete candidateSeq;
                        
                        //report progress
-                       if((count) % 100 == 0){ pDataArray->m->mothurOut(toString(count)); pDataArray->m->mothurOutEndLine();           }
+                       if((pDataArray->count) % 100 == 0){     pDataArray->m->mothurOutJustToScreen(toString(pDataArray->count)+"\n");         }
                        
                }
                //report progress
-               if((count) % 100 != 0){ pDataArray->m->mothurOut(toString(count)); pDataArray->m->mothurOutEndLine();           }
+               if((pDataArray->count) % 100 != 0){     pDataArray->m->mothurOutJustToScreen(toString(pDataArray->count)+"\n");         }
                
                delete alignment;
                delete templateDB;